class Aws::Batch::Types::SubmitJobRequest

Contains the parameters for `SubmitJob`.

@note When making an API call, you may pass SubmitJobRequest

data as a hash:

    {
      job_name: "String", # required
      job_queue: "String", # required
      array_properties: {
        size: 1,
      },
      depends_on: [
        {
          job_id: "String",
          type: "N_TO_N", # accepts N_TO_N, SEQUENTIAL
        },
      ],
      job_definition: "String", # required
      parameters: {
        "String" => "String",
      },
      container_overrides: {
        vcpus: 1,
        memory: 1,
        command: ["String"],
        instance_type: "String",
        environment: [
          {
            name: "String",
            value: "String",
          },
        ],
        resource_requirements: [
          {
            value: "String", # required
            type: "GPU", # required, accepts GPU, VCPU, MEMORY
          },
        ],
      },
      node_overrides: {
        num_nodes: 1,
        node_property_overrides: [
          {
            target_nodes: "String", # required
            container_overrides: {
              vcpus: 1,
              memory: 1,
              command: ["String"],
              instance_type: "String",
              environment: [
                {
                  name: "String",
                  value: "String",
                },
              ],
              resource_requirements: [
                {
                  value: "String", # required
                  type: "GPU", # required, accepts GPU, VCPU, MEMORY
                },
              ],
            },
          },
        ],
      },
      retry_strategy: {
        attempts: 1,
        evaluate_on_exit: [
          {
            on_status_reason: "String",
            on_reason: "String",
            on_exit_code: "String",
            action: "RETRY", # required, accepts RETRY, EXIT
          },
        ],
      },
      propagate_tags: false,
      timeout: {
        attempt_duration_seconds: 1,
      },
      tags: {
        "TagKey" => "TagValue",
      },
    }

@!attribute [rw] job_name

The name of the job. The first character must be alphanumeric, and
up to 128 letters (uppercase and lowercase), numbers, hyphens, and
underscores are allowed.
@return [String]

@!attribute [rw] job_queue

The job queue where the job is submitted. You can specify either the
name or the Amazon Resource Name (ARN) of the queue.
@return [String]

@!attribute [rw] array_properties

The array properties for the submitted job, such as the size of the
array. The array size can be between 2 and 10,000. If you specify
array properties for a job, it becomes an array job. For more
information, see [Array Jobs][1] in the *Batch User Guide*.

[1]: https://docs.aws.amazon.com/batch/latest/userguide/array_jobs.html
@return [Types::ArrayProperties]

@!attribute [rw] depends_on

A list of dependencies for the job. A job can depend upon a maximum
of 20 jobs. You can specify a `SEQUENTIAL` type dependency without
specifying a job ID for array jobs so that each child array job
completes sequentially, starting at index 0. You can also specify an
`N_TO_N` type dependency with a job ID for array jobs. In that case,
each index child of this job must wait for the corresponding index
child of each dependency to complete before it can begin.
@return [Array<Types::JobDependency>]

@!attribute [rw] job_definition

The job definition used by this job. This value can be one of
`name`, `name:revision`, or the Amazon Resource Name (ARN) for the
job definition. If `name` is specified without a revision then the
latest active revision is used.
@return [String]

@!attribute [rw] parameters

Additional parameters passed to the job that replace parameter
substitution placeholders that are set in the job definition.
Parameters are specified as a key and value pair mapping. Parameters
in a `SubmitJob` request override any corresponding parameter
defaults from the job definition.
@return [Hash<String,String>]

@!attribute [rw] container_overrides

A list of container overrides in the JSON format that specify the
name of a container in the specified job definition and the
overrides it should receive. You can override the default command
for a container, which is specified in the job definition or the
Docker image, with a `command` override. You can also override
existing environment variables on a container or add new environment
variables to it with an `environment` override.
@return [Types::ContainerOverrides]

@!attribute [rw] node_overrides

A list of node overrides in JSON format that specify the node range
to target and the container overrides for that node range.

<note markdown="1"> This parameter isn't applicable to jobs that are running on Fargate
resources; use `containerOverrides` instead.

 </note>
@return [Types::NodeOverrides]

@!attribute [rw] retry_strategy

The retry strategy to use for failed jobs from this SubmitJob
operation. When a retry strategy is specified here, it overrides the
retry strategy defined in the job definition.
@return [Types::RetryStrategy]

@!attribute [rw] propagate_tags

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 during task creation. 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. When specified, this
overrides the tag propagation setting in the job definition.
@return [Boolean]

@!attribute [rw] timeout

The timeout configuration for this SubmitJob operation. You can
specify a timeout duration after which Batch terminates your jobs if
they haven't finished. If a job is terminated due to a timeout, it
isn't retried. The minimum value for the timeout is 60 seconds.
This configuration overrides any timeout configuration specified in
the job definition. For array jobs, child jobs have the same timeout
configuration as the parent job. For more information, see [Job
Timeouts][1] in the *Amazon Elastic Container Service Developer
Guide*.

[1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/job_timeouts.html
@return [Types::JobTimeout]

@!attribute [rw] tags

The tags that you apply to the job request to help you categorize
and organize your resources. Each tag consists of a key and an
optional value. For more information, see [Tagging Amazon Web
Services Resources][1] in *Amazon Web Services General Reference*.

[1]: https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html
@return [Hash<String,String>]

@see docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/SubmitJobRequest AWS API Documentation

Constants

SENSITIVE