def get_slurm_directives(user: str,
                         job_name: str = 'BlenderRender',
                         gpu: int = 2,
                         cpu: int = 4,
                         ssd: int = 10,
                         ram: int = 16,
                         days: int = 0,
                         hh: int = 0,
                         mm: int = 5):
    """
    Set up slurm directives

    Args:
        user(str): name.surname of user, to receive email
        job_name(str): job name
        gpu(int): number of required GPUs. Default: 2
        cpu(int): number of required CPUs. Detault: 4
        ssd(int): hard drive (SSD) memory (in GB) to allocate. Default: 10 GB
        ram(int): RAM (in GB) to allocate. Default: 16 GB
        days(int): number of days the job should live. Default: 0
        hh(int): hours the job should live. Default: 0
        mm(int): minutes the job should live. Default: 5

    Returns:
        formatted str with directives
    """

    return f"""# name of this batch job
#SBATCH --job-name={job_name}

# account to which the resources get accounted to
#SBATCH --account=r31

# output configuration
#SBATCH --output=/home/%u/slurm_out/%x.%j.out
#SBATCH --error=/home/%u/slurm_out/%x.%j.err

# GPU, CPU, MEM configuration
#SBATCH --gres=gpu:{gpu},ssd:{ssd}G
#SBATCH --cpus={cpu}
#SBATCH --mem={ram}G

# Mail notifications
#SBATCH --mail-user={user}@de.bosch.com
#SBATCH --mail-type=begin,end,fail,time_limit_50,time_limit_90

# maximum time configuration. format: "DAYS-HH:MM:SS", "DAYS-HH", or "HH:MM:SS"
#SBATCH --time "{days}-{hh}:{mm}:00"
"""