Source code for container_collection.batch.make_batch_job

from __future__ import annotations


[docs]def make_batch_job( name: str, image: str, vcpus: int, memory: int, environment: list[dict[str, str]] | None = None, job_role_arn: str | None = None, ) -> dict: """ Create batch job definition. Docker images on the Docker Hub registry are available by default, and can be specified using ``image:tag``. Otherwise, use ``repository/image:tag``. Environment variables are passed as key-value pairs using the following structure: .. code-block:: python [ { "name" : "envName1", "value" : "envValue1" }, { "name" : "envName2", "value" : "envValue2" }, ... ] Parameters ---------- name Job definition name. image Docker image. vcpus Number of vCPUs to reserve for the container. memory Memory limit available to the container environment List of environment variables as key-value pairs. job_role_arn ARN for IAM role for the job container. Returns ------- : Job definition. """ container_properties = { "image": image, "vcpus": vcpus, "memory": memory, } if environment is not None: container_properties["environment"] = environment if job_role_arn is not None: container_properties["jobRoleArn"] = job_role_arn return { "jobDefinitionName": name, "type": "container", "containerProperties": container_properties, }