class Aws::Batch::Types::RegisterJobDefinitionRequest
Contains the parameters for `RegisterJobDefinition`.
@note When making an API call, you may pass RegisterJobDefinitionRequest
data as a hash: { job_definition_name: "String", # required type: "container", # required, accepts container, multinode parameters: { "String" => "String", }, container_properties: { image: "String", vcpus: 1, memory: 1, command: ["String"], job_role_arn: "String", execution_role_arn: "String", volumes: [ { host: { source_path: "String", }, name: "String", efs_volume_configuration: { file_system_id: "String", # required root_directory: "String", transit_encryption: "ENABLED", # accepts ENABLED, DISABLED transit_encryption_port: 1, authorization_config: { access_point_id: "String", iam: "ENABLED", # accepts ENABLED, DISABLED }, }, }, ], environment: [ { name: "String", value: "String", }, ], mount_points: [ { container_path: "String", read_only: false, source_volume: "String", }, ], readonly_root_filesystem: false, privileged: false, ulimits: [ { hard_limit: 1, # required name: "String", # required soft_limit: 1, # required }, ], user: "String", instance_type: "String", resource_requirements: [ { value: "String", # required type: "GPU", # required, accepts GPU, VCPU, MEMORY }, ], linux_parameters: { devices: [ { host_path: "String", # required container_path: "String", permissions: ["READ"], # accepts READ, WRITE, MKNOD }, ], init_process_enabled: false, shared_memory_size: 1, tmpfs: [ { container_path: "String", # required size: 1, # required mount_options: ["String"], }, ], max_swap: 1, swappiness: 1, }, log_configuration: { log_driver: "json-file", # required, accepts json-file, syslog, journald, gelf, fluentd, awslogs, splunk options: { "String" => "String", }, secret_options: [ { name: "String", # required value_from: "String", # required }, ], }, secrets: [ { name: "String", # required value_from: "String", # required }, ], network_configuration: { assign_public_ip: "ENABLED", # accepts ENABLED, DISABLED }, fargate_platform_configuration: { platform_version: "String", }, }, node_properties: { num_nodes: 1, # required main_node: 1, # required node_range_properties: [ # required { target_nodes: "String", # required container: { image: "String", vcpus: 1, memory: 1, command: ["String"], job_role_arn: "String", execution_role_arn: "String", volumes: [ { host: { source_path: "String", }, name: "String", efs_volume_configuration: { file_system_id: "String", # required root_directory: "String", transit_encryption: "ENABLED", # accepts ENABLED, DISABLED transit_encryption_port: 1, authorization_config: { access_point_id: "String", iam: "ENABLED", # accepts ENABLED, DISABLED }, }, }, ], environment: [ { name: "String", value: "String", }, ], mount_points: [ { container_path: "String", read_only: false, source_volume: "String", }, ], readonly_root_filesystem: false, privileged: false, ulimits: [ { hard_limit: 1, # required name: "String", # required soft_limit: 1, # required }, ], user: "String", instance_type: "String", resource_requirements: [ { value: "String", # required type: "GPU", # required, accepts GPU, VCPU, MEMORY }, ], linux_parameters: { devices: [ { host_path: "String", # required container_path: "String", permissions: ["READ"], # accepts READ, WRITE, MKNOD }, ], init_process_enabled: false, shared_memory_size: 1, tmpfs: [ { container_path: "String", # required size: 1, # required mount_options: ["String"], }, ], max_swap: 1, swappiness: 1, }, log_configuration: { log_driver: "json-file", # required, accepts json-file, syslog, journald, gelf, fluentd, awslogs, splunk options: { "String" => "String", }, secret_options: [ { name: "String", # required value_from: "String", # required }, ], }, secrets: [ { name: "String", # required value_from: "String", # required }, ], network_configuration: { assign_public_ip: "ENABLED", # accepts ENABLED, DISABLED }, fargate_platform_configuration: { platform_version: "String", }, }, }, ], }, 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", }, platform_capabilities: ["EC2"], # accepts EC2, FARGATE }
@!attribute [rw] job_definition_name
The name of the job definition to register. Up to 128 letters (uppercase and lowercase), numbers, hyphens, and underscores are allowed. @return [String]
@!attribute [rw] type
The type of job definition. For more information about multi-node parallel jobs, see [Creating a multi-node parallel job definition][1] in the *Batch User Guide*. <note markdown="1"> If the job is run on Fargate resources, then `multinode` isn't supported. </note> [1]: https://docs.aws.amazon.com/batch/latest/userguide/multi-node-job-def.html @return [String]
@!attribute [rw] parameters
Default parameter substitution placeholders to 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. @return [Hash<String,String>]
@!attribute [rw] container_properties
An object with various properties specific to single-node container-based jobs. If the job definition's `type` parameter is `container`, then you must specify either `containerProperties` or `nodeProperties`. <note markdown="1"> If the job runs on Fargate resources, then you must not specify `nodeProperties`; use only `containerProperties`. </note> @return [Types::ContainerProperties]
@!attribute [rw] node_properties
An object with various properties specific to multi-node parallel jobs. If you specify node properties for a job, it becomes a multi-node parallel job. For more information, see [Multi-node Parallel Jobs][1] in the *Batch User Guide*. If the job definition's `type` parameter is `container`, then you must specify either `containerProperties` or `nodeProperties`. <note markdown="1"> If the job runs on Fargate resources, then you must not specify `nodeProperties`; use `containerProperties` instead. </note> [1]: https://docs.aws.amazon.com/batch/latest/userguide/multi-node-parallel-jobs.html @return [Types::NodeProperties]
@!attribute [rw] retry_strategy
The retry strategy to use for failed jobs that are submitted with this job definition. Any retry strategy that's specified during a SubmitJob operation overrides the retry strategy defined here. If a job is terminated due to a timeout, it isn't retried. @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 are not 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. @return [Boolean]
@!attribute [rw] timeout
The timeout configuration for jobs that are submitted with this job definition, after which Batch terminates your jobs if they have not finished. If a job is terminated due to a timeout, it isn't retried. The minimum value for the timeout is 60 seconds. Any timeout configuration that's specified during a SubmitJob operation overrides the timeout configuration defined here. For more information, see [Job Timeouts][1] in the *Batch User Guide*. [1]: https://docs.aws.amazon.com/batch/latest/userguide/job_timeouts.html @return [Types::JobTimeout]
@!attribute [rw] tags
The tags that you apply to the job definition 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 *Batch User Guide*. [1]: https://docs.aws.amazon.com/batch/latest/userguide/using-tags.html @return [Hash<String,String>]
@!attribute [rw] platform_capabilities
The platform capabilities required by the job definition. If no value is specified, it defaults to `EC2`. To run the job on Fargate resources, specify `FARGATE`. @return [Array<String>]
@see docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/RegisterJobDefinitionRequest AWS API Documentation
Constants
- SENSITIVE