1. Packages
  2. AWS Native
  3. API Docs
  4. batch
  5. getJobDefinition

We recommend new projects start with resources from the AWS provider.

AWS Native v0.126.0 published on Monday, Sep 30, 2024 by Pulumi

aws-native.batch.getJobDefinition

Explore with Pulumi AI

aws-native logo

We recommend new projects start with resources from the AWS provider.

AWS Native v0.126.0 published on Monday, Sep 30, 2024 by Pulumi

    Resource Type definition for AWS::Batch::JobDefinition

    Using getJobDefinition

    Two invocation forms are available. The direct form accepts plain arguments and either blocks until the result value is available, or returns a Promise-wrapped result. The output form accepts Input-wrapped arguments and returns an Output-wrapped result.

    function getJobDefinition(args: GetJobDefinitionArgs, opts?: InvokeOptions): Promise<GetJobDefinitionResult>
    function getJobDefinitionOutput(args: GetJobDefinitionOutputArgs, opts?: InvokeOptions): Output<GetJobDefinitionResult>
    def get_job_definition(id: Optional[str] = None,
                           opts: Optional[InvokeOptions] = None) -> GetJobDefinitionResult
    def get_job_definition_output(id: Optional[pulumi.Input[str]] = None,
                           opts: Optional[InvokeOptions] = None) -> Output[GetJobDefinitionResult]
    func LookupJobDefinition(ctx *Context, args *LookupJobDefinitionArgs, opts ...InvokeOption) (*LookupJobDefinitionResult, error)
    func LookupJobDefinitionOutput(ctx *Context, args *LookupJobDefinitionOutputArgs, opts ...InvokeOption) LookupJobDefinitionResultOutput

    > Note: This function is named LookupJobDefinition in the Go SDK.

    public static class GetJobDefinition 
    {
        public static Task<GetJobDefinitionResult> InvokeAsync(GetJobDefinitionArgs args, InvokeOptions? opts = null)
        public static Output<GetJobDefinitionResult> Invoke(GetJobDefinitionInvokeArgs args, InvokeOptions? opts = null)
    }
    public static CompletableFuture<GetJobDefinitionResult> getJobDefinition(GetJobDefinitionArgs args, InvokeOptions options)
    // Output-based functions aren't available in Java yet
    
    fn::invoke:
      function: aws-native:batch:getJobDefinition
      arguments:
        # arguments dictionary

    The following arguments are supported:

    Id string
    Id string
    id String
    id string
    id str
    id String

    getJobDefinition Result

    The following output properties are available:

    ContainerProperties Pulumi.AwsNative.Batch.Outputs.JobDefinitionContainerProperties
    An object with properties specific to Amazon ECS-based jobs. When containerProperties is used in the job definition, it can't be used in addition to eksProperties , ecsProperties , or nodeProperties .
    EcsProperties Pulumi.AwsNative.Batch.Outputs.JobDefinitionEcsProperties
    An object that contains the properties for the Amazon ECS resources of a job.When ecsProperties is used in the job definition, it can't be used in addition to containerProperties , eksProperties , or nodeProperties .
    EksProperties Pulumi.AwsNative.Batch.Outputs.JobDefinitionEksProperties
    An object with properties that are specific to Amazon EKS-based jobs. When eksProperties is used in the job definition, it can't be used in addition to containerProperties , ecsProperties , or nodeProperties .
    Id string
    NodeProperties Pulumi.AwsNative.Batch.Outputs.JobDefinitionNodeProperties

    An object with properties that are specific to multi-node parallel jobs. When nodeProperties is used in the job definition, it can't be used in addition to containerProperties , ecsProperties , or eksProperties .

    If the job runs on Fargate resources, don't specify nodeProperties . Use containerProperties instead.

    Parameters object

    Default parameters or parameter substitution placeholders that are set in the job definition. Parameters are specified as a key-value pair mapping. Parameters in a SubmitJob request override any corresponding parameter defaults from the job definition. For more information about specifying parameters, see Job definition parameters in the AWS Batch User Guide .

    Search the CloudFormation User Guide for AWS::Batch::JobDefinition for more information about the expected schema for this property.

    PlatformCapabilities List<string>
    The platform capabilities required by the job definition. If no value is specified, it defaults to EC2 . Jobs run on Fargate resources specify FARGATE .
    PropagateTags bool
    Specifies whether to propagate the tags from the job or job definition to the corresponding Amazon ECS task. If no value is specified, the tags aren't propagated. Tags can only be propagated to the tasks when the tasks are created. For tags with the same name, job tags are given priority over job definitions tags. If the total number of combined tags from the job and job definition is over 50, the job is moved to the FAILED state.
    RetryStrategy Pulumi.AwsNative.Batch.Outputs.JobDefinitionRetryStrategy
    The retry strategy to use for failed jobs that are submitted with this job definition.
    SchedulingPriority int
    The scheduling priority of the job definition. This only affects jobs in job queues with a fair share policy. Jobs with a higher scheduling priority are scheduled before jobs with a lower scheduling priority.
    Timeout Pulumi.AwsNative.Batch.Outputs.JobDefinitionTimeout
    The timeout time for jobs that are submitted with this job definition. After the amount of time you specify passes, AWS Batch terminates your jobs if they aren't finished.
    Type string

    The type of job definition. For more information about multi-node parallel jobs, see Creating a multi-node parallel job definition in the AWS Batch User Guide .

    • If the value is container , then one of the following is required: containerProperties , ecsProperties , or eksProperties .
    • If the value is multinode , then nodeProperties is required.

    If the job is run on Fargate resources, then multinode isn't supported.

    ContainerProperties JobDefinitionContainerProperties
    An object with properties specific to Amazon ECS-based jobs. When containerProperties is used in the job definition, it can't be used in addition to eksProperties , ecsProperties , or nodeProperties .
    EcsProperties JobDefinitionEcsProperties
    An object that contains the properties for the Amazon ECS resources of a job.When ecsProperties is used in the job definition, it can't be used in addition to containerProperties , eksProperties , or nodeProperties .
    EksProperties JobDefinitionEksProperties
    An object with properties that are specific to Amazon EKS-based jobs. When eksProperties is used in the job definition, it can't be used in addition to containerProperties , ecsProperties , or nodeProperties .
    Id string
    NodeProperties JobDefinitionNodeProperties

    An object with properties that are specific to multi-node parallel jobs. When nodeProperties is used in the job definition, it can't be used in addition to containerProperties , ecsProperties , or eksProperties .

    If the job runs on Fargate resources, don't specify nodeProperties . Use containerProperties instead.

    Parameters interface{}

    Default parameters or parameter substitution placeholders that are set in the job definition. Parameters are specified as a key-value pair mapping. Parameters in a SubmitJob request override any corresponding parameter defaults from the job definition. For more information about specifying parameters, see Job definition parameters in the AWS Batch User Guide .

    Search the CloudFormation User Guide for AWS::Batch::JobDefinition for more information about the expected schema for this property.

    PlatformCapabilities []string
    The platform capabilities required by the job definition. If no value is specified, it defaults to EC2 . Jobs run on Fargate resources specify FARGATE .
    PropagateTags bool
    Specifies whether to propagate the tags from the job or job definition to the corresponding Amazon ECS task. If no value is specified, the tags aren't propagated. Tags can only be propagated to the tasks when the tasks are created. For tags with the same name, job tags are given priority over job definitions tags. If the total number of combined tags from the job and job definition is over 50, the job is moved to the FAILED state.
    RetryStrategy JobDefinitionRetryStrategy
    The retry strategy to use for failed jobs that are submitted with this job definition.
    SchedulingPriority int
    The scheduling priority of the job definition. This only affects jobs in job queues with a fair share policy. Jobs with a higher scheduling priority are scheduled before jobs with a lower scheduling priority.
    Timeout JobDefinitionTimeout
    The timeout time for jobs that are submitted with this job definition. After the amount of time you specify passes, AWS Batch terminates your jobs if they aren't finished.
    Type string

    The type of job definition. For more information about multi-node parallel jobs, see Creating a multi-node parallel job definition in the AWS Batch User Guide .

    • If the value is container , then one of the following is required: containerProperties , ecsProperties , or eksProperties .
    • If the value is multinode , then nodeProperties is required.

    If the job is run on Fargate resources, then multinode isn't supported.

    containerProperties JobDefinitionContainerProperties
    An object with properties specific to Amazon ECS-based jobs. When containerProperties is used in the job definition, it can't be used in addition to eksProperties , ecsProperties , or nodeProperties .
    ecsProperties JobDefinitionEcsProperties
    An object that contains the properties for the Amazon ECS resources of a job.When ecsProperties is used in the job definition, it can't be used in addition to containerProperties , eksProperties , or nodeProperties .
    eksProperties JobDefinitionEksProperties
    An object with properties that are specific to Amazon EKS-based jobs. When eksProperties is used in the job definition, it can't be used in addition to containerProperties , ecsProperties , or nodeProperties .
    id String
    nodeProperties JobDefinitionNodeProperties

    An object with properties that are specific to multi-node parallel jobs. When nodeProperties is used in the job definition, it can't be used in addition to containerProperties , ecsProperties , or eksProperties .

    If the job runs on Fargate resources, don't specify nodeProperties . Use containerProperties instead.

    parameters Object

    Default parameters or parameter substitution placeholders that are set in the job definition. Parameters are specified as a key-value pair mapping. Parameters in a SubmitJob request override any corresponding parameter defaults from the job definition. For more information about specifying parameters, see Job definition parameters in the AWS Batch User Guide .

    Search the CloudFormation User Guide for AWS::Batch::JobDefinition for more information about the expected schema for this property.

    platformCapabilities List<String>
    The platform capabilities required by the job definition. If no value is specified, it defaults to EC2 . Jobs run on Fargate resources specify FARGATE .
    propagateTags Boolean
    Specifies whether to propagate the tags from the job or job definition to the corresponding Amazon ECS task. If no value is specified, the tags aren't propagated. Tags can only be propagated to the tasks when the tasks are created. For tags with the same name, job tags are given priority over job definitions tags. If the total number of combined tags from the job and job definition is over 50, the job is moved to the FAILED state.
    retryStrategy JobDefinitionRetryStrategy
    The retry strategy to use for failed jobs that are submitted with this job definition.
    schedulingPriority Integer
    The scheduling priority of the job definition. This only affects jobs in job queues with a fair share policy. Jobs with a higher scheduling priority are scheduled before jobs with a lower scheduling priority.
    timeout JobDefinitionTimeout
    The timeout time for jobs that are submitted with this job definition. After the amount of time you specify passes, AWS Batch terminates your jobs if they aren't finished.
    type String

    The type of job definition. For more information about multi-node parallel jobs, see Creating a multi-node parallel job definition in the AWS Batch User Guide .

    • If the value is container , then one of the following is required: containerProperties , ecsProperties , or eksProperties .
    • If the value is multinode , then nodeProperties is required.

    If the job is run on Fargate resources, then multinode isn't supported.

    containerProperties JobDefinitionContainerProperties
    An object with properties specific to Amazon ECS-based jobs. When containerProperties is used in the job definition, it can't be used in addition to eksProperties , ecsProperties , or nodeProperties .
    ecsProperties JobDefinitionEcsProperties
    An object that contains the properties for the Amazon ECS resources of a job.When ecsProperties is used in the job definition, it can't be used in addition to containerProperties , eksProperties , or nodeProperties .
    eksProperties JobDefinitionEksProperties
    An object with properties that are specific to Amazon EKS-based jobs. When eksProperties is used in the job definition, it can't be used in addition to containerProperties , ecsProperties , or nodeProperties .
    id string
    nodeProperties JobDefinitionNodeProperties

    An object with properties that are specific to multi-node parallel jobs. When nodeProperties is used in the job definition, it can't be used in addition to containerProperties , ecsProperties , or eksProperties .

    If the job runs on Fargate resources, don't specify nodeProperties . Use containerProperties instead.

    parameters any

    Default parameters or parameter substitution placeholders that are set in the job definition. Parameters are specified as a key-value pair mapping. Parameters in a SubmitJob request override any corresponding parameter defaults from the job definition. For more information about specifying parameters, see Job definition parameters in the AWS Batch User Guide .

    Search the CloudFormation User Guide for AWS::Batch::JobDefinition for more information about the expected schema for this property.

    platformCapabilities string[]
    The platform capabilities required by the job definition. If no value is specified, it defaults to EC2 . Jobs run on Fargate resources specify FARGATE .
    propagateTags boolean
    Specifies whether to propagate the tags from the job or job definition to the corresponding Amazon ECS task. If no value is specified, the tags aren't propagated. Tags can only be propagated to the tasks when the tasks are created. For tags with the same name, job tags are given priority over job definitions tags. If the total number of combined tags from the job and job definition is over 50, the job is moved to the FAILED state.
    retryStrategy JobDefinitionRetryStrategy
    The retry strategy to use for failed jobs that are submitted with this job definition.
    schedulingPriority number
    The scheduling priority of the job definition. This only affects jobs in job queues with a fair share policy. Jobs with a higher scheduling priority are scheduled before jobs with a lower scheduling priority.
    timeout JobDefinitionTimeout
    The timeout time for jobs that are submitted with this job definition. After the amount of time you specify passes, AWS Batch terminates your jobs if they aren't finished.
    type string

    The type of job definition. For more information about multi-node parallel jobs, see Creating a multi-node parallel job definition in the AWS Batch User Guide .

    • If the value is container , then one of the following is required: containerProperties , ecsProperties , or eksProperties .
    • If the value is multinode , then nodeProperties is required.

    If the job is run on Fargate resources, then multinode isn't supported.

    container_properties JobDefinitionContainerProperties
    An object with properties specific to Amazon ECS-based jobs. When containerProperties is used in the job definition, it can't be used in addition to eksProperties , ecsProperties , or nodeProperties .
    ecs_properties JobDefinitionEcsProperties
    An object that contains the properties for the Amazon ECS resources of a job.When ecsProperties is used in the job definition, it can't be used in addition to containerProperties , eksProperties , or nodeProperties .
    eks_properties JobDefinitionEksProperties
    An object with properties that are specific to Amazon EKS-based jobs. When eksProperties is used in the job definition, it can't be used in addition to containerProperties , ecsProperties , or nodeProperties .
    id str
    node_properties JobDefinitionNodeProperties

    An object with properties that are specific to multi-node parallel jobs. When nodeProperties is used in the job definition, it can't be used in addition to containerProperties , ecsProperties , or eksProperties .

    If the job runs on Fargate resources, don't specify nodeProperties . Use containerProperties instead.

    parameters Any

    Default parameters or parameter substitution placeholders that are set in the job definition. Parameters are specified as a key-value pair mapping. Parameters in a SubmitJob request override any corresponding parameter defaults from the job definition. For more information about specifying parameters, see Job definition parameters in the AWS Batch User Guide .

    Search the CloudFormation User Guide for AWS::Batch::JobDefinition for more information about the expected schema for this property.

    platform_capabilities Sequence[str]
    The platform capabilities required by the job definition. If no value is specified, it defaults to EC2 . Jobs run on Fargate resources specify FARGATE .
    propagate_tags bool
    Specifies whether to propagate the tags from the job or job definition to the corresponding Amazon ECS task. If no value is specified, the tags aren't propagated. Tags can only be propagated to the tasks when the tasks are created. For tags with the same name, job tags are given priority over job definitions tags. If the total number of combined tags from the job and job definition is over 50, the job is moved to the FAILED state.
    retry_strategy JobDefinitionRetryStrategy
    The retry strategy to use for failed jobs that are submitted with this job definition.
    scheduling_priority int
    The scheduling priority of the job definition. This only affects jobs in job queues with a fair share policy. Jobs with a higher scheduling priority are scheduled before jobs with a lower scheduling priority.
    timeout JobDefinitionTimeout
    The timeout time for jobs that are submitted with this job definition. After the amount of time you specify passes, AWS Batch terminates your jobs if they aren't finished.
    type str

    The type of job definition. For more information about multi-node parallel jobs, see Creating a multi-node parallel job definition in the AWS Batch User Guide .

    • If the value is container , then one of the following is required: containerProperties , ecsProperties , or eksProperties .
    • If the value is multinode , then nodeProperties is required.

    If the job is run on Fargate resources, then multinode isn't supported.

    containerProperties Property Map
    An object with properties specific to Amazon ECS-based jobs. When containerProperties is used in the job definition, it can't be used in addition to eksProperties , ecsProperties , or nodeProperties .
    ecsProperties Property Map
    An object that contains the properties for the Amazon ECS resources of a job.When ecsProperties is used in the job definition, it can't be used in addition to containerProperties , eksProperties , or nodeProperties .
    eksProperties Property Map
    An object with properties that are specific to Amazon EKS-based jobs. When eksProperties is used in the job definition, it can't be used in addition to containerProperties , ecsProperties , or nodeProperties .
    id String
    nodeProperties Property Map

    An object with properties that are specific to multi-node parallel jobs. When nodeProperties is used in the job definition, it can't be used in addition to containerProperties , ecsProperties , or eksProperties .

    If the job runs on Fargate resources, don't specify nodeProperties . Use containerProperties instead.

    parameters Any

    Default parameters or parameter substitution placeholders that are set in the job definition. Parameters are specified as a key-value pair mapping. Parameters in a SubmitJob request override any corresponding parameter defaults from the job definition. For more information about specifying parameters, see Job definition parameters in the AWS Batch User Guide .

    Search the CloudFormation User Guide for AWS::Batch::JobDefinition for more information about the expected schema for this property.

    platformCapabilities List<String>
    The platform capabilities required by the job definition. If no value is specified, it defaults to EC2 . Jobs run on Fargate resources specify FARGATE .
    propagateTags Boolean
    Specifies whether to propagate the tags from the job or job definition to the corresponding Amazon ECS task. If no value is specified, the tags aren't propagated. Tags can only be propagated to the tasks when the tasks are created. For tags with the same name, job tags are given priority over job definitions tags. If the total number of combined tags from the job and job definition is over 50, the job is moved to the FAILED state.
    retryStrategy Property Map
    The retry strategy to use for failed jobs that are submitted with this job definition.
    schedulingPriority Number
    The scheduling priority of the job definition. This only affects jobs in job queues with a fair share policy. Jobs with a higher scheduling priority are scheduled before jobs with a lower scheduling priority.
    timeout Property Map
    The timeout time for jobs that are submitted with this job definition. After the amount of time you specify passes, AWS Batch terminates your jobs if they aren't finished.
    type String

    The type of job definition. For more information about multi-node parallel jobs, see Creating a multi-node parallel job definition in the AWS Batch User Guide .

    • If the value is container , then one of the following is required: containerProperties , ecsProperties , or eksProperties .
    • If the value is multinode , then nodeProperties is required.

    If the job is run on Fargate resources, then multinode isn't supported.

    Supporting Types

    JobDefinitionAuthorizationConfig

    AccessPointId string
    The Amazon EFS access point ID to use. If an access point is specified, the root directory value specified in the EFSVolumeConfiguration must either be omitted or set to / which enforces the path set on the EFS access point. If an access point is used, transit encryption must be enabled in the EFSVolumeConfiguration . For more information, see Working with Amazon EFS access points in the Amazon Elastic File System User Guide .
    Iam string
    Whether or not to use the AWS Batch job IAM role defined in a job definition when mounting the Amazon EFS file system. If enabled, transit encryption must be enabled in the EFSVolumeConfiguration . If this parameter is omitted, the default value of DISABLED is used. For more information, see Using Amazon EFS access points in the AWS Batch User Guide . EFS IAM authorization requires that TransitEncryption be ENABLED and that a JobRoleArn is specified.
    AccessPointId string
    The Amazon EFS access point ID to use. If an access point is specified, the root directory value specified in the EFSVolumeConfiguration must either be omitted or set to / which enforces the path set on the EFS access point. If an access point is used, transit encryption must be enabled in the EFSVolumeConfiguration . For more information, see Working with Amazon EFS access points in the Amazon Elastic File System User Guide .
    Iam string
    Whether or not to use the AWS Batch job IAM role defined in a job definition when mounting the Amazon EFS file system. If enabled, transit encryption must be enabled in the EFSVolumeConfiguration . If this parameter is omitted, the default value of DISABLED is used. For more information, see Using Amazon EFS access points in the AWS Batch User Guide . EFS IAM authorization requires that TransitEncryption be ENABLED and that a JobRoleArn is specified.
    accessPointId String
    The Amazon EFS access point ID to use. If an access point is specified, the root directory value specified in the EFSVolumeConfiguration must either be omitted or set to / which enforces the path set on the EFS access point. If an access point is used, transit encryption must be enabled in the EFSVolumeConfiguration . For more information, see Working with Amazon EFS access points in the Amazon Elastic File System User Guide .
    iam String
    Whether or not to use the AWS Batch job IAM role defined in a job definition when mounting the Amazon EFS file system. If enabled, transit encryption must be enabled in the EFSVolumeConfiguration . If this parameter is omitted, the default value of DISABLED is used. For more information, see Using Amazon EFS access points in the AWS Batch User Guide . EFS IAM authorization requires that TransitEncryption be ENABLED and that a JobRoleArn is specified.
    accessPointId string
    The Amazon EFS access point ID to use. If an access point is specified, the root directory value specified in the EFSVolumeConfiguration must either be omitted or set to / which enforces the path set on the EFS access point. If an access point is used, transit encryption must be enabled in the EFSVolumeConfiguration . For more information, see Working with Amazon EFS access points in the Amazon Elastic File System User Guide .
    iam string
    Whether or not to use the AWS Batch job IAM role defined in a job definition when mounting the Amazon EFS file system. If enabled, transit encryption must be enabled in the EFSVolumeConfiguration . If this parameter is omitted, the default value of DISABLED is used. For more information, see Using Amazon EFS access points in the AWS Batch User Guide . EFS IAM authorization requires that TransitEncryption be ENABLED and that a JobRoleArn is specified.
    access_point_id str
    The Amazon EFS access point ID to use. If an access point is specified, the root directory value specified in the EFSVolumeConfiguration must either be omitted or set to / which enforces the path set on the EFS access point. If an access point is used, transit encryption must be enabled in the EFSVolumeConfiguration . For more information, see Working with Amazon EFS access points in the Amazon Elastic File System User Guide .
    iam str
    Whether or not to use the AWS Batch job IAM role defined in a job definition when mounting the Amazon EFS file system. If enabled, transit encryption must be enabled in the EFSVolumeConfiguration . If this parameter is omitted, the default value of DISABLED is used. For more information, see Using Amazon EFS access points in the AWS Batch User Guide . EFS IAM authorization requires that TransitEncryption be ENABLED and that a JobRoleArn is specified.
    accessPointId String
    The Amazon EFS access point ID to use. If an access point is specified, the root directory value specified in the EFSVolumeConfiguration must either be omitted or set to / which enforces the path set on the EFS access point. If an access point is used, transit encryption must be enabled in the EFSVolumeConfiguration . For more information, see Working with Amazon EFS access points in the Amazon Elastic File System User Guide .
    iam String
    Whether or not to use the AWS Batch job IAM role defined in a job definition when mounting the Amazon EFS file system. If enabled, transit encryption must be enabled in the EFSVolumeConfiguration . If this parameter is omitted, the default value of DISABLED is used. For more information, see Using Amazon EFS access points in the AWS Batch User Guide . EFS IAM authorization requires that TransitEncryption be ENABLED and that a JobRoleArn is specified.

    JobDefinitionContainerProperties

    Image string

    Required. The image used to start a container. This string is passed directly to the Docker daemon. Images in the Docker Hub registry are available by default. Other repositories are specified with *repository-url* / *image* : *tag* . It can be 255 characters long. It can contain uppercase and lowercase letters, numbers, hyphens (-), underscores (_), colons (:), periods (.), forward slashes (/), and number signs (#). This parameter maps to Image in the Create a container section of the Docker Remote API and the IMAGE parameter of docker run .

    Docker image architecture must match the processor architecture of the compute resources that they're scheduled on. For example, ARM-based Docker images can only run on ARM-based compute resources.

    • Images in Amazon ECR Public repositories use the full registry/repository[:tag] or registry/repository[@digest] naming conventions. For example, public.ecr.aws/ *registry_alias* / *my-web-app* : *latest* .
    • Images in Amazon ECR repositories use the full registry and repository URI (for example, 123456789012.dkr.ecr.<region-name>.amazonaws.com/<repository-name> ).
    • Images in official repositories on Docker Hub use a single name (for example, ubuntu or mongo ).
    • Images in other repositories on Docker Hub are qualified with an organization name (for example, amazon/amazon-ecs-agent ).
    • Images in other online repositories are qualified further by a domain name (for example, quay.io/assemblyline/ubuntu ).
    Command List<string>
    The command that's passed to the container. This parameter maps to Cmd in the Create a container section of the Docker Remote API and the COMMAND parameter to docker run . For more information, see https://docs.docker.com/engine/reference/builder/#cmd .
    Environment List<Pulumi.AwsNative.Batch.Inputs.JobDefinitionEnvironment>

    The environment variables to pass to a container. This parameter maps to Env in the Create a container section of the Docker Remote API and the --env option to docker run .

    We don't recommend using plaintext environment variables for sensitive information, such as credential data. > Environment variables cannot start with " AWS_BATCH ". This naming convention is reserved for variables that AWS Batch sets.

    EphemeralStorage Pulumi.AwsNative.Batch.Inputs.JobDefinitionEphemeralStorage
    The amount of ephemeral storage to allocate for the task. This parameter is used to expand the total amount of ephemeral storage available, beyond the default amount, for tasks hosted on AWS Fargate .
    ExecutionRoleArn string
    The Amazon Resource Name (ARN) of the execution role that AWS Batch can assume. For jobs that run on Fargate resources, you must provide an execution role. For more information, see AWS Batch execution IAM role in the AWS Batch User Guide .
    FargatePlatformConfiguration Pulumi.AwsNative.Batch.Inputs.JobDefinitionFargatePlatformConfiguration
    The platform configuration for jobs that are running on Fargate resources. Jobs that are running on Amazon EC2 resources must not specify this parameter.
    InstanceType string

    The instance type to use for a multi-node parallel job. All node groups in a multi-node parallel job must use the same instance type.

    This parameter isn't applicable to single-node container jobs or jobs that run on Fargate resources, and shouldn't be provided.

    JobRoleArn string
    The Amazon Resource Name (ARN) of the IAM role that the container can assume for AWS permissions. For more information, see IAM roles for tasks in the Amazon Elastic Container Service Developer Guide .
    LinuxParameters Pulumi.AwsNative.Batch.Inputs.JobDefinitionLinuxParameters
    Linux-specific modifications that are applied to the container, such as details for device mappings.
    LogConfiguration Pulumi.AwsNative.Batch.Inputs.JobDefinitionLogConfiguration

    The log configuration specification for the container.

    This parameter maps to LogConfig in the Create a container section of the Docker Remote API and the --log-driver option to docker run . By default, containers use the same logging driver that the Docker daemon uses. However the container might use a different logging driver than the Docker daemon by specifying a log driver with this parameter in the container definition. To use a different logging driver for a container, the log system must be configured properly on the container instance (or on a different log server for remote logging options). For more information on the options for different supported log drivers, see Configure logging drivers in the Docker documentation.

    AWS Batch currently supports a subset of the logging drivers available to the Docker daemon (shown in the LogConfiguration data type).

    This parameter requires version 1.18 of the Docker Remote API or greater on your container instance. To check the Docker Remote API version on your container instance, log in to your container instance and run the following command: sudo docker version | grep "Server API version"

    The Amazon ECS container agent running on a container instance must register the logging drivers available on that instance with the ECS_AVAILABLE_LOGGING_DRIVERS environment variable before containers placed on that instance can use these log configuration options. For more information, see Amazon ECS container agent configuration in the Amazon Elastic Container Service Developer Guide .

    Memory int
    This parameter is deprecated, use resourceRequirements to specify the memory requirements for the job definition. It's not supported for jobs running on Fargate resources. For jobs that run on Amazon EC2 resources, it specifies the memory hard limit (in MiB) for a container. If your container attempts to exceed the specified number, it's terminated. You must specify at least 4 MiB of memory for a job using this parameter. The memory hard limit can be specified in several places. It must be specified for each node at least once.
    MountPoints List<Pulumi.AwsNative.Batch.Inputs.JobDefinitionMountPoints>
    The mount points for data volumes in your container. This parameter maps to Volumes in the Create a container section of the Docker Remote API and the --volume option to docker run .
    NetworkConfiguration Pulumi.AwsNative.Batch.Inputs.JobDefinitionNetworkConfiguration
    The network configuration for jobs that are running on Fargate resources. Jobs that are running on Amazon EC2 resources must not specify this parameter.
    Privileged bool

    When this parameter is true, the container is given elevated permissions on the host container instance (similar to the root user). This parameter maps to Privileged in the Create a container section of the Docker Remote API and the --privileged option to docker run . The default value is false.

    This parameter isn't applicable to jobs that are running on Fargate resources and shouldn't be provided, or specified as false.

    ReadonlyRootFilesystem bool
    When this parameter is true, the container is given read-only access to its root file system. This parameter maps to ReadonlyRootfs in the Create a container section of the Docker Remote API and the --read-only option to docker run .
    RepositoryCredentials Pulumi.AwsNative.Batch.Inputs.JobDefinitionRepositoryCredentials
    The private repository authentication credentials to use.
    ResourceRequirements List<Pulumi.AwsNative.Batch.Inputs.JobDefinitionResourceRequirement>
    The type and amount of resources to assign to a container. The supported resources include GPU , MEMORY , and VCPU .
    RuntimePlatform Pulumi.AwsNative.Batch.Inputs.JobDefinitionRuntimePlatform
    An object that represents the compute environment architecture for AWS Batch jobs on Fargate.
    Secrets List<Pulumi.AwsNative.Batch.Inputs.JobDefinitionSecret>
    The secrets for the container. For more information, see Specifying sensitive data in the AWS Batch User Guide .
    Ulimits List<Pulumi.AwsNative.Batch.Inputs.JobDefinitionUlimit>

    A list of ulimits to set in the container. This parameter maps to Ulimits in the Create a container section of the Docker Remote API and the --ulimit option to docker run .

    This parameter isn't applicable to jobs that are running on Fargate resources and shouldn't be provided.

    User string
    The user name to use inside the container. This parameter maps to User in the Create a container section of the Docker Remote API and the --user option to docker run .
    Vcpus int

    This parameter is deprecated, use resourceRequirements to specify the vCPU requirements for the job definition. It's not supported for jobs running on Fargate resources. For jobs running on Amazon EC2 resources, it specifies the number of vCPUs reserved for the job.

    Each vCPU is equivalent to 1,024 CPU shares. This parameter maps to CpuShares in the Create a container section of the Docker Remote API and the --cpu-shares option to docker run . The number of vCPUs must be specified but can be specified in several places. You must specify it at least once for each node.

    Volumes List<Pulumi.AwsNative.Batch.Inputs.JobDefinitionVolumes>
    A list of data volumes used in a job.
    Image string

    Required. The image used to start a container. This string is passed directly to the Docker daemon. Images in the Docker Hub registry are available by default. Other repositories are specified with *repository-url* / *image* : *tag* . It can be 255 characters long. It can contain uppercase and lowercase letters, numbers, hyphens (-), underscores (_), colons (:), periods (.), forward slashes (/), and number signs (#). This parameter maps to Image in the Create a container section of the Docker Remote API and the IMAGE parameter of docker run .

    Docker image architecture must match the processor architecture of the compute resources that they're scheduled on. For example, ARM-based Docker images can only run on ARM-based compute resources.

    • Images in Amazon ECR Public repositories use the full registry/repository[:tag] or registry/repository[@digest] naming conventions. For example, public.ecr.aws/ *registry_alias* / *my-web-app* : *latest* .
    • Images in Amazon ECR repositories use the full registry and repository URI (for example, 123456789012.dkr.ecr.<region-name>.amazonaws.com/<repository-name> ).
    • Images in official repositories on Docker Hub use a single name (for example, ubuntu or mongo ).
    • Images in other repositories on Docker Hub are qualified with an organization name (for example, amazon/amazon-ecs-agent ).
    • Images in other online repositories are qualified further by a domain name (for example, quay.io/assemblyline/ubuntu ).
    Command []string
    The command that's passed to the container. This parameter maps to Cmd in the Create a container section of the Docker Remote API and the COMMAND parameter to docker run . For more information, see https://docs.docker.com/engine/reference/builder/#cmd .
    Environment []JobDefinitionEnvironment

    The environment variables to pass to a container. This parameter maps to Env in the Create a container section of the Docker Remote API and the --env option to docker run .

    We don't recommend using plaintext environment variables for sensitive information, such as credential data. > Environment variables cannot start with " AWS_BATCH ". This naming convention is reserved for variables that AWS Batch sets.

    EphemeralStorage JobDefinitionEphemeralStorage
    The amount of ephemeral storage to allocate for the task. This parameter is used to expand the total amount of ephemeral storage available, beyond the default amount, for tasks hosted on AWS Fargate .
    ExecutionRoleArn string
    The Amazon Resource Name (ARN) of the execution role that AWS Batch can assume. For jobs that run on Fargate resources, you must provide an execution role. For more information, see AWS Batch execution IAM role in the AWS Batch User Guide .
    FargatePlatformConfiguration JobDefinitionFargatePlatformConfiguration
    The platform configuration for jobs that are running on Fargate resources. Jobs that are running on Amazon EC2 resources must not specify this parameter.
    InstanceType string

    The instance type to use for a multi-node parallel job. All node groups in a multi-node parallel job must use the same instance type.

    This parameter isn't applicable to single-node container jobs or jobs that run on Fargate resources, and shouldn't be provided.

    JobRoleArn string
    The Amazon Resource Name (ARN) of the IAM role that the container can assume for AWS permissions. For more information, see IAM roles for tasks in the Amazon Elastic Container Service Developer Guide .
    LinuxParameters JobDefinitionLinuxParameters
    Linux-specific modifications that are applied to the container, such as details for device mappings.
    LogConfiguration JobDefinitionLogConfiguration

    The log configuration specification for the container.

    This parameter maps to LogConfig in the Create a container section of the Docker Remote API and the --log-driver option to docker run . By default, containers use the same logging driver that the Docker daemon uses. However the container might use a different logging driver than the Docker daemon by specifying a log driver with this parameter in the container definition. To use a different logging driver for a container, the log system must be configured properly on the container instance (or on a different log server for remote logging options). For more information on the options for different supported log drivers, see Configure logging drivers in the Docker documentation.

    AWS Batch currently supports a subset of the logging drivers available to the Docker daemon (shown in the LogConfiguration data type).

    This parameter requires version 1.18 of the Docker Remote API or greater on your container instance. To check the Docker Remote API version on your container instance, log in to your container instance and run the following command: sudo docker version | grep "Server API version"

    The Amazon ECS container agent running on a container instance must register the logging drivers available on that instance with the ECS_AVAILABLE_LOGGING_DRIVERS environment variable before containers placed on that instance can use these log configuration options. For more information, see Amazon ECS container agent configuration in the Amazon Elastic Container Service Developer Guide .

    Memory int
    This parameter is deprecated, use resourceRequirements to specify the memory requirements for the job definition. It's not supported for jobs running on Fargate resources. For jobs that run on Amazon EC2 resources, it specifies the memory hard limit (in MiB) for a container. If your container attempts to exceed the specified number, it's terminated. You must specify at least 4 MiB of memory for a job using this parameter. The memory hard limit can be specified in several places. It must be specified for each node at least once.
    MountPoints []JobDefinitionMountPoints
    The mount points for data volumes in your container. This parameter maps to Volumes in the Create a container section of the Docker Remote API and the --volume option to docker run .
    NetworkConfiguration JobDefinitionNetworkConfiguration
    The network configuration for jobs that are running on Fargate resources. Jobs that are running on Amazon EC2 resources must not specify this parameter.
    Privileged bool

    When this parameter is true, the container is given elevated permissions on the host container instance (similar to the root user). This parameter maps to Privileged in the Create a container section of the Docker Remote API and the --privileged option to docker run . The default value is false.

    This parameter isn't applicable to jobs that are running on Fargate resources and shouldn't be provided, or specified as false.

    ReadonlyRootFilesystem bool
    When this parameter is true, the container is given read-only access to its root file system. This parameter maps to ReadonlyRootfs in the Create a container section of the Docker Remote API and the --read-only option to docker run .
    RepositoryCredentials JobDefinitionRepositoryCredentials
    The private repository authentication credentials to use.
    ResourceRequirements []JobDefinitionResourceRequirement
    The type and amount of resources to assign to a container. The supported resources include GPU , MEMORY , and VCPU .
    RuntimePlatform JobDefinitionRuntimePlatform
    An object that represents the compute environment architecture for AWS Batch jobs on Fargate.
    Secrets []JobDefinitionSecret
    The secrets for the container. For more information, see Specifying sensitive data in the AWS Batch User Guide .
    Ulimits []JobDefinitionUlimit

    A list of ulimits to set in the container. This parameter maps to Ulimits in the Create a container section of the Docker Remote API and the --ulimit option to docker run .

    This parameter isn't applicable to jobs that are running on Fargate resources and shouldn't be provided.

    User string
    The user name to use inside the container. This parameter maps to User in the Create a container section of the Docker Remote API and the --user option to docker run .
    Vcpus int

    This parameter is deprecated, use resourceRequirements to specify the vCPU requirements for the job definition. It's not supported for jobs running on Fargate resources. For jobs running on Amazon EC2 resources, it specifies the number of vCPUs reserved for the job.

    Each vCPU is equivalent to 1,024 CPU shares. This parameter maps to CpuShares in the Create a container section of the Docker Remote API and the --cpu-shares option to docker run . The number of vCPUs must be specified but can be specified in several places. You must specify it at least once for each node.

    Volumes []JobDefinitionVolumes
    A list of data volumes used in a job.
    image String

    Required. The image used to start a container. This string is passed directly to the Docker daemon. Images in the Docker Hub registry are available by default. Other repositories are specified with *repository-url* / *image* : *tag* . It can be 255 characters long. It can contain uppercase and lowercase letters, numbers, hyphens (-), underscores (_), colons (:), periods (.), forward slashes (/), and number signs (#). This parameter maps to Image in the Create a container section of the Docker Remote API and the IMAGE parameter of docker run .

    Docker image architecture must match the processor architecture of the compute resources that they're scheduled on. For example, ARM-based Docker images can only run on ARM-based compute resources.

    • Images in Amazon ECR Public repositories use the full registry/repository[:tag] or registry/repository[@digest] naming conventions. For example, public.ecr.aws/ *registry_alias* / *my-web-app* : *latest* .
    • Images in Amazon ECR repositories use the full registry and repository URI (for example, 123456789012.dkr.ecr.<region-name>.amazonaws.com/<repository-name> ).
    • Images in official repositories on Docker Hub use a single name (for example, ubuntu or mongo ).
    • Images in other repositories on Docker Hub are qualified with an organization name (for example, amazon/amazon-ecs-agent ).
    • Images in other online repositories are qualified further by a domain name (for example, quay.io/assemblyline/ubuntu ).
    command List<String>
    The command that's passed to the container. This parameter maps to Cmd in the Create a container section of the Docker Remote API and the COMMAND parameter to docker run . For more information, see https://docs.docker.com/engine/reference/builder/#cmd .
    environment List<JobDefinitionEnvironment>

    The environment variables to pass to a container. This parameter maps to Env in the Create a container section of the Docker Remote API and the --env option to docker run .

    We don't recommend using plaintext environment variables for sensitive information, such as credential data. > Environment variables cannot start with " AWS_BATCH ". This naming convention is reserved for variables that AWS Batch sets.

    ephemeralStorage JobDefinitionEphemeralStorage
    The amount of ephemeral storage to allocate for the task. This parameter is used to expand the total amount of ephemeral storage available, beyond the default amount, for tasks hosted on AWS Fargate .
    executionRoleArn String
    The Amazon Resource Name (ARN) of the execution role that AWS Batch can assume. For jobs that run on Fargate resources, you must provide an execution role. For more information, see AWS Batch execution IAM role in the AWS Batch User Guide .
    fargatePlatformConfiguration JobDefinitionFargatePlatformConfiguration
    The platform configuration for jobs that are running on Fargate resources. Jobs that are running on Amazon EC2 resources must not specify this parameter.
    instanceType String

    The instance type to use for a multi-node parallel job. All node groups in a multi-node parallel job must use the same instance type.

    This parameter isn't applicable to single-node container jobs or jobs that run on Fargate resources, and shouldn't be provided.

    jobRoleArn String
    The Amazon Resource Name (ARN) of the IAM role that the container can assume for AWS permissions. For more information, see IAM roles for tasks in the Amazon Elastic Container Service Developer Guide .
    linuxParameters JobDefinitionLinuxParameters
    Linux-specific modifications that are applied to the container, such as details for device mappings.
    logConfiguration JobDefinitionLogConfiguration

    The log configuration specification for the container.

    This parameter maps to LogConfig in the Create a container section of the Docker Remote API and the --log-driver option to docker run . By default, containers use the same logging driver that the Docker daemon uses. However the container might use a different logging driver than the Docker daemon by specifying a log driver with this parameter in the container definition. To use a different logging driver for a container, the log system must be configured properly on the container instance (or on a different log server for remote logging options). For more information on the options for different supported log drivers, see Configure logging drivers in the Docker documentation.

    AWS Batch currently supports a subset of the logging drivers available to the Docker daemon (shown in the LogConfiguration data type).

    This parameter requires version 1.18 of the Docker Remote API or greater on your container instance. To check the Docker Remote API version on your container instance, log in to your container instance and run the following command: sudo docker version | grep "Server API version"

    The Amazon ECS container agent running on a container instance must register the logging drivers available on that instance with the ECS_AVAILABLE_LOGGING_DRIVERS environment variable before containers placed on that instance can use these log configuration options. For more information, see Amazon ECS container agent configuration in the Amazon Elastic Container Service Developer Guide .

    memory Integer
    This parameter is deprecated, use resourceRequirements to specify the memory requirements for the job definition. It's not supported for jobs running on Fargate resources. For jobs that run on Amazon EC2 resources, it specifies the memory hard limit (in MiB) for a container. If your container attempts to exceed the specified number, it's terminated. You must specify at least 4 MiB of memory for a job using this parameter. The memory hard limit can be specified in several places. It must be specified for each node at least once.
    mountPoints List<JobDefinitionMountPoints>
    The mount points for data volumes in your container. This parameter maps to Volumes in the Create a container section of the Docker Remote API and the --volume option to docker run .
    networkConfiguration JobDefinitionNetworkConfiguration
    The network configuration for jobs that are running on Fargate resources. Jobs that are running on Amazon EC2 resources must not specify this parameter.
    privileged Boolean

    When this parameter is true, the container is given elevated permissions on the host container instance (similar to the root user). This parameter maps to Privileged in the Create a container section of the Docker Remote API and the --privileged option to docker run . The default value is false.

    This parameter isn't applicable to jobs that are running on Fargate resources and shouldn't be provided, or specified as false.

    readonlyRootFilesystem Boolean
    When this parameter is true, the container is given read-only access to its root file system. This parameter maps to ReadonlyRootfs in the Create a container section of the Docker Remote API and the --read-only option to docker run .
    repositoryCredentials JobDefinitionRepositoryCredentials
    The private repository authentication credentials to use.
    resourceRequirements List<JobDefinitionResourceRequirement>
    The type and amount of resources to assign to a container. The supported resources include GPU , MEMORY , and VCPU .
    runtimePlatform JobDefinitionRuntimePlatform
    An object that represents the compute environment architecture for AWS Batch jobs on Fargate.
    secrets List<JobDefinitionSecret>
    The secrets for the container. For more information, see Specifying sensitive data in the AWS Batch User Guide .
    ulimits List<JobDefinitionUlimit>

    A list of ulimits to set in the container. This parameter maps to Ulimits in the Create a container section of the Docker Remote API and the --ulimit option to docker run .

    This parameter isn't applicable to jobs that are running on Fargate resources and shouldn't be provided.

    user String
    The user name to use inside the container. This parameter maps to User in the Create a container section of the Docker Remote API and the --user option to docker run .
    vcpus Integer

    This parameter is deprecated, use resourceRequirements to specify the vCPU requirements for the job definition. It's not supported for jobs running on Fargate resources. For jobs running on Amazon EC2 resources, it specifies the number of vCPUs reserved for the job.

    Each vCPU is equivalent to 1,024 CPU shares. This parameter maps to CpuShares in the Create a container section of the Docker Remote API and the --cpu-shares option to docker run . The number of vCPUs must be specified but can be specified in several places. You must specify it at least once for each node.

    volumes List<JobDefinitionVolumes>
    A list of data volumes used in a job.
    image string

    Required. The image used to start a container. This string is passed directly to the Docker daemon. Images in the Docker Hub registry are available by default. Other repositories are specified with *repository-url* / *image* : *tag* . It can be 255 characters long. It can contain uppercase and lowercase letters, numbers, hyphens (-), underscores (_), colons (:), periods (.), forward slashes (/), and number signs (#). This parameter maps to Image in the Create a container section of the Docker Remote API and the IMAGE parameter of docker run .

    Docker image architecture must match the processor architecture of the compute resources that they're scheduled on. For example, ARM-based Docker images can only run on ARM-based compute resources.

    • Images in Amazon ECR Public repositories use the full registry/repository[:tag] or registry/repository[@digest] naming conventions. For example, public.ecr.aws/ *registry_alias* / *my-web-app* : *latest* .
    • Images in Amazon ECR repositories use the full registry and repository URI (for example, 123456789012.dkr.ecr.<region-name>.amazonaws.com/<repository-name> ).
    • Images in official repositories on Docker Hub use a single name (for example, ubuntu or mongo ).
    • Images in other repositories on Docker Hub are qualified with an organization name (for example, amazon/amazon-ecs-agent ).
    • Images in other online repositories are qualified further by a domain name (for example, quay.io/assemblyline/ubuntu ).
    command string[]
    The command that's passed to the container. This parameter maps to Cmd in the Create a container section of the Docker Remote API and the COMMAND parameter to docker run . For more information, see https://docs.docker.com/engine/reference/builder/#cmd .
    environment JobDefinitionEnvironment[]

    The environment variables to pass to a container. This parameter maps to Env in the Create a container section of the Docker Remote API and the --env option to docker run .

    We don't recommend using plaintext environment variables for sensitive information, such as credential data. > Environment variables cannot start with " AWS_BATCH ". This naming convention is reserved for variables that AWS Batch sets.

    ephemeralStorage JobDefinitionEphemeralStorage
    The amount of ephemeral storage to allocate for the task. This parameter is used to expand the total amount of ephemeral storage available, beyond the default amount, for tasks hosted on AWS Fargate .
    executionRoleArn string
    The Amazon Resource Name (ARN) of the execution role that AWS Batch can assume. For jobs that run on Fargate resources, you must provide an execution role. For more information, see AWS Batch execution IAM role in the AWS Batch User Guide .
    fargatePlatformConfiguration JobDefinitionFargatePlatformConfiguration
    The platform configuration for jobs that are running on Fargate resources. Jobs that are running on Amazon EC2 resources must not specify this parameter.
    instanceType string

    The instance type to use for a multi-node parallel job. All node groups in a multi-node parallel job must use the same instance type.

    This parameter isn't applicable to single-node container jobs or jobs that run on Fargate resources, and shouldn't be provided.

    jobRoleArn string
    The Amazon Resource Name (ARN) of the IAM role that the container can assume for AWS permissions. For more information, see IAM roles for tasks in the Amazon Elastic Container Service Developer Guide .
    linuxParameters JobDefinitionLinuxParameters
    Linux-specific modifications that are applied to the container, such as details for device mappings.
    logConfiguration JobDefinitionLogConfiguration

    The log configuration specification for the container.

    This parameter maps to LogConfig in the Create a container section of the Docker Remote API and the --log-driver option to docker run . By default, containers use the same logging driver that the Docker daemon uses. However the container might use a different logging driver than the Docker daemon by specifying a log driver with this parameter in the container definition. To use a different logging driver for a container, the log system must be configured properly on the container instance (or on a different log server for remote logging options). For more information on the options for different supported log drivers, see Configure logging drivers in the Docker documentation.

    AWS Batch currently supports a subset of the logging drivers available to the Docker daemon (shown in the LogConfiguration data type).

    This parameter requires version 1.18 of the Docker Remote API or greater on your container instance. To check the Docker Remote API version on your container instance, log in to your container instance and run the following command: sudo docker version | grep "Server API version"

    The Amazon ECS container agent running on a container instance must register the logging drivers available on that instance with the ECS_AVAILABLE_LOGGING_DRIVERS environment variable before containers placed on that instance can use these log configuration options. For more information, see Amazon ECS container agent configuration in the Amazon Elastic Container Service Developer Guide .

    memory number
    This parameter is deprecated, use resourceRequirements to specify the memory requirements for the job definition. It's not supported for jobs running on Fargate resources. For jobs that run on Amazon EC2 resources, it specifies the memory hard limit (in MiB) for a container. If your container attempts to exceed the specified number, it's terminated. You must specify at least 4 MiB of memory for a job using this parameter. The memory hard limit can be specified in several places. It must be specified for each node at least once.
    mountPoints JobDefinitionMountPoints[]
    The mount points for data volumes in your container. This parameter maps to Volumes in the Create a container section of the Docker Remote API and the --volume option to docker run .
    networkConfiguration JobDefinitionNetworkConfiguration
    The network configuration for jobs that are running on Fargate resources. Jobs that are running on Amazon EC2 resources must not specify this parameter.
    privileged boolean

    When this parameter is true, the container is given elevated permissions on the host container instance (similar to the root user). This parameter maps to Privileged in the Create a container section of the Docker Remote API and the --privileged option to docker run . The default value is false.

    This parameter isn't applicable to jobs that are running on Fargate resources and shouldn't be provided, or specified as false.

    readonlyRootFilesystem boolean
    When this parameter is true, the container is given read-only access to its root file system. This parameter maps to ReadonlyRootfs in the Create a container section of the Docker Remote API and the --read-only option to docker run .
    repositoryCredentials JobDefinitionRepositoryCredentials
    The private repository authentication credentials to use.
    resourceRequirements JobDefinitionResourceRequirement[]
    The type and amount of resources to assign to a container. The supported resources include GPU , MEMORY , and VCPU .
    runtimePlatform JobDefinitionRuntimePlatform
    An object that represents the compute environment architecture for AWS Batch jobs on Fargate.
    secrets JobDefinitionSecret[]
    The secrets for the container. For more information, see Specifying sensitive data in the AWS Batch User Guide .
    ulimits JobDefinitionUlimit[]

    A list of ulimits to set in the container. This parameter maps to Ulimits in the Create a container section of the Docker Remote API and the --ulimit option to docker run .

    This parameter isn't applicable to jobs that are running on Fargate resources and shouldn't be provided.

    user string
    The user name to use inside the container. This parameter maps to User in the Create a container section of the Docker Remote API and the --user option to docker run .
    vcpus number

    This parameter is deprecated, use resourceRequirements to specify the vCPU requirements for the job definition. It's not supported for jobs running on Fargate resources. For jobs running on Amazon EC2 resources, it specifies the number of vCPUs reserved for the job.

    Each vCPU is equivalent to 1,024 CPU shares. This parameter maps to CpuShares in the Create a container section of the Docker Remote API and the --cpu-shares option to docker run . The number of vCPUs must be specified but can be specified in several places. You must specify it at least once for each node.

    volumes JobDefinitionVolumes[]
    A list of data volumes used in a job.
    image str

    Required. The image used to start a container. This string is passed directly to the Docker daemon. Images in the Docker Hub registry are available by default. Other repositories are specified with *repository-url* / *image* : *tag* . It can be 255 characters long. It can contain uppercase and lowercase letters, numbers, hyphens (-), underscores (_), colons (:), periods (.), forward slashes (/), and number signs (#). This parameter maps to Image in the Create a container section of the Docker Remote API and the IMAGE parameter of docker run .

    Docker image architecture must match the processor architecture of the compute resources that they're scheduled on. For example, ARM-based Docker images can only run on ARM-based compute resources.

    • Images in Amazon ECR Public repositories use the full registry/repository[:tag] or registry/repository[@digest] naming conventions. For example, public.ecr.aws/ *registry_alias* / *my-web-app* : *latest* .
    • Images in Amazon ECR repositories use the full registry and repository URI (for example, 123456789012.dkr.ecr.<region-name>.amazonaws.com/<repository-name> ).
    • Images in official repositories on Docker Hub use a single name (for example, ubuntu or mongo ).
    • Images in other repositories on Docker Hub are qualified with an organization name (for example, amazon/amazon-ecs-agent ).
    • Images in other online repositories are qualified further by a domain name (for example, quay.io/assemblyline/ubuntu ).
    command Sequence[str]
    The command that's passed to the container. This parameter maps to Cmd in the Create a container section of the Docker Remote API and the COMMAND parameter to docker run . For more information, see https://docs.docker.com/engine/reference/builder/#cmd .
    environment Sequence[JobDefinitionEnvironment]

    The environment variables to pass to a container. This parameter maps to Env in the Create a container section of the Docker Remote API and the --env option to docker run .

    We don't recommend using plaintext environment variables for sensitive information, such as credential data. > Environment variables cannot start with " AWS_BATCH ". This naming convention is reserved for variables that AWS Batch sets.

    ephemeral_storage JobDefinitionEphemeralStorage
    The amount of ephemeral storage to allocate for the task. This parameter is used to expand the total amount of ephemeral storage available, beyond the default amount, for tasks hosted on AWS Fargate .
    execution_role_arn str
    The Amazon Resource Name (ARN) of the execution role that AWS Batch can assume. For jobs that run on Fargate resources, you must provide an execution role. For more information, see AWS Batch execution IAM role in the AWS Batch User Guide .
    fargate_platform_configuration JobDefinitionFargatePlatformConfiguration
    The platform configuration for jobs that are running on Fargate resources. Jobs that are running on Amazon EC2 resources must not specify this parameter.
    instance_type str

    The instance type to use for a multi-node parallel job. All node groups in a multi-node parallel job must use the same instance type.

    This parameter isn't applicable to single-node container jobs or jobs that run on Fargate resources, and shouldn't be provided.

    job_role_arn str
    The Amazon Resource Name (ARN) of the IAM role that the container can assume for AWS permissions. For more information, see IAM roles for tasks in the Amazon Elastic Container Service Developer Guide .
    linux_parameters JobDefinitionLinuxParameters
    Linux-specific modifications that are applied to the container, such as details for device mappings.
    log_configuration JobDefinitionLogConfiguration

    The log configuration specification for the container.

    This parameter maps to LogConfig in the Create a container section of the Docker Remote API and the --log-driver option to docker run . By default, containers use the same logging driver that the Docker daemon uses. However the container might use a different logging driver than the Docker daemon by specifying a log driver with this parameter in the container definition. To use a different logging driver for a container, the log system must be configured properly on the container instance (or on a different log server for remote logging options). For more information on the options for different supported log drivers, see Configure logging drivers in the Docker documentation.

    AWS Batch currently supports a subset of the logging drivers available to the Docker daemon (shown in the LogConfiguration data type).

    This parameter requires version 1.18 of the Docker Remote API or greater on your container instance. To check the Docker Remote API version on your container instance, log in to your container instance and run the following command: sudo docker version | grep "Server API version"

    The Amazon ECS container agent running on a container instance must register the logging drivers available on that instance with the ECS_AVAILABLE_LOGGING_DRIVERS environment variable before containers placed on that instance can use these log configuration options. For more information, see Amazon ECS container agent configuration in the Amazon Elastic Container Service Developer Guide .

    memory int
    This parameter is deprecated, use resourceRequirements to specify the memory requirements for the job definition. It's not supported for jobs running on Fargate resources. For jobs that run on Amazon EC2 resources, it specifies the memory hard limit (in MiB) for a container. If your container attempts to exceed the specified number, it's terminated. You must specify at least 4 MiB of memory for a job using this parameter. The memory hard limit can be specified in several places. It must be specified for each node at least once.
    mount_points Sequence[JobDefinitionMountPoints]
    The mount points for data volumes in your container. This parameter maps to Volumes in the Create a container section of the Docker Remote API and the --volume option to docker run .
    network_configuration JobDefinitionNetworkConfiguration
    The network configuration for jobs that are running on Fargate resources. Jobs that are running on Amazon EC2 resources must not specify this parameter.
    privileged bool

    When this parameter is true, the container is given elevated permissions on the host container instance (similar to the root user). This parameter maps to Privileged in the Create a container section of the Docker Remote API and the --privileged option to docker run . The default value is false.

    This parameter isn't applicable to jobs that are running on Fargate resources and shouldn't be provided, or specified as false.

    readonly_root_filesystem bool
    When this parameter is true, the container is given read-only access to its root file system. This parameter maps to ReadonlyRootfs in the Create a container section of the Docker Remote API and the --read-only option to docker run .
    repository_credentials JobDefinitionRepositoryCredentials
    The private repository authentication credentials to use.
    resource_requirements Sequence[JobDefinitionResourceRequirement]
    The type and amount of resources to assign to a container. The supported resources include GPU , MEMORY , and VCPU .
    runtime_platform JobDefinitionRuntimePlatform
    An object that represents the compute environment architecture for AWS Batch jobs on Fargate.
    secrets Sequence[JobDefinitionSecret]
    The secrets for the container. For more information, see Specifying sensitive data in the AWS Batch User Guide .
    ulimits Sequence[JobDefinitionUlimit]

    A list of ulimits to set in the container. This parameter maps to Ulimits in the Create a container section of the Docker Remote API and the --ulimit option to docker run .

    This parameter isn't applicable to jobs that are running on Fargate resources and shouldn't be provided.

    user str
    The user name to use inside the container. This parameter maps to User in the Create a container section of the Docker Remote API and the --user option to docker run .
    vcpus int

    This parameter is deprecated, use resourceRequirements to specify the vCPU requirements for the job definition. It's not supported for jobs running on Fargate resources. For jobs running on Amazon EC2 resources, it specifies the number of vCPUs reserved for the job.

    Each vCPU is equivalent to 1,024 CPU shares. This parameter maps to CpuShares in the Create a container section of the Docker Remote API and the --cpu-shares option to docker run . The number of vCPUs must be specified but can be specified in several places. You must specify it at least once for each node.

    volumes Sequence[JobDefinitionVolumes]
    A list of data volumes used in a job.
    image String

    Required. The image used to start a container. This string is passed directly to the Docker daemon. Images in the Docker Hub registry are available by default. Other repositories are specified with *repository-url* / *image* : *tag* . It can be 255 characters long. It can contain uppercase and lowercase letters, numbers, hyphens (-), underscores (_), colons (:), periods (.), forward slashes (/), and number signs (#). This parameter maps to Image in the Create a container section of the Docker Remote API and the IMAGE parameter of docker run .

    Docker image architecture must match the processor architecture of the compute resources that they're scheduled on. For example, ARM-based Docker images can only run on ARM-based compute resources.

    • Images in Amazon ECR Public repositories use the full registry/repository[:tag] or registry/repository[@digest] naming conventions. For example, public.ecr.aws/ *registry_alias* / *my-web-app* : *latest* .
    • Images in Amazon ECR repositories use the full registry and repository URI (for example, 123456789012.dkr.ecr.<region-name>.amazonaws.com/<repository-name> ).
    • Images in official repositories on Docker Hub use a single name (for example, ubuntu or mongo ).
    • Images in other repositories on Docker Hub are qualified with an organization name (for example, amazon/amazon-ecs-agent ).
    • Images in other online repositories are qualified further by a domain name (for example, quay.io/assemblyline/ubuntu ).
    command List<String>
    The command that's passed to the container. This parameter maps to Cmd in the Create a container section of the Docker Remote API and the COMMAND parameter to docker run . For more information, see https://docs.docker.com/engine/reference/builder/#cmd .
    environment List<Property Map>

    The environment variables to pass to a container. This parameter maps to Env in the Create a container section of the Docker Remote API and the --env option to docker run .

    We don't recommend using plaintext environment variables for sensitive information, such as credential data. > Environment variables cannot start with " AWS_BATCH ". This naming convention is reserved for variables that AWS Batch sets.

    ephemeralStorage Property Map
    The amount of ephemeral storage to allocate for the task. This parameter is used to expand the total amount of ephemeral storage available, beyond the default amount, for tasks hosted on AWS Fargate .
    executionRoleArn String
    The Amazon Resource Name (ARN) of the execution role that AWS Batch can assume. For jobs that run on Fargate resources, you must provide an execution role. For more information, see AWS Batch execution IAM role in the AWS Batch User Guide .
    fargatePlatformConfiguration Property Map
    The platform configuration for jobs that are running on Fargate resources. Jobs that are running on Amazon EC2 resources must not specify this parameter.
    instanceType String

    The instance type to use for a multi-node parallel job. All node groups in a multi-node parallel job must use the same instance type.

    This parameter isn't applicable to single-node container jobs or jobs that run on Fargate resources, and shouldn't be provided.

    jobRoleArn String
    The Amazon Resource Name (ARN) of the IAM role that the container can assume for AWS permissions. For more information, see IAM roles for tasks in the Amazon Elastic Container Service Developer Guide .
    linuxParameters Property Map
    Linux-specific modifications that are applied to the container, such as details for device mappings.
    logConfiguration Property Map

    The log configuration specification for the container.

    This parameter maps to LogConfig in the Create a container section of the Docker Remote API and the --log-driver option to docker run . By default, containers use the same logging driver that the Docker daemon uses. However the container might use a different logging driver than the Docker daemon by specifying a log driver with this parameter in the container definition. To use a different logging driver for a container, the log system must be configured properly on the container instance (or on a different log server for remote logging options). For more information on the options for different supported log drivers, see Configure logging drivers in the Docker documentation.

    AWS Batch currently supports a subset of the logging drivers available to the Docker daemon (shown in the LogConfiguration data type).

    This parameter requires version 1.18 of the Docker Remote API or greater on your container instance. To check the Docker Remote API version on your container instance, log in to your container instance and run the following command: sudo docker version | grep "Server API version"

    The Amazon ECS container agent running on a container instance must register the logging drivers available on that instance with the ECS_AVAILABLE_LOGGING_DRIVERS environment variable before containers placed on that instance can use these log configuration options. For more information, see Amazon ECS container agent configuration in the Amazon Elastic Container Service Developer Guide .

    memory Number
    This parameter is deprecated, use resourceRequirements to specify the memory requirements for the job definition. It's not supported for jobs running on Fargate resources. For jobs that run on Amazon EC2 resources, it specifies the memory hard limit (in MiB) for a container. If your container attempts to exceed the specified number, it's terminated. You must specify at least 4 MiB of memory for a job using this parameter. The memory hard limit can be specified in several places. It must be specified for each node at least once.
    mountPoints List<Property Map>
    The mount points for data volumes in your container. This parameter maps to Volumes in the Create a container section of the Docker Remote API and the --volume option to docker run .
    networkConfiguration Property Map
    The network configuration for jobs that are running on Fargate resources. Jobs that are running on Amazon EC2 resources must not specify this parameter.
    privileged Boolean

    When this parameter is true, the container is given elevated permissions on the host container instance (similar to the root user). This parameter maps to Privileged in the Create a container section of the Docker Remote API and the --privileged option to docker run . The default value is false.

    This parameter isn't applicable to jobs that are running on Fargate resources and shouldn't be provided, or specified as false.

    readonlyRootFilesystem Boolean
    When this parameter is true, the container is given read-only access to its root file system. This parameter maps to ReadonlyRootfs in the Create a container section of the Docker Remote API and the --read-only option to docker run .
    repositoryCredentials Property Map
    The private repository authentication credentials to use.
    resourceRequirements List<Property Map>
    The type and amount of resources to assign to a container. The supported resources include GPU , MEMORY , and VCPU .
    runtimePlatform Property Map
    An object that represents the compute environment architecture for AWS Batch jobs on Fargate.
    secrets List<Property Map>
    The secrets for the container. For more information, see Specifying sensitive data in the AWS Batch User Guide .
    ulimits List<Property Map>

    A list of ulimits to set in the container. This parameter maps to Ulimits in the Create a container section of the Docker Remote API and the --ulimit option to docker run .

    This parameter isn't applicable to jobs that are running on Fargate resources and shouldn't be provided.

    user String
    The user name to use inside the container. This parameter maps to User in the Create a container section of the Docker Remote API and the --user option to docker run .
    vcpus Number

    This parameter is deprecated, use resourceRequirements to specify the vCPU requirements for the job definition. It's not supported for jobs running on Fargate resources. For jobs running on Amazon EC2 resources, it specifies the number of vCPUs reserved for the job.

    Each vCPU is equivalent to 1,024 CPU shares. This parameter maps to CpuShares in the Create a container section of the Docker Remote API and the --cpu-shares option to docker run . The number of vCPUs must be specified but can be specified in several places. You must specify it at least once for each node.

    volumes List<Property Map>
    A list of data volumes used in a job.

    JobDefinitionDevice

    ContainerPath string
    The path inside the container that's used to expose the host device. By default, the hostPath value is used.
    HostPath string
    The path for the device on the host container instance.
    Permissions List<string>
    The explicit permissions to provide to the container for the device. By default, the container has permissions for read , write , and mknod for the device.
    ContainerPath string
    The path inside the container that's used to expose the host device. By default, the hostPath value is used.
    HostPath string
    The path for the device on the host container instance.
    Permissions []string
    The explicit permissions to provide to the container for the device. By default, the container has permissions for read , write , and mknod for the device.
    containerPath String
    The path inside the container that's used to expose the host device. By default, the hostPath value is used.
    hostPath String
    The path for the device on the host container instance.
    permissions List<String>
    The explicit permissions to provide to the container for the device. By default, the container has permissions for read , write , and mknod for the device.
    containerPath string
    The path inside the container that's used to expose the host device. By default, the hostPath value is used.
    hostPath string
    The path for the device on the host container instance.
    permissions string[]
    The explicit permissions to provide to the container for the device. By default, the container has permissions for read , write , and mknod for the device.
    container_path str
    The path inside the container that's used to expose the host device. By default, the hostPath value is used.
    host_path str
    The path for the device on the host container instance.
    permissions Sequence[str]
    The explicit permissions to provide to the container for the device. By default, the container has permissions for read , write , and mknod for the device.
    containerPath String
    The path inside the container that's used to expose the host device. By default, the hostPath value is used.
    hostPath String
    The path for the device on the host container instance.
    permissions List<String>
    The explicit permissions to provide to the container for the device. By default, the container has permissions for read , write , and mknod for the device.

    JobDefinitionEcsProperties

    TaskProperties List<Pulumi.AwsNative.Batch.Inputs.JobDefinitionEcsTaskProperties>

    An object that contains the properties for the Amazon ECS task definition of a job.

    This object is currently limited to one task element. However, the task element can run up to 10 containers.

    TaskProperties []JobDefinitionEcsTaskProperties

    An object that contains the properties for the Amazon ECS task definition of a job.

    This object is currently limited to one task element. However, the task element can run up to 10 containers.

    taskProperties List<JobDefinitionEcsTaskProperties>

    An object that contains the properties for the Amazon ECS task definition of a job.

    This object is currently limited to one task element. However, the task element can run up to 10 containers.

    taskProperties JobDefinitionEcsTaskProperties[]

    An object that contains the properties for the Amazon ECS task definition of a job.

    This object is currently limited to one task element. However, the task element can run up to 10 containers.

    task_properties Sequence[JobDefinitionEcsTaskProperties]

    An object that contains the properties for the Amazon ECS task definition of a job.

    This object is currently limited to one task element. However, the task element can run up to 10 containers.

    taskProperties List<Property Map>

    An object that contains the properties for the Amazon ECS task definition of a job.

    This object is currently limited to one task element. However, the task element can run up to 10 containers.

    JobDefinitionEcsTaskProperties

    Containers List<Pulumi.AwsNative.Batch.Inputs.JobDefinitionTaskContainerProperties>
    This object is a list of containers.
    EphemeralStorage Pulumi.AwsNative.Batch.Inputs.JobDefinitionEphemeralStorage
    The amount of ephemeral storage to allocate for the task. This parameter is used to expand the total amount of ephemeral storage available, beyond the default amount, for tasks hosted on AWS Fargate .
    ExecutionRoleArn string
    The Amazon Resource Name (ARN) of the execution role that AWS Batch can assume. For jobs that run on Fargate resources, you must provide an execution role. For more information, see AWS Batch execution IAM role in the AWS Batch User Guide .
    IpcMode string

    The IPC resource namespace to use for the containers in the task. The valid values are host , task , or none .

    If host is specified, all containers within the tasks that specified the host IPC mode on the same container instance share the same IPC resources with the host Amazon EC2 instance.

    If task is specified, all containers within the specified task share the same IPC resources.

    If none is specified, the IPC resources within the containers of a task are private, and are not shared with other containers in a task or on the container instance.

    If no value is specified, then the IPC resource namespace sharing depends on the Docker daemon setting on the container instance. For more information, see IPC settings in the Docker run reference.

    NetworkConfiguration Pulumi.AwsNative.Batch.Inputs.JobDefinitionNetworkConfiguration
    The network configuration for jobs that are running on Fargate resources. Jobs that are running on Amazon EC2 resources must not specify this parameter.
    PidMode string

    The process namespace to use for the containers in the task. The valid values are host or task . For example, monitoring sidecars might need pidMode to access information about other containers running in the same task.

    If host is specified, all containers within the tasks that specified the host PID mode on the same container instance share the process namespace with the host Amazon EC2 instance.

    If task is specified, all containers within the specified task share the same process namespace.

    If no value is specified, the default is a private namespace for each container. For more information, see PID settings in the Docker run reference.

    PlatformVersion string
    The Fargate platform version where the jobs are running. A platform version is specified only for jobs that are running on Fargate resources. If one isn't specified, the LATEST platform version is used by default. This uses a recent, approved version of the Fargate platform for compute resources. For more information, see AWS Fargate platform versions in the Amazon Elastic Container Service Developer Guide .
    RuntimePlatform Pulumi.AwsNative.Batch.Inputs.JobDefinitionRuntimePlatform
    An object that represents the compute environment architecture for AWS Batch jobs on Fargate.
    TaskRoleArn string

    The Amazon Resource Name (ARN) that's associated with the Amazon ECS task.

    This is object is comparable to ContainerProperties:jobRoleArn .

    Volumes List<Pulumi.AwsNative.Batch.Inputs.JobDefinitionVolumes>
    A list of volumes that are associated with the job.
    Containers []JobDefinitionTaskContainerProperties
    This object is a list of containers.
    EphemeralStorage JobDefinitionEphemeralStorage
    The amount of ephemeral storage to allocate for the task. This parameter is used to expand the total amount of ephemeral storage available, beyond the default amount, for tasks hosted on AWS Fargate .
    ExecutionRoleArn string
    The Amazon Resource Name (ARN) of the execution role that AWS Batch can assume. For jobs that run on Fargate resources, you must provide an execution role. For more information, see AWS Batch execution IAM role in the AWS Batch User Guide .
    IpcMode string

    The IPC resource namespace to use for the containers in the task. The valid values are host , task , or none .

    If host is specified, all containers within the tasks that specified the host IPC mode on the same container instance share the same IPC resources with the host Amazon EC2 instance.

    If task is specified, all containers within the specified task share the same IPC resources.

    If none is specified, the IPC resources within the containers of a task are private, and are not shared with other containers in a task or on the container instance.

    If no value is specified, then the IPC resource namespace sharing depends on the Docker daemon setting on the container instance. For more information, see IPC settings in the Docker run reference.

    NetworkConfiguration JobDefinitionNetworkConfiguration
    The network configuration for jobs that are running on Fargate resources. Jobs that are running on Amazon EC2 resources must not specify this parameter.
    PidMode string

    The process namespace to use for the containers in the task. The valid values are host or task . For example, monitoring sidecars might need pidMode to access information about other containers running in the same task.

    If host is specified, all containers within the tasks that specified the host PID mode on the same container instance share the process namespace with the host Amazon EC2 instance.

    If task is specified, all containers within the specified task share the same process namespace.

    If no value is specified, the default is a private namespace for each container. For more information, see PID settings in the Docker run reference.

    PlatformVersion string
    The Fargate platform version where the jobs are running. A platform version is specified only for jobs that are running on Fargate resources. If one isn't specified, the LATEST platform version is used by default. This uses a recent, approved version of the Fargate platform for compute resources. For more information, see AWS Fargate platform versions in the Amazon Elastic Container Service Developer Guide .
    RuntimePlatform JobDefinitionRuntimePlatform
    An object that represents the compute environment architecture for AWS Batch jobs on Fargate.
    TaskRoleArn string

    The Amazon Resource Name (ARN) that's associated with the Amazon ECS task.

    This is object is comparable to ContainerProperties:jobRoleArn .

    Volumes []JobDefinitionVolumes
    A list of volumes that are associated with the job.
    containers List<JobDefinitionTaskContainerProperties>
    This object is a list of containers.
    ephemeralStorage JobDefinitionEphemeralStorage
    The amount of ephemeral storage to allocate for the task. This parameter is used to expand the total amount of ephemeral storage available, beyond the default amount, for tasks hosted on AWS Fargate .
    executionRoleArn String
    The Amazon Resource Name (ARN) of the execution role that AWS Batch can assume. For jobs that run on Fargate resources, you must provide an execution role. For more information, see AWS Batch execution IAM role in the AWS Batch User Guide .
    ipcMode String

    The IPC resource namespace to use for the containers in the task. The valid values are host , task , or none .

    If host is specified, all containers within the tasks that specified the host IPC mode on the same container instance share the same IPC resources with the host Amazon EC2 instance.

    If task is specified, all containers within the specified task share the same IPC resources.

    If none is specified, the IPC resources within the containers of a task are private, and are not shared with other containers in a task or on the container instance.

    If no value is specified, then the IPC resource namespace sharing depends on the Docker daemon setting on the container instance. For more information, see IPC settings in the Docker run reference.

    networkConfiguration JobDefinitionNetworkConfiguration
    The network configuration for jobs that are running on Fargate resources. Jobs that are running on Amazon EC2 resources must not specify this parameter.
    pidMode String

    The process namespace to use for the containers in the task. The valid values are host or task . For example, monitoring sidecars might need pidMode to access information about other containers running in the same task.

    If host is specified, all containers within the tasks that specified the host PID mode on the same container instance share the process namespace with the host Amazon EC2 instance.

    If task is specified, all containers within the specified task share the same process namespace.

    If no value is specified, the default is a private namespace for each container. For more information, see PID settings in the Docker run reference.

    platformVersion String
    The Fargate platform version where the jobs are running. A platform version is specified only for jobs that are running on Fargate resources. If one isn't specified, the LATEST platform version is used by default. This uses a recent, approved version of the Fargate platform for compute resources. For more information, see AWS Fargate platform versions in the Amazon Elastic Container Service Developer Guide .
    runtimePlatform JobDefinitionRuntimePlatform
    An object that represents the compute environment architecture for AWS Batch jobs on Fargate.
    taskRoleArn String

    The Amazon Resource Name (ARN) that's associated with the Amazon ECS task.

    This is object is comparable to ContainerProperties:jobRoleArn .

    volumes List<JobDefinitionVolumes>
    A list of volumes that are associated with the job.
    containers JobDefinitionTaskContainerProperties[]
    This object is a list of containers.
    ephemeralStorage JobDefinitionEphemeralStorage
    The amount of ephemeral storage to allocate for the task. This parameter is used to expand the total amount of ephemeral storage available, beyond the default amount, for tasks hosted on AWS Fargate .
    executionRoleArn string
    The Amazon Resource Name (ARN) of the execution role that AWS Batch can assume. For jobs that run on Fargate resources, you must provide an execution role. For more information, see AWS Batch execution IAM role in the AWS Batch User Guide .
    ipcMode string

    The IPC resource namespace to use for the containers in the task. The valid values are host , task , or none .

    If host is specified, all containers within the tasks that specified the host IPC mode on the same container instance share the same IPC resources with the host Amazon EC2 instance.

    If task is specified, all containers within the specified task share the same IPC resources.

    If none is specified, the IPC resources within the containers of a task are private, and are not shared with other containers in a task or on the container instance.

    If no value is specified, then the IPC resource namespace sharing depends on the Docker daemon setting on the container instance. For more information, see IPC settings in the Docker run reference.

    networkConfiguration JobDefinitionNetworkConfiguration
    The network configuration for jobs that are running on Fargate resources. Jobs that are running on Amazon EC2 resources must not specify this parameter.
    pidMode string

    The process namespace to use for the containers in the task. The valid values are host or task . For example, monitoring sidecars might need pidMode to access information about other containers running in the same task.

    If host is specified, all containers within the tasks that specified the host PID mode on the same container instance share the process namespace with the host Amazon EC2 instance.

    If task is specified, all containers within the specified task share the same process namespace.

    If no value is specified, the default is a private namespace for each container. For more information, see PID settings in the Docker run reference.

    platformVersion string
    The Fargate platform version where the jobs are running. A platform version is specified only for jobs that are running on Fargate resources. If one isn't specified, the LATEST platform version is used by default. This uses a recent, approved version of the Fargate platform for compute resources. For more information, see AWS Fargate platform versions in the Amazon Elastic Container Service Developer Guide .
    runtimePlatform JobDefinitionRuntimePlatform
    An object that represents the compute environment architecture for AWS Batch jobs on Fargate.
    taskRoleArn string

    The Amazon Resource Name (ARN) that's associated with the Amazon ECS task.

    This is object is comparable to ContainerProperties:jobRoleArn .

    volumes JobDefinitionVolumes[]
    A list of volumes that are associated with the job.
    containers Sequence[JobDefinitionTaskContainerProperties]
    This object is a list of containers.
    ephemeral_storage JobDefinitionEphemeralStorage
    The amount of ephemeral storage to allocate for the task. This parameter is used to expand the total amount of ephemeral storage available, beyond the default amount, for tasks hosted on AWS Fargate .
    execution_role_arn str
    The Amazon Resource Name (ARN) of the execution role that AWS Batch can assume. For jobs that run on Fargate resources, you must provide an execution role. For more information, see AWS Batch execution IAM role in the AWS Batch User Guide .
    ipc_mode str

    The IPC resource namespace to use for the containers in the task. The valid values are host , task , or none .

    If host is specified, all containers within the tasks that specified the host IPC mode on the same container instance share the same IPC resources with the host Amazon EC2 instance.

    If task is specified, all containers within the specified task share the same IPC resources.

    If none is specified, the IPC resources within the containers of a task are private, and are not shared with other containers in a task or on the container instance.

    If no value is specified, then the IPC resource namespace sharing depends on the Docker daemon setting on the container instance. For more information, see IPC settings in the Docker run reference.

    network_configuration JobDefinitionNetworkConfiguration
    The network configuration for jobs that are running on Fargate resources. Jobs that are running on Amazon EC2 resources must not specify this parameter.
    pid_mode str

    The process namespace to use for the containers in the task. The valid values are host or task . For example, monitoring sidecars might need pidMode to access information about other containers running in the same task.

    If host is specified, all containers within the tasks that specified the host PID mode on the same container instance share the process namespace with the host Amazon EC2 instance.

    If task is specified, all containers within the specified task share the same process namespace.

    If no value is specified, the default is a private namespace for each container. For more information, see PID settings in the Docker run reference.

    platform_version str
    The Fargate platform version where the jobs are running. A platform version is specified only for jobs that are running on Fargate resources. If one isn't specified, the LATEST platform version is used by default. This uses a recent, approved version of the Fargate platform for compute resources. For more information, see AWS Fargate platform versions in the Amazon Elastic Container Service Developer Guide .
    runtime_platform JobDefinitionRuntimePlatform
    An object that represents the compute environment architecture for AWS Batch jobs on Fargate.
    task_role_arn str

    The Amazon Resource Name (ARN) that's associated with the Amazon ECS task.

    This is object is comparable to ContainerProperties:jobRoleArn .

    volumes Sequence[JobDefinitionVolumes]
    A list of volumes that are associated with the job.
    containers List<Property Map>
    This object is a list of containers.
    ephemeralStorage Property Map
    The amount of ephemeral storage to allocate for the task. This parameter is used to expand the total amount of ephemeral storage available, beyond the default amount, for tasks hosted on AWS Fargate .
    executionRoleArn String
    The Amazon Resource Name (ARN) of the execution role that AWS Batch can assume. For jobs that run on Fargate resources, you must provide an execution role. For more information, see AWS Batch execution IAM role in the AWS Batch User Guide .
    ipcMode String

    The IPC resource namespace to use for the containers in the task. The valid values are host , task , or none .

    If host is specified, all containers within the tasks that specified the host IPC mode on the same container instance share the same IPC resources with the host Amazon EC2 instance.

    If task is specified, all containers within the specified task share the same IPC resources.

    If none is specified, the IPC resources within the containers of a task are private, and are not shared with other containers in a task or on the container instance.

    If no value is specified, then the IPC resource namespace sharing depends on the Docker daemon setting on the container instance. For more information, see IPC settings in the Docker run reference.

    networkConfiguration Property Map
    The network configuration for jobs that are running on Fargate resources. Jobs that are running on Amazon EC2 resources must not specify this parameter.
    pidMode String

    The process namespace to use for the containers in the task. The valid values are host or task . For example, monitoring sidecars might need pidMode to access information about other containers running in the same task.

    If host is specified, all containers within the tasks that specified the host PID mode on the same container instance share the process namespace with the host Amazon EC2 instance.

    If task is specified, all containers within the specified task share the same process namespace.

    If no value is specified, the default is a private namespace for each container. For more information, see PID settings in the Docker run reference.

    platformVersion String
    The Fargate platform version where the jobs are running. A platform version is specified only for jobs that are running on Fargate resources. If one isn't specified, the LATEST platform version is used by default. This uses a recent, approved version of the Fargate platform for compute resources. For more information, see AWS Fargate platform versions in the Amazon Elastic Container Service Developer Guide .
    runtimePlatform Property Map
    An object that represents the compute environment architecture for AWS Batch jobs on Fargate.
    taskRoleArn String

    The Amazon Resource Name (ARN) that's associated with the Amazon ECS task.

    This is object is comparable to ContainerProperties:jobRoleArn .

    volumes List<Property Map>
    A list of volumes that are associated with the job.

    JobDefinitionEfsVolumeConfiguration

    FileSystemId string
    The Amazon EFS file system ID to use.
    AuthorizationConfig Pulumi.AwsNative.Batch.Inputs.JobDefinitionAuthorizationConfig
    The authorization configuration details for the Amazon EFS file system.
    RootDirectory string

    The directory within the Amazon EFS file system to mount as the root directory inside the host. If this parameter is omitted, the root of the Amazon EFS volume is used instead. Specifying / has the same effect as omitting this parameter. The maximum length is 4,096 characters.

    If an EFS access point is specified in the authorizationConfig , the root directory parameter must either be omitted or set to / , which enforces the path set on the Amazon EFS access point.

    TransitEncryption string
    Determines whether to enable encryption for Amazon EFS data in transit between the Amazon ECS host and the Amazon EFS server. Transit encryption must be enabled if Amazon EFS IAM authorization is used. If this parameter is omitted, the default value of DISABLED is used. For more information, see Encrypting data in transit in the Amazon Elastic File System User Guide .
    TransitEncryptionPort int
    The port to use when sending encrypted data between the Amazon ECS host and the Amazon EFS server. If you don't specify a transit encryption port, it uses the port selection strategy that the Amazon EFS mount helper uses. The value must be between 0 and 65,535. For more information, see EFS mount helper in the Amazon Elastic File System User Guide .
    FileSystemId string
    The Amazon EFS file system ID to use.
    AuthorizationConfig JobDefinitionAuthorizationConfig
    The authorization configuration details for the Amazon EFS file system.
    RootDirectory string

    The directory within the Amazon EFS file system to mount as the root directory inside the host. If this parameter is omitted, the root of the Amazon EFS volume is used instead. Specifying / has the same effect as omitting this parameter. The maximum length is 4,096 characters.

    If an EFS access point is specified in the authorizationConfig , the root directory parameter must either be omitted or set to / , which enforces the path set on the Amazon EFS access point.

    TransitEncryption string
    Determines whether to enable encryption for Amazon EFS data in transit between the Amazon ECS host and the Amazon EFS server. Transit encryption must be enabled if Amazon EFS IAM authorization is used. If this parameter is omitted, the default value of DISABLED is used. For more information, see Encrypting data in transit in the Amazon Elastic File System User Guide .
    TransitEncryptionPort int
    The port to use when sending encrypted data between the Amazon ECS host and the Amazon EFS server. If you don't specify a transit encryption port, it uses the port selection strategy that the Amazon EFS mount helper uses. The value must be between 0 and 65,535. For more information, see EFS mount helper in the Amazon Elastic File System User Guide .
    fileSystemId String
    The Amazon EFS file system ID to use.
    authorizationConfig JobDefinitionAuthorizationConfig
    The authorization configuration details for the Amazon EFS file system.
    rootDirectory String

    The directory within the Amazon EFS file system to mount as the root directory inside the host. If this parameter is omitted, the root of the Amazon EFS volume is used instead. Specifying / has the same effect as omitting this parameter. The maximum length is 4,096 characters.

    If an EFS access point is specified in the authorizationConfig , the root directory parameter must either be omitted or set to / , which enforces the path set on the Amazon EFS access point.

    transitEncryption String
    Determines whether to enable encryption for Amazon EFS data in transit between the Amazon ECS host and the Amazon EFS server. Transit encryption must be enabled if Amazon EFS IAM authorization is used. If this parameter is omitted, the default value of DISABLED is used. For more information, see Encrypting data in transit in the Amazon Elastic File System User Guide .
    transitEncryptionPort Integer
    The port to use when sending encrypted data between the Amazon ECS host and the Amazon EFS server. If you don't specify a transit encryption port, it uses the port selection strategy that the Amazon EFS mount helper uses. The value must be between 0 and 65,535. For more information, see EFS mount helper in the Amazon Elastic File System User Guide .
    fileSystemId string
    The Amazon EFS file system ID to use.
    authorizationConfig JobDefinitionAuthorizationConfig
    The authorization configuration details for the Amazon EFS file system.
    rootDirectory string

    The directory within the Amazon EFS file system to mount as the root directory inside the host. If this parameter is omitted, the root of the Amazon EFS volume is used instead. Specifying / has the same effect as omitting this parameter. The maximum length is 4,096 characters.

    If an EFS access point is specified in the authorizationConfig , the root directory parameter must either be omitted or set to / , which enforces the path set on the Amazon EFS access point.

    transitEncryption string
    Determines whether to enable encryption for Amazon EFS data in transit between the Amazon ECS host and the Amazon EFS server. Transit encryption must be enabled if Amazon EFS IAM authorization is used. If this parameter is omitted, the default value of DISABLED is used. For more information, see Encrypting data in transit in the Amazon Elastic File System User Guide .
    transitEncryptionPort number
    The port to use when sending encrypted data between the Amazon ECS host and the Amazon EFS server. If you don't specify a transit encryption port, it uses the port selection strategy that the Amazon EFS mount helper uses. The value must be between 0 and 65,535. For more information, see EFS mount helper in the Amazon Elastic File System User Guide .
    file_system_id str
    The Amazon EFS file system ID to use.
    authorization_config JobDefinitionAuthorizationConfig
    The authorization configuration details for the Amazon EFS file system.
    root_directory str

    The directory within the Amazon EFS file system to mount as the root directory inside the host. If this parameter is omitted, the root of the Amazon EFS volume is used instead. Specifying / has the same effect as omitting this parameter. The maximum length is 4,096 characters.

    If an EFS access point is specified in the authorizationConfig , the root directory parameter must either be omitted or set to / , which enforces the path set on the Amazon EFS access point.

    transit_encryption str
    Determines whether to enable encryption for Amazon EFS data in transit between the Amazon ECS host and the Amazon EFS server. Transit encryption must be enabled if Amazon EFS IAM authorization is used. If this parameter is omitted, the default value of DISABLED is used. For more information, see Encrypting data in transit in the Amazon Elastic File System User Guide .
    transit_encryption_port int
    The port to use when sending encrypted data between the Amazon ECS host and the Amazon EFS server. If you don't specify a transit encryption port, it uses the port selection strategy that the Amazon EFS mount helper uses. The value must be between 0 and 65,535. For more information, see EFS mount helper in the Amazon Elastic File System User Guide .
    fileSystemId String
    The Amazon EFS file system ID to use.
    authorizationConfig Property Map
    The authorization configuration details for the Amazon EFS file system.
    rootDirectory String

    The directory within the Amazon EFS file system to mount as the root directory inside the host. If this parameter is omitted, the root of the Amazon EFS volume is used instead. Specifying / has the same effect as omitting this parameter. The maximum length is 4,096 characters.

    If an EFS access point is specified in the authorizationConfig , the root directory parameter must either be omitted or set to / , which enforces the path set on the Amazon EFS access point.

    transitEncryption String
    Determines whether to enable encryption for Amazon EFS data in transit between the Amazon ECS host and the Amazon EFS server. Transit encryption must be enabled if Amazon EFS IAM authorization is used. If this parameter is omitted, the default value of DISABLED is used. For more information, see Encrypting data in transit in the Amazon Elastic File System User Guide .
    transitEncryptionPort Number
    The port to use when sending encrypted data between the Amazon ECS host and the Amazon EFS server. If you don't specify a transit encryption port, it uses the port selection strategy that the Amazon EFS mount helper uses. The value must be between 0 and 65,535. For more information, see EFS mount helper in the Amazon Elastic File System User Guide .

    JobDefinitionEksContainer

    Image string
    The Docker image used to start the container.
    Args List<string>

    An array of arguments to the entrypoint. If this isn't specified, the CMD of the container image is used. This corresponds to the args member in the Entrypoint portion of the Pod in Kubernetes. Environment variable references are expanded using the container's environment.

    If the referenced environment variable doesn't exist, the reference in the command isn't changed. For example, if the reference is to " $(NAME1) " and the NAME1 environment variable doesn't exist, the command string will remain " $(NAME1) ." $$ is replaced with $ , and the resulting string isn't expanded. For example, $$(VAR_NAME) is passed as $(VAR_NAME) whether or not the VAR_NAME environment variable exists. For more information, see Dockerfile reference: CMD and Define a command and arguments for a pod in the Kubernetes documentation .

    Command List<string>

    The entrypoint for the container. This isn't run within a shell. If this isn't specified, the ENTRYPOINT of the container image is used. Environment variable references are expanded using the container's environment.

    If the referenced environment variable doesn't exist, the reference in the command isn't changed. For example, if the reference is to " $(NAME1) " and the NAME1 environment variable doesn't exist, the command string will remain " $(NAME1) ." $$ is replaced with $ and the resulting string isn't expanded. For example, $$(VAR_NAME) will be passed as $(VAR_NAME) whether or not the VAR_NAME environment variable exists. The entrypoint can't be updated. For more information, see ENTRYPOINT in the Dockerfile reference and Define a command and arguments for a container and Entrypoint in the Kubernetes documentation .

    Env List<Pulumi.AwsNative.Batch.Inputs.JobDefinitionEksContainerEnvironmentVariable>

    The environment variables to pass to a container.

    Environment variables cannot start with " AWS_BATCH ". This naming convention is reserved for variables that AWS Batch sets.

    ImagePullPolicy string
    The image pull policy for the container. Supported values are Always , IfNotPresent , and Never . This parameter defaults to IfNotPresent . However, if the :latest tag is specified, it defaults to Always . For more information, see Updating images in the Kubernetes documentation .
    Name string
    The name of the container. If the name isn't specified, the default name " Default " is used. Each container in a pod must have a unique name.
    Resources Pulumi.AwsNative.Batch.Inputs.JobDefinitionEksContainerResourceRequirements
    The type and amount of resources to assign to a container. The supported resources include memory , cpu , and nvidia.com/gpu . For more information, see Resource management for pods and containers in the Kubernetes documentation .
    SecurityContext Pulumi.AwsNative.Batch.Inputs.JobDefinitionEksContainerSecurityContext
    The security context for a job. For more information, see Configure a security context for a pod or container in the Kubernetes documentation .
    VolumeMounts List<Pulumi.AwsNative.Batch.Inputs.JobDefinitionEksContainerVolumeMount>
    The volume mounts for the container. AWS Batch supports emptyDir , hostPath , and secret volume types. For more information about volumes and volume mounts in Kubernetes, see Volumes in the Kubernetes documentation .
    Image string
    The Docker image used to start the container.
    Args []string

    An array of arguments to the entrypoint. If this isn't specified, the CMD of the container image is used. This corresponds to the args member in the Entrypoint portion of the Pod in Kubernetes. Environment variable references are expanded using the container's environment.

    If the referenced environment variable doesn't exist, the reference in the command isn't changed. For example, if the reference is to " $(NAME1) " and the NAME1 environment variable doesn't exist, the command string will remain " $(NAME1) ." $$ is replaced with $ , and the resulting string isn't expanded. For example, $$(VAR_NAME) is passed as $(VAR_NAME) whether or not the VAR_NAME environment variable exists. For more information, see Dockerfile reference: CMD and Define a command and arguments for a pod in the Kubernetes documentation .

    Command []string

    The entrypoint for the container. This isn't run within a shell. If this isn't specified, the ENTRYPOINT of the container image is used. Environment variable references are expanded using the container's environment.

    If the referenced environment variable doesn't exist, the reference in the command isn't changed. For example, if the reference is to " $(NAME1) " and the NAME1 environment variable doesn't exist, the command string will remain " $(NAME1) ." $$ is replaced with $ and the resulting string isn't expanded. For example, $$(VAR_NAME) will be passed as $(VAR_NAME) whether or not the VAR_NAME environment variable exists. The entrypoint can't be updated. For more information, see ENTRYPOINT in the Dockerfile reference and Define a command and arguments for a container and Entrypoint in the Kubernetes documentation .

    Env []JobDefinitionEksContainerEnvironmentVariable

    The environment variables to pass to a container.

    Environment variables cannot start with " AWS_BATCH ". This naming convention is reserved for variables that AWS Batch sets.

    ImagePullPolicy string
    The image pull policy for the container. Supported values are Always , IfNotPresent , and Never . This parameter defaults to IfNotPresent . However, if the :latest tag is specified, it defaults to Always . For more information, see Updating images in the Kubernetes documentation .
    Name string
    The name of the container. If the name isn't specified, the default name " Default " is used. Each container in a pod must have a unique name.
    Resources JobDefinitionEksContainerResourceRequirements
    The type and amount of resources to assign to a container. The supported resources include memory , cpu , and nvidia.com/gpu . For more information, see Resource management for pods and containers in the Kubernetes documentation .
    SecurityContext JobDefinitionEksContainerSecurityContext
    The security context for a job. For more information, see Configure a security context for a pod or container in the Kubernetes documentation .
    VolumeMounts []JobDefinitionEksContainerVolumeMount
    The volume mounts for the container. AWS Batch supports emptyDir , hostPath , and secret volume types. For more information about volumes and volume mounts in Kubernetes, see Volumes in the Kubernetes documentation .
    image String
    The Docker image used to start the container.
    args List<String>

    An array of arguments to the entrypoint. If this isn't specified, the CMD of the container image is used. This corresponds to the args member in the Entrypoint portion of the Pod in Kubernetes. Environment variable references are expanded using the container's environment.

    If the referenced environment variable doesn't exist, the reference in the command isn't changed. For example, if the reference is to " $(NAME1) " and the NAME1 environment variable doesn't exist, the command string will remain " $(NAME1) ." $$ is replaced with $ , and the resulting string isn't expanded. For example, $$(VAR_NAME) is passed as $(VAR_NAME) whether or not the VAR_NAME environment variable exists. For more information, see Dockerfile reference: CMD and Define a command and arguments for a pod in the Kubernetes documentation .

    command List<String>

    The entrypoint for the container. This isn't run within a shell. If this isn't specified, the ENTRYPOINT of the container image is used. Environment variable references are expanded using the container's environment.

    If the referenced environment variable doesn't exist, the reference in the command isn't changed. For example, if the reference is to " $(NAME1) " and the NAME1 environment variable doesn't exist, the command string will remain " $(NAME1) ." $$ is replaced with $ and the resulting string isn't expanded. For example, $$(VAR_NAME) will be passed as $(VAR_NAME) whether or not the VAR_NAME environment variable exists. The entrypoint can't be updated. For more information, see ENTRYPOINT in the Dockerfile reference and Define a command and arguments for a container and Entrypoint in the Kubernetes documentation .

    env List<JobDefinitionEksContainerEnvironmentVariable>

    The environment variables to pass to a container.

    Environment variables cannot start with " AWS_BATCH ". This naming convention is reserved for variables that AWS Batch sets.

    imagePullPolicy String
    The image pull policy for the container. Supported values are Always , IfNotPresent , and Never . This parameter defaults to IfNotPresent . However, if the :latest tag is specified, it defaults to Always . For more information, see Updating images in the Kubernetes documentation .
    name String
    The name of the container. If the name isn't specified, the default name " Default " is used. Each container in a pod must have a unique name.
    resources JobDefinitionEksContainerResourceRequirements
    The type and amount of resources to assign to a container. The supported resources include memory , cpu , and nvidia.com/gpu . For more information, see Resource management for pods and containers in the Kubernetes documentation .
    securityContext JobDefinitionEksContainerSecurityContext
    The security context for a job. For more information, see Configure a security context for a pod or container in the Kubernetes documentation .
    volumeMounts List<JobDefinitionEksContainerVolumeMount>
    The volume mounts for the container. AWS Batch supports emptyDir , hostPath , and secret volume types. For more information about volumes and volume mounts in Kubernetes, see Volumes in the Kubernetes documentation .
    image string
    The Docker image used to start the container.
    args string[]

    An array of arguments to the entrypoint. If this isn't specified, the CMD of the container image is used. This corresponds to the args member in the Entrypoint portion of the Pod in Kubernetes. Environment variable references are expanded using the container's environment.

    If the referenced environment variable doesn't exist, the reference in the command isn't changed. For example, if the reference is to " $(NAME1) " and the NAME1 environment variable doesn't exist, the command string will remain " $(NAME1) ." $$ is replaced with $ , and the resulting string isn't expanded. For example, $$(VAR_NAME) is passed as $(VAR_NAME) whether or not the VAR_NAME environment variable exists. For more information, see Dockerfile reference: CMD and Define a command and arguments for a pod in the Kubernetes documentation .

    command string[]

    The entrypoint for the container. This isn't run within a shell. If this isn't specified, the ENTRYPOINT of the container image is used. Environment variable references are expanded using the container's environment.

    If the referenced environment variable doesn't exist, the reference in the command isn't changed. For example, if the reference is to " $(NAME1) " and the NAME1 environment variable doesn't exist, the command string will remain " $(NAME1) ." $$ is replaced with $ and the resulting string isn't expanded. For example, $$(VAR_NAME) will be passed as $(VAR_NAME) whether or not the VAR_NAME environment variable exists. The entrypoint can't be updated. For more information, see ENTRYPOINT in the Dockerfile reference and Define a command and arguments for a container and Entrypoint in the Kubernetes documentation .

    env JobDefinitionEksContainerEnvironmentVariable[]

    The environment variables to pass to a container.

    Environment variables cannot start with " AWS_BATCH ". This naming convention is reserved for variables that AWS Batch sets.

    imagePullPolicy string
    The image pull policy for the container. Supported values are Always , IfNotPresent , and Never . This parameter defaults to IfNotPresent . However, if the :latest tag is specified, it defaults to Always . For more information, see Updating images in the Kubernetes documentation .
    name string
    The name of the container. If the name isn't specified, the default name " Default " is used. Each container in a pod must have a unique name.
    resources JobDefinitionEksContainerResourceRequirements
    The type and amount of resources to assign to a container. The supported resources include memory , cpu , and nvidia.com/gpu . For more information, see Resource management for pods and containers in the Kubernetes documentation .
    securityContext JobDefinitionEksContainerSecurityContext
    The security context for a job. For more information, see Configure a security context for a pod or container in the Kubernetes documentation .
    volumeMounts JobDefinitionEksContainerVolumeMount[]
    The volume mounts for the container. AWS Batch supports emptyDir , hostPath , and secret volume types. For more information about volumes and volume mounts in Kubernetes, see Volumes in the Kubernetes documentation .
    image str
    The Docker image used to start the container.
    args Sequence[str]

    An array of arguments to the entrypoint. If this isn't specified, the CMD of the container image is used. This corresponds to the args member in the Entrypoint portion of the Pod in Kubernetes. Environment variable references are expanded using the container's environment.

    If the referenced environment variable doesn't exist, the reference in the command isn't changed. For example, if the reference is to " $(NAME1) " and the NAME1 environment variable doesn't exist, the command string will remain " $(NAME1) ." $$ is replaced with $ , and the resulting string isn't expanded. For example, $$(VAR_NAME) is passed as $(VAR_NAME) whether or not the VAR_NAME environment variable exists. For more information, see Dockerfile reference: CMD and Define a command and arguments for a pod in the Kubernetes documentation .

    command Sequence[str]

    The entrypoint for the container. This isn't run within a shell. If this isn't specified, the ENTRYPOINT of the container image is used. Environment variable references are expanded using the container's environment.

    If the referenced environment variable doesn't exist, the reference in the command isn't changed. For example, if the reference is to " $(NAME1) " and the NAME1 environment variable doesn't exist, the command string will remain " $(NAME1) ." $$ is replaced with $ and the resulting string isn't expanded. For example, $$(VAR_NAME) will be passed as $(VAR_NAME) whether or not the VAR_NAME environment variable exists. The entrypoint can't be updated. For more information, see ENTRYPOINT in the Dockerfile reference and Define a command and arguments for a container and Entrypoint in the Kubernetes documentation .

    env Sequence[JobDefinitionEksContainerEnvironmentVariable]

    The environment variables to pass to a container.

    Environment variables cannot start with " AWS_BATCH ". This naming convention is reserved for variables that AWS Batch sets.

    image_pull_policy str
    The image pull policy for the container. Supported values are Always , IfNotPresent , and Never . This parameter defaults to IfNotPresent . However, if the :latest tag is specified, it defaults to Always . For more information, see Updating images in the Kubernetes documentation .
    name str
    The name of the container. If the name isn't specified, the default name " Default " is used. Each container in a pod must have a unique name.
    resources JobDefinitionEksContainerResourceRequirements
    The type and amount of resources to assign to a container. The supported resources include memory , cpu , and nvidia.com/gpu . For more information, see Resource management for pods and containers in the Kubernetes documentation .
    security_context JobDefinitionEksContainerSecurityContext
    The security context for a job. For more information, see Configure a security context for a pod or container in the Kubernetes documentation .
    volume_mounts Sequence[JobDefinitionEksContainerVolumeMount]
    The volume mounts for the container. AWS Batch supports emptyDir , hostPath , and secret volume types. For more information about volumes and volume mounts in Kubernetes, see Volumes in the Kubernetes documentation .
    image String
    The Docker image used to start the container.
    args List<String>

    An array of arguments to the entrypoint. If this isn't specified, the CMD of the container image is used. This corresponds to the args member in the Entrypoint portion of the Pod in Kubernetes. Environment variable references are expanded using the container's environment.

    If the referenced environment variable doesn't exist, the reference in the command isn't changed. For example, if the reference is to " $(NAME1) " and the NAME1 environment variable doesn't exist, the command string will remain " $(NAME1) ." $$ is replaced with $ , and the resulting string isn't expanded. For example, $$(VAR_NAME) is passed as $(VAR_NAME) whether or not the VAR_NAME environment variable exists. For more information, see Dockerfile reference: CMD and Define a command and arguments for a pod in the Kubernetes documentation .

    command List<String>

    The entrypoint for the container. This isn't run within a shell. If this isn't specified, the ENTRYPOINT of the container image is used. Environment variable references are expanded using the container's environment.

    If the referenced environment variable doesn't exist, the reference in the command isn't changed. For example, if the reference is to " $(NAME1) " and the NAME1 environment variable doesn't exist, the command string will remain " $(NAME1) ." $$ is replaced with $ and the resulting string isn't expanded. For example, $$(VAR_NAME) will be passed as $(VAR_NAME) whether or not the VAR_NAME environment variable exists. The entrypoint can't be updated. For more information, see ENTRYPOINT in the Dockerfile reference and Define a command and arguments for a container and Entrypoint in the Kubernetes documentation .

    env List<Property Map>

    The environment variables to pass to a container.

    Environment variables cannot start with " AWS_BATCH ". This naming convention is reserved for variables that AWS Batch sets.

    imagePullPolicy String
    The image pull policy for the container. Supported values are Always , IfNotPresent , and Never . This parameter defaults to IfNotPresent . However, if the :latest tag is specified, it defaults to Always . For more information, see Updating images in the Kubernetes documentation .
    name String
    The name of the container. If the name isn't specified, the default name " Default " is used. Each container in a pod must have a unique name.
    resources Property Map
    The type and amount of resources to assign to a container. The supported resources include memory , cpu , and nvidia.com/gpu . For more information, see Resource management for pods and containers in the Kubernetes documentation .
    securityContext Property Map
    The security context for a job. For more information, see Configure a security context for a pod or container in the Kubernetes documentation .
    volumeMounts List<Property Map>
    The volume mounts for the container. AWS Batch supports emptyDir , hostPath , and secret volume types. For more information about volumes and volume mounts in Kubernetes, see Volumes in the Kubernetes documentation .

    JobDefinitionEksContainerEnvironmentVariable

    Name string
    The name of the environment variable.
    Value string
    The value of the environment variable.
    Name string
    The name of the environment variable.
    Value string
    The value of the environment variable.
    name String
    The name of the environment variable.
    value String
    The value of the environment variable.
    name string
    The name of the environment variable.
    value string
    The value of the environment variable.
    name str
    The name of the environment variable.
    value str
    The value of the environment variable.
    name String
    The name of the environment variable.
    value String
    The value of the environment variable.

    JobDefinitionEksContainerResourceRequirements

    Limits object

    The type and quantity of the resources to reserve for the container. The values vary based on the name that's specified. Resources can be requested using either the limits or the requests objects.

    • memory - The memory hard limit (in MiB) for the container, using whole integers, with a "Mi" suffix. If your container attempts to exceed the memory specified, the container is terminated. You must specify at least 4 MiB of memory for a job. memory can be specified in limits , requests , or both. If memory is specified in both places, then the value that's specified in limits must be equal to the value that's specified in requests .

    To maximize your resource utilization, provide your jobs with as much memory as possible for the specific instance type that you are using. To learn how, see Memory management in the AWS Batch User Guide .

    • cpu - The number of CPUs that's reserved for the container. Values must be an even multiple of 0.25 . cpu can be specified in limits , requests , or both. If cpu is specified in both places, then the value that's specified in limits must be at least as large as the value that's specified in requests .
    • nvidia.com/gpu - The number of GPUs that's reserved for the container. Values must be a whole integer. memory can be specified in limits , requests , or both. If memory is specified in both places, then the value that's specified in limits must be equal to the value that's specified in requests .
    Requests object

    The type and quantity of the resources to request for the container. The values vary based on the name that's specified. Resources can be requested by using either the limits or the requests objects.

    • memory - The memory hard limit (in MiB) for the container, using whole integers, with a "Mi" suffix. If your container attempts to exceed the memory specified, the container is terminated. You must specify at least 4 MiB of memory for a job. memory can be specified in limits , requests , or both. If memory is specified in both, then the value that's specified in limits must be equal to the value that's specified in requests .

    If you're trying to maximize your resource utilization by providing your jobs as much memory as possible for a particular instance type, see Memory management in the AWS Batch User Guide .

    • cpu - The number of CPUs that are reserved for the container. Values must be an even multiple of 0.25 . cpu can be specified in limits , requests , or both. If cpu is specified in both, then the value that's specified in limits must be at least as large as the value that's specified in requests .
    • nvidia.com/gpu - The number of GPUs that are reserved for the container. Values must be a whole integer. nvidia.com/gpu can be specified in limits , requests , or both. If nvidia.com/gpu is specified in both, then the value that's specified in limits must be equal to the value that's specified in requests .
    Limits interface{}

    The type and quantity of the resources to reserve for the container. The values vary based on the name that's specified. Resources can be requested using either the limits or the requests objects.

    • memory - The memory hard limit (in MiB) for the container, using whole integers, with a "Mi" suffix. If your container attempts to exceed the memory specified, the container is terminated. You must specify at least 4 MiB of memory for a job. memory can be specified in limits , requests , or both. If memory is specified in both places, then the value that's specified in limits must be equal to the value that's specified in requests .

    To maximize your resource utilization, provide your jobs with as much memory as possible for the specific instance type that you are using. To learn how, see Memory management in the AWS Batch User Guide .

    • cpu - The number of CPUs that's reserved for the container. Values must be an even multiple of 0.25 . cpu can be specified in limits , requests , or both. If cpu is specified in both places, then the value that's specified in limits must be at least as large as the value that's specified in requests .
    • nvidia.com/gpu - The number of GPUs that's reserved for the container. Values must be a whole integer. memory can be specified in limits , requests , or both. If memory is specified in both places, then the value that's specified in limits must be equal to the value that's specified in requests .
    Requests interface{}

    The type and quantity of the resources to request for the container. The values vary based on the name that's specified. Resources can be requested by using either the limits or the requests objects.

    • memory - The memory hard limit (in MiB) for the container, using whole integers, with a "Mi" suffix. If your container attempts to exceed the memory specified, the container is terminated. You must specify at least 4 MiB of memory for a job. memory can be specified in limits , requests , or both. If memory is specified in both, then the value that's specified in limits must be equal to the value that's specified in requests .

    If you're trying to maximize your resource utilization by providing your jobs as much memory as possible for a particular instance type, see Memory management in the AWS Batch User Guide .

    • cpu - The number of CPUs that are reserved for the container. Values must be an even multiple of 0.25 . cpu can be specified in limits , requests , or both. If cpu is specified in both, then the value that's specified in limits must be at least as large as the value that's specified in requests .
    • nvidia.com/gpu - The number of GPUs that are reserved for the container. Values must be a whole integer. nvidia.com/gpu can be specified in limits , requests , or both. If nvidia.com/gpu is specified in both, then the value that's specified in limits must be equal to the value that's specified in requests .
    limits Object

    The type and quantity of the resources to reserve for the container. The values vary based on the name that's specified. Resources can be requested using either the limits or the requests objects.

    • memory - The memory hard limit (in MiB) for the container, using whole integers, with a "Mi" suffix. If your container attempts to exceed the memory specified, the container is terminated. You must specify at least 4 MiB of memory for a job. memory can be specified in limits , requests , or both. If memory is specified in both places, then the value that's specified in limits must be equal to the value that's specified in requests .

    To maximize your resource utilization, provide your jobs with as much memory as possible for the specific instance type that you are using. To learn how, see Memory management in the AWS Batch User Guide .

    • cpu - The number of CPUs that's reserved for the container. Values must be an even multiple of 0.25 . cpu can be specified in limits , requests , or both. If cpu is specified in both places, then the value that's specified in limits must be at least as large as the value that's specified in requests .
    • nvidia.com/gpu - The number of GPUs that's reserved for the container. Values must be a whole integer. memory can be specified in limits , requests , or both. If memory is specified in both places, then the value that's specified in limits must be equal to the value that's specified in requests .
    requests Object

    The type and quantity of the resources to request for the container. The values vary based on the name that's specified. Resources can be requested by using either the limits or the requests objects.

    • memory - The memory hard limit (in MiB) for the container, using whole integers, with a "Mi" suffix. If your container attempts to exceed the memory specified, the container is terminated. You must specify at least 4 MiB of memory for a job. memory can be specified in limits , requests , or both. If memory is specified in both, then the value that's specified in limits must be equal to the value that's specified in requests .

    If you're trying to maximize your resource utilization by providing your jobs as much memory as possible for a particular instance type, see Memory management in the AWS Batch User Guide .

    • cpu - The number of CPUs that are reserved for the container. Values must be an even multiple of 0.25 . cpu can be specified in limits , requests , or both. If cpu is specified in both, then the value that's specified in limits must be at least as large as the value that's specified in requests .
    • nvidia.com/gpu - The number of GPUs that are reserved for the container. Values must be a whole integer. nvidia.com/gpu can be specified in limits , requests , or both. If nvidia.com/gpu is specified in both, then the value that's specified in limits must be equal to the value that's specified in requests .
    limits any

    The type and quantity of the resources to reserve for the container. The values vary based on the name that's specified. Resources can be requested using either the limits or the requests objects.

    • memory - The memory hard limit (in MiB) for the container, using whole integers, with a "Mi" suffix. If your container attempts to exceed the memory specified, the container is terminated. You must specify at least 4 MiB of memory for a job. memory can be specified in limits , requests , or both. If memory is specified in both places, then the value that's specified in limits must be equal to the value that's specified in requests .

    To maximize your resource utilization, provide your jobs with as much memory as possible for the specific instance type that you are using. To learn how, see Memory management in the AWS Batch User Guide .

    • cpu - The number of CPUs that's reserved for the container. Values must be an even multiple of 0.25 . cpu can be specified in limits , requests , or both. If cpu is specified in both places, then the value that's specified in limits must be at least as large as the value that's specified in requests .
    • nvidia.com/gpu - The number of GPUs that's reserved for the container. Values must be a whole integer. memory can be specified in limits , requests , or both. If memory is specified in both places, then the value that's specified in limits must be equal to the value that's specified in requests .
    requests any

    The type and quantity of the resources to request for the container. The values vary based on the name that's specified. Resources can be requested by using either the limits or the requests objects.

    • memory - The memory hard limit (in MiB) for the container, using whole integers, with a "Mi" suffix. If your container attempts to exceed the memory specified, the container is terminated. You must specify at least 4 MiB of memory for a job. memory can be specified in limits , requests , or both. If memory is specified in both, then the value that's specified in limits must be equal to the value that's specified in requests .

    If you're trying to maximize your resource utilization by providing your jobs as much memory as possible for a particular instance type, see Memory management in the AWS Batch User Guide .

    • cpu - The number of CPUs that are reserved for the container. Values must be an even multiple of 0.25 . cpu can be specified in limits , requests , or both. If cpu is specified in both, then the value that's specified in limits must be at least as large as the value that's specified in requests .
    • nvidia.com/gpu - The number of GPUs that are reserved for the container. Values must be a whole integer. nvidia.com/gpu can be specified in limits , requests , or both. If nvidia.com/gpu is specified in both, then the value that's specified in limits must be equal to the value that's specified in requests .
    limits Any

    The type and quantity of the resources to reserve for the container. The values vary based on the name that's specified. Resources can be requested using either the limits or the requests objects.

    • memory - The memory hard limit (in MiB) for the container, using whole integers, with a "Mi" suffix. If your container attempts to exceed the memory specified, the container is terminated. You must specify at least 4 MiB of memory for a job. memory can be specified in limits , requests , or both. If memory is specified in both places, then the value that's specified in limits must be equal to the value that's specified in requests .

    To maximize your resource utilization, provide your jobs with as much memory as possible for the specific instance type that you are using. To learn how, see Memory management in the AWS Batch User Guide .

    • cpu - The number of CPUs that's reserved for the container. Values must be an even multiple of 0.25 . cpu can be specified in limits , requests , or both. If cpu is specified in both places, then the value that's specified in limits must be at least as large as the value that's specified in requests .
    • nvidia.com/gpu - The number of GPUs that's reserved for the container. Values must be a whole integer. memory can be specified in limits , requests , or both. If memory is specified in both places, then the value that's specified in limits must be equal to the value that's specified in requests .
    requests Any

    The type and quantity of the resources to request for the container. The values vary based on the name that's specified. Resources can be requested by using either the limits or the requests objects.

    • memory - The memory hard limit (in MiB) for the container, using whole integers, with a "Mi" suffix. If your container attempts to exceed the memory specified, the container is terminated. You must specify at least 4 MiB of memory for a job. memory can be specified in limits , requests , or both. If memory is specified in both, then the value that's specified in limits must be equal to the value that's specified in requests .

    If you're trying to maximize your resource utilization by providing your jobs as much memory as possible for a particular instance type, see Memory management in the AWS Batch User Guide .

    • cpu - The number of CPUs that are reserved for the container. Values must be an even multiple of 0.25 . cpu can be specified in limits , requests , or both. If cpu is specified in both, then the value that's specified in limits must be at least as large as the value that's specified in requests .
    • nvidia.com/gpu - The number of GPUs that are reserved for the container. Values must be a whole integer. nvidia.com/gpu can be specified in limits , requests , or both. If nvidia.com/gpu is specified in both, then the value that's specified in limits must be equal to the value that's specified in requests .
    limits Any

    The type and quantity of the resources to reserve for the container. The values vary based on the name that's specified. Resources can be requested using either the limits or the requests objects.

    • memory - The memory hard limit (in MiB) for the container, using whole integers, with a "Mi" suffix. If your container attempts to exceed the memory specified, the container is terminated. You must specify at least 4 MiB of memory for a job. memory can be specified in limits , requests , or both. If memory is specified in both places, then the value that's specified in limits must be equal to the value that's specified in requests .

    To maximize your resource utilization, provide your jobs with as much memory as possible for the specific instance type that you are using. To learn how, see Memory management in the AWS Batch User Guide .

    • cpu - The number of CPUs that's reserved for the container. Values must be an even multiple of 0.25 . cpu can be specified in limits , requests , or both. If cpu is specified in both places, then the value that's specified in limits must be at least as large as the value that's specified in requests .
    • nvidia.com/gpu - The number of GPUs that's reserved for the container. Values must be a whole integer. memory can be specified in limits , requests , or both. If memory is specified in both places, then the value that's specified in limits must be equal to the value that's specified in requests .
    requests Any

    The type and quantity of the resources to request for the container. The values vary based on the name that's specified. Resources can be requested by using either the limits or the requests objects.

    • memory - The memory hard limit (in MiB) for the container, using whole integers, with a "Mi" suffix. If your container attempts to exceed the memory specified, the container is terminated. You must specify at least 4 MiB of memory for a job. memory can be specified in limits , requests , or both. If memory is specified in both, then the value that's specified in limits must be equal to the value that's specified in requests .

    If you're trying to maximize your resource utilization by providing your jobs as much memory as possible for a particular instance type, see Memory management in the AWS Batch User Guide .

    • cpu - The number of CPUs that are reserved for the container. Values must be an even multiple of 0.25 . cpu can be specified in limits , requests , or both. If cpu is specified in both, then the value that's specified in limits must be at least as large as the value that's specified in requests .
    • nvidia.com/gpu - The number of GPUs that are reserved for the container. Values must be a whole integer. nvidia.com/gpu can be specified in limits , requests , or both. If nvidia.com/gpu is specified in both, then the value that's specified in limits must be equal to the value that's specified in requests .

    JobDefinitionEksContainerSecurityContext

    AllowPrivilegeEscalation bool
    Whether or not a container or a Kubernetes pod is allowed to gain more privileges than its parent process. The default value is false .
    Privileged bool
    When this parameter is true , the container is given elevated permissions on the host container instance. The level of permissions are similar to the root user permissions. The default value is false . This parameter maps to privileged policy in the Privileged pod security policies in the Kubernetes documentation .
    ReadOnlyRootFilesystem bool
    When this parameter is true , the container is given read-only access to its root file system. The default value is false . This parameter maps to ReadOnlyRootFilesystem policy in the Volumes and file systems pod security policies in the Kubernetes documentation .
    RunAsGroup int
    When this parameter is specified, the container is run as the specified group ID ( gid ). If this parameter isn't specified, the default is the group that's specified in the image metadata. This parameter maps to RunAsGroup and MustRunAs policy in the Users and groups pod security policies in the Kubernetes documentation .
    RunAsNonRoot bool
    When this parameter is specified, the container is run as a user with a uid other than 0. If this parameter isn't specified, so such rule is enforced. This parameter maps to RunAsUser and MustRunAsNonRoot policy in the Users and groups pod security policies in the Kubernetes documentation .
    RunAsUser int
    When this parameter is specified, the container is run as the specified user ID ( uid ). If this parameter isn't specified, the default is the user that's specified in the image metadata. This parameter maps to RunAsUser and MustRanAs policy in the Users and groups pod security policies in the Kubernetes documentation .
    AllowPrivilegeEscalation bool
    Whether or not a container or a Kubernetes pod is allowed to gain more privileges than its parent process. The default value is false .
    Privileged bool
    When this parameter is true , the container is given elevated permissions on the host container instance. The level of permissions are similar to the root user permissions. The default value is false . This parameter maps to privileged policy in the Privileged pod security policies in the Kubernetes documentation .
    ReadOnlyRootFilesystem bool
    When this parameter is true , the container is given read-only access to its root file system. The default value is false . This parameter maps to ReadOnlyRootFilesystem policy in the Volumes and file systems pod security policies in the Kubernetes documentation .
    RunAsGroup int
    When this parameter is specified, the container is run as the specified group ID ( gid ). If this parameter isn't specified, the default is the group that's specified in the image metadata. This parameter maps to RunAsGroup and MustRunAs policy in the Users and groups pod security policies in the Kubernetes documentation .
    RunAsNonRoot bool
    When this parameter is specified, the container is run as a user with a uid other than 0. If this parameter isn't specified, so such rule is enforced. This parameter maps to RunAsUser and MustRunAsNonRoot policy in the Users and groups pod security policies in the Kubernetes documentation .
    RunAsUser int
    When this parameter is specified, the container is run as the specified user ID ( uid ). If this parameter isn't specified, the default is the user that's specified in the image metadata. This parameter maps to RunAsUser and MustRanAs policy in the Users and groups pod security policies in the Kubernetes documentation .
    allowPrivilegeEscalation Boolean
    Whether or not a container or a Kubernetes pod is allowed to gain more privileges than its parent process. The default value is false .
    privileged Boolean
    When this parameter is true , the container is given elevated permissions on the host container instance. The level of permissions are similar to the root user permissions. The default value is false . This parameter maps to privileged policy in the Privileged pod security policies in the Kubernetes documentation .
    readOnlyRootFilesystem Boolean
    When this parameter is true , the container is given read-only access to its root file system. The default value is false . This parameter maps to ReadOnlyRootFilesystem policy in the Volumes and file systems pod security policies in the Kubernetes documentation .
    runAsGroup Integer
    When this parameter is specified, the container is run as the specified group ID ( gid ). If this parameter isn't specified, the default is the group that's specified in the image metadata. This parameter maps to RunAsGroup and MustRunAs policy in the Users and groups pod security policies in the Kubernetes documentation .
    runAsNonRoot Boolean
    When this parameter is specified, the container is run as a user with a uid other than 0. If this parameter isn't specified, so such rule is enforced. This parameter maps to RunAsUser and MustRunAsNonRoot policy in the Users and groups pod security policies in the Kubernetes documentation .
    runAsUser Integer
    When this parameter is specified, the container is run as the specified user ID ( uid ). If this parameter isn't specified, the default is the user that's specified in the image metadata. This parameter maps to RunAsUser and MustRanAs policy in the Users and groups pod security policies in the Kubernetes documentation .
    allowPrivilegeEscalation boolean
    Whether or not a container or a Kubernetes pod is allowed to gain more privileges than its parent process. The default value is false .
    privileged boolean
    When this parameter is true , the container is given elevated permissions on the host container instance. The level of permissions are similar to the root user permissions. The default value is false . This parameter maps to privileged policy in the Privileged pod security policies in the Kubernetes documentation .
    readOnlyRootFilesystem boolean
    When this parameter is true , the container is given read-only access to its root file system. The default value is false . This parameter maps to ReadOnlyRootFilesystem policy in the Volumes and file systems pod security policies in the Kubernetes documentation .
    runAsGroup number
    When this parameter is specified, the container is run as the specified group ID ( gid ). If this parameter isn't specified, the default is the group that's specified in the image metadata. This parameter maps to RunAsGroup and MustRunAs policy in the Users and groups pod security policies in the Kubernetes documentation .
    runAsNonRoot boolean
    When this parameter is specified, the container is run as a user with a uid other than 0. If this parameter isn't specified, so such rule is enforced. This parameter maps to RunAsUser and MustRunAsNonRoot policy in the Users and groups pod security policies in the Kubernetes documentation .
    runAsUser number
    When this parameter is specified, the container is run as the specified user ID ( uid ). If this parameter isn't specified, the default is the user that's specified in the image metadata. This parameter maps to RunAsUser and MustRanAs policy in the Users and groups pod security policies in the Kubernetes documentation .
    allow_privilege_escalation bool
    Whether or not a container or a Kubernetes pod is allowed to gain more privileges than its parent process. The default value is false .
    privileged bool
    When this parameter is true , the container is given elevated permissions on the host container instance. The level of permissions are similar to the root user permissions. The default value is false . This parameter maps to privileged policy in the Privileged pod security policies in the Kubernetes documentation .
    read_only_root_filesystem bool
    When this parameter is true , the container is given read-only access to its root file system. The default value is false . This parameter maps to ReadOnlyRootFilesystem policy in the Volumes and file systems pod security policies in the Kubernetes documentation .
    run_as_group int
    When this parameter is specified, the container is run as the specified group ID ( gid ). If this parameter isn't specified, the default is the group that's specified in the image metadata. This parameter maps to RunAsGroup and MustRunAs policy in the Users and groups pod security policies in the Kubernetes documentation .
    run_as_non_root bool
    When this parameter is specified, the container is run as a user with a uid other than 0. If this parameter isn't specified, so such rule is enforced. This parameter maps to RunAsUser and MustRunAsNonRoot policy in the Users and groups pod security policies in the Kubernetes documentation .
    run_as_user int
    When this parameter is specified, the container is run as the specified user ID ( uid ). If this parameter isn't specified, the default is the user that's specified in the image metadata. This parameter maps to RunAsUser and MustRanAs policy in the Users and groups pod security policies in the Kubernetes documentation .
    allowPrivilegeEscalation Boolean
    Whether or not a container or a Kubernetes pod is allowed to gain more privileges than its parent process. The default value is false .
    privileged Boolean
    When this parameter is true , the container is given elevated permissions on the host container instance. The level of permissions are similar to the root user permissions. The default value is false . This parameter maps to privileged policy in the Privileged pod security policies in the Kubernetes documentation .
    readOnlyRootFilesystem Boolean
    When this parameter is true , the container is given read-only access to its root file system. The default value is false . This parameter maps to ReadOnlyRootFilesystem policy in the Volumes and file systems pod security policies in the Kubernetes documentation .
    runAsGroup Number
    When this parameter is specified, the container is run as the specified group ID ( gid ). If this parameter isn't specified, the default is the group that's specified in the image metadata. This parameter maps to RunAsGroup and MustRunAs policy in the Users and groups pod security policies in the Kubernetes documentation .
    runAsNonRoot Boolean
    When this parameter is specified, the container is run as a user with a uid other than 0. If this parameter isn't specified, so such rule is enforced. This parameter maps to RunAsUser and MustRunAsNonRoot policy in the Users and groups pod security policies in the Kubernetes documentation .
    runAsUser Number
    When this parameter is specified, the container is run as the specified user ID ( uid ). If this parameter isn't specified, the default is the user that's specified in the image metadata. This parameter maps to RunAsUser and MustRanAs policy in the Users and groups pod security policies in the Kubernetes documentation .

    JobDefinitionEksContainerVolumeMount

    MountPath string
    The path on the container where the volume is mounted.
    Name string
    The name the volume mount. This must match the name of one of the volumes in the pod.
    ReadOnly bool
    If this value is true , the container has read-only access to the volume. Otherwise, the container can write to the volume. The default value is false .
    MountPath string
    The path on the container where the volume is mounted.
    Name string
    The name the volume mount. This must match the name of one of the volumes in the pod.
    ReadOnly bool
    If this value is true , the container has read-only access to the volume. Otherwise, the container can write to the volume. The default value is false .
    mountPath String
    The path on the container where the volume is mounted.
    name String
    The name the volume mount. This must match the name of one of the volumes in the pod.
    readOnly Boolean
    If this value is true , the container has read-only access to the volume. Otherwise, the container can write to the volume. The default value is false .
    mountPath string
    The path on the container where the volume is mounted.
    name string
    The name the volume mount. This must match the name of one of the volumes in the pod.
    readOnly boolean
    If this value is true , the container has read-only access to the volume. Otherwise, the container can write to the volume. The default value is false .
    mount_path str
    The path on the container where the volume is mounted.
    name str
    The name the volume mount. This must match the name of one of the volumes in the pod.
    read_only bool
    If this value is true , the container has read-only access to the volume. Otherwise, the container can write to the volume. The default value is false .
    mountPath String
    The path on the container where the volume is mounted.
    name String
    The name the volume mount. This must match the name of one of the volumes in the pod.
    readOnly Boolean
    If this value is true , the container has read-only access to the volume. Otherwise, the container can write to the volume. The default value is false .

    JobDefinitionEksEmptyDir

    Medium string
    The medium to store the volume. The default value is an empty string, which uses the storage of the node.

    • "" - (Default) Use the disk storage of the node.
    • "Memory" - Use the tmpfs volume that's backed by the RAM of the node. Contents of the volume are lost when the node reboots, and any storage on the volume counts against the container's memory limit.
    SizeLimit string
    The maximum size of the volume. By default, there's no maximum size defined.
    Medium string
    The medium to store the volume. The default value is an empty string, which uses the storage of the node.

    • "" - (Default) Use the disk storage of the node.
    • "Memory" - Use the tmpfs volume that's backed by the RAM of the node. Contents of the volume are lost when the node reboots, and any storage on the volume counts against the container's memory limit.
    SizeLimit string
    The maximum size of the volume. By default, there's no maximum size defined.
    medium String
    The medium to store the volume. The default value is an empty string, which uses the storage of the node.

    • "" - (Default) Use the disk storage of the node.
    • "Memory" - Use the tmpfs volume that's backed by the RAM of the node. Contents of the volume are lost when the node reboots, and any storage on the volume counts against the container's memory limit.
    sizeLimit String
    The maximum size of the volume. By default, there's no maximum size defined.
    medium string
    The medium to store the volume. The default value is an empty string, which uses the storage of the node.

    • "" - (Default) Use the disk storage of the node.
    • "Memory" - Use the tmpfs volume that's backed by the RAM of the node. Contents of the volume are lost when the node reboots, and any storage on the volume counts against the container's memory limit.
    sizeLimit string
    The maximum size of the volume. By default, there's no maximum size defined.
    medium str
    The medium to store the volume. The default value is an empty string, which uses the storage of the node.

    • "" - (Default) Use the disk storage of the node.
    • "Memory" - Use the tmpfs volume that's backed by the RAM of the node. Contents of the volume are lost when the node reboots, and any storage on the volume counts against the container's memory limit.
    size_limit str
    The maximum size of the volume. By default, there's no maximum size defined.
    medium String
    The medium to store the volume. The default value is an empty string, which uses the storage of the node.

    • "" - (Default) Use the disk storage of the node.
    • "Memory" - Use the tmpfs volume that's backed by the RAM of the node. Contents of the volume are lost when the node reboots, and any storage on the volume counts against the container's memory limit.
    sizeLimit String
    The maximum size of the volume. By default, there's no maximum size defined.

    JobDefinitionEksHostPath

    Path string
    The path of the file or directory on the host to mount into containers on the pod.
    Path string
    The path of the file or directory on the host to mount into containers on the pod.
    path String
    The path of the file or directory on the host to mount into containers on the pod.
    path string
    The path of the file or directory on the host to mount into containers on the pod.
    path str
    The path of the file or directory on the host to mount into containers on the pod.
    path String
    The path of the file or directory on the host to mount into containers on the pod.

    JobDefinitionEksProperties

    PodProperties Pulumi.AwsNative.Batch.Inputs.JobDefinitionPodProperties
    The properties for the Kubernetes pod resources of a job.
    PodProperties JobDefinitionPodProperties
    The properties for the Kubernetes pod resources of a job.
    podProperties JobDefinitionPodProperties
    The properties for the Kubernetes pod resources of a job.
    podProperties JobDefinitionPodProperties
    The properties for the Kubernetes pod resources of a job.
    pod_properties JobDefinitionPodProperties
    The properties for the Kubernetes pod resources of a job.
    podProperties Property Map
    The properties for the Kubernetes pod resources of a job.

    JobDefinitionEksSecret

    SecretName string
    The name of the secret. The name must be allowed as a DNS subdomain name. For more information, see DNS subdomain names in the Kubernetes documentation .
    Optional bool
    Specifies whether the secret or the secret's keys must be defined.
    SecretName string
    The name of the secret. The name must be allowed as a DNS subdomain name. For more information, see DNS subdomain names in the Kubernetes documentation .
    Optional bool
    Specifies whether the secret or the secret's keys must be defined.
    secretName String
    The name of the secret. The name must be allowed as a DNS subdomain name. For more information, see DNS subdomain names in the Kubernetes documentation .
    optional Boolean
    Specifies whether the secret or the secret's keys must be defined.
    secretName string
    The name of the secret. The name must be allowed as a DNS subdomain name. For more information, see DNS subdomain names in the Kubernetes documentation .
    optional boolean
    Specifies whether the secret or the secret's keys must be defined.
    secret_name str
    The name of the secret. The name must be allowed as a DNS subdomain name. For more information, see DNS subdomain names in the Kubernetes documentation .
    optional bool
    Specifies whether the secret or the secret's keys must be defined.
    secretName String
    The name of the secret. The name must be allowed as a DNS subdomain name. For more information, see DNS subdomain names in the Kubernetes documentation .
    optional Boolean
    Specifies whether the secret or the secret's keys must be defined.

    JobDefinitionEksVolume

    Name string
    The name of the volume. The name must be allowed as a DNS subdomain name. For more information, see DNS subdomain names in the Kubernetes documentation .
    EmptyDir Pulumi.AwsNative.Batch.Inputs.JobDefinitionEksEmptyDir
    Specifies the configuration of a Kubernetes emptyDir volume. For more information, see emptyDir in the Kubernetes documentation .
    HostPath Pulumi.AwsNative.Batch.Inputs.JobDefinitionEksHostPath
    Specifies the configuration of a Kubernetes hostPath volume. For more information, see hostPath in the Kubernetes documentation .
    Secret Pulumi.AwsNative.Batch.Inputs.JobDefinitionEksSecret
    Specifies the configuration of a Kubernetes secret volume. For more information, see secret in the Kubernetes documentation .
    Name string
    The name of the volume. The name must be allowed as a DNS subdomain name. For more information, see DNS subdomain names in the Kubernetes documentation .
    EmptyDir JobDefinitionEksEmptyDir
    Specifies the configuration of a Kubernetes emptyDir volume. For more information, see emptyDir in the Kubernetes documentation .
    HostPath JobDefinitionEksHostPath
    Specifies the configuration of a Kubernetes hostPath volume. For more information, see hostPath in the Kubernetes documentation .
    Secret JobDefinitionEksSecret
    Specifies the configuration of a Kubernetes secret volume. For more information, see secret in the Kubernetes documentation .
    name String
    The name of the volume. The name must be allowed as a DNS subdomain name. For more information, see DNS subdomain names in the Kubernetes documentation .
    emptyDir JobDefinitionEksEmptyDir
    Specifies the configuration of a Kubernetes emptyDir volume. For more information, see emptyDir in the Kubernetes documentation .
    hostPath JobDefinitionEksHostPath
    Specifies the configuration of a Kubernetes hostPath volume. For more information, see hostPath in the Kubernetes documentation .
    secret JobDefinitionEksSecret
    Specifies the configuration of a Kubernetes secret volume. For more information, see secret in the Kubernetes documentation .
    name string
    The name of the volume. The name must be allowed as a DNS subdomain name. For more information, see DNS subdomain names in the Kubernetes documentation .
    emptyDir JobDefinitionEksEmptyDir
    Specifies the configuration of a Kubernetes emptyDir volume. For more information, see emptyDir in the Kubernetes documentation .
    hostPath JobDefinitionEksHostPath
    Specifies the configuration of a Kubernetes hostPath volume. For more information, see hostPath in the Kubernetes documentation .
    secret JobDefinitionEksSecret
    Specifies the configuration of a Kubernetes secret volume. For more information, see secret in the Kubernetes documentation .
    name str
    The name of the volume. The name must be allowed as a DNS subdomain name. For more information, see DNS subdomain names in the Kubernetes documentation .
    empty_dir JobDefinitionEksEmptyDir
    Specifies the configuration of a Kubernetes emptyDir volume. For more information, see emptyDir in the Kubernetes documentation .
    host_path JobDefinitionEksHostPath
    Specifies the configuration of a Kubernetes hostPath volume. For more information, see hostPath in the Kubernetes documentation .
    secret JobDefinitionEksSecret
    Specifies the configuration of a Kubernetes secret volume. For more information, see secret in the Kubernetes documentation .
    name String
    The name of the volume. The name must be allowed as a DNS subdomain name. For more information, see DNS subdomain names in the Kubernetes documentation .
    emptyDir Property Map
    Specifies the configuration of a Kubernetes emptyDir volume. For more information, see emptyDir in the Kubernetes documentation .
    hostPath Property Map
    Specifies the configuration of a Kubernetes hostPath volume. For more information, see hostPath in the Kubernetes documentation .
    secret Property Map
    Specifies the configuration of a Kubernetes secret volume. For more information, see secret in the Kubernetes documentation .

    JobDefinitionEnvironment

    Name string
    The name of the environment variable.
    Value string
    The value of the environment variable.
    Name string
    The name of the environment variable.
    Value string
    The value of the environment variable.
    name String
    The name of the environment variable.
    value String
    The value of the environment variable.
    name string
    The name of the environment variable.
    value string
    The value of the environment variable.
    name str
    The name of the environment variable.
    value str
    The value of the environment variable.
    name String
    The name of the environment variable.
    value String
    The value of the environment variable.

    JobDefinitionEphemeralStorage

    SizeInGiB int
    The total amount, in GiB, of ephemeral storage to set for the task. The minimum supported value is 21 GiB and the maximum supported value is 200 GiB.
    SizeInGiB int
    The total amount, in GiB, of ephemeral storage to set for the task. The minimum supported value is 21 GiB and the maximum supported value is 200 GiB.
    sizeInGiB Integer
    The total amount, in GiB, of ephemeral storage to set for the task. The minimum supported value is 21 GiB and the maximum supported value is 200 GiB.
    sizeInGiB number
    The total amount, in GiB, of ephemeral storage to set for the task. The minimum supported value is 21 GiB and the maximum supported value is 200 GiB.
    size_in_gi_b int
    The total amount, in GiB, of ephemeral storage to set for the task. The minimum supported value is 21 GiB and the maximum supported value is 200 GiB.
    sizeInGiB Number
    The total amount, in GiB, of ephemeral storage to set for the task. The minimum supported value is 21 GiB and the maximum supported value is 200 GiB.

    JobDefinitionEvaluateOnExit

    Action string
    Specifies the action to take if all of the specified conditions ( onStatusReason , onReason , and onExitCode ) are met. The values aren't case sensitive.
    OnExitCode string

    Contains a glob pattern to match against the decimal representation of the ExitCode returned for a job. The pattern can be up to 512 characters long. It can contain only numbers, and can end with an asterisk (*) so that only the start of the string needs to be an exact match.

    The string can contain up to 512 characters.

    OnReason string
    Contains a glob pattern to match against the Reason returned for a job. The pattern can contain up to 512 characters. It can contain letters, numbers, periods (.), colons (:), and white space (including spaces and tabs). It can optionally end with an asterisk (*) so that only the start of the string needs to be an exact match.
    OnStatusReason string
    Contains a glob pattern to match against the StatusReason returned for a job. The pattern can contain up to 512 characters. It can contain letters, numbers, periods (.), colons (:), and white spaces (including spaces or tabs). It can optionally end with an asterisk (*) so that only the start of the string needs to be an exact match.
    Action string
    Specifies the action to take if all of the specified conditions ( onStatusReason , onReason , and onExitCode ) are met. The values aren't case sensitive.
    OnExitCode string

    Contains a glob pattern to match against the decimal representation of the ExitCode returned for a job. The pattern can be up to 512 characters long. It can contain only numbers, and can end with an asterisk (*) so that only the start of the string needs to be an exact match.

    The string can contain up to 512 characters.

    OnReason string
    Contains a glob pattern to match against the Reason returned for a job. The pattern can contain up to 512 characters. It can contain letters, numbers, periods (.), colons (:), and white space (including spaces and tabs). It can optionally end with an asterisk (*) so that only the start of the string needs to be an exact match.
    OnStatusReason string
    Contains a glob pattern to match against the StatusReason returned for a job. The pattern can contain up to 512 characters. It can contain letters, numbers, periods (.), colons (:), and white spaces (including spaces or tabs). It can optionally end with an asterisk (*) so that only the start of the string needs to be an exact match.
    action String
    Specifies the action to take if all of the specified conditions ( onStatusReason , onReason , and onExitCode ) are met. The values aren't case sensitive.
    onExitCode String

    Contains a glob pattern to match against the decimal representation of the ExitCode returned for a job. The pattern can be up to 512 characters long. It can contain only numbers, and can end with an asterisk (*) so that only the start of the string needs to be an exact match.

    The string can contain up to 512 characters.

    onReason String
    Contains a glob pattern to match against the Reason returned for a job. The pattern can contain up to 512 characters. It can contain letters, numbers, periods (.), colons (:), and white space (including spaces and tabs). It can optionally end with an asterisk (*) so that only the start of the string needs to be an exact match.
    onStatusReason String
    Contains a glob pattern to match against the StatusReason returned for a job. The pattern can contain up to 512 characters. It can contain letters, numbers, periods (.), colons (:), and white spaces (including spaces or tabs). It can optionally end with an asterisk (*) so that only the start of the string needs to be an exact match.
    action string
    Specifies the action to take if all of the specified conditions ( onStatusReason , onReason , and onExitCode ) are met. The values aren't case sensitive.
    onExitCode string

    Contains a glob pattern to match against the decimal representation of the ExitCode returned for a job. The pattern can be up to 512 characters long. It can contain only numbers, and can end with an asterisk (*) so that only the start of the string needs to be an exact match.

    The string can contain up to 512 characters.

    onReason string
    Contains a glob pattern to match against the Reason returned for a job. The pattern can contain up to 512 characters. It can contain letters, numbers, periods (.), colons (:), and white space (including spaces and tabs). It can optionally end with an asterisk (*) so that only the start of the string needs to be an exact match.
    onStatusReason string
    Contains a glob pattern to match against the StatusReason returned for a job. The pattern can contain up to 512 characters. It can contain letters, numbers, periods (.), colons (:), and white spaces (including spaces or tabs). It can optionally end with an asterisk (*) so that only the start of the string needs to be an exact match.
    action str
    Specifies the action to take if all of the specified conditions ( onStatusReason , onReason , and onExitCode ) are met. The values aren't case sensitive.
    on_exit_code str

    Contains a glob pattern to match against the decimal representation of the ExitCode returned for a job. The pattern can be up to 512 characters long. It can contain only numbers, and can end with an asterisk (*) so that only the start of the string needs to be an exact match.

    The string can contain up to 512 characters.

    on_reason str
    Contains a glob pattern to match against the Reason returned for a job. The pattern can contain up to 512 characters. It can contain letters, numbers, periods (.), colons (:), and white space (including spaces and tabs). It can optionally end with an asterisk (*) so that only the start of the string needs to be an exact match.
    on_status_reason str
    Contains a glob pattern to match against the StatusReason returned for a job. The pattern can contain up to 512 characters. It can contain letters, numbers, periods (.), colons (:), and white spaces (including spaces or tabs). It can optionally end with an asterisk (*) so that only the start of the string needs to be an exact match.
    action String
    Specifies the action to take if all of the specified conditions ( onStatusReason , onReason , and onExitCode ) are met. The values aren't case sensitive.
    onExitCode String

    Contains a glob pattern to match against the decimal representation of the ExitCode returned for a job. The pattern can be up to 512 characters long. It can contain only numbers, and can end with an asterisk (*) so that only the start of the string needs to be an exact match.

    The string can contain up to 512 characters.

    onReason String
    Contains a glob pattern to match against the Reason returned for a job. The pattern can contain up to 512 characters. It can contain letters, numbers, periods (.), colons (:), and white space (including spaces and tabs). It can optionally end with an asterisk (*) so that only the start of the string needs to be an exact match.
    onStatusReason String
    Contains a glob pattern to match against the StatusReason returned for a job. The pattern can contain up to 512 characters. It can contain letters, numbers, periods (.), colons (:), and white spaces (including spaces or tabs). It can optionally end with an asterisk (*) so that only the start of the string needs to be an exact match.

    JobDefinitionFargatePlatformConfiguration

    PlatformVersion string
    The AWS Fargate platform version where the jobs are running. A platform version is specified only for jobs that are running on Fargate resources. If one isn't specified, the LATEST platform version is used by default. This uses a recent, approved version of the AWS Fargate platform for compute resources. For more information, see AWS Fargate platform versions in the Amazon Elastic Container Service Developer Guide .
    PlatformVersion string
    The AWS Fargate platform version where the jobs are running. A platform version is specified only for jobs that are running on Fargate resources. If one isn't specified, the LATEST platform version is used by default. This uses a recent, approved version of the AWS Fargate platform for compute resources. For more information, see AWS Fargate platform versions in the Amazon Elastic Container Service Developer Guide .
    platformVersion String
    The AWS Fargate platform version where the jobs are running. A platform version is specified only for jobs that are running on Fargate resources. If one isn't specified, the LATEST platform version is used by default. This uses a recent, approved version of the AWS Fargate platform for compute resources. For more information, see AWS Fargate platform versions in the Amazon Elastic Container Service Developer Guide .
    platformVersion string
    The AWS Fargate platform version where the jobs are running. A platform version is specified only for jobs that are running on Fargate resources. If one isn't specified, the LATEST platform version is used by default. This uses a recent, approved version of the AWS Fargate platform for compute resources. For more information, see AWS Fargate platform versions in the Amazon Elastic Container Service Developer Guide .
    platform_version str
    The AWS Fargate platform version where the jobs are running. A platform version is specified only for jobs that are running on Fargate resources. If one isn't specified, the LATEST platform version is used by default. This uses a recent, approved version of the AWS Fargate platform for compute resources. For more information, see AWS Fargate platform versions in the Amazon Elastic Container Service Developer Guide .
    platformVersion String
    The AWS Fargate platform version where the jobs are running. A platform version is specified only for jobs that are running on Fargate resources. If one isn't specified, the LATEST platform version is used by default. This uses a recent, approved version of the AWS Fargate platform for compute resources. For more information, see AWS Fargate platform versions in the Amazon Elastic Container Service Developer Guide .

    JobDefinitionImagePullSecret

    Name string
    Provides a unique identifier for the ImagePullSecret . This object is required when EksPodProperties$imagePullSecrets is used.
    Name string
    Provides a unique identifier for the ImagePullSecret . This object is required when EksPodProperties$imagePullSecrets is used.
    name String
    Provides a unique identifier for the ImagePullSecret . This object is required when EksPodProperties$imagePullSecrets is used.
    name string
    Provides a unique identifier for the ImagePullSecret . This object is required when EksPodProperties$imagePullSecrets is used.
    name str
    Provides a unique identifier for the ImagePullSecret . This object is required when EksPodProperties$imagePullSecrets is used.
    name String
    Provides a unique identifier for the ImagePullSecret . This object is required when EksPodProperties$imagePullSecrets is used.

    JobDefinitionLinuxParameters

    Devices List<Pulumi.AwsNative.Batch.Inputs.JobDefinitionDevice>

    Any of the host devices to expose to the container. This parameter maps to Devices in the Create a container section of the Docker Remote API and the --device option to docker run .

    This parameter isn't applicable to jobs that are running on Fargate resources. Don't provide it for these jobs.

    InitProcessEnabled bool
    If true, run an init process inside the container that forwards signals and reaps processes. This parameter maps to the --init option to docker run . This parameter requires version 1.25 of the Docker Remote API or greater on your container instance. To check the Docker Remote API version on your container instance, log in to your container instance and run the following command: sudo docker version | grep "Server API version"
    MaxSwap int

    The total amount of swap memory (in MiB) a container can use. This parameter is translated to the --memory-swap option to docker run where the value is the sum of the container memory plus the maxSwap value. For more information, see --memory-swap details in the Docker documentation.

    If a maxSwap value of 0 is specified, the container doesn't use swap. Accepted values are 0 or any positive integer. If the maxSwap parameter is omitted, the container doesn't use the swap configuration for the container instance that it's running on. A maxSwap value must be set for the swappiness parameter to be used.

    This parameter isn't applicable to jobs that are running on Fargate resources. Don't provide it for these jobs.

    SharedMemorySize int

    The value for the size (in MiB) of the /dev/shm volume. This parameter maps to the --shm-size option to docker run .

    This parameter isn't applicable to jobs that are running on Fargate resources. Don't provide it for these jobs.

    Swappiness int

    You can use this parameter to tune a container's memory swappiness behavior. A swappiness value of 0 causes swapping to not occur unless absolutely necessary. A swappiness value of 100 causes pages to be swapped aggressively. Valid values are whole numbers between 0 and 100 . If the swappiness parameter isn't specified, a default value of 60 is used. If a value isn't specified for maxSwap , then this parameter is ignored. If maxSwap is set to 0, the container doesn't use swap. This parameter maps to the --memory-swappiness option to docker run .

    Consider the following when you use a per-container swap configuration.

    • Swap space must be enabled and allocated on the container instance for the containers to use.

    By default, the Amazon ECS optimized AMIs don't have swap enabled. You must enable swap on the instance to use this feature. For more information, see Instance store swap volumes in the Amazon EC2 User Guide for Linux Instances or How do I allocate memory to work as swap space in an Amazon EC2 instance by using a swap file?

    • The swap space parameters are only supported for job definitions using EC2 resources.
    • If the maxSwap and swappiness parameters are omitted from a job definition, each container has a default swappiness value of 60. Moreover, the total swap usage is limited to two times the memory reservation of the container.

    This parameter isn't applicable to jobs that are running on Fargate resources. Don't provide it for these jobs.

    Tmpfs List<Pulumi.AwsNative.Batch.Inputs.JobDefinitionTmpfs>

    The container path, mount options, and size (in MiB) of the tmpfs mount. This parameter maps to the --tmpfs option to docker run .

    This parameter isn't applicable to jobs that are running on Fargate resources. Don't provide this parameter for this resource type.

    Devices []JobDefinitionDevice

    Any of the host devices to expose to the container. This parameter maps to Devices in the Create a container section of the Docker Remote API and the --device option to docker run .

    This parameter isn't applicable to jobs that are running on Fargate resources. Don't provide it for these jobs.

    InitProcessEnabled bool
    If true, run an init process inside the container that forwards signals and reaps processes. This parameter maps to the --init option to docker run . This parameter requires version 1.25 of the Docker Remote API or greater on your container instance. To check the Docker Remote API version on your container instance, log in to your container instance and run the following command: sudo docker version | grep "Server API version"
    MaxSwap int

    The total amount of swap memory (in MiB) a container can use. This parameter is translated to the --memory-swap option to docker run where the value is the sum of the container memory plus the maxSwap value. For more information, see --memory-swap details in the Docker documentation.

    If a maxSwap value of 0 is specified, the container doesn't use swap. Accepted values are 0 or any positive integer. If the maxSwap parameter is omitted, the container doesn't use the swap configuration for the container instance that it's running on. A maxSwap value must be set for the swappiness parameter to be used.

    This parameter isn't applicable to jobs that are running on Fargate resources. Don't provide it for these jobs.

    SharedMemorySize int

    The value for the size (in MiB) of the /dev/shm volume. This parameter maps to the --shm-size option to docker run .

    This parameter isn't applicable to jobs that are running on Fargate resources. Don't provide it for these jobs.

    Swappiness int

    You can use this parameter to tune a container's memory swappiness behavior. A swappiness value of 0 causes swapping to not occur unless absolutely necessary. A swappiness value of 100 causes pages to be swapped aggressively. Valid values are whole numbers between 0 and 100 . If the swappiness parameter isn't specified, a default value of 60 is used. If a value isn't specified for maxSwap , then this parameter is ignored. If maxSwap is set to 0, the container doesn't use swap. This parameter maps to the --memory-swappiness option to docker run .

    Consider the following when you use a per-container swap configuration.

    • Swap space must be enabled and allocated on the container instance for the containers to use.

    By default, the Amazon ECS optimized AMIs don't have swap enabled. You must enable swap on the instance to use this feature. For more information, see Instance store swap volumes in the Amazon EC2 User Guide for Linux Instances or How do I allocate memory to work as swap space in an Amazon EC2 instance by using a swap file?

    • The swap space parameters are only supported for job definitions using EC2 resources.
    • If the maxSwap and swappiness parameters are omitted from a job definition, each container has a default swappiness value of 60. Moreover, the total swap usage is limited to two times the memory reservation of the container.

    This parameter isn't applicable to jobs that are running on Fargate resources. Don't provide it for these jobs.

    Tmpfs []JobDefinitionTmpfs

    The container path, mount options, and size (in MiB) of the tmpfs mount. This parameter maps to the --tmpfs option to docker run .

    This parameter isn't applicable to jobs that are running on Fargate resources. Don't provide this parameter for this resource type.

    devices List<JobDefinitionDevice>

    Any of the host devices to expose to the container. This parameter maps to Devices in the Create a container section of the Docker Remote API and the --device option to docker run .

    This parameter isn't applicable to jobs that are running on Fargate resources. Don't provide it for these jobs.

    initProcessEnabled Boolean
    If true, run an init process inside the container that forwards signals and reaps processes. This parameter maps to the --init option to docker run . This parameter requires version 1.25 of the Docker Remote API or greater on your container instance. To check the Docker Remote API version on your container instance, log in to your container instance and run the following command: sudo docker version | grep "Server API version"
    maxSwap Integer

    The total amount of swap memory (in MiB) a container can use. This parameter is translated to the --memory-swap option to docker run where the value is the sum of the container memory plus the maxSwap value. For more information, see --memory-swap details in the Docker documentation.

    If a maxSwap value of 0 is specified, the container doesn't use swap. Accepted values are 0 or any positive integer. If the maxSwap parameter is omitted, the container doesn't use the swap configuration for the container instance that it's running on. A maxSwap value must be set for the swappiness parameter to be used.

    This parameter isn't applicable to jobs that are running on Fargate resources. Don't provide it for these jobs.

    sharedMemorySize Integer

    The value for the size (in MiB) of the /dev/shm volume. This parameter maps to the --shm-size option to docker run .

    This parameter isn't applicable to jobs that are running on Fargate resources. Don't provide it for these jobs.

    swappiness Integer

    You can use this parameter to tune a container's memory swappiness behavior. A swappiness value of 0 causes swapping to not occur unless absolutely necessary. A swappiness value of 100 causes pages to be swapped aggressively. Valid values are whole numbers between 0 and 100 . If the swappiness parameter isn't specified, a default value of 60 is used. If a value isn't specified for maxSwap , then this parameter is ignored. If maxSwap is set to 0, the container doesn't use swap. This parameter maps to the --memory-swappiness option to docker run .

    Consider the following when you use a per-container swap configuration.

    • Swap space must be enabled and allocated on the container instance for the containers to use.

    By default, the Amazon ECS optimized AMIs don't have swap enabled. You must enable swap on the instance to use this feature. For more information, see Instance store swap volumes in the Amazon EC2 User Guide for Linux Instances or How do I allocate memory to work as swap space in an Amazon EC2 instance by using a swap file?

    • The swap space parameters are only supported for job definitions using EC2 resources.
    • If the maxSwap and swappiness parameters are omitted from a job definition, each container has a default swappiness value of 60. Moreover, the total swap usage is limited to two times the memory reservation of the container.

    This parameter isn't applicable to jobs that are running on Fargate resources. Don't provide it for these jobs.

    tmpfs List<JobDefinitionTmpfs>

    The container path, mount options, and size (in MiB) of the tmpfs mount. This parameter maps to the --tmpfs option to docker run .

    This parameter isn't applicable to jobs that are running on Fargate resources. Don't provide this parameter for this resource type.

    devices JobDefinitionDevice[]

    Any of the host devices to expose to the container. This parameter maps to Devices in the Create a container section of the Docker Remote API and the --device option to docker run .

    This parameter isn't applicable to jobs that are running on Fargate resources. Don't provide it for these jobs.

    initProcessEnabled boolean
    If true, run an init process inside the container that forwards signals and reaps processes. This parameter maps to the --init option to docker run . This parameter requires version 1.25 of the Docker Remote API or greater on your container instance. To check the Docker Remote API version on your container instance, log in to your container instance and run the following command: sudo docker version | grep "Server API version"
    maxSwap number

    The total amount of swap memory (in MiB) a container can use. This parameter is translated to the --memory-swap option to docker run where the value is the sum of the container memory plus the maxSwap value. For more information, see --memory-swap details in the Docker documentation.

    If a maxSwap value of 0 is specified, the container doesn't use swap. Accepted values are 0 or any positive integer. If the maxSwap parameter is omitted, the container doesn't use the swap configuration for the container instance that it's running on. A maxSwap value must be set for the swappiness parameter to be used.

    This parameter isn't applicable to jobs that are running on Fargate resources. Don't provide it for these jobs.

    sharedMemorySize number

    The value for the size (in MiB) of the /dev/shm volume. This parameter maps to the --shm-size option to docker run .

    This parameter isn't applicable to jobs that are running on Fargate resources. Don't provide it for these jobs.

    swappiness number

    You can use this parameter to tune a container's memory swappiness behavior. A swappiness value of 0 causes swapping to not occur unless absolutely necessary. A swappiness value of 100 causes pages to be swapped aggressively. Valid values are whole numbers between 0 and 100 . If the swappiness parameter isn't specified, a default value of 60 is used. If a value isn't specified for maxSwap , then this parameter is ignored. If maxSwap is set to 0, the container doesn't use swap. This parameter maps to the --memory-swappiness option to docker run .

    Consider the following when you use a per-container swap configuration.

    • Swap space must be enabled and allocated on the container instance for the containers to use.

    By default, the Amazon ECS optimized AMIs don't have swap enabled. You must enable swap on the instance to use this feature. For more information, see Instance store swap volumes in the Amazon EC2 User Guide for Linux Instances or How do I allocate memory to work as swap space in an Amazon EC2 instance by using a swap file?

    • The swap space parameters are only supported for job definitions using EC2 resources.
    • If the maxSwap and swappiness parameters are omitted from a job definition, each container has a default swappiness value of 60. Moreover, the total swap usage is limited to two times the memory reservation of the container.

    This parameter isn't applicable to jobs that are running on Fargate resources. Don't provide it for these jobs.

    tmpfs JobDefinitionTmpfs[]

    The container path, mount options, and size (in MiB) of the tmpfs mount. This parameter maps to the --tmpfs option to docker run .

    This parameter isn't applicable to jobs that are running on Fargate resources. Don't provide this parameter for this resource type.

    devices Sequence[JobDefinitionDevice]

    Any of the host devices to expose to the container. This parameter maps to Devices in the Create a container section of the Docker Remote API and the --device option to docker run .

    This parameter isn't applicable to jobs that are running on Fargate resources. Don't provide it for these jobs.

    init_process_enabled bool
    If true, run an init process inside the container that forwards signals and reaps processes. This parameter maps to the --init option to docker run . This parameter requires version 1.25 of the Docker Remote API or greater on your container instance. To check the Docker Remote API version on your container instance, log in to your container instance and run the following command: sudo docker version | grep "Server API version"
    max_swap int

    The total amount of swap memory (in MiB) a container can use. This parameter is translated to the --memory-swap option to docker run where the value is the sum of the container memory plus the maxSwap value. For more information, see --memory-swap details in the Docker documentation.

    If a maxSwap value of 0 is specified, the container doesn't use swap. Accepted values are 0 or any positive integer. If the maxSwap parameter is omitted, the container doesn't use the swap configuration for the container instance that it's running on. A maxSwap value must be set for the swappiness parameter to be used.

    This parameter isn't applicable to jobs that are running on Fargate resources. Don't provide it for these jobs.

    shared_memory_size int

    The value for the size (in MiB) of the /dev/shm volume. This parameter maps to the --shm-size option to docker run .

    This parameter isn't applicable to jobs that are running on Fargate resources. Don't provide it for these jobs.

    swappiness int

    You can use this parameter to tune a container's memory swappiness behavior. A swappiness value of 0 causes swapping to not occur unless absolutely necessary. A swappiness value of 100 causes pages to be swapped aggressively. Valid values are whole numbers between 0 and 100 . If the swappiness parameter isn't specified, a default value of 60 is used. If a value isn't specified for maxSwap , then this parameter is ignored. If maxSwap is set to 0, the container doesn't use swap. This parameter maps to the --memory-swappiness option to docker run .

    Consider the following when you use a per-container swap configuration.

    • Swap space must be enabled and allocated on the container instance for the containers to use.

    By default, the Amazon ECS optimized AMIs don't have swap enabled. You must enable swap on the instance to use this feature. For more information, see Instance store swap volumes in the Amazon EC2 User Guide for Linux Instances or How do I allocate memory to work as swap space in an Amazon EC2 instance by using a swap file?

    • The swap space parameters are only supported for job definitions using EC2 resources.
    • If the maxSwap and swappiness parameters are omitted from a job definition, each container has a default swappiness value of 60. Moreover, the total swap usage is limited to two times the memory reservation of the container.

    This parameter isn't applicable to jobs that are running on Fargate resources. Don't provide it for these jobs.

    tmpfs Sequence[JobDefinitionTmpfs]

    The container path, mount options, and size (in MiB) of the tmpfs mount. This parameter maps to the --tmpfs option to docker run .

    This parameter isn't applicable to jobs that are running on Fargate resources. Don't provide this parameter for this resource type.

    devices List<Property Map>

    Any of the host devices to expose to the container. This parameter maps to Devices in the Create a container section of the Docker Remote API and the --device option to docker run .

    This parameter isn't applicable to jobs that are running on Fargate resources. Don't provide it for these jobs.

    initProcessEnabled Boolean
    If true, run an init process inside the container that forwards signals and reaps processes. This parameter maps to the --init option to docker run . This parameter requires version 1.25 of the Docker Remote API or greater on your container instance. To check the Docker Remote API version on your container instance, log in to your container instance and run the following command: sudo docker version | grep "Server API version"
    maxSwap Number

    The total amount of swap memory (in MiB) a container can use. This parameter is translated to the --memory-swap option to docker run where the value is the sum of the container memory plus the maxSwap value. For more information, see --memory-swap details in the Docker documentation.

    If a maxSwap value of 0 is specified, the container doesn't use swap. Accepted values are 0 or any positive integer. If the maxSwap parameter is omitted, the container doesn't use the swap configuration for the container instance that it's running on. A maxSwap value must be set for the swappiness parameter to be used.

    This parameter isn't applicable to jobs that are running on Fargate resources. Don't provide it for these jobs.

    sharedMemorySize Number

    The value for the size (in MiB) of the /dev/shm volume. This parameter maps to the --shm-size option to docker run .

    This parameter isn't applicable to jobs that are running on Fargate resources. Don't provide it for these jobs.

    swappiness Number

    You can use this parameter to tune a container's memory swappiness behavior. A swappiness value of 0 causes swapping to not occur unless absolutely necessary. A swappiness value of 100 causes pages to be swapped aggressively. Valid values are whole numbers between 0 and 100 . If the swappiness parameter isn't specified, a default value of 60 is used. If a value isn't specified for maxSwap , then this parameter is ignored. If maxSwap is set to 0, the container doesn't use swap. This parameter maps to the --memory-swappiness option to docker run .

    Consider the following when you use a per-container swap configuration.

    • Swap space must be enabled and allocated on the container instance for the containers to use.

    By default, the Amazon ECS optimized AMIs don't have swap enabled. You must enable swap on the instance to use this feature. For more information, see Instance store swap volumes in the Amazon EC2 User Guide for Linux Instances or How do I allocate memory to work as swap space in an Amazon EC2 instance by using a swap file?

    • The swap space parameters are only supported for job definitions using EC2 resources.
    • If the maxSwap and swappiness parameters are omitted from a job definition, each container has a default swappiness value of 60. Moreover, the total swap usage is limited to two times the memory reservation of the container.

    This parameter isn't applicable to jobs that are running on Fargate resources. Don't provide it for these jobs.

    tmpfs List<Property Map>

    The container path, mount options, and size (in MiB) of the tmpfs mount. This parameter maps to the --tmpfs option to docker run .

    This parameter isn't applicable to jobs that are running on Fargate resources. Don't provide this parameter for this resource type.

    JobDefinitionLogConfiguration

    LogDriver string

    The log driver to use for the container. The valid values that are listed for this parameter are log drivers that the Amazon ECS container agent can communicate with by default.

    The supported log drivers are awslogs , fluentd , gelf , json-file , journald , logentries , syslog , and splunk .

    Jobs that are running on Fargate resources are restricted to the awslogs and splunk log drivers.

    • awslogs - Specifies the Amazon CloudWatch Logs logging driver. For more information, see Using the awslogs log driver in the AWS Batch User Guide and Amazon CloudWatch Logs logging driver in the Docker documentation.
    • fluentd - Specifies the Fluentd logging driver. For more information including usage and options, see Fluentd logging driver in the Docker documentation .
    • gelf - Specifies the Graylog Extended Format (GELF) logging driver. For more information including usage and options, see Graylog Extended Format logging driver in the Docker documentation .
    • journald - Specifies the journald logging driver. For more information including usage and options, see Journald logging driver in the Docker documentation .
    • json-file - Specifies the JSON file logging driver. For more information including usage and options, see JSON File logging driver in the Docker documentation .
    • splunk - Specifies the Splunk logging driver. For more information including usage and options, see Splunk logging driver in the Docker documentation .
    • syslog - Specifies the syslog logging driver. For more information including usage and options, see Syslog logging driver in the Docker documentation .

    If you have a custom driver that's not listed earlier that you want to work with the Amazon ECS container agent, you can fork the Amazon ECS container agent project that's available on GitHub and customize it to work with that driver. We encourage you to submit pull requests for changes that you want to have included. However, Amazon Web Services doesn't currently support running modified copies of this software.

    This parameter requires version 1.18 of the Docker Remote API or greater on your container instance. To check the Docker Remote API version on your container instance, log in to your container instance and run the following command: sudo docker version | grep "Server API version"

    Options object
    The configuration options to send to the log driver. This parameter requires version 1.19 of the Docker Remote API or greater on your container instance. To check the Docker Remote API version on your container instance, log in to your container instance and run the following command: sudo docker version | grep "Server API version"
    SecretOptions List<Pulumi.AwsNative.Batch.Inputs.JobDefinitionSecret>
    The secrets to pass to the log configuration. For more information, see Specifying sensitive data in the AWS Batch User Guide .
    LogDriver string

    The log driver to use for the container. The valid values that are listed for this parameter are log drivers that the Amazon ECS container agent can communicate with by default.

    The supported log drivers are awslogs , fluentd , gelf , json-file , journald , logentries , syslog , and splunk .

    Jobs that are running on Fargate resources are restricted to the awslogs and splunk log drivers.

    • awslogs - Specifies the Amazon CloudWatch Logs logging driver. For more information, see Using the awslogs log driver in the AWS Batch User Guide and Amazon CloudWatch Logs logging driver in the Docker documentation.
    • fluentd - Specifies the Fluentd logging driver. For more information including usage and options, see Fluentd logging driver in the Docker documentation .
    • gelf - Specifies the Graylog Extended Format (GELF) logging driver. For more information including usage and options, see Graylog Extended Format logging driver in the Docker documentation .
    • journald - Specifies the journald logging driver. For more information including usage and options, see Journald logging driver in the Docker documentation .
    • json-file - Specifies the JSON file logging driver. For more information including usage and options, see JSON File logging driver in the Docker documentation .
    • splunk - Specifies the Splunk logging driver. For more information including usage and options, see Splunk logging driver in the Docker documentation .
    • syslog - Specifies the syslog logging driver. For more information including usage and options, see Syslog logging driver in the Docker documentation .

    If you have a custom driver that's not listed earlier that you want to work with the Amazon ECS container agent, you can fork the Amazon ECS container agent project that's available on GitHub and customize it to work with that driver. We encourage you to submit pull requests for changes that you want to have included. However, Amazon Web Services doesn't currently support running modified copies of this software.

    This parameter requires version 1.18 of the Docker Remote API or greater on your container instance. To check the Docker Remote API version on your container instance, log in to your container instance and run the following command: sudo docker version | grep "Server API version"

    Options interface{}
    The configuration options to send to the log driver. This parameter requires version 1.19 of the Docker Remote API or greater on your container instance. To check the Docker Remote API version on your container instance, log in to your container instance and run the following command: sudo docker version | grep "Server API version"
    SecretOptions []JobDefinitionSecret
    The secrets to pass to the log configuration. For more information, see Specifying sensitive data in the AWS Batch User Guide .
    logDriver String

    The log driver to use for the container. The valid values that are listed for this parameter are log drivers that the Amazon ECS container agent can communicate with by default.

    The supported log drivers are awslogs , fluentd , gelf , json-file , journald , logentries , syslog , and splunk .

    Jobs that are running on Fargate resources are restricted to the awslogs and splunk log drivers.

    • awslogs - Specifies the Amazon CloudWatch Logs logging driver. For more information, see Using the awslogs log driver in the AWS Batch User Guide and Amazon CloudWatch Logs logging driver in the Docker documentation.
    • fluentd - Specifies the Fluentd logging driver. For more information including usage and options, see Fluentd logging driver in the Docker documentation .
    • gelf - Specifies the Graylog Extended Format (GELF) logging driver. For more information including usage and options, see Graylog Extended Format logging driver in the Docker documentation .
    • journald - Specifies the journald logging driver. For more information including usage and options, see Journald logging driver in the Docker documentation .
    • json-file - Specifies the JSON file logging driver. For more information including usage and options, see JSON File logging driver in the Docker documentation .
    • splunk - Specifies the Splunk logging driver. For more information including usage and options, see Splunk logging driver in the Docker documentation .
    • syslog - Specifies the syslog logging driver. For more information including usage and options, see Syslog logging driver in the Docker documentation .

    If you have a custom driver that's not listed earlier that you want to work with the Amazon ECS container agent, you can fork the Amazon ECS container agent project that's available on GitHub and customize it to work with that driver. We encourage you to submit pull requests for changes that you want to have included. However, Amazon Web Services doesn't currently support running modified copies of this software.

    This parameter requires version 1.18 of the Docker Remote API or greater on your container instance. To check the Docker Remote API version on your container instance, log in to your container instance and run the following command: sudo docker version | grep "Server API version"

    options Object
    The configuration options to send to the log driver. This parameter requires version 1.19 of the Docker Remote API or greater on your container instance. To check the Docker Remote API version on your container instance, log in to your container instance and run the following command: sudo docker version | grep "Server API version"
    secretOptions List<JobDefinitionSecret>
    The secrets to pass to the log configuration. For more information, see Specifying sensitive data in the AWS Batch User Guide .
    logDriver string

    The log driver to use for the container. The valid values that are listed for this parameter are log drivers that the Amazon ECS container agent can communicate with by default.

    The supported log drivers are awslogs , fluentd , gelf , json-file , journald , logentries , syslog , and splunk .

    Jobs that are running on Fargate resources are restricted to the awslogs and splunk log drivers.

    • awslogs - Specifies the Amazon CloudWatch Logs logging driver. For more information, see Using the awslogs log driver in the AWS Batch User Guide and Amazon CloudWatch Logs logging driver in the Docker documentation.
    • fluentd - Specifies the Fluentd logging driver. For more information including usage and options, see Fluentd logging driver in the Docker documentation .
    • gelf - Specifies the Graylog Extended Format (GELF) logging driver. For more information including usage and options, see Graylog Extended Format logging driver in the Docker documentation .
    • journald - Specifies the journald logging driver. For more information including usage and options, see Journald logging driver in the Docker documentation .
    • json-file - Specifies the JSON file logging driver. For more information including usage and options, see JSON File logging driver in the Docker documentation .
    • splunk - Specifies the Splunk logging driver. For more information including usage and options, see Splunk logging driver in the Docker documentation .
    • syslog - Specifies the syslog logging driver. For more information including usage and options, see Syslog logging driver in the Docker documentation .

    If you have a custom driver that's not listed earlier that you want to work with the Amazon ECS container agent, you can fork the Amazon ECS container agent project that's available on GitHub and customize it to work with that driver. We encourage you to submit pull requests for changes that you want to have included. However, Amazon Web Services doesn't currently support running modified copies of this software.

    This parameter requires version 1.18 of the Docker Remote API or greater on your container instance. To check the Docker Remote API version on your container instance, log in to your container instance and run the following command: sudo docker version | grep "Server API version"

    options any
    The configuration options to send to the log driver. This parameter requires version 1.19 of the Docker Remote API or greater on your container instance. To check the Docker Remote API version on your container instance, log in to your container instance and run the following command: sudo docker version | grep "Server API version"
    secretOptions JobDefinitionSecret[]
    The secrets to pass to the log configuration. For more information, see Specifying sensitive data in the AWS Batch User Guide .
    log_driver str

    The log driver to use for the container. The valid values that are listed for this parameter are log drivers that the Amazon ECS container agent can communicate with by default.

    The supported log drivers are awslogs , fluentd , gelf , json-file , journald , logentries , syslog , and splunk .

    Jobs that are running on Fargate resources are restricted to the awslogs and splunk log drivers.

    • awslogs - Specifies the Amazon CloudWatch Logs logging driver. For more information, see Using the awslogs log driver in the AWS Batch User Guide and Amazon CloudWatch Logs logging driver in the Docker documentation.
    • fluentd - Specifies the Fluentd logging driver. For more information including usage and options, see Fluentd logging driver in the Docker documentation .
    • gelf - Specifies the Graylog Extended Format (GELF) logging driver. For more information including usage and options, see Graylog Extended Format logging driver in the Docker documentation .
    • journald - Specifies the journald logging driver. For more information including usage and options, see Journald logging driver in the Docker documentation .
    • json-file - Specifies the JSON file logging driver. For more information including usage and options, see JSON File logging driver in the Docker documentation .
    • splunk - Specifies the Splunk logging driver. For more information including usage and options, see Splunk logging driver in the Docker documentation .
    • syslog - Specifies the syslog logging driver. For more information including usage and options, see Syslog logging driver in the Docker documentation .

    If you have a custom driver that's not listed earlier that you want to work with the Amazon ECS container agent, you can fork the Amazon ECS container agent project that's available on GitHub and customize it to work with that driver. We encourage you to submit pull requests for changes that you want to have included. However, Amazon Web Services doesn't currently support running modified copies of this software.

    This parameter requires version 1.18 of the Docker Remote API or greater on your container instance. To check the Docker Remote API version on your container instance, log in to your container instance and run the following command: sudo docker version | grep "Server API version"

    options Any
    The configuration options to send to the log driver. This parameter requires version 1.19 of the Docker Remote API or greater on your container instance. To check the Docker Remote API version on your container instance, log in to your container instance and run the following command: sudo docker version | grep "Server API version"
    secret_options Sequence[JobDefinitionSecret]
    The secrets to pass to the log configuration. For more information, see Specifying sensitive data in the AWS Batch User Guide .
    logDriver String

    The log driver to use for the container. The valid values that are listed for this parameter are log drivers that the Amazon ECS container agent can communicate with by default.

    The supported log drivers are awslogs , fluentd , gelf , json-file , journald , logentries , syslog , and splunk .

    Jobs that are running on Fargate resources are restricted to the awslogs and splunk log drivers.

    • awslogs - Specifies the Amazon CloudWatch Logs logging driver. For more information, see Using the awslogs log driver in the AWS Batch User Guide and Amazon CloudWatch Logs logging driver in the Docker documentation.
    • fluentd - Specifies the Fluentd logging driver. For more information including usage and options, see Fluentd logging driver in the Docker documentation .
    • gelf - Specifies the Graylog Extended Format (GELF) logging driver. For more information including usage and options, see Graylog Extended Format logging driver in the Docker documentation .
    • journald - Specifies the journald logging driver. For more information including usage and options, see Journald logging driver in the Docker documentation .
    • json-file - Specifies the JSON file logging driver. For more information including usage and options, see JSON File logging driver in the Docker documentation .
    • splunk - Specifies the Splunk logging driver. For more information including usage and options, see Splunk logging driver in the Docker documentation .
    • syslog - Specifies the syslog logging driver. For more information including usage and options, see Syslog logging driver in the Docker documentation .

    If you have a custom driver that's not listed earlier that you want to work with the Amazon ECS container agent, you can fork the Amazon ECS container agent project that's available on GitHub and customize it to work with that driver. We encourage you to submit pull requests for changes that you want to have included. However, Amazon Web Services doesn't currently support running modified copies of this software.

    This parameter requires version 1.18 of the Docker Remote API or greater on your container instance. To check the Docker Remote API version on your container instance, log in to your container instance and run the following command: sudo docker version | grep "Server API version"

    options Any
    The configuration options to send to the log driver. This parameter requires version 1.19 of the Docker Remote API or greater on your container instance. To check the Docker Remote API version on your container instance, log in to your container instance and run the following command: sudo docker version | grep "Server API version"
    secretOptions List<Property Map>
    The secrets to pass to the log configuration. For more information, see Specifying sensitive data in the AWS Batch User Guide .

    JobDefinitionMetadata

    Labels object
    Key-value pairs used to identify, sort, and organize cube resources. Can contain up to 63 uppercase letters, lowercase letters, numbers, hyphens (-), and underscores (_). Labels can be added or modified at any time. Each resource can have multiple labels, but each key must be unique for a given object.
    Labels interface{}
    Key-value pairs used to identify, sort, and organize cube resources. Can contain up to 63 uppercase letters, lowercase letters, numbers, hyphens (-), and underscores (_). Labels can be added or modified at any time. Each resource can have multiple labels, but each key must be unique for a given object.
    labels Object
    Key-value pairs used to identify, sort, and organize cube resources. Can contain up to 63 uppercase letters, lowercase letters, numbers, hyphens (-), and underscores (_). Labels can be added or modified at any time. Each resource can have multiple labels, but each key must be unique for a given object.
    labels any
    Key-value pairs used to identify, sort, and organize cube resources. Can contain up to 63 uppercase letters, lowercase letters, numbers, hyphens (-), and underscores (_). Labels can be added or modified at any time. Each resource can have multiple labels, but each key must be unique for a given object.
    labels Any
    Key-value pairs used to identify, sort, and organize cube resources. Can contain up to 63 uppercase letters, lowercase letters, numbers, hyphens (-), and underscores (_). Labels can be added or modified at any time. Each resource can have multiple labels, but each key must be unique for a given object.
    labels Any
    Key-value pairs used to identify, sort, and organize cube resources. Can contain up to 63 uppercase letters, lowercase letters, numbers, hyphens (-), and underscores (_). Labels can be added or modified at any time. Each resource can have multiple labels, but each key must be unique for a given object.

    JobDefinitionMountPoints

    ContainerPath string
    The path on the container where the host volume is mounted.
    ReadOnly bool
    If this value is true , the container has read-only access to the volume. Otherwise, the container can write to the volume. The default value is false .
    SourceVolume string
    The name of the volume to mount.
    ContainerPath string
    The path on the container where the host volume is mounted.
    ReadOnly bool
    If this value is true , the container has read-only access to the volume. Otherwise, the container can write to the volume. The default value is false .
    SourceVolume string
    The name of the volume to mount.
    containerPath String
    The path on the container where the host volume is mounted.
    readOnly Boolean
    If this value is true , the container has read-only access to the volume. Otherwise, the container can write to the volume. The default value is false .
    sourceVolume String
    The name of the volume to mount.
    containerPath string
    The path on the container where the host volume is mounted.
    readOnly boolean
    If this value is true , the container has read-only access to the volume. Otherwise, the container can write to the volume. The default value is false .
    sourceVolume string
    The name of the volume to mount.
    container_path str
    The path on the container where the host volume is mounted.
    read_only bool
    If this value is true , the container has read-only access to the volume. Otherwise, the container can write to the volume. The default value is false .
    source_volume str
    The name of the volume to mount.
    containerPath String
    The path on the container where the host volume is mounted.
    readOnly Boolean
    If this value is true , the container has read-only access to the volume. Otherwise, the container can write to the volume. The default value is false .
    sourceVolume String
    The name of the volume to mount.

    JobDefinitionNetworkConfiguration

    AssignPublicIp string
    Indicates whether the job has a public IP address. For a job that's running on Fargate resources in a private subnet to send outbound traffic to the internet (for example, to pull container images), the private subnet requires a NAT gateway be attached to route requests to the internet. For more information, see Amazon ECS task networking in the Amazon Elastic Container Service Developer Guide . The default value is " DISABLED ".
    AssignPublicIp string
    Indicates whether the job has a public IP address. For a job that's running on Fargate resources in a private subnet to send outbound traffic to the internet (for example, to pull container images), the private subnet requires a NAT gateway be attached to route requests to the internet. For more information, see Amazon ECS task networking in the Amazon Elastic Container Service Developer Guide . The default value is " DISABLED ".
    assignPublicIp String
    Indicates whether the job has a public IP address. For a job that's running on Fargate resources in a private subnet to send outbound traffic to the internet (for example, to pull container images), the private subnet requires a NAT gateway be attached to route requests to the internet. For more information, see Amazon ECS task networking in the Amazon Elastic Container Service Developer Guide . The default value is " DISABLED ".
    assignPublicIp string
    Indicates whether the job has a public IP address. For a job that's running on Fargate resources in a private subnet to send outbound traffic to the internet (for example, to pull container images), the private subnet requires a NAT gateway be attached to route requests to the internet. For more information, see Amazon ECS task networking in the Amazon Elastic Container Service Developer Guide . The default value is " DISABLED ".
    assign_public_ip str
    Indicates whether the job has a public IP address. For a job that's running on Fargate resources in a private subnet to send outbound traffic to the internet (for example, to pull container images), the private subnet requires a NAT gateway be attached to route requests to the internet. For more information, see Amazon ECS task networking in the Amazon Elastic Container Service Developer Guide . The default value is " DISABLED ".
    assignPublicIp String
    Indicates whether the job has a public IP address. For a job that's running on Fargate resources in a private subnet to send outbound traffic to the internet (for example, to pull container images), the private subnet requires a NAT gateway be attached to route requests to the internet. For more information, see Amazon ECS task networking in the Amazon Elastic Container Service Developer Guide . The default value is " DISABLED ".

    JobDefinitionNodeProperties

    MainNode int
    Specifies the node index for the main node of a multi-node parallel job. This node index value must be fewer than the number of nodes.
    NodeRangeProperties List<Pulumi.AwsNative.Batch.Inputs.JobDefinitionNodeRangeProperty>
    A list of node ranges and their properties that are associated with a multi-node parallel job.
    NumNodes int
    The number of nodes that are associated with a multi-node parallel job.
    MainNode int
    Specifies the node index for the main node of a multi-node parallel job. This node index value must be fewer than the number of nodes.
    NodeRangeProperties []JobDefinitionNodeRangeProperty
    A list of node ranges and their properties that are associated with a multi-node parallel job.
    NumNodes int
    The number of nodes that are associated with a multi-node parallel job.
    mainNode Integer
    Specifies the node index for the main node of a multi-node parallel job. This node index value must be fewer than the number of nodes.
    nodeRangeProperties List<JobDefinitionNodeRangeProperty>
    A list of node ranges and their properties that are associated with a multi-node parallel job.
    numNodes Integer
    The number of nodes that are associated with a multi-node parallel job.
    mainNode number
    Specifies the node index for the main node of a multi-node parallel job. This node index value must be fewer than the number of nodes.
    nodeRangeProperties JobDefinitionNodeRangeProperty[]
    A list of node ranges and their properties that are associated with a multi-node parallel job.
    numNodes number
    The number of nodes that are associated with a multi-node parallel job.
    main_node int
    Specifies the node index for the main node of a multi-node parallel job. This node index value must be fewer than the number of nodes.
    node_range_properties Sequence[JobDefinitionNodeRangeProperty]
    A list of node ranges and their properties that are associated with a multi-node parallel job.
    num_nodes int
    The number of nodes that are associated with a multi-node parallel job.
    mainNode Number
    Specifies the node index for the main node of a multi-node parallel job. This node index value must be fewer than the number of nodes.
    nodeRangeProperties List<Property Map>
    A list of node ranges and their properties that are associated with a multi-node parallel job.
    numNodes Number
    The number of nodes that are associated with a multi-node parallel job.

    JobDefinitionNodeRangeProperty

    TargetNodes string
    The range of nodes, using node index values. A range of 0:3 indicates nodes with index values of 0 through 3 . If the starting range value is omitted ( :n ), then 0 is used to start the range. If the ending range value is omitted ( n: ), then the highest possible node index is used to end the range. Your accumulative node ranges must account for all nodes ( 0:n ). You can nest node ranges (for example, 0:10 and 4:5 ). In this case, the 4:5 range properties override the 0:10 properties.
    Container Pulumi.AwsNative.Batch.Inputs.JobDefinitionContainerProperties
    The container details for the node range.
    EcsProperties Pulumi.AwsNative.Batch.Inputs.JobDefinitionEcsProperties
    This is an object that represents the properties of the node range for a multi-node parallel job.
    EksProperties Pulumi.AwsNative.Batch.Inputs.JobDefinitionEksProperties
    This is an object that represents the properties of the node range for a multi-node parallel job.
    InstanceTypes List<string>

    The instance types of the underlying host infrastructure of a multi-node parallel job.

    This parameter isn't applicable to jobs that are running on Fargate resources.

    In addition, this list object is currently limited to one element.

    TargetNodes string
    The range of nodes, using node index values. A range of 0:3 indicates nodes with index values of 0 through 3 . If the starting range value is omitted ( :n ), then 0 is used to start the range. If the ending range value is omitted ( n: ), then the highest possible node index is used to end the range. Your accumulative node ranges must account for all nodes ( 0:n ). You can nest node ranges (for example, 0:10 and 4:5 ). In this case, the 4:5 range properties override the 0:10 properties.
    Container JobDefinitionContainerProperties
    The container details for the node range.
    EcsProperties JobDefinitionEcsProperties
    This is an object that represents the properties of the node range for a multi-node parallel job.
    EksProperties JobDefinitionEksProperties
    This is an object that represents the properties of the node range for a multi-node parallel job.
    InstanceTypes []string

    The instance types of the underlying host infrastructure of a multi-node parallel job.

    This parameter isn't applicable to jobs that are running on Fargate resources.

    In addition, this list object is currently limited to one element.

    targetNodes String
    The range of nodes, using node index values. A range of 0:3 indicates nodes with index values of 0 through 3 . If the starting range value is omitted ( :n ), then 0 is used to start the range. If the ending range value is omitted ( n: ), then the highest possible node index is used to end the range. Your accumulative node ranges must account for all nodes ( 0:n ). You can nest node ranges (for example, 0:10 and 4:5 ). In this case, the 4:5 range properties override the 0:10 properties.
    container JobDefinitionContainerProperties
    The container details for the node range.
    ecsProperties JobDefinitionEcsProperties
    This is an object that represents the properties of the node range for a multi-node parallel job.
    eksProperties JobDefinitionEksProperties
    This is an object that represents the properties of the node range for a multi-node parallel job.
    instanceTypes List<String>

    The instance types of the underlying host infrastructure of a multi-node parallel job.

    This parameter isn't applicable to jobs that are running on Fargate resources.

    In addition, this list object is currently limited to one element.

    targetNodes string
    The range of nodes, using node index values. A range of 0:3 indicates nodes with index values of 0 through 3 . If the starting range value is omitted ( :n ), then 0 is used to start the range. If the ending range value is omitted ( n: ), then the highest possible node index is used to end the range. Your accumulative node ranges must account for all nodes ( 0:n ). You can nest node ranges (for example, 0:10 and 4:5 ). In this case, the 4:5 range properties override the 0:10 properties.
    container JobDefinitionContainerProperties
    The container details for the node range.
    ecsProperties JobDefinitionEcsProperties
    This is an object that represents the properties of the node range for a multi-node parallel job.
    eksProperties JobDefinitionEksProperties
    This is an object that represents the properties of the node range for a multi-node parallel job.
    instanceTypes string[]

    The instance types of the underlying host infrastructure of a multi-node parallel job.

    This parameter isn't applicable to jobs that are running on Fargate resources.

    In addition, this list object is currently limited to one element.

    target_nodes str
    The range of nodes, using node index values. A range of 0:3 indicates nodes with index values of 0 through 3 . If the starting range value is omitted ( :n ), then 0 is used to start the range. If the ending range value is omitted ( n: ), then the highest possible node index is used to end the range. Your accumulative node ranges must account for all nodes ( 0:n ). You can nest node ranges (for example, 0:10 and 4:5 ). In this case, the 4:5 range properties override the 0:10 properties.
    container JobDefinitionContainerProperties
    The container details for the node range.
    ecs_properties JobDefinitionEcsProperties
    This is an object that represents the properties of the node range for a multi-node parallel job.
    eks_properties JobDefinitionEksProperties
    This is an object that represents the properties of the node range for a multi-node parallel job.
    instance_types Sequence[str]

    The instance types of the underlying host infrastructure of a multi-node parallel job.

    This parameter isn't applicable to jobs that are running on Fargate resources.

    In addition, this list object is currently limited to one element.

    targetNodes String
    The range of nodes, using node index values. A range of 0:3 indicates nodes with index values of 0 through 3 . If the starting range value is omitted ( :n ), then 0 is used to start the range. If the ending range value is omitted ( n: ), then the highest possible node index is used to end the range. Your accumulative node ranges must account for all nodes ( 0:n ). You can nest node ranges (for example, 0:10 and 4:5 ). In this case, the 4:5 range properties override the 0:10 properties.
    container Property Map
    The container details for the node range.
    ecsProperties Property Map
    This is an object that represents the properties of the node range for a multi-node parallel job.
    eksProperties Property Map
    This is an object that represents the properties of the node range for a multi-node parallel job.
    instanceTypes List<String>

    The instance types of the underlying host infrastructure of a multi-node parallel job.

    This parameter isn't applicable to jobs that are running on Fargate resources.

    In addition, this list object is currently limited to one element.

    JobDefinitionPodProperties

    Containers List<Pulumi.AwsNative.Batch.Inputs.JobDefinitionEksContainer>

    The properties of the container that's used on the Amazon EKS pod.

    This object is limited to 10 elements.

    DnsPolicy string

    The DNS policy for the pod. The default value is ClusterFirst . If the hostNetwork parameter is not specified, the default is ClusterFirstWithHostNet . ClusterFirst indicates that any DNS query that does not match the configured cluster domain suffix is forwarded to the upstream nameserver inherited from the node. For more information, see Pod's DNS policy in the Kubernetes documentation .

    Valid values: Default | ClusterFirst | ClusterFirstWithHostNet

    HostNetwork bool
    Indicates if the pod uses the hosts' network IP address. The default value is true . Setting this to false enables the Kubernetes pod networking model. Most AWS Batch workloads are egress-only and don't require the overhead of IP allocation for each pod for incoming connections. For more information, see Host namespaces and Pod networking in the Kubernetes documentation .
    ImagePullSecrets List<Pulumi.AwsNative.Batch.Inputs.JobDefinitionImagePullSecret>
    InitContainers List<Pulumi.AwsNative.Batch.Inputs.JobDefinitionEksContainer>

    These containers run before application containers, always runs to completion, and must complete successfully before the next container starts. These containers are registered with the Amazon EKS Connector agent and persists the registration information in the Kubernetes backend data store. For more information, see Init Containers in the Kubernetes documentation .

    This object is limited to 10 elements.

    Metadata Pulumi.AwsNative.Batch.Inputs.JobDefinitionMetadata
    Metadata about the Kubernetes pod. For more information, see Understanding Kubernetes Objects in the Kubernetes documentation .
    ServiceAccountName string
    The name of the service account that's used to run the pod. For more information, see Kubernetes service accounts and Configure a Kubernetes service account to assume an IAM role in the Amazon EKS User Guide and Configure service accounts for pods in the Kubernetes documentation .
    ShareProcessNamespace bool
    Indicates if the processes in a container are shared, or visible, to other containers in the same pod. For more information, see Share Process Namespace between Containers in a Pod .
    Volumes List<Pulumi.AwsNative.Batch.Inputs.JobDefinitionEksVolume>
    Specifies the volumes for a job definition that uses Amazon EKS resources.
    Containers []JobDefinitionEksContainer

    The properties of the container that's used on the Amazon EKS pod.

    This object is limited to 10 elements.

    DnsPolicy string

    The DNS policy for the pod. The default value is ClusterFirst . If the hostNetwork parameter is not specified, the default is ClusterFirstWithHostNet . ClusterFirst indicates that any DNS query that does not match the configured cluster domain suffix is forwarded to the upstream nameserver inherited from the node. For more information, see Pod's DNS policy in the Kubernetes documentation .

    Valid values: Default | ClusterFirst | ClusterFirstWithHostNet

    HostNetwork bool
    Indicates if the pod uses the hosts' network IP address. The default value is true . Setting this to false enables the Kubernetes pod networking model. Most AWS Batch workloads are egress-only and don't require the overhead of IP allocation for each pod for incoming connections. For more information, see Host namespaces and Pod networking in the Kubernetes documentation .
    ImagePullSecrets []JobDefinitionImagePullSecret
    InitContainers []JobDefinitionEksContainer

    These containers run before application containers, always runs to completion, and must complete successfully before the next container starts. These containers are registered with the Amazon EKS Connector agent and persists the registration information in the Kubernetes backend data store. For more information, see Init Containers in the Kubernetes documentation .

    This object is limited to 10 elements.

    Metadata JobDefinitionMetadata
    Metadata about the Kubernetes pod. For more information, see Understanding Kubernetes Objects in the Kubernetes documentation .
    ServiceAccountName string
    The name of the service account that's used to run the pod. For more information, see Kubernetes service accounts and Configure a Kubernetes service account to assume an IAM role in the Amazon EKS User Guide and Configure service accounts for pods in the Kubernetes documentation .
    ShareProcessNamespace bool
    Indicates if the processes in a container are shared, or visible, to other containers in the same pod. For more information, see Share Process Namespace between Containers in a Pod .
    Volumes []JobDefinitionEksVolume
    Specifies the volumes for a job definition that uses Amazon EKS resources.
    containers List<JobDefinitionEksContainer>

    The properties of the container that's used on the Amazon EKS pod.

    This object is limited to 10 elements.

    dnsPolicy String

    The DNS policy for the pod. The default value is ClusterFirst . If the hostNetwork parameter is not specified, the default is ClusterFirstWithHostNet . ClusterFirst indicates that any DNS query that does not match the configured cluster domain suffix is forwarded to the upstream nameserver inherited from the node. For more information, see Pod's DNS policy in the Kubernetes documentation .

    Valid values: Default | ClusterFirst | ClusterFirstWithHostNet

    hostNetwork Boolean
    Indicates if the pod uses the hosts' network IP address. The default value is true . Setting this to false enables the Kubernetes pod networking model. Most AWS Batch workloads are egress-only and don't require the overhead of IP allocation for each pod for incoming connections. For more information, see Host namespaces and Pod networking in the Kubernetes documentation .
    imagePullSecrets List<JobDefinitionImagePullSecret>
    initContainers List<JobDefinitionEksContainer>

    These containers run before application containers, always runs to completion, and must complete successfully before the next container starts. These containers are registered with the Amazon EKS Connector agent and persists the registration information in the Kubernetes backend data store. For more information, see Init Containers in the Kubernetes documentation .

    This object is limited to 10 elements.

    metadata JobDefinitionMetadata
    Metadata about the Kubernetes pod. For more information, see Understanding Kubernetes Objects in the Kubernetes documentation .
    serviceAccountName String
    The name of the service account that's used to run the pod. For more information, see Kubernetes service accounts and Configure a Kubernetes service account to assume an IAM role in the Amazon EKS User Guide and Configure service accounts for pods in the Kubernetes documentation .
    shareProcessNamespace Boolean
    Indicates if the processes in a container are shared, or visible, to other containers in the same pod. For more information, see Share Process Namespace between Containers in a Pod .
    volumes List<JobDefinitionEksVolume>
    Specifies the volumes for a job definition that uses Amazon EKS resources.
    containers JobDefinitionEksContainer[]

    The properties of the container that's used on the Amazon EKS pod.

    This object is limited to 10 elements.

    dnsPolicy string

    The DNS policy for the pod. The default value is ClusterFirst . If the hostNetwork parameter is not specified, the default is ClusterFirstWithHostNet . ClusterFirst indicates that any DNS query that does not match the configured cluster domain suffix is forwarded to the upstream nameserver inherited from the node. For more information, see Pod's DNS policy in the Kubernetes documentation .

    Valid values: Default | ClusterFirst | ClusterFirstWithHostNet

    hostNetwork boolean
    Indicates if the pod uses the hosts' network IP address. The default value is true . Setting this to false enables the Kubernetes pod networking model. Most AWS Batch workloads are egress-only and don't require the overhead of IP allocation for each pod for incoming connections. For more information, see Host namespaces and Pod networking in the Kubernetes documentation .
    imagePullSecrets JobDefinitionImagePullSecret[]
    initContainers JobDefinitionEksContainer[]

    These containers run before application containers, always runs to completion, and must complete successfully before the next container starts. These containers are registered with the Amazon EKS Connector agent and persists the registration information in the Kubernetes backend data store. For more information, see Init Containers in the Kubernetes documentation .

    This object is limited to 10 elements.

    metadata JobDefinitionMetadata
    Metadata about the Kubernetes pod. For more information, see Understanding Kubernetes Objects in the Kubernetes documentation .
    serviceAccountName string
    The name of the service account that's used to run the pod. For more information, see Kubernetes service accounts and Configure a Kubernetes service account to assume an IAM role in the Amazon EKS User Guide and Configure service accounts for pods in the Kubernetes documentation .
    shareProcessNamespace boolean
    Indicates if the processes in a container are shared, or visible, to other containers in the same pod. For more information, see Share Process Namespace between Containers in a Pod .
    volumes JobDefinitionEksVolume[]
    Specifies the volumes for a job definition that uses Amazon EKS resources.
    containers Sequence[JobDefinitionEksContainer]

    The properties of the container that's used on the Amazon EKS pod.

    This object is limited to 10 elements.

    dns_policy str

    The DNS policy for the pod. The default value is ClusterFirst . If the hostNetwork parameter is not specified, the default is ClusterFirstWithHostNet . ClusterFirst indicates that any DNS query that does not match the configured cluster domain suffix is forwarded to the upstream nameserver inherited from the node. For more information, see Pod's DNS policy in the Kubernetes documentation .

    Valid values: Default | ClusterFirst | ClusterFirstWithHostNet

    host_network bool
    Indicates if the pod uses the hosts' network IP address. The default value is true . Setting this to false enables the Kubernetes pod networking model. Most AWS Batch workloads are egress-only and don't require the overhead of IP allocation for each pod for incoming connections. For more information, see Host namespaces and Pod networking in the Kubernetes documentation .
    image_pull_secrets Sequence[JobDefinitionImagePullSecret]
    init_containers Sequence[JobDefinitionEksContainer]

    These containers run before application containers, always runs to completion, and must complete successfully before the next container starts. These containers are registered with the Amazon EKS Connector agent and persists the registration information in the Kubernetes backend data store. For more information, see Init Containers in the Kubernetes documentation .

    This object is limited to 10 elements.

    metadata JobDefinitionMetadata
    Metadata about the Kubernetes pod. For more information, see Understanding Kubernetes Objects in the Kubernetes documentation .
    service_account_name str
    The name of the service account that's used to run the pod. For more information, see Kubernetes service accounts and Configure a Kubernetes service account to assume an IAM role in the Amazon EKS User Guide and Configure service accounts for pods in the Kubernetes documentation .
    share_process_namespace bool
    Indicates if the processes in a container are shared, or visible, to other containers in the same pod. For more information, see Share Process Namespace between Containers in a Pod .
    volumes Sequence[JobDefinitionEksVolume]
    Specifies the volumes for a job definition that uses Amazon EKS resources.
    containers List<Property Map>

    The properties of the container that's used on the Amazon EKS pod.

    This object is limited to 10 elements.

    dnsPolicy String

    The DNS policy for the pod. The default value is ClusterFirst . If the hostNetwork parameter is not specified, the default is ClusterFirstWithHostNet . ClusterFirst indicates that any DNS query that does not match the configured cluster domain suffix is forwarded to the upstream nameserver inherited from the node. For more information, see Pod's DNS policy in the Kubernetes documentation .

    Valid values: Default | ClusterFirst | ClusterFirstWithHostNet

    hostNetwork Boolean
    Indicates if the pod uses the hosts' network IP address. The default value is true . Setting this to false enables the Kubernetes pod networking model. Most AWS Batch workloads are egress-only and don't require the overhead of IP allocation for each pod for incoming connections. For more information, see Host namespaces and Pod networking in the Kubernetes documentation .
    imagePullSecrets List<Property Map>
    initContainers List<Property Map>

    These containers run before application containers, always runs to completion, and must complete successfully before the next container starts. These containers are registered with the Amazon EKS Connector agent and persists the registration information in the Kubernetes backend data store. For more information, see Init Containers in the Kubernetes documentation .

    This object is limited to 10 elements.

    metadata Property Map
    Metadata about the Kubernetes pod. For more information, see Understanding Kubernetes Objects in the Kubernetes documentation .
    serviceAccountName String
    The name of the service account that's used to run the pod. For more information, see Kubernetes service accounts and Configure a Kubernetes service account to assume an IAM role in the Amazon EKS User Guide and Configure service accounts for pods in the Kubernetes documentation .
    shareProcessNamespace Boolean
    Indicates if the processes in a container are shared, or visible, to other containers in the same pod. For more information, see Share Process Namespace between Containers in a Pod .
    volumes List<Property Map>
    Specifies the volumes for a job definition that uses Amazon EKS resources.

    JobDefinitionRepositoryCredentials

    CredentialsParameter string
    The Amazon Resource Name (ARN) of the secret containing the private repository credentials.
    CredentialsParameter string
    The Amazon Resource Name (ARN) of the secret containing the private repository credentials.
    credentialsParameter String
    The Amazon Resource Name (ARN) of the secret containing the private repository credentials.
    credentialsParameter string
    The Amazon Resource Name (ARN) of the secret containing the private repository credentials.
    credentials_parameter str
    The Amazon Resource Name (ARN) of the secret containing the private repository credentials.
    credentialsParameter String
    The Amazon Resource Name (ARN) of the secret containing the private repository credentials.

    JobDefinitionResourceRequirement

    Type string
    The type of resource to assign to a container. The supported resources include GPU , MEMORY , and VCPU .
    Value string

    The quantity of the specified resource to reserve for the container. The values vary based on the type specified.

    • type="GPU" - The number of physical GPUs to reserve for the container. Make sure that the number of GPUs reserved for all containers in a job doesn't exceed the number of available GPUs on the compute resource that the job is launched on.

    GPUs aren't available for jobs that are running on Fargate resources.

    • type="MEMORY" - The memory hard limit (in MiB) present to the container. This parameter is supported for jobs that are running on Amazon EC2 resources. If your container attempts to exceed the memory specified, the container is terminated. This parameter maps to Memory in the Create a container section of the Docker Remote API and the --memory option to docker run . You must specify at least 4 MiB of memory for a job. This is required but can be specified in several places for multi-node parallel (MNP) jobs. It must be specified for each node at least once. This parameter maps to Memory in the Create a container section of the Docker Remote API and the --memory option to docker run .

    If you're trying to maximize your resource utilization by providing your jobs as much memory as possible for a particular instance type, see Memory management in the AWS Batch User Guide .

    For jobs that are running on Fargate resources, then value is the hard limit (in MiB), and must match one of the supported values and the VCPU values must be one of the values supported for that memory value.

    • value = 512 - VCPU = 0.25
    • value = 1024 - VCPU = 0.25 or 0.5
    • value = 2048 - VCPU = 0.25, 0.5, or 1
    • value = 3072 - VCPU = 0.5, or 1
    • value = 4096 - VCPU = 0.5, 1, or 2
    • value = 5120, 6144, or 7168 - VCPU = 1 or 2
    • value = 8192 - VCPU = 1, 2, or 4
    • value = 9216, 10240, 11264, 12288, 13312, 14336, or 15360 - VCPU = 2 or 4
    • value = 16384 - VCPU = 2, 4, or 8
    • value = 17408, 18432, 19456, 21504, 22528, 23552, 25600, 26624, 27648, 29696, or 30720 - VCPU = 4
    • value = 20480, 24576, or 28672 - VCPU = 4 or 8
    • value = 36864, 45056, 53248, or 61440 - VCPU = 8
    • value = 32768, 40960, 49152, or 57344 - VCPU = 8 or 16
    • value = 65536, 73728, 81920, 90112, 98304, 106496, 114688, or 122880 - VCPU = 16
    • type="VCPU" - The number of vCPUs reserved for the container. This parameter maps to CpuShares in the Create a container section of the Docker Remote API and the --cpu-shares option to docker run . Each vCPU is equivalent to 1,024 CPU shares. For Amazon EC2 resources, you must specify at least one vCPU. This is required but can be specified in several places; it must be specified for each node at least once.

    The default for the Fargate On-Demand vCPU resource count quota is 6 vCPUs. For more information about Fargate quotas, see AWS Fargate quotas in the AWS General Reference .

    For jobs that are running on Fargate resources, then value must match one of the supported values and the MEMORY values must be one of the values supported for that VCPU value. The supported values are 0.25, 0.5, 1, 2, 4, 8, and 16

    • value = 0.25 - MEMORY = 512, 1024, or 2048
    • value = 0.5 - MEMORY = 1024, 2048, 3072, or 4096
    • value = 1 - MEMORY = 2048, 3072, 4096, 5120, 6144, 7168, or 8192
    • value = 2 - MEMORY = 4096, 5120, 6144, 7168, 8192, 9216, 10240, 11264, 12288, 13312, 14336, 15360, or 16384
    • value = 4 - MEMORY = 8192, 9216, 10240, 11264, 12288, 13312, 14336, 15360, 16384, 17408, 18432, 19456, 20480, 21504, 22528, 23552, 24576, 25600, 26624, 27648, 28672, 29696, or 30720
    • value = 8 - MEMORY = 16384, 20480, 24576, 28672, 32768, 36864, 40960, 45056, 49152, 53248, 57344, or 61440
    • value = 16 - MEMORY = 32768, 40960, 49152, 57344, 65536, 73728, 81920, 90112, 98304, 106496, 114688, or 122880
    Type string
    The type of resource to assign to a container. The supported resources include GPU , MEMORY , and VCPU .
    Value string

    The quantity of the specified resource to reserve for the container. The values vary based on the type specified.

    • type="GPU" - The number of physical GPUs to reserve for the container. Make sure that the number of GPUs reserved for all containers in a job doesn't exceed the number of available GPUs on the compute resource that the job is launched on.

    GPUs aren't available for jobs that are running on Fargate resources.

    • type="MEMORY" - The memory hard limit (in MiB) present to the container. This parameter is supported for jobs that are running on Amazon EC2 resources. If your container attempts to exceed the memory specified, the container is terminated. This parameter maps to Memory in the Create a container section of the Docker Remote API and the --memory option to docker run . You must specify at least 4 MiB of memory for a job. This is required but can be specified in several places for multi-node parallel (MNP) jobs. It must be specified for each node at least once. This parameter maps to Memory in the Create a container section of the Docker Remote API and the --memory option to docker run .

    If you're trying to maximize your resource utilization by providing your jobs as much memory as possible for a particular instance type, see Memory management in the AWS Batch User Guide .

    For jobs that are running on Fargate resources, then value is the hard limit (in MiB), and must match one of the supported values and the VCPU values must be one of the values supported for that memory value.

    • value = 512 - VCPU = 0.25
    • value = 1024 - VCPU = 0.25 or 0.5
    • value = 2048 - VCPU = 0.25, 0.5, or 1
    • value = 3072 - VCPU = 0.5, or 1
    • value = 4096 - VCPU = 0.5, 1, or 2
    • value = 5120, 6144, or 7168 - VCPU = 1 or 2
    • value = 8192 - VCPU = 1, 2, or 4
    • value = 9216, 10240, 11264, 12288, 13312, 14336, or 15360 - VCPU = 2 or 4
    • value = 16384 - VCPU = 2, 4, or 8
    • value = 17408, 18432, 19456, 21504, 22528, 23552, 25600, 26624, 27648, 29696, or 30720 - VCPU = 4
    • value = 20480, 24576, or 28672 - VCPU = 4 or 8
    • value = 36864, 45056, 53248, or 61440 - VCPU = 8
    • value = 32768, 40960, 49152, or 57344 - VCPU = 8 or 16
    • value = 65536, 73728, 81920, 90112, 98304, 106496, 114688, or 122880 - VCPU = 16
    • type="VCPU" - The number of vCPUs reserved for the container. This parameter maps to CpuShares in the Create a container section of the Docker Remote API and the --cpu-shares option to docker run . Each vCPU is equivalent to 1,024 CPU shares. For Amazon EC2 resources, you must specify at least one vCPU. This is required but can be specified in several places; it must be specified for each node at least once.

    The default for the Fargate On-Demand vCPU resource count quota is 6 vCPUs. For more information about Fargate quotas, see AWS Fargate quotas in the AWS General Reference .

    For jobs that are running on Fargate resources, then value must match one of the supported values and the MEMORY values must be one of the values supported for that VCPU value. The supported values are 0.25, 0.5, 1, 2, 4, 8, and 16

    • value = 0.25 - MEMORY = 512, 1024, or 2048
    • value = 0.5 - MEMORY = 1024, 2048, 3072, or 4096
    • value = 1 - MEMORY = 2048, 3072, 4096, 5120, 6144, 7168, or 8192
    • value = 2 - MEMORY = 4096, 5120, 6144, 7168, 8192, 9216, 10240, 11264, 12288, 13312, 14336, 15360, or 16384
    • value = 4 - MEMORY = 8192, 9216, 10240, 11264, 12288, 13312, 14336, 15360, 16384, 17408, 18432, 19456, 20480, 21504, 22528, 23552, 24576, 25600, 26624, 27648, 28672, 29696, or 30720
    • value = 8 - MEMORY = 16384, 20480, 24576, 28672, 32768, 36864, 40960, 45056, 49152, 53248, 57344, or 61440
    • value = 16 - MEMORY = 32768, 40960, 49152, 57344, 65536, 73728, 81920, 90112, 98304, 106496, 114688, or 122880
    type String
    The type of resource to assign to a container. The supported resources include GPU , MEMORY , and VCPU .
    value String

    The quantity of the specified resource to reserve for the container. The values vary based on the type specified.

    • type="GPU" - The number of physical GPUs to reserve for the container. Make sure that the number of GPUs reserved for all containers in a job doesn't exceed the number of available GPUs on the compute resource that the job is launched on.

    GPUs aren't available for jobs that are running on Fargate resources.

    • type="MEMORY" - The memory hard limit (in MiB) present to the container. This parameter is supported for jobs that are running on Amazon EC2 resources. If your container attempts to exceed the memory specified, the container is terminated. This parameter maps to Memory in the Create a container section of the Docker Remote API and the --memory option to docker run . You must specify at least 4 MiB of memory for a job. This is required but can be specified in several places for multi-node parallel (MNP) jobs. It must be specified for each node at least once. This parameter maps to Memory in the Create a container section of the Docker Remote API and the --memory option to docker run .

    If you're trying to maximize your resource utilization by providing your jobs as much memory as possible for a particular instance type, see Memory management in the AWS Batch User Guide .

    For jobs that are running on Fargate resources, then value is the hard limit (in MiB), and must match one of the supported values and the VCPU values must be one of the values supported for that memory value.

    • value = 512 - VCPU = 0.25
    • value = 1024 - VCPU = 0.25 or 0.5
    • value = 2048 - VCPU = 0.25, 0.5, or 1
    • value = 3072 - VCPU = 0.5, or 1
    • value = 4096 - VCPU = 0.5, 1, or 2
    • value = 5120, 6144, or 7168 - VCPU = 1 or 2
    • value = 8192 - VCPU = 1, 2, or 4
    • value = 9216, 10240, 11264, 12288, 13312, 14336, or 15360 - VCPU = 2 or 4
    • value = 16384 - VCPU = 2, 4, or 8
    • value = 17408, 18432, 19456, 21504, 22528, 23552, 25600, 26624, 27648, 29696, or 30720 - VCPU = 4
    • value = 20480, 24576, or 28672 - VCPU = 4 or 8
    • value = 36864, 45056, 53248, or 61440 - VCPU = 8
    • value = 32768, 40960, 49152, or 57344 - VCPU = 8 or 16
    • value = 65536, 73728, 81920, 90112, 98304, 106496, 114688, or 122880 - VCPU = 16
    • type="VCPU" - The number of vCPUs reserved for the container. This parameter maps to CpuShares in the Create a container section of the Docker Remote API and the --cpu-shares option to docker run . Each vCPU is equivalent to 1,024 CPU shares. For Amazon EC2 resources, you must specify at least one vCPU. This is required but can be specified in several places; it must be specified for each node at least once.

    The default for the Fargate On-Demand vCPU resource count quota is 6 vCPUs. For more information about Fargate quotas, see AWS Fargate quotas in the AWS General Reference .

    For jobs that are running on Fargate resources, then value must match one of the supported values and the MEMORY values must be one of the values supported for that VCPU value. The supported values are 0.25, 0.5, 1, 2, 4, 8, and 16

    • value = 0.25 - MEMORY = 512, 1024, or 2048
    • value = 0.5 - MEMORY = 1024, 2048, 3072, or 4096
    • value = 1 - MEMORY = 2048, 3072, 4096, 5120, 6144, 7168, or 8192
    • value = 2 - MEMORY = 4096, 5120, 6144, 7168, 8192, 9216, 10240, 11264, 12288, 13312, 14336, 15360, or 16384
    • value = 4 - MEMORY = 8192, 9216, 10240, 11264, 12288, 13312, 14336, 15360, 16384, 17408, 18432, 19456, 20480, 21504, 22528, 23552, 24576, 25600, 26624, 27648, 28672, 29696, or 30720
    • value = 8 - MEMORY = 16384, 20480, 24576, 28672, 32768, 36864, 40960, 45056, 49152, 53248, 57344, or 61440
    • value = 16 - MEMORY = 32768, 40960, 49152, 57344, 65536, 73728, 81920, 90112, 98304, 106496, 114688, or 122880
    type string
    The type of resource to assign to a container. The supported resources include GPU , MEMORY , and VCPU .
    value string

    The quantity of the specified resource to reserve for the container. The values vary based on the type specified.

    • type="GPU" - The number of physical GPUs to reserve for the container. Make sure that the number of GPUs reserved for all containers in a job doesn't exceed the number of available GPUs on the compute resource that the job is launched on.

    GPUs aren't available for jobs that are running on Fargate resources.

    • type="MEMORY" - The memory hard limit (in MiB) present to the container. This parameter is supported for jobs that are running on Amazon EC2 resources. If your container attempts to exceed the memory specified, the container is terminated. This parameter maps to Memory in the Create a container section of the Docker Remote API and the --memory option to docker run . You must specify at least 4 MiB of memory for a job. This is required but can be specified in several places for multi-node parallel (MNP) jobs. It must be specified for each node at least once. This parameter maps to Memory in the Create a container section of the Docker Remote API and the --memory option to docker run .

    If you're trying to maximize your resource utilization by providing your jobs as much memory as possible for a particular instance type, see Memory management in the AWS Batch User Guide .

    For jobs that are running on Fargate resources, then value is the hard limit (in MiB), and must match one of the supported values and the VCPU values must be one of the values supported for that memory value.

    • value = 512 - VCPU = 0.25
    • value = 1024 - VCPU = 0.25 or 0.5
    • value = 2048 - VCPU = 0.25, 0.5, or 1
    • value = 3072 - VCPU = 0.5, or 1
    • value = 4096 - VCPU = 0.5, 1, or 2
    • value = 5120, 6144, or 7168 - VCPU = 1 or 2
    • value = 8192 - VCPU = 1, 2, or 4
    • value = 9216, 10240, 11264, 12288, 13312, 14336, or 15360 - VCPU = 2 or 4
    • value = 16384 - VCPU = 2, 4, or 8
    • value = 17408, 18432, 19456, 21504, 22528, 23552, 25600, 26624, 27648, 29696, or 30720 - VCPU = 4
    • value = 20480, 24576, or 28672 - VCPU = 4 or 8
    • value = 36864, 45056, 53248, or 61440 - VCPU = 8
    • value = 32768, 40960, 49152, or 57344 - VCPU = 8 or 16
    • value = 65536, 73728, 81920, 90112, 98304, 106496, 114688, or 122880 - VCPU = 16
    • type="VCPU" - The number of vCPUs reserved for the container. This parameter maps to CpuShares in the Create a container section of the Docker Remote API and the --cpu-shares option to docker run . Each vCPU is equivalent to 1,024 CPU shares. For Amazon EC2 resources, you must specify at least one vCPU. This is required but can be specified in several places; it must be specified for each node at least once.

    The default for the Fargate On-Demand vCPU resource count quota is 6 vCPUs. For more information about Fargate quotas, see AWS Fargate quotas in the AWS General Reference .

    For jobs that are running on Fargate resources, then value must match one of the supported values and the MEMORY values must be one of the values supported for that VCPU value. The supported values are 0.25, 0.5, 1, 2, 4, 8, and 16

    • value = 0.25 - MEMORY = 512, 1024, or 2048
    • value = 0.5 - MEMORY = 1024, 2048, 3072, or 4096
    • value = 1 - MEMORY = 2048, 3072, 4096, 5120, 6144, 7168, or 8192
    • value = 2 - MEMORY = 4096, 5120, 6144, 7168, 8192, 9216, 10240, 11264, 12288, 13312, 14336, 15360, or 16384
    • value = 4 - MEMORY = 8192, 9216, 10240, 11264, 12288, 13312, 14336, 15360, 16384, 17408, 18432, 19456, 20480, 21504, 22528, 23552, 24576, 25600, 26624, 27648, 28672, 29696, or 30720
    • value = 8 - MEMORY = 16384, 20480, 24576, 28672, 32768, 36864, 40960, 45056, 49152, 53248, 57344, or 61440
    • value = 16 - MEMORY = 32768, 40960, 49152, 57344, 65536, 73728, 81920, 90112, 98304, 106496, 114688, or 122880
    type str
    The type of resource to assign to a container. The supported resources include GPU , MEMORY , and VCPU .
    value str

    The quantity of the specified resource to reserve for the container. The values vary based on the type specified.

    • type="GPU" - The number of physical GPUs to reserve for the container. Make sure that the number of GPUs reserved for all containers in a job doesn't exceed the number of available GPUs on the compute resource that the job is launched on.

    GPUs aren't available for jobs that are running on Fargate resources.

    • type="MEMORY" - The memory hard limit (in MiB) present to the container. This parameter is supported for jobs that are running on Amazon EC2 resources. If your container attempts to exceed the memory specified, the container is terminated. This parameter maps to Memory in the Create a container section of the Docker Remote API and the --memory option to docker run . You must specify at least 4 MiB of memory for a job. This is required but can be specified in several places for multi-node parallel (MNP) jobs. It must be specified for each node at least once. This parameter maps to Memory in the Create a container section of the Docker Remote API and the --memory option to docker run .

    If you're trying to maximize your resource utilization by providing your jobs as much memory as possible for a particular instance type, see Memory management in the AWS Batch User Guide .

    For jobs that are running on Fargate resources, then value is the hard limit (in MiB), and must match one of the supported values and the VCPU values must be one of the values supported for that memory value.

    • value = 512 - VCPU = 0.25
    • value = 1024 - VCPU = 0.25 or 0.5
    • value = 2048 - VCPU = 0.25, 0.5, or 1
    • value = 3072 - VCPU = 0.5, or 1
    • value = 4096 - VCPU = 0.5, 1, or 2
    • value = 5120, 6144, or 7168 - VCPU = 1 or 2
    • value = 8192 - VCPU = 1, 2, or 4
    • value = 9216, 10240, 11264, 12288, 13312, 14336, or 15360 - VCPU = 2 or 4
    • value = 16384 - VCPU = 2, 4, or 8
    • value = 17408, 18432, 19456, 21504, 22528, 23552, 25600, 26624, 27648, 29696, or 30720 - VCPU = 4
    • value = 20480, 24576, or 28672 - VCPU = 4 or 8
    • value = 36864, 45056, 53248, or 61440 - VCPU = 8
    • value = 32768, 40960, 49152, or 57344 - VCPU = 8 or 16
    • value = 65536, 73728, 81920, 90112, 98304, 106496, 114688, or 122880 - VCPU = 16
    • type="VCPU" - The number of vCPUs reserved for the container. This parameter maps to CpuShares in the Create a container section of the Docker Remote API and the --cpu-shares option to docker run . Each vCPU is equivalent to 1,024 CPU shares. For Amazon EC2 resources, you must specify at least one vCPU. This is required but can be specified in several places; it must be specified for each node at least once.

    The default for the Fargate On-Demand vCPU resource count quota is 6 vCPUs. For more information about Fargate quotas, see AWS Fargate quotas in the AWS General Reference .

    For jobs that are running on Fargate resources, then value must match one of the supported values and the MEMORY values must be one of the values supported for that VCPU value. The supported values are 0.25, 0.5, 1, 2, 4, 8, and 16

    • value = 0.25 - MEMORY = 512, 1024, or 2048
    • value = 0.5 - MEMORY = 1024, 2048, 3072, or 4096
    • value = 1 - MEMORY = 2048, 3072, 4096, 5120, 6144, 7168, or 8192
    • value = 2 - MEMORY = 4096, 5120, 6144, 7168, 8192, 9216, 10240, 11264, 12288, 13312, 14336, 15360, or 16384
    • value = 4 - MEMORY = 8192, 9216, 10240, 11264, 12288, 13312, 14336, 15360, 16384, 17408, 18432, 19456, 20480, 21504, 22528, 23552, 24576, 25600, 26624, 27648, 28672, 29696, or 30720
    • value = 8 - MEMORY = 16384, 20480, 24576, 28672, 32768, 36864, 40960, 45056, 49152, 53248, 57344, or 61440
    • value = 16 - MEMORY = 32768, 40960, 49152, 57344, 65536, 73728, 81920, 90112, 98304, 106496, 114688, or 122880
    type String
    The type of resource to assign to a container. The supported resources include GPU , MEMORY , and VCPU .
    value String

    The quantity of the specified resource to reserve for the container. The values vary based on the type specified.

    • type="GPU" - The number of physical GPUs to reserve for the container. Make sure that the number of GPUs reserved for all containers in a job doesn't exceed the number of available GPUs on the compute resource that the job is launched on.

    GPUs aren't available for jobs that are running on Fargate resources.

    • type="MEMORY" - The memory hard limit (in MiB) present to the container. This parameter is supported for jobs that are running on Amazon EC2 resources. If your container attempts to exceed the memory specified, the container is terminated. This parameter maps to Memory in the Create a container section of the Docker Remote API and the --memory option to docker run . You must specify at least 4 MiB of memory for a job. This is required but can be specified in several places for multi-node parallel (MNP) jobs. It must be specified for each node at least once. This parameter maps to Memory in the Create a container section of the Docker Remote API and the --memory option to docker run .

    If you're trying to maximize your resource utilization by providing your jobs as much memory as possible for a particular instance type, see Memory management in the AWS Batch User Guide .

    For jobs that are running on Fargate resources, then value is the hard limit (in MiB), and must match one of the supported values and the VCPU values must be one of the values supported for that memory value.

    • value = 512 - VCPU = 0.25
    • value = 1024 - VCPU = 0.25 or 0.5
    • value = 2048 - VCPU = 0.25, 0.5, or 1
    • value = 3072 - VCPU = 0.5, or 1
    • value = 4096 - VCPU = 0.5, 1, or 2
    • value = 5120, 6144, or 7168 - VCPU = 1 or 2
    • value = 8192 - VCPU = 1, 2, or 4
    • value = 9216, 10240, 11264, 12288, 13312, 14336, or 15360 - VCPU = 2 or 4
    • value = 16384 - VCPU = 2, 4, or 8
    • value = 17408, 18432, 19456, 21504, 22528, 23552, 25600, 26624, 27648, 29696, or 30720 - VCPU = 4
    • value = 20480, 24576, or 28672 - VCPU = 4 or 8
    • value = 36864, 45056, 53248, or 61440 - VCPU = 8
    • value = 32768, 40960, 49152, or 57344 - VCPU = 8 or 16
    • value = 65536, 73728, 81920, 90112, 98304, 106496, 114688, or 122880 - VCPU = 16
    • type="VCPU" - The number of vCPUs reserved for the container. This parameter maps to CpuShares in the Create a container section of the Docker Remote API and the --cpu-shares option to docker run . Each vCPU is equivalent to 1,024 CPU shares. For Amazon EC2 resources, you must specify at least one vCPU. This is required but can be specified in several places; it must be specified for each node at least once.

    The default for the Fargate On-Demand vCPU resource count quota is 6 vCPUs. For more information about Fargate quotas, see AWS Fargate quotas in the AWS General Reference .

    For jobs that are running on Fargate resources, then value must match one of the supported values and the MEMORY values must be one of the values supported for that VCPU value. The supported values are 0.25, 0.5, 1, 2, 4, 8, and 16

    • value = 0.25 - MEMORY = 512, 1024, or 2048
    • value = 0.5 - MEMORY = 1024, 2048, 3072, or 4096
    • value = 1 - MEMORY = 2048, 3072, 4096, 5120, 6144, 7168, or 8192
    • value = 2 - MEMORY = 4096, 5120, 6144, 7168, 8192, 9216, 10240, 11264, 12288, 13312, 14336, 15360, or 16384
    • value = 4 - MEMORY = 8192, 9216, 10240, 11264, 12288, 13312, 14336, 15360, 16384, 17408, 18432, 19456, 20480, 21504, 22528, 23552, 24576, 25600, 26624, 27648, 28672, 29696, or 30720
    • value = 8 - MEMORY = 16384, 20480, 24576, 28672, 32768, 36864, 40960, 45056, 49152, 53248, 57344, or 61440
    • value = 16 - MEMORY = 32768, 40960, 49152, 57344, 65536, 73728, 81920, 90112, 98304, 106496, 114688, or 122880

    JobDefinitionRetryStrategy

    Attempts int
    The number of times to move a job to the RUNNABLE status. You can specify between 1 and 10 attempts. If the value of attempts is greater than one, the job is retried on failure the same number of attempts as the value.
    EvaluateOnExit List<Pulumi.AwsNative.Batch.Inputs.JobDefinitionEvaluateOnExit>
    Array of up to 5 objects that specify the conditions where jobs are retried or failed. If this parameter is specified, then the attempts parameter must also be specified. If none of the listed conditions match, then the job is retried.
    Attempts int
    The number of times to move a job to the RUNNABLE status. You can specify between 1 and 10 attempts. If the value of attempts is greater than one, the job is retried on failure the same number of attempts as the value.
    EvaluateOnExit []JobDefinitionEvaluateOnExit
    Array of up to 5 objects that specify the conditions where jobs are retried or failed. If this parameter is specified, then the attempts parameter must also be specified. If none of the listed conditions match, then the job is retried.
    attempts Integer
    The number of times to move a job to the RUNNABLE status. You can specify between 1 and 10 attempts. If the value of attempts is greater than one, the job is retried on failure the same number of attempts as the value.
    evaluateOnExit List<JobDefinitionEvaluateOnExit>
    Array of up to 5 objects that specify the conditions where jobs are retried or failed. If this parameter is specified, then the attempts parameter must also be specified. If none of the listed conditions match, then the job is retried.
    attempts number
    The number of times to move a job to the RUNNABLE status. You can specify between 1 and 10 attempts. If the value of attempts is greater than one, the job is retried on failure the same number of attempts as the value.
    evaluateOnExit JobDefinitionEvaluateOnExit[]
    Array of up to 5 objects that specify the conditions where jobs are retried or failed. If this parameter is specified, then the attempts parameter must also be specified. If none of the listed conditions match, then the job is retried.
    attempts int
    The number of times to move a job to the RUNNABLE status. You can specify between 1 and 10 attempts. If the value of attempts is greater than one, the job is retried on failure the same number of attempts as the value.
    evaluate_on_exit Sequence[JobDefinitionEvaluateOnExit]
    Array of up to 5 objects that specify the conditions where jobs are retried or failed. If this parameter is specified, then the attempts parameter must also be specified. If none of the listed conditions match, then the job is retried.
    attempts Number
    The number of times to move a job to the RUNNABLE status. You can specify between 1 and 10 attempts. If the value of attempts is greater than one, the job is retried on failure the same number of attempts as the value.
    evaluateOnExit List<Property Map>
    Array of up to 5 objects that specify the conditions where jobs are retried or failed. If this parameter is specified, then the attempts parameter must also be specified. If none of the listed conditions match, then the job is retried.

    JobDefinitionRuntimePlatform

    CpuArchitecture string

    The vCPU architecture. The default value is X86_64 . Valid values are X86_64 and ARM64 .

    This parameter must be set to X86_64 for Windows containers. > Fargate Spot is not supported for ARM64 and Windows-based containers on Fargate. A job queue will be blocked if a Fargate ARM64 or Windows job is submitted to a job queue with only Fargate Spot compute environments. However, you can attach both FARGATE and FARGATE_SPOT compute environments to the same job queue.

    OperatingSystemFamily string

    The operating system for the compute environment. Valid values are: LINUX (default), WINDOWS_SERVER_2019_CORE , WINDOWS_SERVER_2019_FULL , WINDOWS_SERVER_2022_CORE , and WINDOWS_SERVER_2022_FULL .

    The following parameters can’t be set for Windows containers: linuxParameters , privileged , user , ulimits , readonlyRootFilesystem , and efsVolumeConfiguration . > The AWS Batch Scheduler checks the compute environments that are attached to the job queue before registering a task definition with Fargate. In this scenario, the job queue is where the job is submitted. If the job requires a Windows container and the first compute environment is LINUX , the compute environment is skipped and the next compute environment is checked until a Windows-based compute environment is found. > Fargate Spot is not supported for ARM64 and Windows-based containers on Fargate. A job queue will be blocked if a Fargate ARM64 or Windows job is submitted to a job queue with only Fargate Spot compute environments. However, you can attach both FARGATE and FARGATE_SPOT compute environments to the same job queue.

    CpuArchitecture string

    The vCPU architecture. The default value is X86_64 . Valid values are X86_64 and ARM64 .

    This parameter must be set to X86_64 for Windows containers. > Fargate Spot is not supported for ARM64 and Windows-based containers on Fargate. A job queue will be blocked if a Fargate ARM64 or Windows job is submitted to a job queue with only Fargate Spot compute environments. However, you can attach both FARGATE and FARGATE_SPOT compute environments to the same job queue.

    OperatingSystemFamily string

    The operating system for the compute environment. Valid values are: LINUX (default), WINDOWS_SERVER_2019_CORE , WINDOWS_SERVER_2019_FULL , WINDOWS_SERVER_2022_CORE , and WINDOWS_SERVER_2022_FULL .

    The following parameters can’t be set for Windows containers: linuxParameters , privileged , user , ulimits , readonlyRootFilesystem , and efsVolumeConfiguration . > The AWS Batch Scheduler checks the compute environments that are attached to the job queue before registering a task definition with Fargate. In this scenario, the job queue is where the job is submitted. If the job requires a Windows container and the first compute environment is LINUX , the compute environment is skipped and the next compute environment is checked until a Windows-based compute environment is found. > Fargate Spot is not supported for ARM64 and Windows-based containers on Fargate. A job queue will be blocked if a Fargate ARM64 or Windows job is submitted to a job queue with only Fargate Spot compute environments. However, you can attach both FARGATE and FARGATE_SPOT compute environments to the same job queue.

    cpuArchitecture String

    The vCPU architecture. The default value is X86_64 . Valid values are X86_64 and ARM64 .

    This parameter must be set to X86_64 for Windows containers. > Fargate Spot is not supported for ARM64 and Windows-based containers on Fargate. A job queue will be blocked if a Fargate ARM64 or Windows job is submitted to a job queue with only Fargate Spot compute environments. However, you can attach both FARGATE and FARGATE_SPOT compute environments to the same job queue.

    operatingSystemFamily String

    The operating system for the compute environment. Valid values are: LINUX (default), WINDOWS_SERVER_2019_CORE , WINDOWS_SERVER_2019_FULL , WINDOWS_SERVER_2022_CORE , and WINDOWS_SERVER_2022_FULL .

    The following parameters can’t be set for Windows containers: linuxParameters , privileged , user , ulimits , readonlyRootFilesystem , and efsVolumeConfiguration . > The AWS Batch Scheduler checks the compute environments that are attached to the job queue before registering a task definition with Fargate. In this scenario, the job queue is where the job is submitted. If the job requires a Windows container and the first compute environment is LINUX , the compute environment is skipped and the next compute environment is checked until a Windows-based compute environment is found. > Fargate Spot is not supported for ARM64 and Windows-based containers on Fargate. A job queue will be blocked if a Fargate ARM64 or Windows job is submitted to a job queue with only Fargate Spot compute environments. However, you can attach both FARGATE and FARGATE_SPOT compute environments to the same job queue.

    cpuArchitecture string

    The vCPU architecture. The default value is X86_64 . Valid values are X86_64 and ARM64 .

    This parameter must be set to X86_64 for Windows containers. > Fargate Spot is not supported for ARM64 and Windows-based containers on Fargate. A job queue will be blocked if a Fargate ARM64 or Windows job is submitted to a job queue with only Fargate Spot compute environments. However, you can attach both FARGATE and FARGATE_SPOT compute environments to the same job queue.

    operatingSystemFamily string

    The operating system for the compute environment. Valid values are: LINUX (default), WINDOWS_SERVER_2019_CORE , WINDOWS_SERVER_2019_FULL , WINDOWS_SERVER_2022_CORE , and WINDOWS_SERVER_2022_FULL .

    The following parameters can’t be set for Windows containers: linuxParameters , privileged , user , ulimits , readonlyRootFilesystem , and efsVolumeConfiguration . > The AWS Batch Scheduler checks the compute environments that are attached to the job queue before registering a task definition with Fargate. In this scenario, the job queue is where the job is submitted. If the job requires a Windows container and the first compute environment is LINUX , the compute environment is skipped and the next compute environment is checked until a Windows-based compute environment is found. > Fargate Spot is not supported for ARM64 and Windows-based containers on Fargate. A job queue will be blocked if a Fargate ARM64 or Windows job is submitted to a job queue with only Fargate Spot compute environments. However, you can attach both FARGATE and FARGATE_SPOT compute environments to the same job queue.

    cpu_architecture str

    The vCPU architecture. The default value is X86_64 . Valid values are X86_64 and ARM64 .

    This parameter must be set to X86_64 for Windows containers. > Fargate Spot is not supported for ARM64 and Windows-based containers on Fargate. A job queue will be blocked if a Fargate ARM64 or Windows job is submitted to a job queue with only Fargate Spot compute environments. However, you can attach both FARGATE and FARGATE_SPOT compute environments to the same job queue.

    operating_system_family str

    The operating system for the compute environment. Valid values are: LINUX (default), WINDOWS_SERVER_2019_CORE , WINDOWS_SERVER_2019_FULL , WINDOWS_SERVER_2022_CORE , and WINDOWS_SERVER_2022_FULL .

    The following parameters can’t be set for Windows containers: linuxParameters , privileged , user , ulimits , readonlyRootFilesystem , and efsVolumeConfiguration . > The AWS Batch Scheduler checks the compute environments that are attached to the job queue before registering a task definition with Fargate. In this scenario, the job queue is where the job is submitted. If the job requires a Windows container and the first compute environment is LINUX , the compute environment is skipped and the next compute environment is checked until a Windows-based compute environment is found. > Fargate Spot is not supported for ARM64 and Windows-based containers on Fargate. A job queue will be blocked if a Fargate ARM64 or Windows job is submitted to a job queue with only Fargate Spot compute environments. However, you can attach both FARGATE and FARGATE_SPOT compute environments to the same job queue.

    cpuArchitecture String

    The vCPU architecture. The default value is X86_64 . Valid values are X86_64 and ARM64 .

    This parameter must be set to X86_64 for Windows containers. > Fargate Spot is not supported for ARM64 and Windows-based containers on Fargate. A job queue will be blocked if a Fargate ARM64 or Windows job is submitted to a job queue with only Fargate Spot compute environments. However, you can attach both FARGATE and FARGATE_SPOT compute environments to the same job queue.

    operatingSystemFamily String

    The operating system for the compute environment. Valid values are: LINUX (default), WINDOWS_SERVER_2019_CORE , WINDOWS_SERVER_2019_FULL , WINDOWS_SERVER_2022_CORE , and WINDOWS_SERVER_2022_FULL .

    The following parameters can’t be set for Windows containers: linuxParameters , privileged , user , ulimits , readonlyRootFilesystem , and efsVolumeConfiguration . > The AWS Batch Scheduler checks the compute environments that are attached to the job queue before registering a task definition with Fargate. In this scenario, the job queue is where the job is submitted. If the job requires a Windows container and the first compute environment is LINUX , the compute environment is skipped and the next compute environment is checked until a Windows-based compute environment is found. > Fargate Spot is not supported for ARM64 and Windows-based containers on Fargate. A job queue will be blocked if a Fargate ARM64 or Windows job is submitted to a job queue with only Fargate Spot compute environments. However, you can attach both FARGATE and FARGATE_SPOT compute environments to the same job queue.

    JobDefinitionSecret

    Name string
    The name of the secret.
    ValueFrom string

    The secret to expose to the container. The supported values are either the full Amazon Resource Name (ARN) of the AWS Secrets Manager secret or the full ARN of the parameter in the AWS Systems Manager Parameter Store.

    If the AWS Systems Manager Parameter Store parameter exists in the same Region as the job you're launching, then you can use either the full Amazon Resource Name (ARN) or name of the parameter. If the parameter exists in a different Region, then the full ARN must be specified.

    Name string
    The name of the secret.
    ValueFrom string

    The secret to expose to the container. The supported values are either the full Amazon Resource Name (ARN) of the AWS Secrets Manager secret or the full ARN of the parameter in the AWS Systems Manager Parameter Store.

    If the AWS Systems Manager Parameter Store parameter exists in the same Region as the job you're launching, then you can use either the full Amazon Resource Name (ARN) or name of the parameter. If the parameter exists in a different Region, then the full ARN must be specified.

    name String
    The name of the secret.
    valueFrom String

    The secret to expose to the container. The supported values are either the full Amazon Resource Name (ARN) of the AWS Secrets Manager secret or the full ARN of the parameter in the AWS Systems Manager Parameter Store.

    If the AWS Systems Manager Parameter Store parameter exists in the same Region as the job you're launching, then you can use either the full Amazon Resource Name (ARN) or name of the parameter. If the parameter exists in a different Region, then the full ARN must be specified.

    name string
    The name of the secret.
    valueFrom string

    The secret to expose to the container. The supported values are either the full Amazon Resource Name (ARN) of the AWS Secrets Manager secret or the full ARN of the parameter in the AWS Systems Manager Parameter Store.

    If the AWS Systems Manager Parameter Store parameter exists in the same Region as the job you're launching, then you can use either the full Amazon Resource Name (ARN) or name of the parameter. If the parameter exists in a different Region, then the full ARN must be specified.

    name str
    The name of the secret.
    value_from str

    The secret to expose to the container. The supported values are either the full Amazon Resource Name (ARN) of the AWS Secrets Manager secret or the full ARN of the parameter in the AWS Systems Manager Parameter Store.

    If the AWS Systems Manager Parameter Store parameter exists in the same Region as the job you're launching, then you can use either the full Amazon Resource Name (ARN) or name of the parameter. If the parameter exists in a different Region, then the full ARN must be specified.

    name String
    The name of the secret.
    valueFrom String

    The secret to expose to the container. The supported values are either the full Amazon Resource Name (ARN) of the AWS Secrets Manager secret or the full ARN of the parameter in the AWS Systems Manager Parameter Store.

    If the AWS Systems Manager Parameter Store parameter exists in the same Region as the job you're launching, then you can use either the full Amazon Resource Name (ARN) or name of the parameter. If the parameter exists in a different Region, then the full ARN must be specified.

    JobDefinitionTaskContainerDependency

    Condition string
    The dependency condition of the container. The following are the available conditions and their behavior:

    • START - This condition emulates the behavior of links and volumes today. It validates that a dependent container is started before permitting other containers to start.
    • COMPLETE - This condition validates that a dependent container runs to completion (exits) before permitting other containers to start. This can be useful for nonessential containers that run a script and then exit. This condition can't be set on an essential container.
    • SUCCESS - This condition is the same as COMPLETE , but it also requires that the container exits with a zero status. This condition can't be set on an essential container.
    ContainerName string
    A unique identifier for the container.
    Condition string
    The dependency condition of the container. The following are the available conditions and their behavior:

    • START - This condition emulates the behavior of links and volumes today. It validates that a dependent container is started before permitting other containers to start.
    • COMPLETE - This condition validates that a dependent container runs to completion (exits) before permitting other containers to start. This can be useful for nonessential containers that run a script and then exit. This condition can't be set on an essential container.
    • SUCCESS - This condition is the same as COMPLETE , but it also requires that the container exits with a zero status. This condition can't be set on an essential container.
    ContainerName string
    A unique identifier for the container.
    condition String
    The dependency condition of the container. The following are the available conditions and their behavior:

    • START - This condition emulates the behavior of links and volumes today. It validates that a dependent container is started before permitting other containers to start.
    • COMPLETE - This condition validates that a dependent container runs to completion (exits) before permitting other containers to start. This can be useful for nonessential containers that run a script and then exit. This condition can't be set on an essential container.
    • SUCCESS - This condition is the same as COMPLETE , but it also requires that the container exits with a zero status. This condition can't be set on an essential container.
    containerName String
    A unique identifier for the container.
    condition string
    The dependency condition of the container. The following are the available conditions and their behavior:

    • START - This condition emulates the behavior of links and volumes today. It validates that a dependent container is started before permitting other containers to start.
    • COMPLETE - This condition validates that a dependent container runs to completion (exits) before permitting other containers to start. This can be useful for nonessential containers that run a script and then exit. This condition can't be set on an essential container.
    • SUCCESS - This condition is the same as COMPLETE , but it also requires that the container exits with a zero status. This condition can't be set on an essential container.
    containerName string
    A unique identifier for the container.
    condition str
    The dependency condition of the container. The following are the available conditions and their behavior:

    • START - This condition emulates the behavior of links and volumes today. It validates that a dependent container is started before permitting other containers to start.
    • COMPLETE - This condition validates that a dependent container runs to completion (exits) before permitting other containers to start. This can be useful for nonessential containers that run a script and then exit. This condition can't be set on an essential container.
    • SUCCESS - This condition is the same as COMPLETE , but it also requires that the container exits with a zero status. This condition can't be set on an essential container.
    container_name str
    A unique identifier for the container.
    condition String
    The dependency condition of the container. The following are the available conditions and their behavior:

    • START - This condition emulates the behavior of links and volumes today. It validates that a dependent container is started before permitting other containers to start.
    • COMPLETE - This condition validates that a dependent container runs to completion (exits) before permitting other containers to start. This can be useful for nonessential containers that run a script and then exit. This condition can't be set on an essential container.
    • SUCCESS - This condition is the same as COMPLETE , but it also requires that the container exits with a zero status. This condition can't be set on an essential container.
    containerName String
    A unique identifier for the container.

    JobDefinitionTaskContainerProperties

    Image string
    The image used to start a container. This string is passed directly to the Docker daemon. By default, images in the Docker Hub registry are available. Other repositories are specified with either repository-url/image:tag or repository-url/image@digest . Up to 255 letters (uppercase and lowercase), numbers, hyphens, underscores, colons, periods, forward slashes, and number signs are allowed. This parameter maps to Image in the Create a container section of the Docker Remote API and the IMAGE parameter of the docker run .
    Command List<string>
    The command that's passed to the container. This parameter maps to Cmd in the Create a container section of the Docker Remote API and the COMMAND parameter to docker run . For more information, see Dockerfile reference: CMD .
    DependsOn List<Pulumi.AwsNative.Batch.Inputs.JobDefinitionTaskContainerDependency>
    A list of containers that this container depends on.
    Environment List<Pulumi.AwsNative.Batch.Inputs.JobDefinitionEnvironment>

    The environment variables to pass to a container. This parameter maps to Env inthe Create a container section of the Docker Remote API and the --env parameter to docker run .

    We don't recommend using plaintext environment variables for sensitive information, such as credential data. > Environment variables cannot start with AWS_BATCH . This naming convention is reserved for variables that AWS Batch sets.

    Essential bool

    If the essential parameter of a container is marked as true , and that container fails or stops for any reason, all other containers that are part of the task are stopped. If the essential parameter of a container is marked as false, its failure doesn't affect the rest of the containers in a task. If this parameter is omitted, a container is assumed to be essential.

    All jobs must have at least one essential container. If you have an application that's composed of multiple containers, group containers that are used for a common purpose into components, and separate the different components into multiple task definitions. For more information, see Application Architecture in the Amazon Elastic Container Service Developer Guide .

    LinuxParameters Pulumi.AwsNative.Batch.Inputs.JobDefinitionLinuxParameters
    Linux-specific modifications that are applied to the container, such as Linux kernel capabilities. For more information, see KernelCapabilities .
    LogConfiguration Pulumi.AwsNative.Batch.Inputs.JobDefinitionLogConfiguration

    The log configuration specification for the container.

    This parameter maps to LogConfig in the Create a container section of the Docker Remote API and the --log-driver option to docker run .

    By default, containers use the same logging driver that the Docker daemon uses. However the container can use a different logging driver than the Docker daemon by specifying a log driver with this parameter in the container definition. To use a different logging driver for a container, the log system must be configured properly on the container instance (or on a different log server for remote logging options). For more information about the options for different supported log drivers, see Configure logging drivers in the Docker documentation .

    Amazon ECS currently supports a subset of the logging drivers available to the Docker daemon (shown in the LogConfiguration data type). Additional log drivers may be available in future releases of the Amazon ECS container agent.

    This parameter requires version 1.18 of the Docker Remote API or greater on your container instance. To check the Docker Remote API version on your container instance, log in to your container instance and run the following command: sudo docker version --format '{{.Server.APIVersion}}'

    The Amazon ECS container agent running on a container instance must register the logging drivers available on that instance with the ECS_AVAILABLE_LOGGING_DRIVERS environment variable before containers placed on that instance can use these log configuration options. For more information, see Amazon ECS container agent configuration in the Amazon Elastic Container Service Developer Guide .

    MountPoints List<Pulumi.AwsNative.Batch.Inputs.JobDefinitionMountPoints>

    The mount points for data volumes in your container.

    This parameter maps to Volumes in the Create a container section of the Docker Remote API and the --volume option to docker run .

    Windows containers can mount whole directories on the same drive as $env:ProgramData . Windows containers can't mount directories on a different drive, and mount point can't be across drives.

    Name string
    The name of a container. The name can be used as a unique identifier to target your dependsOn and Overrides objects.
    Privileged bool

    When this parameter is true , the container is given elevated privileges on the host container instance (similar to the root user). This parameter maps to Privileged in the Create a container section of the Docker Remote API and the --privileged option to docker run .

    This parameter is not supported for Windows containers or tasks run on Fargate.

    ReadonlyRootFilesystem bool

    When this parameter is true, the container is given read-only access to its root file system. This parameter maps to ReadonlyRootfs in the Create a container section of the Docker Remote API and the --read-only option to docker run .

    This parameter is not supported for Windows containers.

    RepositoryCredentials Pulumi.AwsNative.Batch.Inputs.JobDefinitionRepositoryCredentials
    The private repository authentication credentials to use.
    ResourceRequirements List<Pulumi.AwsNative.Batch.Inputs.JobDefinitionResourceRequirement>
    The type and amount of a resource to assign to a container. The only supported resource is a GPU.
    Secrets List<Pulumi.AwsNative.Batch.Inputs.JobDefinitionSecret>
    The secrets to pass to the container. For more information, see Specifying Sensitive Data in the Amazon Elastic Container Service Developer Guide.
    Ulimits List<Pulumi.AwsNative.Batch.Inputs.JobDefinitionUlimit>

    A list of ulimits to set in the container. If a ulimit value is specified in a task definition, it overrides the default values set by Docker. This parameter maps to Ulimits in the Create a container section of the Docker Remote API and the --ulimit option to docker run .

    Amazon ECS tasks hosted on Fargate use the default resource limit values set by the operating system with the exception of the nofile resource limit parameter which Fargate overrides. The nofile resource limit sets a restriction on the number of open files that a container can use. The default nofile soft limit is 1024 and the default hard limit is 65535 .

    This parameter requires version 1.18 of the Docker Remote API or greater on your container instance. To check the Docker Remote API version on your container instance, log in to your container instance and run the following command: sudo docker version --format '{{.Server.APIVersion}}'

    This parameter is not supported for Windows containers.

    User string

    The user to use inside the container. This parameter maps to User in the Create a container section of the Docker Remote API and the --user option to docker run.

    When running tasks using the host network mode, don't run containers using the root user (UID 0) . We recommend using a non-root user for better security.

    You can specify the user using the following formats. If specifying a UID or GID, you must specify it as a positive integer.

    • user
    • user:group
    • uid
    • uid:gid
    • user:gi
    • uid:group

    This parameter is not supported for Windows containers.

    Image string
    The image used to start a container. This string is passed directly to the Docker daemon. By default, images in the Docker Hub registry are available. Other repositories are specified with either repository-url/image:tag or repository-url/image@digest . Up to 255 letters (uppercase and lowercase), numbers, hyphens, underscores, colons, periods, forward slashes, and number signs are allowed. This parameter maps to Image in the Create a container section of the Docker Remote API and the IMAGE parameter of the docker run .
    Command []string
    The command that's passed to the container. This parameter maps to Cmd in the Create a container section of the Docker Remote API and the COMMAND parameter to docker run . For more information, see Dockerfile reference: CMD .
    DependsOn []JobDefinitionTaskContainerDependency
    A list of containers that this container depends on.
    Environment []JobDefinitionEnvironment

    The environment variables to pass to a container. This parameter maps to Env inthe Create a container section of the Docker Remote API and the --env parameter to docker run .

    We don't recommend using plaintext environment variables for sensitive information, such as credential data. > Environment variables cannot start with AWS_BATCH . This naming convention is reserved for variables that AWS Batch sets.

    Essential bool

    If the essential parameter of a container is marked as true , and that container fails or stops for any reason, all other containers that are part of the task are stopped. If the essential parameter of a container is marked as false, its failure doesn't affect the rest of the containers in a task. If this parameter is omitted, a container is assumed to be essential.

    All jobs must have at least one essential container. If you have an application that's composed of multiple containers, group containers that are used for a common purpose into components, and separate the different components into multiple task definitions. For more information, see Application Architecture in the Amazon Elastic Container Service Developer Guide .

    LinuxParameters JobDefinitionLinuxParameters
    Linux-specific modifications that are applied to the container, such as Linux kernel capabilities. For more information, see KernelCapabilities .
    LogConfiguration JobDefinitionLogConfiguration

    The log configuration specification for the container.

    This parameter maps to LogConfig in the Create a container section of the Docker Remote API and the --log-driver option to docker run .

    By default, containers use the same logging driver that the Docker daemon uses. However the container can use a different logging driver than the Docker daemon by specifying a log driver with this parameter in the container definition. To use a different logging driver for a container, the log system must be configured properly on the container instance (or on a different log server for remote logging options). For more information about the options for different supported log drivers, see Configure logging drivers in the Docker documentation .

    Amazon ECS currently supports a subset of the logging drivers available to the Docker daemon (shown in the LogConfiguration data type). Additional log drivers may be available in future releases of the Amazon ECS container agent.

    This parameter requires version 1.18 of the Docker Remote API or greater on your container instance. To check the Docker Remote API version on your container instance, log in to your container instance and run the following command: sudo docker version --format '{{.Server.APIVersion}}'

    The Amazon ECS container agent running on a container instance must register the logging drivers available on that instance with the ECS_AVAILABLE_LOGGING_DRIVERS environment variable before containers placed on that instance can use these log configuration options. For more information, see Amazon ECS container agent configuration in the Amazon Elastic Container Service Developer Guide .

    MountPoints []JobDefinitionMountPoints

    The mount points for data volumes in your container.

    This parameter maps to Volumes in the Create a container section of the Docker Remote API and the --volume option to docker run .

    Windows containers can mount whole directories on the same drive as $env:ProgramData . Windows containers can't mount directories on a different drive, and mount point can't be across drives.

    Name string
    The name of a container. The name can be used as a unique identifier to target your dependsOn and Overrides objects.
    Privileged bool

    When this parameter is true , the container is given elevated privileges on the host container instance (similar to the root user). This parameter maps to Privileged in the Create a container section of the Docker Remote API and the --privileged option to docker run .

    This parameter is not supported for Windows containers or tasks run on Fargate.

    ReadonlyRootFilesystem bool

    When this parameter is true, the container is given read-only access to its root file system. This parameter maps to ReadonlyRootfs in the Create a container section of the Docker Remote API and the --read-only option to docker run .

    This parameter is not supported for Windows containers.

    RepositoryCredentials JobDefinitionRepositoryCredentials
    The private repository authentication credentials to use.
    ResourceRequirements []JobDefinitionResourceRequirement
    The type and amount of a resource to assign to a container. The only supported resource is a GPU.
    Secrets []JobDefinitionSecret
    The secrets to pass to the container. For more information, see Specifying Sensitive Data in the Amazon Elastic Container Service Developer Guide.
    Ulimits []JobDefinitionUlimit

    A list of ulimits to set in the container. If a ulimit value is specified in a task definition, it overrides the default values set by Docker. This parameter maps to Ulimits in the Create a container section of the Docker Remote API and the --ulimit option to docker run .

    Amazon ECS tasks hosted on Fargate use the default resource limit values set by the operating system with the exception of the nofile resource limit parameter which Fargate overrides. The nofile resource limit sets a restriction on the number of open files that a container can use. The default nofile soft limit is 1024 and the default hard limit is 65535 .

    This parameter requires version 1.18 of the Docker Remote API or greater on your container instance. To check the Docker Remote API version on your container instance, log in to your container instance and run the following command: sudo docker version --format '{{.Server.APIVersion}}'

    This parameter is not supported for Windows containers.

    User string

    The user to use inside the container. This parameter maps to User in the Create a container section of the Docker Remote API and the --user option to docker run.

    When running tasks using the host network mode, don't run containers using the root user (UID 0) . We recommend using a non-root user for better security.

    You can specify the user using the following formats. If specifying a UID or GID, you must specify it as a positive integer.

    • user
    • user:group
    • uid
    • uid:gid
    • user:gi
    • uid:group

    This parameter is not supported for Windows containers.

    image String
    The image used to start a container. This string is passed directly to the Docker daemon. By default, images in the Docker Hub registry are available. Other repositories are specified with either repository-url/image:tag or repository-url/image@digest . Up to 255 letters (uppercase and lowercase), numbers, hyphens, underscores, colons, periods, forward slashes, and number signs are allowed. This parameter maps to Image in the Create a container section of the Docker Remote API and the IMAGE parameter of the docker run .
    command List<String>
    The command that's passed to the container. This parameter maps to Cmd in the Create a container section of the Docker Remote API and the COMMAND parameter to docker run . For more information, see Dockerfile reference: CMD .
    dependsOn List<JobDefinitionTaskContainerDependency>
    A list of containers that this container depends on.
    environment List<JobDefinitionEnvironment>

    The environment variables to pass to a container. This parameter maps to Env inthe Create a container section of the Docker Remote API and the --env parameter to docker run .

    We don't recommend using plaintext environment variables for sensitive information, such as credential data. > Environment variables cannot start with AWS_BATCH . This naming convention is reserved for variables that AWS Batch sets.

    essential Boolean

    If the essential parameter of a container is marked as true , and that container fails or stops for any reason, all other containers that are part of the task are stopped. If the essential parameter of a container is marked as false, its failure doesn't affect the rest of the containers in a task. If this parameter is omitted, a container is assumed to be essential.

    All jobs must have at least one essential container. If you have an application that's composed of multiple containers, group containers that are used for a common purpose into components, and separate the different components into multiple task definitions. For more information, see Application Architecture in the Amazon Elastic Container Service Developer Guide .

    linuxParameters JobDefinitionLinuxParameters
    Linux-specific modifications that are applied to the container, such as Linux kernel capabilities. For more information, see KernelCapabilities .
    logConfiguration JobDefinitionLogConfiguration

    The log configuration specification for the container.

    This parameter maps to LogConfig in the Create a container section of the Docker Remote API and the --log-driver option to docker run .

    By default, containers use the same logging driver that the Docker daemon uses. However the container can use a different logging driver than the Docker daemon by specifying a log driver with this parameter in the container definition. To use a different logging driver for a container, the log system must be configured properly on the container instance (or on a different log server for remote logging options). For more information about the options for different supported log drivers, see Configure logging drivers in the Docker documentation .

    Amazon ECS currently supports a subset of the logging drivers available to the Docker daemon (shown in the LogConfiguration data type). Additional log drivers may be available in future releases of the Amazon ECS container agent.

    This parameter requires version 1.18 of the Docker Remote API or greater on your container instance. To check the Docker Remote API version on your container instance, log in to your container instance and run the following command: sudo docker version --format '{{.Server.APIVersion}}'

    The Amazon ECS container agent running on a container instance must register the logging drivers available on that instance with the ECS_AVAILABLE_LOGGING_DRIVERS environment variable before containers placed on that instance can use these log configuration options. For more information, see Amazon ECS container agent configuration in the Amazon Elastic Container Service Developer Guide .

    mountPoints List<JobDefinitionMountPoints>

    The mount points for data volumes in your container.

    This parameter maps to Volumes in the Create a container section of the Docker Remote API and the --volume option to docker run .

    Windows containers can mount whole directories on the same drive as $env:ProgramData . Windows containers can't mount directories on a different drive, and mount point can't be across drives.

    name String
    The name of a container. The name can be used as a unique identifier to target your dependsOn and Overrides objects.
    privileged Boolean

    When this parameter is true , the container is given elevated privileges on the host container instance (similar to the root user). This parameter maps to Privileged in the Create a container section of the Docker Remote API and the --privileged option to docker run .

    This parameter is not supported for Windows containers or tasks run on Fargate.

    readonlyRootFilesystem Boolean

    When this parameter is true, the container is given read-only access to its root file system. This parameter maps to ReadonlyRootfs in the Create a container section of the Docker Remote API and the --read-only option to docker run .

    This parameter is not supported for Windows containers.

    repositoryCredentials JobDefinitionRepositoryCredentials
    The private repository authentication credentials to use.
    resourceRequirements List<JobDefinitionResourceRequirement>
    The type and amount of a resource to assign to a container. The only supported resource is a GPU.
    secrets List<JobDefinitionSecret>
    The secrets to pass to the container. For more information, see Specifying Sensitive Data in the Amazon Elastic Container Service Developer Guide.
    ulimits List<JobDefinitionUlimit>

    A list of ulimits to set in the container. If a ulimit value is specified in a task definition, it overrides the default values set by Docker. This parameter maps to Ulimits in the Create a container section of the Docker Remote API and the --ulimit option to docker run .

    Amazon ECS tasks hosted on Fargate use the default resource limit values set by the operating system with the exception of the nofile resource limit parameter which Fargate overrides. The nofile resource limit sets a restriction on the number of open files that a container can use. The default nofile soft limit is 1024 and the default hard limit is 65535 .

    This parameter requires version 1.18 of the Docker Remote API or greater on your container instance. To check the Docker Remote API version on your container instance, log in to your container instance and run the following command: sudo docker version --format '{{.Server.APIVersion}}'

    This parameter is not supported for Windows containers.

    user String

    The user to use inside the container. This parameter maps to User in the Create a container section of the Docker Remote API and the --user option to docker run.

    When running tasks using the host network mode, don't run containers using the root user (UID 0) . We recommend using a non-root user for better security.

    You can specify the user using the following formats. If specifying a UID or GID, you must specify it as a positive integer.

    • user
    • user:group
    • uid
    • uid:gid
    • user:gi
    • uid:group

    This parameter is not supported for Windows containers.

    image string
    The image used to start a container. This string is passed directly to the Docker daemon. By default, images in the Docker Hub registry are available. Other repositories are specified with either repository-url/image:tag or repository-url/image@digest . Up to 255 letters (uppercase and lowercase), numbers, hyphens, underscores, colons, periods, forward slashes, and number signs are allowed. This parameter maps to Image in the Create a container section of the Docker Remote API and the IMAGE parameter of the docker run .
    command string[]
    The command that's passed to the container. This parameter maps to Cmd in the Create a container section of the Docker Remote API and the COMMAND parameter to docker run . For more information, see Dockerfile reference: CMD .
    dependsOn JobDefinitionTaskContainerDependency[]
    A list of containers that this container depends on.
    environment JobDefinitionEnvironment[]

    The environment variables to pass to a container. This parameter maps to Env inthe Create a container section of the Docker Remote API and the --env parameter to docker run .

    We don't recommend using plaintext environment variables for sensitive information, such as credential data. > Environment variables cannot start with AWS_BATCH . This naming convention is reserved for variables that AWS Batch sets.

    essential boolean

    If the essential parameter of a container is marked as true , and that container fails or stops for any reason, all other containers that are part of the task are stopped. If the essential parameter of a container is marked as false, its failure doesn't affect the rest of the containers in a task. If this parameter is omitted, a container is assumed to be essential.

    All jobs must have at least one essential container. If you have an application that's composed of multiple containers, group containers that are used for a common purpose into components, and separate the different components into multiple task definitions. For more information, see Application Architecture in the Amazon Elastic Container Service Developer Guide .

    linuxParameters JobDefinitionLinuxParameters
    Linux-specific modifications that are applied to the container, such as Linux kernel capabilities. For more information, see KernelCapabilities .
    logConfiguration JobDefinitionLogConfiguration

    The log configuration specification for the container.

    This parameter maps to LogConfig in the Create a container section of the Docker Remote API and the --log-driver option to docker run .

    By default, containers use the same logging driver that the Docker daemon uses. However the container can use a different logging driver than the Docker daemon by specifying a log driver with this parameter in the container definition. To use a different logging driver for a container, the log system must be configured properly on the container instance (or on a different log server for remote logging options). For more information about the options for different supported log drivers, see Configure logging drivers in the Docker documentation .

    Amazon ECS currently supports a subset of the logging drivers available to the Docker daemon (shown in the LogConfiguration data type). Additional log drivers may be available in future releases of the Amazon ECS container agent.

    This parameter requires version 1.18 of the Docker Remote API or greater on your container instance. To check the Docker Remote API version on your container instance, log in to your container instance and run the following command: sudo docker version --format '{{.Server.APIVersion}}'

    The Amazon ECS container agent running on a container instance must register the logging drivers available on that instance with the ECS_AVAILABLE_LOGGING_DRIVERS environment variable before containers placed on that instance can use these log configuration options. For more information, see Amazon ECS container agent configuration in the Amazon Elastic Container Service Developer Guide .

    mountPoints JobDefinitionMountPoints[]

    The mount points for data volumes in your container.

    This parameter maps to Volumes in the Create a container section of the Docker Remote API and the --volume option to docker run .

    Windows containers can mount whole directories on the same drive as $env:ProgramData . Windows containers can't mount directories on a different drive, and mount point can't be across drives.

    name string
    The name of a container. The name can be used as a unique identifier to target your dependsOn and Overrides objects.
    privileged boolean

    When this parameter is true , the container is given elevated privileges on the host container instance (similar to the root user). This parameter maps to Privileged in the Create a container section of the Docker Remote API and the --privileged option to docker run .

    This parameter is not supported for Windows containers or tasks run on Fargate.

    readonlyRootFilesystem boolean

    When this parameter is true, the container is given read-only access to its root file system. This parameter maps to ReadonlyRootfs in the Create a container section of the Docker Remote API and the --read-only option to docker run .

    This parameter is not supported for Windows containers.

    repositoryCredentials JobDefinitionRepositoryCredentials
    The private repository authentication credentials to use.
    resourceRequirements JobDefinitionResourceRequirement[]
    The type and amount of a resource to assign to a container. The only supported resource is a GPU.
    secrets JobDefinitionSecret[]
    The secrets to pass to the container. For more information, see Specifying Sensitive Data in the Amazon Elastic Container Service Developer Guide.
    ulimits JobDefinitionUlimit[]

    A list of ulimits to set in the container. If a ulimit value is specified in a task definition, it overrides the default values set by Docker. This parameter maps to Ulimits in the Create a container section of the Docker Remote API and the --ulimit option to docker run .

    Amazon ECS tasks hosted on Fargate use the default resource limit values set by the operating system with the exception of the nofile resource limit parameter which Fargate overrides. The nofile resource limit sets a restriction on the number of open files that a container can use. The default nofile soft limit is 1024 and the default hard limit is 65535 .

    This parameter requires version 1.18 of the Docker Remote API or greater on your container instance. To check the Docker Remote API version on your container instance, log in to your container instance and run the following command: sudo docker version --format '{{.Server.APIVersion}}'

    This parameter is not supported for Windows containers.

    user string

    The user to use inside the container. This parameter maps to User in the Create a container section of the Docker Remote API and the --user option to docker run.

    When running tasks using the host network mode, don't run containers using the root user (UID 0) . We recommend using a non-root user for better security.

    You can specify the user using the following formats. If specifying a UID or GID, you must specify it as a positive integer.

    • user
    • user:group
    • uid
    • uid:gid
    • user:gi
    • uid:group

    This parameter is not supported for Windows containers.

    image str
    The image used to start a container. This string is passed directly to the Docker daemon. By default, images in the Docker Hub registry are available. Other repositories are specified with either repository-url/image:tag or repository-url/image@digest . Up to 255 letters (uppercase and lowercase), numbers, hyphens, underscores, colons, periods, forward slashes, and number signs are allowed. This parameter maps to Image in the Create a container section of the Docker Remote API and the IMAGE parameter of the docker run .
    command Sequence[str]
    The command that's passed to the container. This parameter maps to Cmd in the Create a container section of the Docker Remote API and the COMMAND parameter to docker run . For more information, see Dockerfile reference: CMD .
    depends_on Sequence[JobDefinitionTaskContainerDependency]
    A list of containers that this container depends on.
    environment Sequence[JobDefinitionEnvironment]

    The environment variables to pass to a container. This parameter maps to Env inthe Create a container section of the Docker Remote API and the --env parameter to docker run .

    We don't recommend using plaintext environment variables for sensitive information, such as credential data. > Environment variables cannot start with AWS_BATCH . This naming convention is reserved for variables that AWS Batch sets.

    essential bool

    If the essential parameter of a container is marked as true , and that container fails or stops for any reason, all other containers that are part of the task are stopped. If the essential parameter of a container is marked as false, its failure doesn't affect the rest of the containers in a task. If this parameter is omitted, a container is assumed to be essential.

    All jobs must have at least one essential container. If you have an application that's composed of multiple containers, group containers that are used for a common purpose into components, and separate the different components into multiple task definitions. For more information, see Application Architecture in the Amazon Elastic Container Service Developer Guide .

    linux_parameters JobDefinitionLinuxParameters
    Linux-specific modifications that are applied to the container, such as Linux kernel capabilities. For more information, see KernelCapabilities .
    log_configuration JobDefinitionLogConfiguration

    The log configuration specification for the container.

    This parameter maps to LogConfig in the Create a container section of the Docker Remote API and the --log-driver option to docker run .

    By default, containers use the same logging driver that the Docker daemon uses. However the container can use a different logging driver than the Docker daemon by specifying a log driver with this parameter in the container definition. To use a different logging driver for a container, the log system must be configured properly on the container instance (or on a different log server for remote logging options). For more information about the options for different supported log drivers, see Configure logging drivers in the Docker documentation .

    Amazon ECS currently supports a subset of the logging drivers available to the Docker daemon (shown in the LogConfiguration data type). Additional log drivers may be available in future releases of the Amazon ECS container agent.

    This parameter requires version 1.18 of the Docker Remote API or greater on your container instance. To check the Docker Remote API version on your container instance, log in to your container instance and run the following command: sudo docker version --format '{{.Server.APIVersion}}'

    The Amazon ECS container agent running on a container instance must register the logging drivers available on that instance with the ECS_AVAILABLE_LOGGING_DRIVERS environment variable before containers placed on that instance can use these log configuration options. For more information, see Amazon ECS container agent configuration in the Amazon Elastic Container Service Developer Guide .

    mount_points Sequence[JobDefinitionMountPoints]

    The mount points for data volumes in your container.

    This parameter maps to Volumes in the Create a container section of the Docker Remote API and the --volume option to docker run .

    Windows containers can mount whole directories on the same drive as $env:ProgramData . Windows containers can't mount directories on a different drive, and mount point can't be across drives.

    name str
    The name of a container. The name can be used as a unique identifier to target your dependsOn and Overrides objects.
    privileged bool

    When this parameter is true , the container is given elevated privileges on the host container instance (similar to the root user). This parameter maps to Privileged in the Create a container section of the Docker Remote API and the --privileged option to docker run .

    This parameter is not supported for Windows containers or tasks run on Fargate.

    readonly_root_filesystem bool

    When this parameter is true, the container is given read-only access to its root file system. This parameter maps to ReadonlyRootfs in the Create a container section of the Docker Remote API and the --read-only option to docker run .

    This parameter is not supported for Windows containers.

    repository_credentials JobDefinitionRepositoryCredentials
    The private repository authentication credentials to use.
    resource_requirements Sequence[JobDefinitionResourceRequirement]
    The type and amount of a resource to assign to a container. The only supported resource is a GPU.
    secrets Sequence[JobDefinitionSecret]
    The secrets to pass to the container. For more information, see Specifying Sensitive Data in the Amazon Elastic Container Service Developer Guide.
    ulimits Sequence[JobDefinitionUlimit]

    A list of ulimits to set in the container. If a ulimit value is specified in a task definition, it overrides the default values set by Docker. This parameter maps to Ulimits in the Create a container section of the Docker Remote API and the --ulimit option to docker run .

    Amazon ECS tasks hosted on Fargate use the default resource limit values set by the operating system with the exception of the nofile resource limit parameter which Fargate overrides. The nofile resource limit sets a restriction on the number of open files that a container can use. The default nofile soft limit is 1024 and the default hard limit is 65535 .

    This parameter requires version 1.18 of the Docker Remote API or greater on your container instance. To check the Docker Remote API version on your container instance, log in to your container instance and run the following command: sudo docker version --format '{{.Server.APIVersion}}'

    This parameter is not supported for Windows containers.

    user str

    The user to use inside the container. This parameter maps to User in the Create a container section of the Docker Remote API and the --user option to docker run.

    When running tasks using the host network mode, don't run containers using the root user (UID 0) . We recommend using a non-root user for better security.

    You can specify the user using the following formats. If specifying a UID or GID, you must specify it as a positive integer.

    • user
    • user:group
    • uid
    • uid:gid
    • user:gi
    • uid:group

    This parameter is not supported for Windows containers.

    image String
    The image used to start a container. This string is passed directly to the Docker daemon. By default, images in the Docker Hub registry are available. Other repositories are specified with either repository-url/image:tag or repository-url/image@digest . Up to 255 letters (uppercase and lowercase), numbers, hyphens, underscores, colons, periods, forward slashes, and number signs are allowed. This parameter maps to Image in the Create a container section of the Docker Remote API and the IMAGE parameter of the docker run .
    command List<String>
    The command that's passed to the container. This parameter maps to Cmd in the Create a container section of the Docker Remote API and the COMMAND parameter to docker run . For more information, see Dockerfile reference: CMD .
    dependsOn List<Property Map>
    A list of containers that this container depends on.
    environment List<Property Map>

    The environment variables to pass to a container. This parameter maps to Env inthe Create a container section of the Docker Remote API and the --env parameter to docker run .

    We don't recommend using plaintext environment variables for sensitive information, such as credential data. > Environment variables cannot start with AWS_BATCH . This naming convention is reserved for variables that AWS Batch sets.

    essential Boolean

    If the essential parameter of a container is marked as true , and that container fails or stops for any reason, all other containers that are part of the task are stopped. If the essential parameter of a container is marked as false, its failure doesn't affect the rest of the containers in a task. If this parameter is omitted, a container is assumed to be essential.

    All jobs must have at least one essential container. If you have an application that's composed of multiple containers, group containers that are used for a common purpose into components, and separate the different components into multiple task definitions. For more information, see Application Architecture in the Amazon Elastic Container Service Developer Guide .

    linuxParameters Property Map
    Linux-specific modifications that are applied to the container, such as Linux kernel capabilities. For more information, see KernelCapabilities .
    logConfiguration Property Map

    The log configuration specification for the container.

    This parameter maps to LogConfig in the Create a container section of the Docker Remote API and the --log-driver option to docker run .

    By default, containers use the same logging driver that the Docker daemon uses. However the container can use a different logging driver than the Docker daemon by specifying a log driver with this parameter in the container definition. To use a different logging driver for a container, the log system must be configured properly on the container instance (or on a different log server for remote logging options). For more information about the options for different supported log drivers, see Configure logging drivers in the Docker documentation .

    Amazon ECS currently supports a subset of the logging drivers available to the Docker daemon (shown in the LogConfiguration data type). Additional log drivers may be available in future releases of the Amazon ECS container agent.

    This parameter requires version 1.18 of the Docker Remote API or greater on your container instance. To check the Docker Remote API version on your container instance, log in to your container instance and run the following command: sudo docker version --format '{{.Server.APIVersion}}'

    The Amazon ECS container agent running on a container instance must register the logging drivers available on that instance with the ECS_AVAILABLE_LOGGING_DRIVERS environment variable before containers placed on that instance can use these log configuration options. For more information, see Amazon ECS container agent configuration in the Amazon Elastic Container Service Developer Guide .

    mountPoints List<Property Map>

    The mount points for data volumes in your container.

    This parameter maps to Volumes in the Create a container section of the Docker Remote API and the --volume option to docker run .

    Windows containers can mount whole directories on the same drive as $env:ProgramData . Windows containers can't mount directories on a different drive, and mount point can't be across drives.

    name String
    The name of a container. The name can be used as a unique identifier to target your dependsOn and Overrides objects.
    privileged Boolean

    When this parameter is true , the container is given elevated privileges on the host container instance (similar to the root user). This parameter maps to Privileged in the Create a container section of the Docker Remote API and the --privileged option to docker run .

    This parameter is not supported for Windows containers or tasks run on Fargate.

    readonlyRootFilesystem Boolean

    When this parameter is true, the container is given read-only access to its root file system. This parameter maps to ReadonlyRootfs in the Create a container section of the Docker Remote API and the --read-only option to docker run .

    This parameter is not supported for Windows containers.

    repositoryCredentials Property Map
    The private repository authentication credentials to use.
    resourceRequirements List<Property Map>
    The type and amount of a resource to assign to a container. The only supported resource is a GPU.
    secrets List<Property Map>
    The secrets to pass to the container. For more information, see Specifying Sensitive Data in the Amazon Elastic Container Service Developer Guide.
    ulimits List<Property Map>

    A list of ulimits to set in the container. If a ulimit value is specified in a task definition, it overrides the default values set by Docker. This parameter maps to Ulimits in the Create a container section of the Docker Remote API and the --ulimit option to docker run .

    Amazon ECS tasks hosted on Fargate use the default resource limit values set by the operating system with the exception of the nofile resource limit parameter which Fargate overrides. The nofile resource limit sets a restriction on the number of open files that a container can use. The default nofile soft limit is 1024 and the default hard limit is 65535 .

    This parameter requires version 1.18 of the Docker Remote API or greater on your container instance. To check the Docker Remote API version on your container instance, log in to your container instance and run the following command: sudo docker version --format '{{.Server.APIVersion}}'

    This parameter is not supported for Windows containers.

    user String

    The user to use inside the container. This parameter maps to User in the Create a container section of the Docker Remote API and the --user option to docker run.

    When running tasks using the host network mode, don't run containers using the root user (UID 0) . We recommend using a non-root user for better security.

    You can specify the user using the following formats. If specifying a UID or GID, you must specify it as a positive integer.

    • user
    • user:group
    • uid
    • uid:gid
    • user:gi
    • uid:group

    This parameter is not supported for Windows containers.

    JobDefinitionTimeout

    AttemptDurationSeconds int

    The job timeout time (in seconds) that's measured from the job attempt's startedAt timestamp. After this time passes, AWS Batch terminates your jobs if they aren't finished. The minimum value for the timeout is 60 seconds.

    For array jobs, the timeout applies to the child jobs, not to the parent array job.

    For multi-node parallel (MNP) jobs, the timeout applies to the whole job, not to the individual nodes.

    AttemptDurationSeconds int

    The job timeout time (in seconds) that's measured from the job attempt's startedAt timestamp. After this time passes, AWS Batch terminates your jobs if they aren't finished. The minimum value for the timeout is 60 seconds.

    For array jobs, the timeout applies to the child jobs, not to the parent array job.

    For multi-node parallel (MNP) jobs, the timeout applies to the whole job, not to the individual nodes.

    attemptDurationSeconds Integer

    The job timeout time (in seconds) that's measured from the job attempt's startedAt timestamp. After this time passes, AWS Batch terminates your jobs if they aren't finished. The minimum value for the timeout is 60 seconds.

    For array jobs, the timeout applies to the child jobs, not to the parent array job.

    For multi-node parallel (MNP) jobs, the timeout applies to the whole job, not to the individual nodes.

    attemptDurationSeconds number

    The job timeout time (in seconds) that's measured from the job attempt's startedAt timestamp. After this time passes, AWS Batch terminates your jobs if they aren't finished. The minimum value for the timeout is 60 seconds.

    For array jobs, the timeout applies to the child jobs, not to the parent array job.

    For multi-node parallel (MNP) jobs, the timeout applies to the whole job, not to the individual nodes.

    attempt_duration_seconds int

    The job timeout time (in seconds) that's measured from the job attempt's startedAt timestamp. After this time passes, AWS Batch terminates your jobs if they aren't finished. The minimum value for the timeout is 60 seconds.

    For array jobs, the timeout applies to the child jobs, not to the parent array job.

    For multi-node parallel (MNP) jobs, the timeout applies to the whole job, not to the individual nodes.

    attemptDurationSeconds Number

    The job timeout time (in seconds) that's measured from the job attempt's startedAt timestamp. After this time passes, AWS Batch terminates your jobs if they aren't finished. The minimum value for the timeout is 60 seconds.

    For array jobs, the timeout applies to the child jobs, not to the parent array job.

    For multi-node parallel (MNP) jobs, the timeout applies to the whole job, not to the individual nodes.

    JobDefinitionTmpfs

    ContainerPath string
    The absolute file path in the container where the tmpfs volume is mounted.
    Size int
    The size (in MiB) of the tmpfs volume.
    MountOptions List<string>

    The list of tmpfs volume mount options.

    Valid values: " defaults " | " ro " | " rw " | " suid " | " nosuid " | " dev " | " nodev " | " exec " | " noexec " | " sync " | " async " | " dirsync " | " remount " | " mand " | " nomand " | " atime " | " noatime " | " diratime " | " nodiratime " | " bind " | " rbind" | "unbindable" | "runbindable" | "private" | "rprivate" | "shared" | "rshared" | "slave" | "rslave" | "relatime " | " norelatime " | " strictatime " | " nostrictatime " | " mode " | " uid " | " gid " | " nr_inodes " | " nr_blocks " | " mpol "

    ContainerPath string
    The absolute file path in the container where the tmpfs volume is mounted.
    Size int
    The size (in MiB) of the tmpfs volume.
    MountOptions []string

    The list of tmpfs volume mount options.

    Valid values: " defaults " | " ro " | " rw " | " suid " | " nosuid " | " dev " | " nodev " | " exec " | " noexec " | " sync " | " async " | " dirsync " | " remount " | " mand " | " nomand " | " atime " | " noatime " | " diratime " | " nodiratime " | " bind " | " rbind" | "unbindable" | "runbindable" | "private" | "rprivate" | "shared" | "rshared" | "slave" | "rslave" | "relatime " | " norelatime " | " strictatime " | " nostrictatime " | " mode " | " uid " | " gid " | " nr_inodes " | " nr_blocks " | " mpol "

    containerPath String
    The absolute file path in the container where the tmpfs volume is mounted.
    size Integer
    The size (in MiB) of the tmpfs volume.
    mountOptions List<String>

    The list of tmpfs volume mount options.

    Valid values: " defaults " | " ro " | " rw " | " suid " | " nosuid " | " dev " | " nodev " | " exec " | " noexec " | " sync " | " async " | " dirsync " | " remount " | " mand " | " nomand " | " atime " | " noatime " | " diratime " | " nodiratime " | " bind " | " rbind" | "unbindable" | "runbindable" | "private" | "rprivate" | "shared" | "rshared" | "slave" | "rslave" | "relatime " | " norelatime " | " strictatime " | " nostrictatime " | " mode " | " uid " | " gid " | " nr_inodes " | " nr_blocks " | " mpol "

    containerPath string
    The absolute file path in the container where the tmpfs volume is mounted.
    size number
    The size (in MiB) of the tmpfs volume.
    mountOptions string[]

    The list of tmpfs volume mount options.

    Valid values: " defaults " | " ro " | " rw " | " suid " | " nosuid " | " dev " | " nodev " | " exec " | " noexec " | " sync " | " async " | " dirsync " | " remount " | " mand " | " nomand " | " atime " | " noatime " | " diratime " | " nodiratime " | " bind " | " rbind" | "unbindable" | "runbindable" | "private" | "rprivate" | "shared" | "rshared" | "slave" | "rslave" | "relatime " | " norelatime " | " strictatime " | " nostrictatime " | " mode " | " uid " | " gid " | " nr_inodes " | " nr_blocks " | " mpol "

    container_path str
    The absolute file path in the container where the tmpfs volume is mounted.
    size int
    The size (in MiB) of the tmpfs volume.
    mount_options Sequence[str]

    The list of tmpfs volume mount options.

    Valid values: " defaults " | " ro " | " rw " | " suid " | " nosuid " | " dev " | " nodev " | " exec " | " noexec " | " sync " | " async " | " dirsync " | " remount " | " mand " | " nomand " | " atime " | " noatime " | " diratime " | " nodiratime " | " bind " | " rbind" | "unbindable" | "runbindable" | "private" | "rprivate" | "shared" | "rshared" | "slave" | "rslave" | "relatime " | " norelatime " | " strictatime " | " nostrictatime " | " mode " | " uid " | " gid " | " nr_inodes " | " nr_blocks " | " mpol "

    containerPath String
    The absolute file path in the container where the tmpfs volume is mounted.
    size Number
    The size (in MiB) of the tmpfs volume.
    mountOptions List<String>

    The list of tmpfs volume mount options.

    Valid values: " defaults " | " ro " | " rw " | " suid " | " nosuid " | " dev " | " nodev " | " exec " | " noexec " | " sync " | " async " | " dirsync " | " remount " | " mand " | " nomand " | " atime " | " noatime " | " diratime " | " nodiratime " | " bind " | " rbind" | "unbindable" | "runbindable" | "private" | "rprivate" | "shared" | "rshared" | "slave" | "rslave" | "relatime " | " norelatime " | " strictatime " | " nostrictatime " | " mode " | " uid " | " gid " | " nr_inodes " | " nr_blocks " | " mpol "

    JobDefinitionUlimit

    HardLimit int
    The hard limit for the ulimit type.
    Name string
    The type of the ulimit . Valid values are: core | cpu | data | fsize | locks | memlock | msgqueue | nice | nofile | nproc | rss | rtprio | rttime | sigpending | stack .
    SoftLimit int
    The soft limit for the ulimit type.
    HardLimit int
    The hard limit for the ulimit type.
    Name string
    The type of the ulimit . Valid values are: core | cpu | data | fsize | locks | memlock | msgqueue | nice | nofile | nproc | rss | rtprio | rttime | sigpending | stack .
    SoftLimit int
    The soft limit for the ulimit type.
    hardLimit Integer
    The hard limit for the ulimit type.
    name String
    The type of the ulimit . Valid values are: core | cpu | data | fsize | locks | memlock | msgqueue | nice | nofile | nproc | rss | rtprio | rttime | sigpending | stack .
    softLimit Integer
    The soft limit for the ulimit type.
    hardLimit number
    The hard limit for the ulimit type.
    name string
    The type of the ulimit . Valid values are: core | cpu | data | fsize | locks | memlock | msgqueue | nice | nofile | nproc | rss | rtprio | rttime | sigpending | stack .
    softLimit number
    The soft limit for the ulimit type.
    hard_limit int
    The hard limit for the ulimit type.
    name str
    The type of the ulimit . Valid values are: core | cpu | data | fsize | locks | memlock | msgqueue | nice | nofile | nproc | rss | rtprio | rttime | sigpending | stack .
    soft_limit int
    The soft limit for the ulimit type.
    hardLimit Number
    The hard limit for the ulimit type.
    name String
    The type of the ulimit . Valid values are: core | cpu | data | fsize | locks | memlock | msgqueue | nice | nofile | nproc | rss | rtprio | rttime | sigpending | stack .
    softLimit Number
    The soft limit for the ulimit type.

    JobDefinitionVolumes

    EfsVolumeConfiguration Pulumi.AwsNative.Batch.Inputs.JobDefinitionEfsVolumeConfiguration
    This is used when you're using an Amazon Elastic File System file system for job storage. For more information, see Amazon EFS Volumes in the AWS Batch User Guide .
    Host Pulumi.AwsNative.Batch.Inputs.JobDefinitionVolumesHost

    The contents of the host parameter determine whether your data volume persists on the host container instance and where it's stored. If the host parameter is empty, then the Docker daemon assigns a host path for your data volume. However, the data isn't guaranteed to persist after the containers that are associated with it stop running.

    This parameter isn't applicable to jobs that are running on Fargate resources and shouldn't be provided.

    Name string
    The name of the volume. It can be up to 255 characters long. It can contain uppercase and lowercase letters, numbers, hyphens (-), and underscores (_). This name is referenced in the sourceVolume parameter of container definition mountPoints .
    EfsVolumeConfiguration JobDefinitionEfsVolumeConfiguration
    This is used when you're using an Amazon Elastic File System file system for job storage. For more information, see Amazon EFS Volumes in the AWS Batch User Guide .
    Host JobDefinitionVolumesHost

    The contents of the host parameter determine whether your data volume persists on the host container instance and where it's stored. If the host parameter is empty, then the Docker daemon assigns a host path for your data volume. However, the data isn't guaranteed to persist after the containers that are associated with it stop running.

    This parameter isn't applicable to jobs that are running on Fargate resources and shouldn't be provided.

    Name string
    The name of the volume. It can be up to 255 characters long. It can contain uppercase and lowercase letters, numbers, hyphens (-), and underscores (_). This name is referenced in the sourceVolume parameter of container definition mountPoints .
    efsVolumeConfiguration JobDefinitionEfsVolumeConfiguration
    This is used when you're using an Amazon Elastic File System file system for job storage. For more information, see Amazon EFS Volumes in the AWS Batch User Guide .
    host JobDefinitionVolumesHost

    The contents of the host parameter determine whether your data volume persists on the host container instance and where it's stored. If the host parameter is empty, then the Docker daemon assigns a host path for your data volume. However, the data isn't guaranteed to persist after the containers that are associated with it stop running.

    This parameter isn't applicable to jobs that are running on Fargate resources and shouldn't be provided.

    name String
    The name of the volume. It can be up to 255 characters long. It can contain uppercase and lowercase letters, numbers, hyphens (-), and underscores (_). This name is referenced in the sourceVolume parameter of container definition mountPoints .
    efsVolumeConfiguration JobDefinitionEfsVolumeConfiguration
    This is used when you're using an Amazon Elastic File System file system for job storage. For more information, see Amazon EFS Volumes in the AWS Batch User Guide .
    host JobDefinitionVolumesHost

    The contents of the host parameter determine whether your data volume persists on the host container instance and where it's stored. If the host parameter is empty, then the Docker daemon assigns a host path for your data volume. However, the data isn't guaranteed to persist after the containers that are associated with it stop running.

    This parameter isn't applicable to jobs that are running on Fargate resources and shouldn't be provided.

    name string
    The name of the volume. It can be up to 255 characters long. It can contain uppercase and lowercase letters, numbers, hyphens (-), and underscores (_). This name is referenced in the sourceVolume parameter of container definition mountPoints .
    efs_volume_configuration JobDefinitionEfsVolumeConfiguration
    This is used when you're using an Amazon Elastic File System file system for job storage. For more information, see Amazon EFS Volumes in the AWS Batch User Guide .
    host JobDefinitionVolumesHost

    The contents of the host parameter determine whether your data volume persists on the host container instance and where it's stored. If the host parameter is empty, then the Docker daemon assigns a host path for your data volume. However, the data isn't guaranteed to persist after the containers that are associated with it stop running.

    This parameter isn't applicable to jobs that are running on Fargate resources and shouldn't be provided.

    name str
    The name of the volume. It can be up to 255 characters long. It can contain uppercase and lowercase letters, numbers, hyphens (-), and underscores (_). This name is referenced in the sourceVolume parameter of container definition mountPoints .
    efsVolumeConfiguration Property Map
    This is used when you're using an Amazon Elastic File System file system for job storage. For more information, see Amazon EFS Volumes in the AWS Batch User Guide .
    host Property Map

    The contents of the host parameter determine whether your data volume persists on the host container instance and where it's stored. If the host parameter is empty, then the Docker daemon assigns a host path for your data volume. However, the data isn't guaranteed to persist after the containers that are associated with it stop running.

    This parameter isn't applicable to jobs that are running on Fargate resources and shouldn't be provided.

    name String
    The name of the volume. It can be up to 255 characters long. It can contain uppercase and lowercase letters, numbers, hyphens (-), and underscores (_). This name is referenced in the sourceVolume parameter of container definition mountPoints .

    JobDefinitionVolumesHost

    SourcePath string

    The path on the host container instance that's presented to the container. If this parameter is empty, then the Docker daemon has assigned a host path for you. If this parameter contains a file location, then the data volume persists at the specified location on the host container instance until you delete it manually. If the source path location doesn't exist on the host container instance, the Docker daemon creates it. If the location does exist, the contents of the source path folder are exported.

    This parameter isn't applicable to jobs that run on Fargate resources. Don't provide this for these jobs.

    SourcePath string

    The path on the host container instance that's presented to the container. If this parameter is empty, then the Docker daemon has assigned a host path for you. If this parameter contains a file location, then the data volume persists at the specified location on the host container instance until you delete it manually. If the source path location doesn't exist on the host container instance, the Docker daemon creates it. If the location does exist, the contents of the source path folder are exported.

    This parameter isn't applicable to jobs that run on Fargate resources. Don't provide this for these jobs.

    sourcePath String

    The path on the host container instance that's presented to the container. If this parameter is empty, then the Docker daemon has assigned a host path for you. If this parameter contains a file location, then the data volume persists at the specified location on the host container instance until you delete it manually. If the source path location doesn't exist on the host container instance, the Docker daemon creates it. If the location does exist, the contents of the source path folder are exported.

    This parameter isn't applicable to jobs that run on Fargate resources. Don't provide this for these jobs.

    sourcePath string

    The path on the host container instance that's presented to the container. If this parameter is empty, then the Docker daemon has assigned a host path for you. If this parameter contains a file location, then the data volume persists at the specified location on the host container instance until you delete it manually. If the source path location doesn't exist on the host container instance, the Docker daemon creates it. If the location does exist, the contents of the source path folder are exported.

    This parameter isn't applicable to jobs that run on Fargate resources. Don't provide this for these jobs.

    source_path str

    The path on the host container instance that's presented to the container. If this parameter is empty, then the Docker daemon has assigned a host path for you. If this parameter contains a file location, then the data volume persists at the specified location on the host container instance until you delete it manually. If the source path location doesn't exist on the host container instance, the Docker daemon creates it. If the location does exist, the contents of the source path folder are exported.

    This parameter isn't applicable to jobs that run on Fargate resources. Don't provide this for these jobs.

    sourcePath String

    The path on the host container instance that's presented to the container. If this parameter is empty, then the Docker daemon has assigned a host path for you. If this parameter contains a file location, then the data volume persists at the specified location on the host container instance until you delete it manually. If the source path location doesn't exist on the host container instance, the Docker daemon creates it. If the location does exist, the contents of the source path folder are exported.

    This parameter isn't applicable to jobs that run on Fargate resources. Don't provide this for these jobs.

    Package Details

    Repository
    AWS Native pulumi/pulumi-aws-native
    License
    Apache-2.0
    aws-native logo

    We recommend new projects start with resources from the AWS provider.

    AWS Native v0.126.0 published on Monday, Sep 30, 2024 by Pulumi