aws-sdk-batch 1.40.0 → 1.45.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -3,7 +3,7 @@
3
3
  # WARNING ABOUT GENERATED CODE
4
4
  #
5
5
  # This file is generated. See the contributing guide for more information:
6
- # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
7
  #
8
8
  # WARNING ABOUT GENERATED CODE
9
9
 
@@ -18,6 +18,7 @@ module Aws::Batch
18
18
  ArrayProperties = Shapes::StructureShape.new(name: 'ArrayProperties')
19
19
  ArrayPropertiesDetail = Shapes::StructureShape.new(name: 'ArrayPropertiesDetail')
20
20
  ArrayPropertiesSummary = Shapes::StructureShape.new(name: 'ArrayPropertiesSummary')
21
+ AssignPublicIp = Shapes::StringShape.new(name: 'AssignPublicIp')
21
22
  AttemptContainerDetail = Shapes::StructureShape.new(name: 'AttemptContainerDetail')
22
23
  AttemptDetail = Shapes::StructureShape.new(name: 'AttemptDetail')
23
24
  AttemptDetails = Shapes::ListShape.new(name: 'AttemptDetails')
@@ -62,10 +63,15 @@ module Aws::Batch
62
63
  DeviceCgroupPermission = Shapes::StringShape.new(name: 'DeviceCgroupPermission')
63
64
  DeviceCgroupPermissions = Shapes::ListShape.new(name: 'DeviceCgroupPermissions')
64
65
  DevicesList = Shapes::ListShape.new(name: 'DevicesList')
66
+ Ec2Configuration = Shapes::StructureShape.new(name: 'Ec2Configuration')
67
+ Ec2ConfigurationList = Shapes::ListShape.new(name: 'Ec2ConfigurationList')
65
68
  EnvironmentVariables = Shapes::ListShape.new(name: 'EnvironmentVariables')
66
69
  EvaluateOnExit = Shapes::StructureShape.new(name: 'EvaluateOnExit')
67
70
  EvaluateOnExitList = Shapes::ListShape.new(name: 'EvaluateOnExitList')
71
+ FargatePlatformConfiguration = Shapes::StructureShape.new(name: 'FargatePlatformConfiguration')
68
72
  Host = Shapes::StructureShape.new(name: 'Host')
73
+ ImageIdOverride = Shapes::StringShape.new(name: 'ImageIdOverride')
74
+ ImageType = Shapes::StringShape.new(name: 'ImageType')
69
75
  Integer = Shapes::IntegerShape.new(name: 'Integer')
70
76
  JQState = Shapes::StringShape.new(name: 'JQState')
71
77
  JQStatus = Shapes::StringShape.new(name: 'JQStatus')
@@ -95,6 +101,7 @@ module Aws::Batch
95
101
  Long = Shapes::IntegerShape.new(name: 'Long')
96
102
  MountPoint = Shapes::StructureShape.new(name: 'MountPoint')
97
103
  MountPoints = Shapes::ListShape.new(name: 'MountPoints')
104
+ NetworkConfiguration = Shapes::StructureShape.new(name: 'NetworkConfiguration')
98
105
  NetworkInterface = Shapes::StructureShape.new(name: 'NetworkInterface')
99
106
  NetworkInterfaceList = Shapes::ListShape.new(name: 'NetworkInterfaceList')
100
107
  NodeDetails = Shapes::StructureShape.new(name: 'NodeDetails')
@@ -106,6 +113,8 @@ module Aws::Batch
106
113
  NodeRangeProperties = Shapes::ListShape.new(name: 'NodeRangeProperties')
107
114
  NodeRangeProperty = Shapes::StructureShape.new(name: 'NodeRangeProperty')
108
115
  ParametersMap = Shapes::MapShape.new(name: 'ParametersMap')
116
+ PlatformCapability = Shapes::StringShape.new(name: 'PlatformCapability')
117
+ PlatformCapabilityList = Shapes::ListShape.new(name: 'PlatformCapabilityList')
109
118
  RegisterJobDefinitionRequest = Shapes::StructureShape.new(name: 'RegisterJobDefinitionRequest')
110
119
  RegisterJobDefinitionResponse = Shapes::StructureShape.new(name: 'RegisterJobDefinitionResponse')
111
120
  ResourceRequirement = Shapes::StructureShape.new(name: 'ResourceRequirement')
@@ -204,25 +213,28 @@ module Aws::Batch
204
213
 
205
214
  ComputeResource.add_member(:type, Shapes::ShapeRef.new(shape: CRType, required: true, location_name: "type"))
206
215
  ComputeResource.add_member(:allocation_strategy, Shapes::ShapeRef.new(shape: CRAllocationStrategy, location_name: "allocationStrategy"))
207
- ComputeResource.add_member(:minv_cpus, Shapes::ShapeRef.new(shape: Integer, required: true, location_name: "minvCpus"))
216
+ ComputeResource.add_member(:minv_cpus, Shapes::ShapeRef.new(shape: Integer, location_name: "minvCpus"))
208
217
  ComputeResource.add_member(:maxv_cpus, Shapes::ShapeRef.new(shape: Integer, required: true, location_name: "maxvCpus"))
209
218
  ComputeResource.add_member(:desiredv_cpus, Shapes::ShapeRef.new(shape: Integer, location_name: "desiredvCpus"))
210
- ComputeResource.add_member(:instance_types, Shapes::ShapeRef.new(shape: StringList, required: true, location_name: "instanceTypes"))
211
- ComputeResource.add_member(:image_id, Shapes::ShapeRef.new(shape: String, location_name: "imageId"))
219
+ ComputeResource.add_member(:instance_types, Shapes::ShapeRef.new(shape: StringList, location_name: "instanceTypes"))
220
+ ComputeResource.add_member(:image_id, Shapes::ShapeRef.new(shape: String, deprecated: true, location_name: "imageId", metadata: {"deprecatedMessage"=>"This field is deprecated, use ec2Configuration[].imageIdOverride instead."}))
212
221
  ComputeResource.add_member(:subnets, Shapes::ShapeRef.new(shape: StringList, required: true, location_name: "subnets"))
213
222
  ComputeResource.add_member(:security_group_ids, Shapes::ShapeRef.new(shape: StringList, location_name: "securityGroupIds"))
214
223
  ComputeResource.add_member(:ec2_key_pair, Shapes::ShapeRef.new(shape: String, location_name: "ec2KeyPair"))
215
- ComputeResource.add_member(:instance_role, Shapes::ShapeRef.new(shape: String, required: true, location_name: "instanceRole"))
224
+ ComputeResource.add_member(:instance_role, Shapes::ShapeRef.new(shape: String, location_name: "instanceRole"))
216
225
  ComputeResource.add_member(:tags, Shapes::ShapeRef.new(shape: TagsMap, location_name: "tags"))
217
226
  ComputeResource.add_member(:placement_group, Shapes::ShapeRef.new(shape: String, location_name: "placementGroup"))
218
227
  ComputeResource.add_member(:bid_percentage, Shapes::ShapeRef.new(shape: Integer, location_name: "bidPercentage"))
219
228
  ComputeResource.add_member(:spot_iam_fleet_role, Shapes::ShapeRef.new(shape: String, location_name: "spotIamFleetRole"))
220
229
  ComputeResource.add_member(:launch_template, Shapes::ShapeRef.new(shape: LaunchTemplateSpecification, location_name: "launchTemplate"))
230
+ ComputeResource.add_member(:ec2_configuration, Shapes::ShapeRef.new(shape: Ec2ConfigurationList, location_name: "ec2Configuration"))
221
231
  ComputeResource.struct_class = Types::ComputeResource
222
232
 
223
233
  ComputeResourceUpdate.add_member(:minv_cpus, Shapes::ShapeRef.new(shape: Integer, location_name: "minvCpus"))
224
234
  ComputeResourceUpdate.add_member(:maxv_cpus, Shapes::ShapeRef.new(shape: Integer, location_name: "maxvCpus"))
225
235
  ComputeResourceUpdate.add_member(:desiredv_cpus, Shapes::ShapeRef.new(shape: Integer, location_name: "desiredvCpus"))
236
+ ComputeResourceUpdate.add_member(:subnets, Shapes::ShapeRef.new(shape: StringList, location_name: "subnets"))
237
+ ComputeResourceUpdate.add_member(:security_group_ids, Shapes::ShapeRef.new(shape: StringList, location_name: "securityGroupIds"))
226
238
  ComputeResourceUpdate.struct_class = Types::ComputeResourceUpdate
227
239
 
228
240
  ContainerDetail.add_member(:image, Shapes::ShapeRef.new(shape: String, location_name: "image"))
@@ -249,10 +261,12 @@ module Aws::Batch
249
261
  ContainerDetail.add_member(:linux_parameters, Shapes::ShapeRef.new(shape: LinuxParameters, location_name: "linuxParameters"))
250
262
  ContainerDetail.add_member(:log_configuration, Shapes::ShapeRef.new(shape: LogConfiguration, location_name: "logConfiguration"))
251
263
  ContainerDetail.add_member(:secrets, Shapes::ShapeRef.new(shape: SecretList, location_name: "secrets"))
264
+ ContainerDetail.add_member(:network_configuration, Shapes::ShapeRef.new(shape: NetworkConfiguration, location_name: "networkConfiguration"))
265
+ ContainerDetail.add_member(:fargate_platform_configuration, Shapes::ShapeRef.new(shape: FargatePlatformConfiguration, location_name: "fargatePlatformConfiguration"))
252
266
  ContainerDetail.struct_class = Types::ContainerDetail
253
267
 
254
- ContainerOverrides.add_member(:vcpus, Shapes::ShapeRef.new(shape: Integer, location_name: "vcpus"))
255
- ContainerOverrides.add_member(:memory, Shapes::ShapeRef.new(shape: Integer, location_name: "memory"))
268
+ ContainerOverrides.add_member(:vcpus, Shapes::ShapeRef.new(shape: Integer, deprecated: true, location_name: "vcpus", metadata: {"deprecatedMessage"=>"This field is deprecated, use resourceRequirements instead."}))
269
+ ContainerOverrides.add_member(:memory, Shapes::ShapeRef.new(shape: Integer, deprecated: true, location_name: "memory", metadata: {"deprecatedMessage"=>"This field is deprecated, use resourceRequirements instead."}))
256
270
  ContainerOverrides.add_member(:command, Shapes::ShapeRef.new(shape: StringList, location_name: "command"))
257
271
  ContainerOverrides.add_member(:instance_type, Shapes::ShapeRef.new(shape: String, location_name: "instanceType"))
258
272
  ContainerOverrides.add_member(:environment, Shapes::ShapeRef.new(shape: EnvironmentVariables, location_name: "environment"))
@@ -260,8 +274,8 @@ module Aws::Batch
260
274
  ContainerOverrides.struct_class = Types::ContainerOverrides
261
275
 
262
276
  ContainerProperties.add_member(:image, Shapes::ShapeRef.new(shape: String, location_name: "image"))
263
- ContainerProperties.add_member(:vcpus, Shapes::ShapeRef.new(shape: Integer, location_name: "vcpus"))
264
- ContainerProperties.add_member(:memory, Shapes::ShapeRef.new(shape: Integer, location_name: "memory"))
277
+ ContainerProperties.add_member(:vcpus, Shapes::ShapeRef.new(shape: Integer, deprecated: true, location_name: "vcpus", metadata: {"deprecatedMessage"=>"This field is deprecated, use resourceRequirements instead."}))
278
+ ContainerProperties.add_member(:memory, Shapes::ShapeRef.new(shape: Integer, deprecated: true, location_name: "memory", metadata: {"deprecatedMessage"=>"This field is deprecated, use resourceRequirements instead."}))
265
279
  ContainerProperties.add_member(:command, Shapes::ShapeRef.new(shape: StringList, location_name: "command"))
266
280
  ContainerProperties.add_member(:job_role_arn, Shapes::ShapeRef.new(shape: String, location_name: "jobRoleArn"))
267
281
  ContainerProperties.add_member(:execution_role_arn, Shapes::ShapeRef.new(shape: String, location_name: "executionRoleArn"))
@@ -277,6 +291,8 @@ module Aws::Batch
277
291
  ContainerProperties.add_member(:linux_parameters, Shapes::ShapeRef.new(shape: LinuxParameters, location_name: "linuxParameters"))
278
292
  ContainerProperties.add_member(:log_configuration, Shapes::ShapeRef.new(shape: LogConfiguration, location_name: "logConfiguration"))
279
293
  ContainerProperties.add_member(:secrets, Shapes::ShapeRef.new(shape: SecretList, location_name: "secrets"))
294
+ ContainerProperties.add_member(:network_configuration, Shapes::ShapeRef.new(shape: NetworkConfiguration, location_name: "networkConfiguration"))
295
+ ContainerProperties.add_member(:fargate_platform_configuration, Shapes::ShapeRef.new(shape: FargatePlatformConfiguration, location_name: "fargatePlatformConfiguration"))
280
296
  ContainerProperties.struct_class = Types::ContainerProperties
281
297
 
282
298
  ContainerSummary.add_member(:exit_code, Shapes::ShapeRef.new(shape: Integer, location_name: "exitCode"))
@@ -365,6 +381,12 @@ module Aws::Batch
365
381
 
366
382
  DevicesList.member = Shapes::ShapeRef.new(shape: Device)
367
383
 
384
+ Ec2Configuration.add_member(:image_type, Shapes::ShapeRef.new(shape: ImageType, required: true, location_name: "imageType"))
385
+ Ec2Configuration.add_member(:image_id_override, Shapes::ShapeRef.new(shape: ImageIdOverride, location_name: "imageIdOverride"))
386
+ Ec2Configuration.struct_class = Types::Ec2Configuration
387
+
388
+ Ec2ConfigurationList.member = Shapes::ShapeRef.new(shape: Ec2Configuration)
389
+
368
390
  EnvironmentVariables.member = Shapes::ShapeRef.new(shape: KeyValuePair)
369
391
 
370
392
  EvaluateOnExit.add_member(:on_status_reason, Shapes::ShapeRef.new(shape: String, location_name: "onStatusReason"))
@@ -375,6 +397,9 @@ module Aws::Batch
375
397
 
376
398
  EvaluateOnExitList.member = Shapes::ShapeRef.new(shape: EvaluateOnExit)
377
399
 
400
+ FargatePlatformConfiguration.add_member(:platform_version, Shapes::ShapeRef.new(shape: String, location_name: "platformVersion"))
401
+ FargatePlatformConfiguration.struct_class = Types::FargatePlatformConfiguration
402
+
378
403
  Host.add_member(:source_path, Shapes::ShapeRef.new(shape: String, location_name: "sourcePath"))
379
404
  Host.struct_class = Types::Host
380
405
 
@@ -389,6 +414,8 @@ module Aws::Batch
389
414
  JobDefinition.add_member(:timeout, Shapes::ShapeRef.new(shape: JobTimeout, location_name: "timeout"))
390
415
  JobDefinition.add_member(:node_properties, Shapes::ShapeRef.new(shape: NodeProperties, location_name: "nodeProperties"))
391
416
  JobDefinition.add_member(:tags, Shapes::ShapeRef.new(shape: TagrisTagsMap, location_name: "tags"))
417
+ JobDefinition.add_member(:propagate_tags, Shapes::ShapeRef.new(shape: Boolean, location_name: "propagateTags"))
418
+ JobDefinition.add_member(:platform_capabilities, Shapes::ShapeRef.new(shape: PlatformCapabilityList, location_name: "platformCapabilities"))
392
419
  JobDefinition.struct_class = Types::JobDefinition
393
420
 
394
421
  JobDefinitionList.member = Shapes::ShapeRef.new(shape: JobDefinition)
@@ -419,6 +446,8 @@ module Aws::Batch
419
446
  JobDetail.add_member(:array_properties, Shapes::ShapeRef.new(shape: ArrayPropertiesDetail, location_name: "arrayProperties"))
420
447
  JobDetail.add_member(:timeout, Shapes::ShapeRef.new(shape: JobTimeout, location_name: "timeout"))
421
448
  JobDetail.add_member(:tags, Shapes::ShapeRef.new(shape: TagrisTagsMap, location_name: "tags"))
449
+ JobDetail.add_member(:propagate_tags, Shapes::ShapeRef.new(shape: Boolean, location_name: "propagateTags"))
450
+ JobDetail.add_member(:platform_capabilities, Shapes::ShapeRef.new(shape: PlatformCapabilityList, location_name: "platformCapabilities"))
422
451
  JobDetail.struct_class = Types::JobDetail
423
452
 
424
453
  JobDetailList.member = Shapes::ShapeRef.new(shape: JobDetail)
@@ -503,6 +532,9 @@ module Aws::Batch
503
532
 
504
533
  MountPoints.member = Shapes::ShapeRef.new(shape: MountPoint)
505
534
 
535
+ NetworkConfiguration.add_member(:assign_public_ip, Shapes::ShapeRef.new(shape: AssignPublicIp, location_name: "assignPublicIp"))
536
+ NetworkConfiguration.struct_class = Types::NetworkConfiguration
537
+
506
538
  NetworkInterface.add_member(:attachment_id, Shapes::ShapeRef.new(shape: String, location_name: "attachmentId"))
507
539
  NetworkInterface.add_member(:ipv6_address, Shapes::ShapeRef.new(shape: String, location_name: "ipv6Address"))
508
540
  NetworkInterface.add_member(:private_ipv_4_address, Shapes::ShapeRef.new(shape: String, location_name: "privateIpv4Address"))
@@ -543,14 +575,18 @@ module Aws::Batch
543
575
  ParametersMap.key = Shapes::ShapeRef.new(shape: String)
544
576
  ParametersMap.value = Shapes::ShapeRef.new(shape: String)
545
577
 
578
+ PlatformCapabilityList.member = Shapes::ShapeRef.new(shape: PlatformCapability)
579
+
546
580
  RegisterJobDefinitionRequest.add_member(:job_definition_name, Shapes::ShapeRef.new(shape: String, required: true, location_name: "jobDefinitionName"))
547
581
  RegisterJobDefinitionRequest.add_member(:type, Shapes::ShapeRef.new(shape: JobDefinitionType, required: true, location_name: "type"))
548
582
  RegisterJobDefinitionRequest.add_member(:parameters, Shapes::ShapeRef.new(shape: ParametersMap, location_name: "parameters"))
549
583
  RegisterJobDefinitionRequest.add_member(:container_properties, Shapes::ShapeRef.new(shape: ContainerProperties, location_name: "containerProperties"))
550
584
  RegisterJobDefinitionRequest.add_member(:node_properties, Shapes::ShapeRef.new(shape: NodeProperties, location_name: "nodeProperties"))
551
585
  RegisterJobDefinitionRequest.add_member(:retry_strategy, Shapes::ShapeRef.new(shape: RetryStrategy, location_name: "retryStrategy"))
586
+ RegisterJobDefinitionRequest.add_member(:propagate_tags, Shapes::ShapeRef.new(shape: Boolean, location_name: "propagateTags"))
552
587
  RegisterJobDefinitionRequest.add_member(:timeout, Shapes::ShapeRef.new(shape: JobTimeout, location_name: "timeout"))
553
588
  RegisterJobDefinitionRequest.add_member(:tags, Shapes::ShapeRef.new(shape: TagrisTagsMap, location_name: "tags"))
589
+ RegisterJobDefinitionRequest.add_member(:platform_capabilities, Shapes::ShapeRef.new(shape: PlatformCapabilityList, location_name: "platformCapabilities"))
554
590
  RegisterJobDefinitionRequest.struct_class = Types::RegisterJobDefinitionRequest
555
591
 
556
592
  RegisterJobDefinitionResponse.add_member(:job_definition_name, Shapes::ShapeRef.new(shape: String, required: true, location_name: "jobDefinitionName"))
@@ -588,6 +624,7 @@ module Aws::Batch
588
624
  SubmitJobRequest.add_member(:container_overrides, Shapes::ShapeRef.new(shape: ContainerOverrides, location_name: "containerOverrides"))
589
625
  SubmitJobRequest.add_member(:node_overrides, Shapes::ShapeRef.new(shape: NodeOverrides, location_name: "nodeOverrides"))
590
626
  SubmitJobRequest.add_member(:retry_strategy, Shapes::ShapeRef.new(shape: RetryStrategy, location_name: "retryStrategy"))
627
+ SubmitJobRequest.add_member(:propagate_tags, Shapes::ShapeRef.new(shape: Boolean, location_name: "propagateTags"))
591
628
  SubmitJobRequest.add_member(:timeout, Shapes::ShapeRef.new(shape: JobTimeout, location_name: "timeout"))
592
629
  SubmitJobRequest.add_member(:tags, Shapes::ShapeRef.new(shape: TagrisTagsMap, location_name: "tags"))
593
630
  SubmitJobRequest.struct_class = Types::SubmitJobRequest
@@ -3,7 +3,7 @@
3
3
  # WARNING ABOUT GENERATED CODE
4
4
  #
5
5
  # This file is generated. See the contributing guide for more information:
6
- # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
7
  #
8
8
  # WARNING ABOUT GENERATED CODE
9
9
 
@@ -3,7 +3,7 @@
3
3
  # WARNING ABOUT GENERATED CODE
4
4
  #
5
5
  # This file is generated. See the contributing guide for more information:
6
- # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
7
  #
8
8
  # WARNING ABOUT GENERATED CODE
9
9
 
@@ -3,7 +3,7 @@
3
3
  # WARNING ABOUT GENERATED CODE
4
4
  #
5
5
  # This file is generated. See the contributing guide for more information:
6
- # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
7
  #
8
8
  # WARNING ABOUT GENERATED CODE
9
9
 
@@ -44,7 +44,7 @@ module Aws::Batch
44
44
  # @return [Integer]
45
45
  #
46
46
  # @!attribute [rw] index
47
- # The job index within the array that is associated with this job.
47
+ # The job index within the array that's associated with this job.
48
48
  # This parameter is returned for array job children.
49
49
  # @return [Integer]
50
50
  #
@@ -66,7 +66,7 @@ module Aws::Batch
66
66
  # @return [Integer]
67
67
  #
68
68
  # @!attribute [rw] index
69
- # The job index within the array that is associated with this job.
69
+ # The job index within the array that's associated with this job.
70
70
  # This parameter is returned for children of array jobs.
71
71
  # @return [Integer]
72
72
  #
@@ -79,7 +79,7 @@ module Aws::Batch
79
79
  include Aws::Structure
80
80
  end
81
81
 
82
- # An object representing the details of a container that is part of a
82
+ # An object representing the details of a container that's part of a
83
83
  # job attempt.
84
84
  #
85
85
  # @!attribute [rw] container_instance_arn
@@ -88,7 +88,7 @@ module Aws::Batch
88
88
  # @return [String]
89
89
  #
90
90
  # @!attribute [rw] task_arn
91
- # The Amazon Resource Name (ARN) of the Amazon ECS task that is
91
+ # The Amazon Resource Name (ARN) of the Amazon ECS task that's
92
92
  # associated with the job attempt. Each container attempt receives a
93
93
  # task ARN when they reach the `STARTING` status.
94
94
  # @return [String]
@@ -161,6 +161,8 @@ module Aws::Batch
161
161
  include Aws::Structure
162
162
  end
163
163
 
164
+ # Contains the parameters for `CancelJob`.
165
+ #
164
166
  # @note When making an API call, you may pass CancelJobRequest
165
167
  # data as a hash:
166
168
  #
@@ -195,7 +197,7 @@ module Aws::Batch
195
197
 
196
198
  # These errors are usually caused by a client action, such as using an
197
199
  # action or resource on behalf of a user that doesn't have permissions
198
- # to use the action or resource, or specifying an identifier that is not
200
+ # to use the action or resource, or specifying an identifier that's not
199
201
  # valid.
200
202
  #
201
203
  # @!attribute [rw] message
@@ -212,7 +214,8 @@ module Aws::Batch
212
214
  # An object representing an AWS Batch compute environment.
213
215
  #
214
216
  # @!attribute [rw] compute_environment_name
215
- # The name of the compute environment.
217
+ # The name of the compute environment. Up to 128 letters (uppercase
218
+ # and lowercase), numbers, hyphens, and underscores are allowed.
216
219
  # @return [String]
217
220
  #
218
221
  # @!attribute [rw] compute_environment_arn
@@ -229,7 +232,13 @@ module Aws::Batch
229
232
  # @return [Hash<String,String>]
230
233
  #
231
234
  # @!attribute [rw] type
232
- # The type of the compute environment.
235
+ # The type of the compute environment: `MANAGED` or `UNMANAGED`. For
236
+ # more information, see [Compute Environments][1] in the *AWS Batch
237
+ # User Guide*.
238
+ #
239
+ #
240
+ #
241
+ # [1]: https://docs.aws.amazon.com/batch/latest/userguide/compute_environments.html
233
242
  # @return [String]
234
243
  #
235
244
  # @!attribute [rw] state
@@ -242,10 +251,10 @@ module Aws::Batch
242
251
  # it can scale its instances out or in automatically, based on the job
243
252
  # queue demand.
244
253
  #
245
- # If the state is `DISABLED`, then the AWS Batch scheduler does not
254
+ # If the state is `DISABLED`, then the AWS Batch scheduler doesn't
246
255
  # attempt to place jobs within the environment. Jobs in a `STARTING`
247
256
  # or `RUNNING` state continue to progress normally. Managed compute
248
- # environments in the `DISABLED` state do not scale out. However, they
257
+ # environments in the `DISABLED` state don't scale out. However, they
249
258
  # scale in to `minvCpus` value after instances become idle.
250
259
  # @return [String]
251
260
  #
@@ -260,12 +269,24 @@ module Aws::Batch
260
269
  # @return [String]
261
270
  #
262
271
  # @!attribute [rw] compute_resources
263
- # The compute resources defined for the compute environment.
272
+ # The compute resources defined for the compute environment. For more
273
+ # information, see [Compute Environments][1] in the *AWS Batch User
274
+ # Guide*.
275
+ #
276
+ #
277
+ #
278
+ # [1]: https://docs.aws.amazon.com/batch/latest/userguide/compute_environments.html
264
279
  # @return [Types::ComputeResource]
265
280
  #
266
281
  # @!attribute [rw] service_role
267
282
  # The service role associated with the compute environment that allows
268
- # AWS Batch to make calls to AWS API operations on your behalf.
283
+ # AWS Batch to make calls to AWS API operations on your behalf. For
284
+ # more information, see [AWS Batch service IAM role][1] in the *AWS
285
+ # Batch User Guide*.
286
+ #
287
+ #
288
+ #
289
+ # [1]: https://docs.aws.amazon.com/batch/latest/userguide/service_IAM_role.html
269
290
  # @return [String]
270
291
  #
271
292
  # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/ComputeEnvironmentDetail AWS API Documentation
@@ -289,7 +310,17 @@ module Aws::Batch
289
310
  # within a queue. Compute environments are tried in ascending order. For
290
311
  # example, if two compute environments are associated with a job queue,
291
312
  # the compute environment with a lower order integer value is tried for
292
- # job placement first.
313
+ # job placement first. Compute environments must be in the `VALID` state
314
+ # before you can associate them with a job queue. All of the compute
315
+ # environments must be either EC2 (`EC2` or `SPOT`) or Fargate
316
+ # (`FARGATE` or `FARGATE_SPOT`); EC2 and Fargate compute environments
317
+ # can't be mixed.
318
+ #
319
+ # <note markdown="1"> All compute environments that are associated with a job queue must
320
+ # share the same architecture. AWS Batch doesn't support mixing compute
321
+ # environment architecture types in a single job queue.
322
+ #
323
+ # </note>
293
324
  #
294
325
  # @note When making an API call, you may pass ComputeEnvironmentOrder
295
326
  # data as a hash:
@@ -300,7 +331,10 @@ module Aws::Batch
300
331
  # }
301
332
  #
302
333
  # @!attribute [rw] order
303
- # The order of the compute environment.
334
+ # The order of the compute environment. Compute environments are tried
335
+ # in ascending order. For example, if two compute environments are
336
+ # associated with a job queue, the compute environment with a lower
337
+ # `order` integer value is tried for job placement first.
304
338
  # @return [Integer]
305
339
  #
306
340
  # @!attribute [rw] compute_environment
@@ -316,23 +350,29 @@ module Aws::Batch
316
350
  include Aws::Structure
317
351
  end
318
352
 
319
- # An object representing an AWS Batch compute resource.
353
+ # An object representing an AWS Batch compute resource. For more
354
+ # information, see [Compute Environments][1] in the *AWS Batch User
355
+ # Guide*.
356
+ #
357
+ #
358
+ #
359
+ # [1]: https://docs.aws.amazon.com/batch/latest/userguide/compute_environments.html
320
360
  #
321
361
  # @note When making an API call, you may pass ComputeResource
322
362
  # data as a hash:
323
363
  #
324
364
  # {
325
- # type: "EC2", # required, accepts EC2, SPOT
365
+ # type: "EC2", # required, accepts EC2, SPOT, FARGATE, FARGATE_SPOT
326
366
  # allocation_strategy: "BEST_FIT", # accepts BEST_FIT, BEST_FIT_PROGRESSIVE, SPOT_CAPACITY_OPTIMIZED
327
- # minv_cpus: 1, # required
367
+ # minv_cpus: 1,
328
368
  # maxv_cpus: 1, # required
329
369
  # desiredv_cpus: 1,
330
- # instance_types: ["String"], # required
370
+ # instance_types: ["String"],
331
371
  # image_id: "String",
332
372
  # subnets: ["String"], # required
333
373
  # security_group_ids: ["String"],
334
374
  # ec2_key_pair: "String",
335
- # instance_role: "String", # required
375
+ # instance_role: "String",
336
376
  # tags: {
337
377
  # "String" => "String",
338
378
  # },
@@ -344,30 +384,74 @@ module Aws::Batch
344
384
  # launch_template_name: "String",
345
385
  # version: "String",
346
386
  # },
387
+ # ec2_configuration: [
388
+ # {
389
+ # image_type: "ImageType", # required
390
+ # image_id_override: "ImageIdOverride",
391
+ # },
392
+ # ],
347
393
  # }
348
394
  #
349
395
  # @!attribute [rw] type
350
- # The type of compute environment: `EC2` or `SPOT`.
396
+ # The type of compute environment: `EC2`, `SPOT`, `FARGATE`, or
397
+ # `FARGATE_SPOT`. For more information, see [Compute Environments][1]
398
+ # in the *AWS Batch User Guide*.
399
+ #
400
+ # If you choose `SPOT`, you must also specify an Amazon EC2 Spot Fleet
401
+ # role with the `spotIamFleetRole` parameter. For more information,
402
+ # see [Amazon EC2 Spot Fleet role][2] in the *AWS Batch User Guide*.
403
+ #
404
+ #
405
+ #
406
+ # [1]: https://docs.aws.amazon.com/batch/latest/userguide/compute_environments.html
407
+ # [2]: https://docs.aws.amazon.com/batch/latest/userguide/spot_fleet_IAM_role.html
351
408
  # @return [String]
352
409
  #
353
410
  # @!attribute [rw] allocation_strategy
354
- # The allocation strategy to use for the compute resource in case not
411
+ # The allocation strategy to use for the compute resource if not
355
412
  # enough instances of the best fitting instance type can be allocated.
356
- # This could be due to availability of the instance type in the region
357
- # or [Amazon EC2 service limits][1]. If this is not specified, the
358
- # default is `BEST_FIT`, which will use only the best fitting instance
359
- # type, waiting for additional capacity if it's not available. This
360
- # allocation strategy keeps costs lower but can limit scaling. If you
361
- # are using Spot Fleets with `BEST_FIT` then the Spot Fleet IAM Role
362
- # must be specified. `BEST_FIT_PROGRESSIVE` will select additional
363
- # instance types that are large enough to meet the requirements of the
364
- # jobs in the queue, with a preference for instance types with a lower
365
- # cost per vCPU. `SPOT_CAPACITY_OPTIMIZED` is only available for Spot
366
- # Instance compute resources and will select additional instance types
367
- # that are large enough to meet the requirements of the jobs in the
368
- # queue, with a preference for instance types that are less likely to
369
- # be interrupted. For more information, see [Allocation Strategies][2]
370
- # in the *AWS Batch User Guide*.
413
+ # This might be because of availability of the instance type in the
414
+ # Region or [Amazon EC2 service limits][1]. For more information, see
415
+ # [Allocation Strategies][2] in the *AWS Batch User Guide*.
416
+ #
417
+ # <note markdown="1"> This parameter isn't applicable to jobs running on Fargate
418
+ # resources, and shouldn't be specified.
419
+ #
420
+ # </note>
421
+ #
422
+ # BEST\_FIT (default)
423
+ #
424
+ # : AWS Batch selects an instance type that best fits the needs of the
425
+ # jobs with a preference for the lowest-cost instance type. If
426
+ # additional instances of the selected instance type aren't
427
+ # available, AWS Batch will wait for the additional instances to be
428
+ # available. If there are not enough instances available, or if the
429
+ # user is hitting [Amazon EC2 service limits][1] then additional
430
+ # jobs aren't run until currently running jobs have completed. This
431
+ # allocation strategy keeps costs lower but can limit scaling. If
432
+ # you are using Spot Fleets with `BEST_FIT` then the Spot Fleet IAM
433
+ # Role must be specified.
434
+ #
435
+ # BEST\_FIT\_PROGRESSIVE
436
+ #
437
+ # : AWS Batch will select additional instance types that are large
438
+ # enough to meet the requirements of the jobs in the queue, with a
439
+ # preference for instance types with a lower cost per unit vCPU. If
440
+ # additional instances of the previously selected instance types
441
+ # aren't available, AWS Batch will select new instance types.
442
+ #
443
+ # SPOT\_CAPACITY\_OPTIMIZED
444
+ #
445
+ # : AWS Batch will select one or more instance types that are large
446
+ # enough to meet the requirements of the jobs in the queue, with a
447
+ # preference for instance types that are less likely to be
448
+ # interrupted. This allocation strategy is only available for Spot
449
+ # Instance compute resources.
450
+ #
451
+ # With both `BEST_FIT_PROGRESSIVE` and `SPOT_CAPACITY_OPTIMIZED`
452
+ # strategies, AWS Batch might need to go above `maxvCpus` to meet your
453
+ # capacity requirements. In this event, AWS Batch never exceeds
454
+ # `maxvCpus` by more than a single instance.
371
455
  #
372
456
  #
373
457
  #
@@ -378,35 +462,98 @@ module Aws::Batch
378
462
  # @!attribute [rw] minv_cpus
379
463
  # The minimum number of Amazon EC2 vCPUs that an environment should
380
464
  # maintain (even if the compute environment is `DISABLED`).
465
+ #
466
+ # <note markdown="1"> This parameter isn't applicable to jobs running on Fargate
467
+ # resources, and shouldn't be specified.
468
+ #
469
+ # </note>
381
470
  # @return [Integer]
382
471
  #
383
472
  # @!attribute [rw] maxv_cpus
384
- # The maximum number of Amazon EC2 vCPUs that an environment can
385
- # reach.
473
+ # The maximum number of Amazon EC2 vCPUs that a compute environment
474
+ # can reach.
475
+ #
476
+ # <note markdown="1"> With both `BEST_FIT_PROGRESSIVE` and `SPOT_CAPACITY_OPTIMIZED`
477
+ # allocation strategies, AWS Batch might need to go above `maxvCpus`
478
+ # to meet your capacity requirements. In this event, AWS Batch will
479
+ # never go above `maxvCpus` by more than a single instance (e.g., no
480
+ # more than a single instance from among those specified in your
481
+ # compute environment).
482
+ #
483
+ # </note>
386
484
  # @return [Integer]
387
485
  #
388
486
  # @!attribute [rw] desiredv_cpus
389
487
  # The desired number of Amazon EC2 vCPUS in the compute environment.
488
+ # AWS Batch modifies this value between the minimum and maximum
489
+ # values, based on job queue demand.
490
+ #
491
+ # <note markdown="1"> This parameter isn't applicable to jobs running on Fargate
492
+ # resources, and shouldn't be specified.
493
+ #
494
+ # </note>
390
495
  # @return [Integer]
391
496
  #
392
497
  # @!attribute [rw] instance_types
393
- # The instances types that may be launched. You can specify instance
498
+ # The instances types that can be launched. You can specify instance
394
499
  # families to launch any instance type within those families (for
395
500
  # example, `c5` or `p3`), or you can specify specific sizes within a
396
- # family (such as `c5.8xlarge`). You can also choose `optimal` to pick
397
- # instance types (from the C, M, and R instance families) on the fly
398
- # that match the demand of your job queues.
501
+ # family (such as `c5.8xlarge`). You can also choose `optimal` to
502
+ # select instance types (from the C4, M4, and R4 instance families) on
503
+ # the fly that match the demand of your job queues.
504
+ #
505
+ # <note markdown="1"> This parameter isn't applicable to jobs running on Fargate
506
+ # resources, and shouldn't be specified.
507
+ #
508
+ # </note>
509
+ #
510
+ # <note markdown="1"> When you create a compute environment, the instance types that you
511
+ # select for the compute environment must share the same architecture.
512
+ # For example, you can't mix x86 and ARM instances in the same
513
+ # compute environment.
514
+ #
515
+ # </note>
516
+ #
517
+ # <note markdown="1"> Currently, `optimal` uses instance types from the C4, M4, and R4
518
+ # instance families. In Regions that don't have instance types from
519
+ # those instance families, instance types from the C5, M5. and R5
520
+ # instance families are used.
521
+ #
522
+ # </note>
399
523
  # @return [Array<String>]
400
524
  #
401
525
  # @!attribute [rw] image_id
402
526
  # The Amazon Machine Image (AMI) ID used for instances launched in the
403
- # compute environment.
527
+ # compute environment. This parameter is overridden by the
528
+ # `imageIdOverride` member of the `Ec2Configuration` structure.
529
+ #
530
+ # <note markdown="1"> This parameter isn't applicable to jobs running on Fargate
531
+ # resources, and shouldn't be specified.
532
+ #
533
+ # </note>
534
+ #
535
+ # <note markdown="1"> The AMI that you choose for a compute environment must match the
536
+ # architecture of the instance types that you intend to use for that
537
+ # compute environment. For example, if your compute environment uses
538
+ # A1 instance types, the compute resource AMI that you choose must
539
+ # support ARM instances. Amazon ECS vends both x86 and ARM versions of
540
+ # the Amazon ECS-optimized Amazon Linux 2 AMI. For more information,
541
+ # see [Amazon ECS-optimized Amazon Linux 2 AMI][1] in the *Amazon
542
+ # Elastic Container Service Developer Guide*.
543
+ #
544
+ # </note>
545
+ #
546
+ #
547
+ #
548
+ # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html#ecs-optimized-ami-linux-variants.html
404
549
  # @return [String]
405
550
  #
406
551
  # @!attribute [rw] subnets
407
- # The VPC subnets into which the compute resources are launched. For
408
- # more information, see [VPCs and Subnets][1] in the *Amazon VPC User
409
- # Guide*.
552
+ # The VPC subnets into which the compute resources are launched. These
553
+ # subnets must be within the same VPC. This parameter is required for
554
+ # jobs running on Fargate resources, where it can contain up to 16
555
+ # subnets. For more information, see [VPCs and Subnets][1] in the
556
+ # *Amazon VPC User Guide*.
410
557
  #
411
558
  #
412
559
  #
@@ -417,14 +564,22 @@ module Aws::Batch
417
564
  # The Amazon EC2 security groups associated with instances launched in
418
565
  # the compute environment. One or more security groups must be
419
566
  # specified, either in `securityGroupIds` or using a launch template
420
- # referenced in `launchTemplate`. If security groups are specified
421
- # using both `securityGroupIds` and `launchTemplate`, the values in
422
- # `securityGroupIds` will be used.
567
+ # referenced in `launchTemplate`. This parameter is required for jobs
568
+ # running on Fargate resources and must contain at least one security
569
+ # group. (Fargate does not support launch templates.) If security
570
+ # groups are specified using both `securityGroupIds` and
571
+ # `launchTemplate`, the values in `securityGroupIds` will be used.
423
572
  # @return [Array<String>]
424
573
  #
425
574
  # @!attribute [rw] ec2_key_pair
426
- # The Amazon EC2 key pair that is used for instances launched in the
427
- # compute environment.
575
+ # The Amazon EC2 key pair that's used for instances launched in the
576
+ # compute environment. You can use this key pair to log in to your
577
+ # instances with SSH.
578
+ #
579
+ # <note markdown="1"> This parameter isn't applicable to jobs running on Fargate
580
+ # resources, and shouldn't be specified.
581
+ #
582
+ # </note>
428
583
  # @return [String]
429
584
  #
430
585
  # @!attribute [rw] instance_role
@@ -436,21 +591,32 @@ module Aws::Batch
436
591
  # For more information, see [Amazon ECS Instance Role][1] in the *AWS
437
592
  # Batch User Guide*.
438
593
  #
594
+ # <note markdown="1"> This parameter isn't applicable to jobs running on Fargate
595
+ # resources, and shouldn't be specified.
596
+ #
597
+ # </note>
598
+ #
439
599
  #
440
600
  #
441
601
  # [1]: https://docs.aws.amazon.com/batch/latest/userguide/instance_IAM_role.html
442
602
  # @return [String]
443
603
  #
444
604
  # @!attribute [rw] tags
445
- # Key-value pair tags to be applied to resources that are launched in
446
- # the compute environment. For AWS Batch, these take the form of
605
+ # Key-value pair tags to be applied to EC2 resources that are launched
606
+ # in the compute environment. For AWS Batch, these take the form of
447
607
  # "String1": "String2", where String1 is the tag key and String2
448
- # is the tag valuefor example, \\\{ "Name": "AWS Batch Instance -
449
- # C4OnDemand" \\}. These tags can not be updated or removed after the
450
- # compute environment has been created; any changes require creating a
451
- # new compute environment and removing the old compute environment.
452
- # These tags are not seen when using the AWS Batch ListTagsForResource
453
- # API operation.
608
+ # is the tag valuefor example, \\\{ "Name": "AWS Batch Instance -
609
+ # C4OnDemand" \\}. This is helpful for recognizing your AWS Batch
610
+ # instances in the Amazon EC2 console. These tags can't be updated or
611
+ # removed after the compute environment has been created; any changes
612
+ # require creating a new compute environment and removing the old
613
+ # compute environment. These tags are not seen when using the AWS
614
+ # Batch `ListTagsForResource` API operation.
615
+ #
616
+ # <note markdown="1"> This parameter isn't applicable to jobs running on Fargate
617
+ # resources, and shouldn't be specified.
618
+ #
619
+ # </note>
454
620
  # @return [Hash<String,String>]
455
621
  #
456
622
  # @!attribute [rw] placement_group
@@ -463,6 +629,11 @@ module Aws::Batch
463
629
  # potential. For more information, see [Placement Groups][1] in the
464
630
  # *Amazon EC2 User Guide for Linux Instances*.
465
631
  #
632
+ # <note markdown="1"> This parameter isn't applicable to jobs running on Fargate
633
+ # resources, and shouldn't be specified.
634
+ #
635
+ # </note>
636
+ #
466
637
  #
467
638
  #
468
639
  # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/placement-groups.html
@@ -472,23 +643,41 @@ module Aws::Batch
472
643
  # The maximum percentage that a Spot Instance price can be when
473
644
  # compared with the On-Demand price for that instance type before
474
645
  # instances are launched. For example, if your maximum percentage is
475
- # 20%, then the Spot price must be below 20% of the current On-Demand
476
- # price for that Amazon EC2 instance. You always pay the lowest
477
- # (market) price and never more than your maximum percentage. If you
478
- # leave this field empty, the default value is 100% of the On-Demand
479
- # price.
646
+ # 20%, then the Spot price must be less than 20% of the current
647
+ # On-Demand price for that Amazon EC2 instance. You always pay the
648
+ # lowest (market) price and never more than your maximum percentage.
649
+ # If you leave this field empty, the default value is 100% of the
650
+ # On-Demand price.
651
+ #
652
+ # <note markdown="1"> This parameter isn't applicable to jobs running on Fargate
653
+ # resources, and shouldn't be specified.
654
+ #
655
+ # </note>
480
656
  # @return [Integer]
481
657
  #
482
658
  # @!attribute [rw] spot_iam_fleet_role
483
659
  # The Amazon Resource Name (ARN) of the Amazon EC2 Spot Fleet IAM role
484
660
  # applied to a `SPOT` compute environment. This role is required if
485
661
  # the allocation strategy set to `BEST_FIT` or if the allocation
486
- # strategy is not specified. For more information, see [Amazon EC2
662
+ # strategy isn't specified. For more information, see [Amazon EC2
487
663
  # Spot Fleet Role][1] in the *AWS Batch User Guide*.
488
664
  #
665
+ # <note markdown="1"> This parameter isn't applicable to jobs running on Fargate
666
+ # resources, and shouldn't be specified.
667
+ #
668
+ # </note>
669
+ #
670
+ # To tag your Spot Instances on creation, the Spot Fleet IAM role
671
+ # specified here must use the newer **AmazonEC2SpotFleetTaggingRole**
672
+ # managed policy. The previously recommended
673
+ # **AmazonEC2SpotFleetRole** managed policy doesn't have the required
674
+ # permissions to tag Spot Instances. For more information, see [Spot
675
+ # Instances not tagged on creation][2] in the *AWS Batch User Guide*.
676
+ #
489
677
  #
490
678
  #
491
679
  # [1]: https://docs.aws.amazon.com/batch/latest/userguide/spot_fleet_IAM_role.html
680
+ # [2]: https://docs.aws.amazon.com/batch/latest/userguide/troubleshooting.html#spot-instance-no-tag
492
681
  # @return [String]
493
682
  #
494
683
  # @!attribute [rw] launch_template
@@ -500,11 +689,27 @@ module Aws::Batch
500
689
  # information, see [Launch Template Support][1] in the *AWS Batch User
501
690
  # Guide*.
502
691
  #
692
+ # <note markdown="1"> This parameter isn't applicable to jobs running on Fargate
693
+ # resources, and shouldn't be specified.
694
+ #
695
+ # </note>
696
+ #
503
697
  #
504
698
  #
505
699
  # [1]: https://docs.aws.amazon.com/batch/latest/userguide/launch-templates.html
506
700
  # @return [Types::LaunchTemplateSpecification]
507
701
  #
702
+ # @!attribute [rw] ec2_configuration
703
+ # Provides information used to select Amazon Machine Images (AMIs) for
704
+ # EC2 instances in the compute environment. If `Ec2Configuration`
705
+ # isn't specified, the default is `ECS_AL1`.
706
+ #
707
+ # <note markdown="1"> This parameter isn't applicable to jobs running on Fargate
708
+ # resources, and shouldn't be specified.
709
+ #
710
+ # </note>
711
+ # @return [Array<Types::Ec2Configuration>]
712
+ #
508
713
  # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/ComputeResource AWS API Documentation
509
714
  #
510
715
  class ComputeResource < Struct.new(
@@ -523,13 +728,19 @@ module Aws::Batch
523
728
  :placement_group,
524
729
  :bid_percentage,
525
730
  :spot_iam_fleet_role,
526
- :launch_template)
731
+ :launch_template,
732
+ :ec2_configuration)
527
733
  SENSITIVE = []
528
734
  include Aws::Structure
529
735
  end
530
736
 
531
737
  # An object representing the attributes of a compute environment that
532
- # can be updated.
738
+ # can be updated. For more information, see [Compute Environments][1] in
739
+ # the *AWS Batch User Guide*.
740
+ #
741
+ #
742
+ #
743
+ # [1]: https://docs.aws.amazon.com/batch/latest/userguide/compute_environments.html
533
744
  #
534
745
  # @note When making an API call, you may pass ComputeResourceUpdate
535
746
  # data as a hash:
@@ -538,33 +749,79 @@ module Aws::Batch
538
749
  # minv_cpus: 1,
539
750
  # maxv_cpus: 1,
540
751
  # desiredv_cpus: 1,
752
+ # subnets: ["String"],
753
+ # security_group_ids: ["String"],
541
754
  # }
542
755
  #
543
756
  # @!attribute [rw] minv_cpus
544
757
  # The minimum number of Amazon EC2 vCPUs that an environment should
545
758
  # maintain.
759
+ #
760
+ # <note markdown="1"> This parameter isn't applicable to jobs running on Fargate
761
+ # resources, and shouldn't be specified.
762
+ #
763
+ # </note>
546
764
  # @return [Integer]
547
765
  #
548
766
  # @!attribute [rw] maxv_cpus
549
767
  # The maximum number of Amazon EC2 vCPUs that an environment can
550
768
  # reach.
769
+ #
770
+ # <note markdown="1"> With both `BEST_FIT_PROGRESSIVE` and `SPOT_CAPACITY_OPTIMIZED`
771
+ # allocation strategies, AWS Batch might need to go above `maxvCpus`
772
+ # to meet your capacity requirements. In this event, AWS Batch will
773
+ # never go above `maxvCpus` by more than a single instance (e.g., no
774
+ # more than a single instance from among those specified in your
775
+ # compute environment).
776
+ #
777
+ # </note>
551
778
  # @return [Integer]
552
779
  #
553
780
  # @!attribute [rw] desiredv_cpus
554
781
  # The desired number of Amazon EC2 vCPUS in the compute environment.
782
+ #
783
+ # <note markdown="1"> This parameter isn't applicable to jobs running on Fargate
784
+ # resources, and shouldn't be specified.
785
+ #
786
+ # </note>
555
787
  # @return [Integer]
556
788
  #
789
+ # @!attribute [rw] subnets
790
+ # The VPC subnets that the compute resources are launched into. This
791
+ # parameter is required for jobs running on Fargate compute resources,
792
+ # where it can contain up to 16 subnets. For more information, see
793
+ # [VPCs and Subnets][1] in the *Amazon VPC User Guide*. This can't be
794
+ # specified for EC2 compute resources. Providing an empty list will be
795
+ # handled as if this parameter wasn't specified and no change is
796
+ # made.
797
+ #
798
+ #
799
+ #
800
+ # [1]: https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Subnets.html
801
+ # @return [Array<String>]
802
+ #
803
+ # @!attribute [rw] security_group_ids
804
+ # The Amazon EC2 security groups associated with instances launched in
805
+ # the compute environment. This parameter is required for Fargate
806
+ # compute resources, where it can contain up to 5 security groups.
807
+ # This can't be specified for EC2 compute resources. Providing an
808
+ # empty list is handled as if this parameter wasn't specified and no
809
+ # change is made.
810
+ # @return [Array<String>]
811
+ #
557
812
  # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/ComputeResourceUpdate AWS API Documentation
558
813
  #
559
814
  class ComputeResourceUpdate < Struct.new(
560
815
  :minv_cpus,
561
816
  :maxv_cpus,
562
- :desiredv_cpus)
817
+ :desiredv_cpus,
818
+ :subnets,
819
+ :security_group_ids)
563
820
  SENSITIVE = []
564
821
  include Aws::Structure
565
822
  end
566
823
 
567
- # An object representing the details of a container that is part of a
824
+ # An object representing the details of a container that's part of a
568
825
  # job.
569
826
  #
570
827
  # @!attribute [rw] image
@@ -572,17 +829,38 @@ module Aws::Batch
572
829
  # @return [String]
573
830
  #
574
831
  # @!attribute [rw] vcpus
575
- # The number of VCPUs allocated for the job. This is a required
576
- # parameter.
832
+ # The number of vCPUs reserved for the container. Jobs running on EC2
833
+ # resources can specify the vCPU requirement for the job using
834
+ # `resourceRequirements` but the vCPU requirements can't be specified
835
+ # both here and in the `resourceRequirement` object. This parameter
836
+ # maps to `CpuShares` in the [Create a container][1] section of the
837
+ # [Docker Remote API][2] and the `--cpu-shares` option to [docker
838
+ # run][3]. Each vCPU is equivalent to 1,024 CPU shares. You must
839
+ # specify at least one vCPU. This is required but can be specified in
840
+ # several places. It must be specified for each node at least once.
841
+ #
842
+ # <note markdown="1"> This parameter isn't applicable to jobs running on Fargate
843
+ # resources. Jobs running on Fargate resources must specify the vCPU
844
+ # requirement for the job using `resourceRequirements`.
845
+ #
846
+ # </note>
847
+ #
848
+ #
849
+ #
850
+ # [1]: https://docs.docker.com/engine/api/v1.23/#create-a-container
851
+ # [2]: https://docs.docker.com/engine/api/v1.23/
852
+ # [3]: https://docs.docker.com/engine/reference/run/
577
853
  # @return [Integer]
578
854
  #
579
855
  # @!attribute [rw] memory
580
- # The number of MiB of memory reserved for the job. This is a required
581
- # parameter.
856
+ # For jobs run on EC2 resources that didn't specify memory
857
+ # requirements using `ResourceRequirement`, the number of MiB of
858
+ # memory reserved for the job. For other jobs, including all run on
859
+ # Fargate resources, see `resourceRequirements`.
582
860
  # @return [Integer]
583
861
  #
584
862
  # @!attribute [rw] command
585
- # The command that is passed to the container.
863
+ # The command that's passed to the container.
586
864
  # @return [Array<String>]
587
865
  #
588
866
  # @!attribute [rw] job_role_arn
@@ -593,7 +871,7 @@ module Aws::Batch
593
871
  # @!attribute [rw] execution_role_arn
594
872
  # The Amazon Resource Name (ARN) of the execution role that AWS Batch
595
873
  # can assume. For more information, see [AWS Batch execution IAM
596
- # role][1].
874
+ # role][1] in the *AWS Batch User Guide*.
597
875
  #
598
876
  #
599
877
  #
@@ -620,21 +898,55 @@ module Aws::Batch
620
898
  #
621
899
  # @!attribute [rw] readonly_root_filesystem
622
900
  # When this parameter is true, the container is given read-only access
623
- # to its root file system.
901
+ # to its root file system. This parameter maps to `ReadonlyRootfs` in
902
+ # the [Create a container][1] section of the [Docker Remote API][2]
903
+ # and the `--read-only` option to [ `docker run` ][3].
904
+ #
905
+ #
906
+ #
907
+ # [1]: https://docs.docker.com/engine/api/v1.23/#create-a-container
908
+ # [2]: https://docs.docker.com/engine/api/v1.23/
909
+ # [3]: https://docs.docker.com/engine/reference/commandline/run/
624
910
  # @return [Boolean]
625
911
  #
626
912
  # @!attribute [rw] ulimits
627
- # A list of `ulimit` values to set in the container.
913
+ # A list of `ulimit` values to set in the container. This parameter
914
+ # maps to `Ulimits` in the [Create a container][1] section of the
915
+ # [Docker Remote API][2] and the `--ulimit` option to [docker run][3].
916
+ #
917
+ # <note markdown="1"> This parameter isn't applicable to jobs running on Fargate
918
+ # resources.
919
+ #
920
+ # </note>
921
+ #
922
+ #
923
+ #
924
+ # [1]: https://docs.docker.com/engine/api/v1.23/#create-a-container
925
+ # [2]: https://docs.docker.com/engine/api/v1.23/
926
+ # [3]: https://docs.docker.com/engine/reference/run/
628
927
  # @return [Array<Types::Ulimit>]
629
928
  #
630
929
  # @!attribute [rw] privileged
631
930
  # When this parameter is true, the container is given elevated
632
- # privileges on the host container instance (similar to the `root`
633
- # user).
931
+ # permissions on the host container instance (similar to the `root`
932
+ # user). The default value is false.
933
+ #
934
+ # <note markdown="1"> This parameter isn't applicable to jobs running on Fargate
935
+ # resources and shouldn't be provided, or specified as false.
936
+ #
937
+ # </note>
634
938
  # @return [Boolean]
635
939
  #
636
940
  # @!attribute [rw] user
637
- # The user name to use inside the container.
941
+ # The user name to use inside the container. This parameter maps to
942
+ # `User` in the [Create a container][1] section of the [Docker Remote
943
+ # API][2] and the `--user` option to [docker run][3].
944
+ #
945
+ #
946
+ #
947
+ # [1]: https://docs.docker.com/engine/api/v1.23/#create-a-container
948
+ # [2]: https://docs.docker.com/engine/api/v1.23/
949
+ # [3]: https://docs.docker.com/engine/reference/run/
638
950
  # @return [String]
639
951
  #
640
952
  # @!attribute [rw] exit_code
@@ -647,12 +959,12 @@ module Aws::Batch
647
959
  # @return [String]
648
960
  #
649
961
  # @!attribute [rw] container_instance_arn
650
- # The Amazon Resource Name (ARN) of the container instance on which
651
- # the container is running.
962
+ # The Amazon Resource Name (ARN) of the container instance that the
963
+ # container is running on.
652
964
  # @return [String]
653
965
  #
654
966
  # @!attribute [rw] task_arn
655
- # The Amazon Resource Name (ARN) of the Amazon ECS task that is
967
+ # The Amazon Resource Name (ARN) of the Amazon ECS task that's
656
968
  # associated with the container job. Each container attempt receives a
657
969
  # task ARN when they reach the `STARTING` status.
658
970
  # @return [String]
@@ -667,6 +979,11 @@ module Aws::Batch
667
979
  # @!attribute [rw] instance_type
668
980
  # The instance type of the underlying host infrastructure of a
669
981
  # multi-node parallel job.
982
+ #
983
+ # <note markdown="1"> This parameter isn't applicable to jobs running on Fargate
984
+ # resources.
985
+ #
986
+ # </note>
670
987
  # @return [String]
671
988
  #
672
989
  # @!attribute [rw] network_interfaces
@@ -674,8 +991,8 @@ module Aws::Batch
674
991
  # @return [Array<Types::NetworkInterface>]
675
992
  #
676
993
  # @!attribute [rw] resource_requirements
677
- # The type and amount of a resource to assign to a container.
678
- # Currently, the only supported resource is `GPU`.
994
+ # The type and amount of resources to assign to a container. The
995
+ # supported resources include `GPU`, `MEMORY`, and `VCPU`.
679
996
  # @return [Array<Types::ResourceRequirement>]
680
997
  #
681
998
  # @!attribute [rw] linux_parameters
@@ -689,19 +1006,20 @@ module Aws::Batch
689
1006
  # This parameter maps to `LogConfig` in the [Create a container][1]
690
1007
  # section of the [Docker Remote API][2] and the `--log-driver` option
691
1008
  # to [docker run][3]. By default, containers use the same logging
692
- # driver that the Docker daemon uses. However the container may use a
693
- # different logging driver than the Docker daemon by specifying a log
694
- # driver with this parameter in the container definition. To use a
1009
+ # driver that the Docker daemon uses. However the container might use
1010
+ # a different logging driver than the Docker daemon by specifying a
1011
+ # log driver with this parameter in the container definition. To use a
695
1012
  # different logging driver for a container, the log system must be
696
- # configured properly on the container instance (or on a different log
697
- # server for remote logging options). For more information on the
698
- # options for different supported log drivers, see [Configure logging
699
- # drivers][4] in the Docker documentation.
1013
+ # configured properly on the container instance. Or, alternatively, it
1014
+ # must be configured on a different log server for remote logging
1015
+ # options. For more information on the options for different supported
1016
+ # log drivers, see [Configure logging drivers][4] in the Docker
1017
+ # documentation.
700
1018
  #
701
1019
  # <note markdown="1"> AWS Batch currently supports a subset of the logging drivers
702
1020
  # available to the Docker daemon (shown in the LogConfiguration data
703
- # type). Additional log drivers may be available in future releases of
704
- # the Amazon ECS container agent.
1021
+ # type). Additional log drivers might be available in future releases
1022
+ # of the Amazon ECS container agent.
705
1023
  #
706
1024
  # </note>
707
1025
  #
@@ -732,14 +1050,23 @@ module Aws::Batch
732
1050
  #
733
1051
  # @!attribute [rw] secrets
734
1052
  # The secrets to pass to the container. For more information, see
735
- # [Specifying Sensitive Data][1] in the *Amazon Elastic Container
736
- # Service Developer Guide*.
1053
+ # [Specifying sensitive data][1] in the *AWS Batch User Guide*.
737
1054
  #
738
1055
  #
739
1056
  #
740
- # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/specifying-sensitive-data.html
1057
+ # [1]: https://docs.aws.amazon.com/batch/latest/userguide/specifying-sensitive-data.html
741
1058
  # @return [Array<Types::Secret>]
742
1059
  #
1060
+ # @!attribute [rw] network_configuration
1061
+ # The network configuration for jobs running on Fargate resources.
1062
+ # Jobs running on EC2 resources must not specify this parameter.
1063
+ # @return [Types::NetworkConfiguration]
1064
+ #
1065
+ # @!attribute [rw] fargate_platform_configuration
1066
+ # The platform configuration for jobs running on Fargate resources.
1067
+ # Jobs running on EC2 resources must not specify this parameter.
1068
+ # @return [Types::FargatePlatformConfiguration]
1069
+ #
743
1070
  # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/ContainerDetail AWS API Documentation
744
1071
  #
745
1072
  class ContainerDetail < Struct.new(
@@ -766,7 +1093,9 @@ module Aws::Batch
766
1093
  :resource_requirements,
767
1094
  :linux_parameters,
768
1095
  :log_configuration,
769
- :secrets)
1096
+ :secrets,
1097
+ :network_configuration,
1098
+ :fargate_platform_configuration)
770
1099
  SENSITIVE = []
771
1100
  include Aws::Structure
772
1101
  end
@@ -790,19 +1119,43 @@ module Aws::Batch
790
1119
  # resource_requirements: [
791
1120
  # {
792
1121
  # value: "String", # required
793
- # type: "GPU", # required, accepts GPU
1122
+ # type: "GPU", # required, accepts GPU, VCPU, MEMORY
794
1123
  # },
795
1124
  # ],
796
1125
  # }
797
1126
  #
798
1127
  # @!attribute [rw] vcpus
799
- # The number of vCPUs to reserve for the container. This value
800
- # overrides the value set in the job definition.
1128
+ # This parameter is deprecated and not supported for jobs run on
1129
+ # Fargate resources, see `resourceRequirement`. For jobs run on EC2
1130
+ # resources, the number of vCPUs to reserve for the container. This
1131
+ # value overrides the value set in the job definition. Jobs run on EC2
1132
+ # resources can specify the vCPU requirement using
1133
+ # `resourceRequirement` but the vCPU requirements can't be specified
1134
+ # both here and in `resourceRequirement`. This parameter maps to
1135
+ # `CpuShares` in the [Create a container][1] section of the [Docker
1136
+ # Remote API][2] and the `--cpu-shares` option to [docker run][3].
1137
+ # Each vCPU is equivalent to 1,024 CPU shares. You must specify at
1138
+ # least one vCPU.
1139
+ #
1140
+ # <note markdown="1"> This parameter isn't applicable to jobs running on Fargate
1141
+ # resources and shouldn't be provided. Jobs running on Fargate
1142
+ # resources must specify the vCPU requirement for the job using
1143
+ # `resourceRequirements`.
1144
+ #
1145
+ # </note>
1146
+ #
1147
+ #
1148
+ #
1149
+ # [1]: https://docs.docker.com/engine/api/v1.23/#create-a-container
1150
+ # [2]: https://docs.docker.com/engine/api/v1.23/
1151
+ # [3]: https://docs.docker.com/engine/reference/run/
801
1152
  # @return [Integer]
802
1153
  #
803
1154
  # @!attribute [rw] memory
804
- # The number of MiB of memory reserved for the job. This value
805
- # overrides the value set in the job definition.
1155
+ # This parameter is deprecated and not supported for jobs run on
1156
+ # Fargate resources, use `ResourceRequirement`. For jobs run on EC2
1157
+ # resource, the number of MiB of memory reserved for the job. This
1158
+ # value overrides the value set in the job definition.
806
1159
  # @return [Integer]
807
1160
  #
808
1161
  # @!attribute [rw] command
@@ -811,8 +1164,12 @@ module Aws::Batch
811
1164
  # @return [Array<String>]
812
1165
  #
813
1166
  # @!attribute [rw] instance_type
814
- # The instance type to use for a multi-node parallel job. This
815
- # parameter is not valid for single-node container jobs.
1167
+ # The instance type to use for a multi-node parallel job.
1168
+ #
1169
+ # <note markdown="1"> This parameter isn't applicable to single-node container jobs or
1170
+ # for jobs running on Fargate resources and shouldn't be provided.
1171
+ #
1172
+ # </note>
816
1173
  # @return [String]
817
1174
  #
818
1175
  # @!attribute [rw] environment
@@ -829,9 +1186,9 @@ module Aws::Batch
829
1186
  # @return [Array<Types::KeyValuePair>]
830
1187
  #
831
1188
  # @!attribute [rw] resource_requirements
832
- # The type and amount of a resource to assign to a container. This
833
- # value overrides the value set in the job definition. Currently, the
834
- # only supported resource is `GPU`.
1189
+ # The type and amount of resources to assign to a container. This
1190
+ # overrides the settings in the job definition. The supported
1191
+ # resources include `GPU`, `MEMORY`, and `VCPU`.
835
1192
  # @return [Array<Types::ResourceRequirement>]
836
1193
  #
837
1194
  # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/ContainerOverrides AWS API Documentation
@@ -848,7 +1205,7 @@ module Aws::Batch
848
1205
  end
849
1206
 
850
1207
  # Container properties are used in job definitions to describe the
851
- # container that is launched as part of a job.
1208
+ # container that's launched as part of a job.
852
1209
  #
853
1210
  # @note When making an API call, you may pass ContainerProperties
854
1211
  # data as a hash:
@@ -895,7 +1252,7 @@ module Aws::Batch
895
1252
  # resource_requirements: [
896
1253
  # {
897
1254
  # value: "String", # required
898
- # type: "GPU", # required, accepts GPU
1255
+ # type: "GPU", # required, accepts GPU, VCPU, MEMORY
899
1256
  # },
900
1257
  # ],
901
1258
  # linux_parameters: {
@@ -936,6 +1293,12 @@ module Aws::Batch
936
1293
  # value_from: "String", # required
937
1294
  # },
938
1295
  # ],
1296
+ # network_configuration: {
1297
+ # assign_public_ip: "ENABLED", # accepts ENABLED, DISABLED
1298
+ # },
1299
+ # fargate_platform_configuration: {
1300
+ # platform_version: "String",
1301
+ # },
939
1302
  # }
940
1303
  #
941
1304
  # @!attribute [rw] image
@@ -948,6 +1311,12 @@ module Aws::Batch
948
1311
  # `Image` in the [Create a container][1] section of the [Docker Remote
949
1312
  # API][2] and the `IMAGE` parameter of [docker run][3].
950
1313
  #
1314
+ # <note markdown="1"> Docker image architecture must match the processor architecture of
1315
+ # the compute resources that they're scheduled on. For example,
1316
+ # ARM-based Docker images can only run on ARM-based compute resources.
1317
+ #
1318
+ # </note>
1319
+ #
951
1320
  # * Images in Amazon ECR repositories use the full registry and
952
1321
  # repository URI (for example,
953
1322
  # `012345678910.dkr.ecr.<region-name>.amazonaws.com/<repository-name>`).
@@ -969,13 +1338,24 @@ module Aws::Batch
969
1338
  # @return [String]
970
1339
  #
971
1340
  # @!attribute [rw] vcpus
972
- # The number of vCPUs reserved for the container. This parameter maps
973
- # to `CpuShares` in the [Create a container][1] section of the [Docker
974
- # Remote API][2] and the `--cpu-shares` option to [docker run][3].
975
- # Each vCPU is equivalent to 1,024 CPU shares. You must specify at
976
- # least one vCPU. This is required but can be specified in several
977
- # places for multi-node parallel (MNP) jobs; it must be specified for
978
- # each node at least once.
1341
+ # This parameter is deprecated and not supported for jobs run on
1342
+ # Fargate resources, see `resourceRequirement`. The number of vCPUs
1343
+ # reserved for the container. Jobs running on EC2 resources can
1344
+ # specify the vCPU requirement for the job using
1345
+ # `resourceRequirements` but the vCPU requirements can't be specified
1346
+ # both here and in the `resourceRequirement` structure. This parameter
1347
+ # maps to `CpuShares` in the [Create a container][1] section of the
1348
+ # [Docker Remote API][2] and the `--cpu-shares` option to [docker
1349
+ # run][3]. Each vCPU is equivalent to 1,024 CPU shares. You must
1350
+ # specify at least one vCPU. This is required but can be specified in
1351
+ # several places. It must be specified for each node at least once.
1352
+ #
1353
+ # <note markdown="1"> This parameter isn't applicable to jobs running on Fargate
1354
+ # resources and shouldn't be provided. Jobs running on Fargate
1355
+ # resources must specify the vCPU requirement for the job using
1356
+ # `resourceRequirements`.
1357
+ #
1358
+ # </note>
979
1359
  #
980
1360
  #
981
1361
  #
@@ -985,16 +1365,19 @@ module Aws::Batch
985
1365
  # @return [Integer]
986
1366
  #
987
1367
  # @!attribute [rw] memory
988
- # The hard limit (in MiB) of memory to present to the container. If
989
- # your container attempts to exceed the memory specified here, the
990
- # container is killed. This parameter maps to `Memory` in the [Create
991
- # a container][1] section of the [Docker Remote API][2] and the
992
- # `--memory` option to [docker run][3]. You must specify at least 4
993
- # MiB of memory for a job. This is required but can be specified in
994
- # several places for multi-node parallel (MNP) jobs; it must be
1368
+ # This parameter is deprecated and not supported for jobs run on
1369
+ # Fargate resources, use `ResourceRequirement`. For jobs run on EC2
1370
+ # resources can specify the memory requirement using the
1371
+ # `ResourceRequirement` structure. The hard limit (in MiB) of memory
1372
+ # to present to the container. If your container attempts to exceed
1373
+ # the memory specified here, the container is killed. This parameter
1374
+ # maps to `Memory` in the [Create a container][1] section of the
1375
+ # [Docker Remote API][2] and the `--memory` option to [docker run][3].
1376
+ # You must specify at least 4 MiB of memory for a job. This is
1377
+ # required but can be specified in several places; it must be
995
1378
  # specified for each node at least once.
996
1379
  #
997
- # <note markdown="1"> If you are trying to maximize your resource utilization by providing
1380
+ # <note markdown="1"> If you're trying to maximize your resource utilization by providing
998
1381
  # your jobs as much memory as possible for a particular instance type,
999
1382
  # see [Memory Management][4] in the *AWS Batch User Guide*.
1000
1383
  #
@@ -1009,7 +1392,7 @@ module Aws::Batch
1009
1392
  # @return [Integer]
1010
1393
  #
1011
1394
  # @!attribute [rw] command
1012
- # The command that is passed to the container. This parameter maps to
1395
+ # The command that's passed to the container. This parameter maps to
1013
1396
  # `Cmd` in the [Create a container][1] section of the [Docker Remote
1014
1397
  # API][2] and the `COMMAND` parameter to [docker run][3]. For more
1015
1398
  # information, see
@@ -1025,13 +1408,20 @@ module Aws::Batch
1025
1408
  #
1026
1409
  # @!attribute [rw] job_role_arn
1027
1410
  # The Amazon Resource Name (ARN) of the IAM role that the container
1028
- # can assume for AWS permissions.
1411
+ # can assume for AWS permissions. For more information, see [IAM Roles
1412
+ # for Tasks][1] in the *Amazon Elastic Container Service Developer
1413
+ # Guide*.
1414
+ #
1415
+ #
1416
+ #
1417
+ # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-iam-roles.html
1029
1418
  # @return [String]
1030
1419
  #
1031
1420
  # @!attribute [rw] execution_role_arn
1032
1421
  # The Amazon Resource Name (ARN) of the execution role that AWS Batch
1033
- # can assume. For more information, see [AWS Batch execution IAM
1034
- # role][1].
1422
+ # can assume. Jobs running on Fargate resources must provide an
1423
+ # execution role. For more information, see [AWS Batch execution IAM
1424
+ # role][1] in the *AWS Batch User Guide*.
1035
1425
  #
1036
1426
  #
1037
1427
  #
@@ -1047,7 +1437,7 @@ module Aws::Batch
1047
1437
  # maps to `Env` in the [Create a container][1] section of the [Docker
1048
1438
  # Remote API][2] and the `--env` option to [docker run][3].
1049
1439
  #
1050
- # We do not recommend using plaintext environment variables for
1440
+ # We don't recommend using plaintext environment variables for
1051
1441
  # sensitive information, such as credential data.
1052
1442
  #
1053
1443
  # <note markdown="1"> Environment variables must not start with `AWS_BATCH`; this naming
@@ -1089,10 +1479,16 @@ module Aws::Batch
1089
1479
  #
1090
1480
  # @!attribute [rw] privileged
1091
1481
  # When this parameter is true, the container is given elevated
1092
- # privileges on the host container instance (similar to the `root`
1482
+ # permissions on the host container instance (similar to the `root`
1093
1483
  # user). This parameter maps to `Privileged` in the [Create a
1094
1484
  # container][1] section of the [Docker Remote API][2] and the
1095
- # `--privileged` option to [docker run][3].
1485
+ # `--privileged` option to [docker run][3]. The default value is
1486
+ # false.
1487
+ #
1488
+ # <note markdown="1"> This parameter isn't applicable to jobs running on Fargate
1489
+ # resources and shouldn't be provided, or specified as false.
1490
+ #
1491
+ # </note>
1096
1492
  #
1097
1493
  #
1098
1494
  #
@@ -1106,6 +1502,11 @@ module Aws::Batch
1106
1502
  # `Ulimits` in the [Create a container][1] section of the [Docker
1107
1503
  # Remote API][2] and the `--ulimit` option to [docker run][3].
1108
1504
  #
1505
+ # <note markdown="1"> This parameter isn't applicable to jobs running on Fargate
1506
+ # resources and shouldn't be provided.
1507
+ #
1508
+ # </note>
1509
+ #
1109
1510
  #
1110
1511
  #
1111
1512
  # [1]: https://docs.docker.com/engine/api/v1.23/#create-a-container
@@ -1126,15 +1527,18 @@ module Aws::Batch
1126
1527
  # @return [String]
1127
1528
  #
1128
1529
  # @!attribute [rw] instance_type
1129
- # The instance type to use for a multi-node parallel job. Currently
1130
- # all node groups in a multi-node parallel job must use the same
1131
- # instance type. This parameter is not valid for single-node container
1132
- # jobs.
1530
+ # The instance type to use for a multi-node parallel job. All node
1531
+ # groups in a multi-node parallel job must use the same instance type.
1532
+ #
1533
+ # <note markdown="1"> This parameter isn't applicable to single-node container jobs or
1534
+ # for jobs running on Fargate resources and shouldn't be provided.
1535
+ #
1536
+ # </note>
1133
1537
  # @return [String]
1134
1538
  #
1135
1539
  # @!attribute [rw] resource_requirements
1136
- # The type and amount of a resource to assign to a container.
1137
- # Currently, the only supported resource is `GPU`.
1540
+ # The type and amount of resources to assign to a container. The
1541
+ # supported resources include `GPU`, `MEMORY`, and `VCPU`.
1138
1542
  # @return [Array<Types::ResourceRequirement>]
1139
1543
  #
1140
1544
  # @!attribute [rw] linux_parameters
@@ -1148,9 +1552,9 @@ module Aws::Batch
1148
1552
  # This parameter maps to `LogConfig` in the [Create a container][1]
1149
1553
  # section of the [Docker Remote API][2] and the `--log-driver` option
1150
1554
  # to [docker run][3]. By default, containers use the same logging
1151
- # driver that the Docker daemon uses. However the container may use a
1152
- # different logging driver than the Docker daemon by specifying a log
1153
- # driver with this parameter in the container definition. To use a
1555
+ # driver that the Docker daemon uses. However the container might use
1556
+ # a different logging driver than the Docker daemon by specifying a
1557
+ # log driver with this parameter in the container definition. To use a
1154
1558
  # different logging driver for a container, the log system must be
1155
1559
  # configured properly on the container instance (or on a different log
1156
1560
  # server for remote logging options). For more information on the
@@ -1190,14 +1594,23 @@ module Aws::Batch
1190
1594
  #
1191
1595
  # @!attribute [rw] secrets
1192
1596
  # The secrets for the container. For more information, see [Specifying
1193
- # Sensitive Data][1] in the *Amazon Elastic Container Service
1194
- # Developer Guide*.
1597
+ # sensitive data][1] in the *AWS Batch User Guide*.
1195
1598
  #
1196
1599
  #
1197
1600
  #
1198
- # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/specifying-sensitive-data.html
1601
+ # [1]: https://docs.aws.amazon.com/batch/latest/userguide/specifying-sensitive-data.html
1199
1602
  # @return [Array<Types::Secret>]
1200
1603
  #
1604
+ # @!attribute [rw] network_configuration
1605
+ # The network configuration for jobs running on Fargate resources.
1606
+ # Jobs running on EC2 resources must not specify this parameter.
1607
+ # @return [Types::NetworkConfiguration]
1608
+ #
1609
+ # @!attribute [rw] fargate_platform_configuration
1610
+ # The platform configuration for jobs running on Fargate resources.
1611
+ # Jobs running on EC2 resources must not specify this parameter.
1612
+ # @return [Types::FargatePlatformConfiguration]
1613
+ #
1201
1614
  # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/ContainerProperties AWS API Documentation
1202
1615
  #
1203
1616
  class ContainerProperties < Struct.new(
@@ -1218,7 +1631,9 @@ module Aws::Batch
1218
1631
  :resource_requirements,
1219
1632
  :linux_parameters,
1220
1633
  :log_configuration,
1221
- :secrets)
1634
+ :secrets,
1635
+ :network_configuration,
1636
+ :fargate_platform_configuration)
1222
1637
  SENSITIVE = []
1223
1638
  include Aws::Structure
1224
1639
  end
@@ -1243,6 +1658,8 @@ module Aws::Batch
1243
1658
  include Aws::Structure
1244
1659
  end
1245
1660
 
1661
+ # Contains the parameters for `CreateComputeEnvironment`.
1662
+ #
1246
1663
  # @note When making an API call, you may pass CreateComputeEnvironmentRequest
1247
1664
  # data as a hash:
1248
1665
  #
@@ -1251,17 +1668,17 @@ module Aws::Batch
1251
1668
  # type: "MANAGED", # required, accepts MANAGED, UNMANAGED
1252
1669
  # state: "ENABLED", # accepts ENABLED, DISABLED
1253
1670
  # compute_resources: {
1254
- # type: "EC2", # required, accepts EC2, SPOT
1671
+ # type: "EC2", # required, accepts EC2, SPOT, FARGATE, FARGATE_SPOT
1255
1672
  # allocation_strategy: "BEST_FIT", # accepts BEST_FIT, BEST_FIT_PROGRESSIVE, SPOT_CAPACITY_OPTIMIZED
1256
- # minv_cpus: 1, # required
1673
+ # minv_cpus: 1,
1257
1674
  # maxv_cpus: 1, # required
1258
1675
  # desiredv_cpus: 1,
1259
- # instance_types: ["String"], # required
1676
+ # instance_types: ["String"],
1260
1677
  # image_id: "String",
1261
1678
  # subnets: ["String"], # required
1262
1679
  # security_group_ids: ["String"],
1263
1680
  # ec2_key_pair: "String",
1264
- # instance_role: "String", # required
1681
+ # instance_role: "String",
1265
1682
  # tags: {
1266
1683
  # "String" => "String",
1267
1684
  # },
@@ -1273,6 +1690,12 @@ module Aws::Batch
1273
1690
  # launch_template_name: "String",
1274
1691
  # version: "String",
1275
1692
  # },
1693
+ # ec2_configuration: [
1694
+ # {
1695
+ # image_type: "ImageType", # required
1696
+ # image_id_override: "ImageIdOverride",
1697
+ # },
1698
+ # ],
1276
1699
  # },
1277
1700
  # service_role: "String", # required
1278
1701
  # tags: {
@@ -1286,8 +1709,9 @@ module Aws::Batch
1286
1709
  # @return [String]
1287
1710
  #
1288
1711
  # @!attribute [rw] type
1289
- # The type of the compute environment. For more information, see
1290
- # [Compute Environments][1] in the *AWS Batch User Guide*.
1712
+ # The type of the compute environment: `MANAGED` or `UNMANAGED`. For
1713
+ # more information, see [Compute Environments][1] in the *AWS Batch
1714
+ # User Guide*.
1291
1715
  #
1292
1716
  #
1293
1717
  #
@@ -1298,13 +1722,25 @@ module Aws::Batch
1298
1722
  # The state of the compute environment. If the state is `ENABLED`,
1299
1723
  # then the compute environment accepts jobs from a queue and can scale
1300
1724
  # out automatically based on queues.
1725
+ #
1726
+ # If the state is `ENABLED`, then the AWS Batch scheduler can attempt
1727
+ # to place jobs from an associated job queue on the compute resources
1728
+ # within the environment. If the compute environment is managed, then
1729
+ # it can scale its instances out or in automatically, based on the job
1730
+ # queue demand.
1731
+ #
1732
+ # If the state is `DISABLED`, then the AWS Batch scheduler doesn't
1733
+ # attempt to place jobs within the environment. Jobs in a `STARTING`
1734
+ # or `RUNNING` state continue to progress normally. Managed compute
1735
+ # environments in the `DISABLED` state don't scale out. However, they
1736
+ # scale in to `minvCpus` value after instances become idle.
1301
1737
  # @return [String]
1302
1738
  #
1303
1739
  # @!attribute [rw] compute_resources
1304
- # Details of the compute resources managed by the compute environment.
1305
- # This parameter is required for managed compute environments. For
1306
- # more information, see [Compute Environments][1] in the *AWS Batch
1307
- # User Guide*.
1740
+ # Details about the compute resources managed by the compute
1741
+ # environment. This parameter is required for managed compute
1742
+ # environments. For more information, see [Compute Environments][1] in
1743
+ # the *AWS Batch User Guide*.
1308
1744
  #
1309
1745
  #
1310
1746
  #
@@ -1313,20 +1749,26 @@ module Aws::Batch
1313
1749
  #
1314
1750
  # @!attribute [rw] service_role
1315
1751
  # The full Amazon Resource Name (ARN) of the IAM role that allows AWS
1316
- # Batch to make calls to other AWS services on your behalf.
1752
+ # Batch to make calls to other AWS services on your behalf. For more
1753
+ # information, see [AWS Batch service IAM role][1] in the *AWS Batch
1754
+ # User Guide*.
1317
1755
  #
1318
1756
  # If your specified role has a path other than `/`, then you must
1319
1757
  # either specify the full role ARN (this is recommended) or prefix the
1320
1758
  # role name with the path.
1321
1759
  #
1322
1760
  # <note markdown="1"> Depending on how you created your AWS Batch service role, its ARN
1323
- # may contain the `service-role` path prefix. When you only specify
1324
- # the name of the service role, AWS Batch assumes that your ARN does
1325
- # not use the `service-role` path prefix. Because of this, we
1761
+ # might contain the `service-role` path prefix. When you only specify
1762
+ # the name of the service role, AWS Batch assumes that your ARN
1763
+ # doesn't use the `service-role` path prefix. Because of this, we
1326
1764
  # recommend that you specify the full ARN of your service role when
1327
1765
  # you create compute environments.
1328
1766
  #
1329
1767
  # </note>
1768
+ #
1769
+ #
1770
+ #
1771
+ # [1]: https://docs.aws.amazon.com/batch/latest/userguide/service_IAM_role.html
1330
1772
  # @return [String]
1331
1773
  #
1332
1774
  # @!attribute [rw] tags
@@ -1336,7 +1778,7 @@ module Aws::Batch
1336
1778
  # Resources][1] in *AWS General Reference*.
1337
1779
  #
1338
1780
  # These tags can be updated or removed using the [TagResource][2] and
1339
- # [UntagResource][3] API operations. These tags do not propagate to
1781
+ # [UntagResource][3] API operations. These tags don't propagate to
1340
1782
  # the underlying compute resources.
1341
1783
  #
1342
1784
  #
@@ -1360,7 +1802,8 @@ module Aws::Batch
1360
1802
  end
1361
1803
 
1362
1804
  # @!attribute [rw] compute_environment_name
1363
- # The name of the compute environment.
1805
+ # The name of the compute environment. Up to 128 letters (uppercase
1806
+ # and lowercase), numbers, hyphens, and underscores are allowed.
1364
1807
  # @return [String]
1365
1808
  #
1366
1809
  # @!attribute [rw] compute_environment_arn
@@ -1376,6 +1819,8 @@ module Aws::Batch
1376
1819
  include Aws::Structure
1377
1820
  end
1378
1821
 
1822
+ # Contains the parameters for `CreateJobQueue`.
1823
+ #
1379
1824
  # @note When making an API call, you may pass CreateJobQueueRequest
1380
1825
  # data as a hash:
1381
1826
  #
@@ -1395,13 +1840,14 @@ module Aws::Batch
1395
1840
  # }
1396
1841
  #
1397
1842
  # @!attribute [rw] job_queue_name
1398
- # The name of the job queue.
1843
+ # The name of the job queue. Up to 128 letters (uppercase and
1844
+ # lowercase), numbers, and underscores are allowed.
1399
1845
  # @return [String]
1400
1846
  #
1401
1847
  # @!attribute [rw] state
1402
1848
  # The state of the job queue. If the job queue state is `ENABLED`, it
1403
1849
  # is able to accept jobs. If the job queue state is `DISABLED`, new
1404
- # jobs cannot be added to the queue, but jobs already in the queue can
1850
+ # jobs can't be added to the queue, but jobs already in the queue can
1405
1851
  # finish.
1406
1852
  # @return [String]
1407
1853
  #
@@ -1409,29 +1855,41 @@ module Aws::Batch
1409
1855
  # The priority of the job queue. Job queues with a higher priority (or
1410
1856
  # a higher integer value for the `priority` parameter) are evaluated
1411
1857
  # first when associated with the same compute environment. Priority is
1412
- # determined in descending order, for example, a job queue with a
1858
+ # determined in descending order. For example, a job queue with a
1413
1859
  # priority value of `10` is given scheduling preference over a job
1414
- # queue with a priority value of `1`.
1860
+ # queue with a priority value of `1`. All of the compute environments
1861
+ # must be either EC2 (`EC2` or `SPOT`) or Fargate (`FARGATE` or
1862
+ # `FARGATE_SPOT`); EC2 and Fargate compute environments cannot be
1863
+ # mixed.
1415
1864
  # @return [Integer]
1416
1865
  #
1417
1866
  # @!attribute [rw] compute_environment_order
1418
1867
  # The set of compute environments mapped to a job queue and their
1419
1868
  # order relative to each other. The job scheduler uses this parameter
1420
- # to determine which compute environment should execute a given job.
1869
+ # to determine which compute environment should run a specific job.
1421
1870
  # Compute environments must be in the `VALID` state before you can
1422
1871
  # associate them with a job queue. You can associate up to three
1423
- # compute environments with a job queue.
1872
+ # compute environments with a job queue. All of the compute
1873
+ # environments must be either EC2 (`EC2` or `SPOT`) or Fargate
1874
+ # (`FARGATE` or `FARGATE_SPOT`); EC2 and Fargate compute environments
1875
+ # can't be mixed.
1876
+ #
1877
+ # <note markdown="1"> All compute environments that are associated with a job queue must
1878
+ # share the same architecture. AWS Batch doesn't support mixing
1879
+ # compute environment architecture types in a single job queue.
1880
+ #
1881
+ # </note>
1424
1882
  # @return [Array<Types::ComputeEnvironmentOrder>]
1425
1883
  #
1426
1884
  # @!attribute [rw] tags
1427
1885
  # The tags that you apply to the job queue to help you categorize and
1428
1886
  # organize your resources. Each tag consists of a key and an optional
1429
- # value. For more information, see [Tagging AWS Resources][1] in *AWS
1430
- # General Reference*.
1887
+ # value. For more information, see [Tagging your AWS Batch
1888
+ # resources][1] in *AWS Batch User Guide*.
1431
1889
  #
1432
1890
  #
1433
1891
  #
1434
- # [1]: https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html
1892
+ # [1]: https://docs.aws.amazon.com/batch/latest/userguide/using-tags.html
1435
1893
  # @return [Hash<String,String>]
1436
1894
  #
1437
1895
  # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/CreateJobQueueRequest AWS API Documentation
@@ -1463,6 +1921,8 @@ module Aws::Batch
1463
1921
  include Aws::Structure
1464
1922
  end
1465
1923
 
1924
+ # Contains the parameters for `DeleteComputeEnvironment`.
1925
+ #
1466
1926
  # @note When making an API call, you may pass DeleteComputeEnvironmentRequest
1467
1927
  # data as a hash:
1468
1928
  #
@@ -1487,6 +1947,8 @@ module Aws::Batch
1487
1947
  #
1488
1948
  class DeleteComputeEnvironmentResponse < Aws::EmptyStructure; end
1489
1949
 
1950
+ # Contains the parameters for `DeleteJobQueue`.
1951
+ #
1490
1952
  # @note When making an API call, you may pass DeleteJobQueueRequest
1491
1953
  # data as a hash:
1492
1954
  #
@@ -1535,6 +1997,8 @@ module Aws::Batch
1535
1997
  #
1536
1998
  class DeregisterJobDefinitionResponse < Aws::EmptyStructure; end
1537
1999
 
2000
+ # Contains the parameters for `DescribeComputeEnvironments`.
2001
+ #
1538
2002
  # @note When making an API call, you may pass DescribeComputeEnvironmentsRequest
1539
2003
  # data as a hash:
1540
2004
  #
@@ -1557,7 +2021,7 @@ module Aws::Batch
1557
2021
  # response element. The remaining results of the initial request can
1558
2022
  # be seen by sending another `DescribeComputeEnvironments` request
1559
2023
  # with the returned `nextToken` value. This value can be between 1 and
1560
- # 100. If this parameter is not used, then
2024
+ # 100. If this parameter isn't used, then
1561
2025
  # `DescribeComputeEnvironments` returns up to 100 results and a
1562
2026
  # `nextToken` value if applicable.
1563
2027
  # @return [Integer]
@@ -1570,7 +2034,7 @@ module Aws::Batch
1570
2034
  # `nextToken` value. This value is `null` when there are no more
1571
2035
  # results to return.
1572
2036
  #
1573
- # <note markdown="1"> This token should be treated as an opaque identifier that is only
2037
+ # <note markdown="1"> This token should be treated as an opaque identifier that's only
1574
2038
  # used to retrieve the next items in a list and not for other
1575
2039
  # programmatic purposes.
1576
2040
  #
@@ -1608,6 +2072,8 @@ module Aws::Batch
1608
2072
  include Aws::Structure
1609
2073
  end
1610
2074
 
2075
+ # Contains the parameters for `DescribeJobDefinitions`.
2076
+ #
1611
2077
  # @note When making an API call, you may pass DescribeJobDefinitionsRequest
1612
2078
  # data as a hash:
1613
2079
  #
@@ -1631,7 +2097,7 @@ module Aws::Batch
1631
2097
  # single page along with a `nextToken` response element. The remaining
1632
2098
  # results of the initial request can be seen by sending another
1633
2099
  # `DescribeJobDefinitions` request with the returned `nextToken`
1634
- # value. This value can be between 1 and 100. If this parameter is not
2100
+ # value. This value can be between 1 and 100. If this parameter isn't
1635
2101
  # used, then `DescribeJobDefinitions` returns up to 100 results and a
1636
2102
  # `nextToken` value if applicable.
1637
2103
  # @return [Integer]
@@ -1641,7 +2107,7 @@ module Aws::Batch
1641
2107
  # @return [String]
1642
2108
  #
1643
2109
  # @!attribute [rw] status
1644
- # The status with which to filter job definitions.
2110
+ # The status used to filter job definitions.
1645
2111
  # @return [String]
1646
2112
  #
1647
2113
  # @!attribute [rw] next_token
@@ -1652,7 +2118,7 @@ module Aws::Batch
1652
2118
  # value. This value is `null` when there are no more results to
1653
2119
  # return.
1654
2120
  #
1655
- # <note markdown="1"> This token should be treated as an opaque identifier that is only
2121
+ # <note markdown="1"> This token should be treated as an opaque identifier that's only
1656
2122
  # used to retrieve the next items in a list and not for other
1657
2123
  # programmatic purposes.
1658
2124
  #
@@ -1692,6 +2158,8 @@ module Aws::Batch
1692
2158
  include Aws::Structure
1693
2159
  end
1694
2160
 
2161
+ # Contains the parameters for `DescribeJobQueues`.
2162
+ #
1695
2163
  # @note When making an API call, you may pass DescribeJobQueuesRequest
1696
2164
  # data as a hash:
1697
2165
  #
@@ -1713,7 +2181,7 @@ module Aws::Batch
1713
2181
  # `nextToken` response element. The remaining results of the initial
1714
2182
  # request can be seen by sending another `DescribeJobQueues` request
1715
2183
  # with the returned `nextToken` value. This value can be between 1 and
1716
- # 100. If this parameter is not used, then `DescribeJobQueues` returns
2184
+ # 100. If this parameter isn't used, then `DescribeJobQueues` returns
1717
2185
  # up to 100 results and a `nextToken` value if applicable.
1718
2186
  # @return [Integer]
1719
2187
  #
@@ -1725,7 +2193,7 @@ module Aws::Batch
1725
2193
  # value. This value is `null` when there are no more results to
1726
2194
  # return.
1727
2195
  #
1728
- # <note markdown="1"> This token should be treated as an opaque identifier that is only
2196
+ # <note markdown="1"> This token should be treated as an opaque identifier that's only
1729
2197
  # used to retrieve the next items in a list and not for other
1730
2198
  # programmatic purposes.
1731
2199
  #
@@ -1763,6 +2231,8 @@ module Aws::Batch
1763
2231
  include Aws::Structure
1764
2232
  end
1765
2233
 
2234
+ # Contains the parameters for `DescribeJobs`.
2235
+ #
1766
2236
  # @note When making an API call, you may pass DescribeJobsRequest
1767
2237
  # data as a hash:
1768
2238
  #
@@ -1796,6 +2266,11 @@ module Aws::Batch
1796
2266
 
1797
2267
  # An object representing a container instance host device.
1798
2268
  #
2269
+ # <note markdown="1"> This object isn't applicable to jobs running on Fargate resources and
2270
+ # shouldn't be provided.
2271
+ #
2272
+ # </note>
2273
+ #
1799
2274
  # @note When making an API call, you may pass Device
1800
2275
  # data as a hash:
1801
2276
  #
@@ -1810,7 +2285,7 @@ module Aws::Batch
1810
2285
  # @return [String]
1811
2286
  #
1812
2287
  # @!attribute [rw] container_path
1813
- # The path inside the container at which to expose the host device. By
2288
+ # The path inside the container used to expose the host device. By
1814
2289
  # default the `hostPath` value is used.
1815
2290
  # @return [String]
1816
2291
  #
@@ -1830,6 +2305,69 @@ module Aws::Batch
1830
2305
  include Aws::Structure
1831
2306
  end
1832
2307
 
2308
+ # Provides information used to select Amazon Machine Images (AMIs) for
2309
+ # instances in the compute environment. If the `Ec2Configuration` isn't
2310
+ # specified, the default is `ECS_AL1`.
2311
+ #
2312
+ # <note markdown="1"> This object isn't applicable to jobs running on Fargate resources.
2313
+ #
2314
+ # </note>
2315
+ #
2316
+ # @note When making an API call, you may pass Ec2Configuration
2317
+ # data as a hash:
2318
+ #
2319
+ # {
2320
+ # image_type: "ImageType", # required
2321
+ # image_id_override: "ImageIdOverride",
2322
+ # }
2323
+ #
2324
+ # @!attribute [rw] image_type
2325
+ # The image type to match with the instance type to select an AMI. If
2326
+ # the `imageIdOverride` parameter isn't specified, then a recent
2327
+ # [Amazon ECS-optimized AMI][1] is used.
2328
+ #
2329
+ # ECS\_AL2
2330
+ #
2331
+ # : [Amazon Linux 2][2]− Default for all AWS Graviton-based instance
2332
+ # families (for example, `C6g`, `M6g`, `R6g`, and `T4g`) and can be
2333
+ # used for all non-GPU instance types.
2334
+ #
2335
+ # ECS\_AL2\_NVIDIA
2336
+ #
2337
+ # : [Amazon Linux 2 (GPU)][3]−Default for all GPU instance families
2338
+ # (for example `P4` and `G4`) and can be used for all non-AWS
2339
+ # Graviton-based instance types.
2340
+ #
2341
+ # ECS\_AL1
2342
+ #
2343
+ # : [Amazon Linux][4]−Default for all non-GPU, non-AWS Graviton
2344
+ # instance families. Amazon Linux is reaching the end-of-life of
2345
+ # standard support. For more information, see [Amazon Linux AMI][5].
2346
+ #
2347
+ #
2348
+ #
2349
+ # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html
2350
+ # [2]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html#al2ami
2351
+ # [3]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html#gpuami
2352
+ # [4]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html#alami
2353
+ # [5]: http://aws.amazon.com/amazon-linux-ami/
2354
+ # @return [String]
2355
+ #
2356
+ # @!attribute [rw] image_id_override
2357
+ # The AMI ID used for instances launched in the compute environment
2358
+ # that match the image type. This setting overrides the `imageId` set
2359
+ # in the `computeResource` object.
2360
+ # @return [String]
2361
+ #
2362
+ # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/Ec2Configuration AWS API Documentation
2363
+ #
2364
+ class Ec2Configuration < Struct.new(
2365
+ :image_type,
2366
+ :image_id_override)
2367
+ SENSITIVE = []
2368
+ include Aws::Structure
2369
+ end
2370
+
1833
2371
  # Specifies a set of conditions to be met, and an action to take
1834
2372
  # (`RETRY` or `EXIT`) if all conditions are met.
1835
2373
  #
@@ -1846,7 +2384,7 @@ module Aws::Batch
1846
2384
  # @!attribute [rw] on_status_reason
1847
2385
  # Contains a glob pattern to match against the `StatusReason` returned
1848
2386
  # for a job. The patten can be up to 512 characters long, can contain
1849
- # letters, numbers, periods (.), colons (:), and whitespace (spaces,
2387
+ # letters, numbers, periods (.), colons (:), and white space (spaces,
1850
2388
  # tabs). and can optionally end with an asterisk (*) so that only the
1851
2389
  # start of the string needs to be an exact match.
1852
2390
  # @return [String]
@@ -1854,7 +2392,7 @@ module Aws::Batch
1854
2392
  # @!attribute [rw] on_reason
1855
2393
  # Contains a glob pattern to match against the `Reason` returned for a
1856
2394
  # job. The patten can be up to 512 characters long, can contain
1857
- # letters, numbers, periods (.), colons (:), and whitespace (spaces,
2395
+ # letters, numbers, periods (.), colons (:), and white space (spaces,
1858
2396
  # tabs), and can optionally end with an asterisk (*) so that only the
1859
2397
  # start of the string needs to be an exact match.
1860
2398
  # @return [String]
@@ -1869,7 +2407,8 @@ module Aws::Batch
1869
2407
  #
1870
2408
  # @!attribute [rw] action
1871
2409
  # Specifies the action to take if all of the specified conditions
1872
- # (`onStatusReason`, `onReason`, and `onExitCode`) are met.
2410
+ # (`onStatusReason`, `onReason`, and `onExitCode`) are met. The values
2411
+ # are not case sensitive.
1873
2412
  # @return [String]
1874
2413
  #
1875
2414
  # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/EvaluateOnExit AWS API Documentation
@@ -1883,10 +2422,42 @@ module Aws::Batch
1883
2422
  include Aws::Structure
1884
2423
  end
1885
2424
 
2425
+ # The platform configuration for jobs running on Fargate resources. Jobs
2426
+ # running on EC2 resources must not specify this parameter.
2427
+ #
2428
+ # @note When making an API call, you may pass FargatePlatformConfiguration
2429
+ # data as a hash:
2430
+ #
2431
+ # {
2432
+ # platform_version: "String",
2433
+ # }
2434
+ #
2435
+ # @!attribute [rw] platform_version
2436
+ # The AWS Fargate platform version on which the jobs are running. A
2437
+ # platform version is specified only for jobs running on Fargate
2438
+ # resources. If one isn't specified, the `LATEST` platform version is
2439
+ # used by default. This will use a recent, approved version of the AWS
2440
+ # Fargate platform for compute resources. For more information, see
2441
+ # [AWS Fargate platform versions][1] in the *Amazon Elastic Container
2442
+ # Service Developer Guide*.
2443
+ #
2444
+ #
2445
+ #
2446
+ # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html
2447
+ # @return [String]
2448
+ #
2449
+ # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/FargatePlatformConfiguration AWS API Documentation
2450
+ #
2451
+ class FargatePlatformConfiguration < Struct.new(
2452
+ :platform_version)
2453
+ SENSITIVE = []
2454
+ include Aws::Structure
2455
+ end
2456
+
1886
2457
  # Determine whether your data volume persists on the host container
1887
2458
  # instance and where it is stored. If this parameter is empty, then the
1888
2459
  # Docker daemon assigns a host path for your data volume, but the data
1889
- # is not guaranteed to persist after the containers associated with it
2460
+ # isn't guaranteed to persist after the containers associated with it
1890
2461
  # stop running.
1891
2462
  #
1892
2463
  # @note When making an API call, you may pass Host
@@ -1897,7 +2468,7 @@ module Aws::Batch
1897
2468
  # }
1898
2469
  #
1899
2470
  # @!attribute [rw] source_path
1900
- # The path on the host container instance that is presented to the
2471
+ # The path on the host container instance that's presented to the
1901
2472
  # container. If this parameter is empty, then the Docker daemon has
1902
2473
  # assigned a host path for you. If this parameter contains a file
1903
2474
  # location, then the data volume persists at the specified location on
@@ -1905,6 +2476,11 @@ module Aws::Batch
1905
2476
  # source path location does not exist on the host container instance,
1906
2477
  # the Docker daemon creates it. If the location does exist, the
1907
2478
  # contents of the source path folder are exported.
2479
+ #
2480
+ # <note markdown="1"> This parameter isn't applicable to jobs running on Fargate
2481
+ # resources and shouldn't be provided.
2482
+ #
2483
+ # </note>
1908
2484
  # @return [String]
1909
2485
  #
1910
2486
  # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/Host AWS API Documentation
@@ -1934,7 +2510,14 @@ module Aws::Batch
1934
2510
  # @return [String]
1935
2511
  #
1936
2512
  # @!attribute [rw] type
1937
- # The type of job definition.
2513
+ # The type of job definition. If the job is run on Fargate resources,
2514
+ # then `multinode` isn't supported. For more information about
2515
+ # multi-node parallel jobs, see [Creating a multi-node parallel job
2516
+ # definition][1] in the *AWS Batch User Guide*.
2517
+ #
2518
+ #
2519
+ #
2520
+ # [1]: https://docs.aws.amazon.com/batch/latest/userguide/multi-node-job-def.html
1938
2521
  # @return [String]
1939
2522
  #
1940
2523
  # @!attribute [rw] parameters
@@ -1962,18 +2545,39 @@ module Aws::Batch
1962
2545
  # @!attribute [rw] timeout
1963
2546
  # The timeout configuration for jobs that are submitted with this job
1964
2547
  # definition. You can specify a timeout duration after which AWS Batch
1965
- # terminates your jobs if they have not finished.
2548
+ # terminates your jobs if they haven't finished.
1966
2549
  # @return [Types::JobTimeout]
1967
2550
  #
1968
2551
  # @!attribute [rw] node_properties
1969
2552
  # An object with various properties specific to multi-node parallel
1970
2553
  # jobs.
2554
+ #
2555
+ # <note markdown="1"> If the job runs on Fargate resources, then you must not specify
2556
+ # `nodeProperties`; use `containerProperties` instead.
2557
+ #
2558
+ # </note>
1971
2559
  # @return [Types::NodeProperties]
1972
2560
  #
1973
2561
  # @!attribute [rw] tags
1974
2562
  # The tags applied to the job definition.
1975
2563
  # @return [Hash<String,String>]
1976
2564
  #
2565
+ # @!attribute [rw] propagate_tags
2566
+ # Specifies whether to propagate the tags from the job or job
2567
+ # definition to the corresponding Amazon ECS task. If no value is
2568
+ # specified, the tags aren't propagated. Tags can only be propagated
2569
+ # to the tasks during task creation. For tags with the same name, job
2570
+ # tags are given priority over job definitions tags. If the total
2571
+ # number of combined tags from the job and job definition is over 50,
2572
+ # the job is moved to the `FAILED` state.
2573
+ # @return [Boolean]
2574
+ #
2575
+ # @!attribute [rw] platform_capabilities
2576
+ # The platform capabilities required by the job definition. If no
2577
+ # value is specified, it defaults to `EC2`. Jobs run on Fargate
2578
+ # resources specify `FARGATE`.
2579
+ # @return [Array<String>]
2580
+ #
1977
2581
  # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/JobDefinition AWS API Documentation
1978
2582
  #
1979
2583
  class JobDefinition < Struct.new(
@@ -1987,7 +2591,9 @@ module Aws::Batch
1987
2591
  :container_properties,
1988
2592
  :timeout,
1989
2593
  :node_properties,
1990
- :tags)
2594
+ :tags,
2595
+ :propagate_tags,
2596
+ :platform_capabilities)
1991
2597
  SENSITIVE = []
1992
2598
  include Aws::Structure
1993
2599
  end
@@ -2034,14 +2640,14 @@ module Aws::Batch
2034
2640
  # @return [String]
2035
2641
  #
2036
2642
  # @!attribute [rw] job_queue
2037
- # The Amazon Resource Name (ARN) of the job queue with which the job
2038
- # is associated.
2643
+ # The Amazon Resource Name (ARN) of the job queue that the job is
2644
+ # associated with.
2039
2645
  # @return [String]
2040
2646
  #
2041
2647
  # @!attribute [rw] status
2042
2648
  # The current status for the job.
2043
2649
  #
2044
- # <note markdown="1"> If your jobs do not progress to `STARTING`, see [Jobs Stuck in
2650
+ # <note markdown="1"> If your jobs don't progress to `STARTING`, see [Jobs Stuck in
2045
2651
  # RUNNABLE Status][1] in the troubleshooting section of the *AWS Batch
2046
2652
  # User Guide*.
2047
2653
  #
@@ -2076,7 +2682,7 @@ module Aws::Batch
2076
2682
  # @!attribute [rw] started_at
2077
2683
  # The Unix timestamp (in milliseconds) for when the job was started
2078
2684
  # (when the job transitioned from the `STARTING` state to the
2079
- # `RUNNING` state). This parameter is not provided for child jobs of
2685
+ # `RUNNING` state). This parameter isn't provided for child jobs of
2080
2686
  # array jobs or multi-node parallel jobs.
2081
2687
  # @return [Integer]
2082
2688
  #
@@ -2087,11 +2693,11 @@ module Aws::Batch
2087
2693
  # @return [Integer]
2088
2694
  #
2089
2695
  # @!attribute [rw] depends_on
2090
- # A list of job IDs on which this job depends.
2696
+ # A list of job IDs that this job depends on.
2091
2697
  # @return [Array<Types::JobDependency>]
2092
2698
  #
2093
2699
  # @!attribute [rw] job_definition
2094
- # The job definition that is used by this job.
2700
+ # The job definition that's used by this job.
2095
2701
  # @return [String]
2096
2702
  #
2097
2703
  # @!attribute [rw] parameters
@@ -2101,18 +2707,22 @@ module Aws::Batch
2101
2707
  # @return [Hash<String,String>]
2102
2708
  #
2103
2709
  # @!attribute [rw] container
2104
- # An object representing the details of the container that is
2710
+ # An object representing the details of the container that's
2105
2711
  # associated with the job.
2106
2712
  # @return [Types::ContainerDetail]
2107
2713
  #
2108
2714
  # @!attribute [rw] node_details
2109
- # An object representing the details of a node that is associated with
2715
+ # An object representing the details of a node that's associated with
2110
2716
  # a multi-node parallel job.
2111
2717
  # @return [Types::NodeDetails]
2112
2718
  #
2113
2719
  # @!attribute [rw] node_properties
2114
2720
  # An object representing the node properties of a multi-node parallel
2115
2721
  # job.
2722
+ #
2723
+ # <note markdown="1"> This isn't applicable to jobs running on Fargate resources.
2724
+ #
2725
+ # </note>
2116
2726
  # @return [Types::NodeProperties]
2117
2727
  #
2118
2728
  # @!attribute [rw] array_properties
@@ -2127,6 +2737,22 @@ module Aws::Batch
2127
2737
  # The tags applied to the job.
2128
2738
  # @return [Hash<String,String>]
2129
2739
  #
2740
+ # @!attribute [rw] propagate_tags
2741
+ # Specifies whether to propagate the tags from the job or job
2742
+ # definition to the corresponding Amazon ECS task. If no value is
2743
+ # specified, the tags are not propagated. Tags can only be propagated
2744
+ # to the tasks during task creation. For tags with the same name, job
2745
+ # tags are given priority over job definitions tags. If the total
2746
+ # number of combined tags from the job and job definition is over 50,
2747
+ # the job is moved to the `FAILED` state.
2748
+ # @return [Boolean]
2749
+ #
2750
+ # @!attribute [rw] platform_capabilities
2751
+ # The platform capabilities required by the job definition. If no
2752
+ # value is specified, it defaults to `EC2`. Jobs run on Fargate
2753
+ # resources specify `FARGATE`.
2754
+ # @return [Array<String>]
2755
+ #
2130
2756
  # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/JobDetail AWS API Documentation
2131
2757
  #
2132
2758
  class JobDetail < Struct.new(
@@ -2149,7 +2775,9 @@ module Aws::Batch
2149
2775
  :node_properties,
2150
2776
  :array_properties,
2151
2777
  :timeout,
2152
- :tags)
2778
+ :tags,
2779
+ :propagate_tags,
2780
+ :platform_capabilities)
2153
2781
  SENSITIVE = []
2154
2782
  include Aws::Structure
2155
2783
  end
@@ -2166,8 +2794,8 @@ module Aws::Batch
2166
2794
  #
2167
2795
  # @!attribute [rw] state
2168
2796
  # Describes the ability of the queue to accept new jobs. If the job
2169
- # queue state is `ENABLED`, it is able to accept jobs. If the job
2170
- # queue state is `DISABLED`, new jobs cannot be added to the queue,
2797
+ # queue state is `ENABLED`, it's able to accept jobs. If the job
2798
+ # queue state is `DISABLED`, new jobs can't be added to the queue,
2171
2799
  # but jobs already in the queue can finish.
2172
2800
  # @return [String]
2173
2801
  #
@@ -2181,17 +2809,30 @@ module Aws::Batch
2181
2809
  # @return [String]
2182
2810
  #
2183
2811
  # @!attribute [rw] priority
2184
- # The priority of the job queue.
2812
+ # The priority of the job queue. Job queues with a higher priority (or
2813
+ # a higher integer value for the `priority` parameter) are evaluated
2814
+ # first when associated with the same compute environment. Priority is
2815
+ # determined in descending order, for example, a job queue with a
2816
+ # priority value of `10` is given scheduling preference over a job
2817
+ # queue with a priority value of `1`. All of the compute environments
2818
+ # must be either EC2 (`EC2` or `SPOT`) or Fargate (`FARGATE` or
2819
+ # `FARGATE_SPOT`); EC2 and Fargate compute environments cannot be
2820
+ # mixed.
2185
2821
  # @return [Integer]
2186
2822
  #
2187
2823
  # @!attribute [rw] compute_environment_order
2188
2824
  # The compute environments that are attached to the job queue and the
2189
- # order in which job placement is preferred. Compute environments are
2825
+ # order that job placement is preferred. Compute environments are
2190
2826
  # selected for job placement in ascending order.
2191
2827
  # @return [Array<Types::ComputeEnvironmentOrder>]
2192
2828
  #
2193
2829
  # @!attribute [rw] tags
2194
- # The tags applied to the job queue.
2830
+ # The tags applied to the job queue. For more information, see
2831
+ # [Tagging your AWS Batch resources][1] in *AWS Batch User Guide*.
2832
+ #
2833
+ #
2834
+ #
2835
+ # [1]: https://docs.aws.amazon.com/batch/latest/userguide/using-tags.html
2195
2836
  # @return [Hash<String,String>]
2196
2837
  #
2197
2838
  # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/JobQueueDetail AWS API Documentation
@@ -2252,7 +2893,7 @@ module Aws::Batch
2252
2893
  # @return [Integer]
2253
2894
  #
2254
2895
  # @!attribute [rw] container
2255
- # An object representing the details of the container that is
2896
+ # An object representing the details of the container that's
2256
2897
  # associated with the job.
2257
2898
  # @return [Types::ContainerSummary]
2258
2899
  #
@@ -2262,6 +2903,10 @@ module Aws::Batch
2262
2903
  #
2263
2904
  # @!attribute [rw] node_properties
2264
2905
  # The node properties for a single node in a job summary list.
2906
+ #
2907
+ # <note markdown="1"> This isn't applicable to jobs running on Fargate resources.
2908
+ #
2909
+ # </note>
2265
2910
  # @return [Types::NodePropertiesSummary]
2266
2911
  #
2267
2912
  # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/JobSummary AWS API Documentation
@@ -2294,7 +2939,8 @@ module Aws::Batch
2294
2939
  # @!attribute [rw] attempt_duration_seconds
2295
2940
  # The time duration in seconds (measured from the job attempt's
2296
2941
  # `startedAt` timestamp) after which AWS Batch terminates your jobs if
2297
- # they have not finished.
2942
+ # they have not finished. The minimum value for the timeout is 60
2943
+ # seconds.
2298
2944
  # @return [Integer]
2299
2945
  #
2300
2946
  # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/JobTimeout AWS API Documentation
@@ -2338,6 +2984,15 @@ module Aws::Batch
2338
2984
  # resource. You must specify either the launch template ID or launch
2339
2985
  # template name in the request, but not both.
2340
2986
  #
2987
+ # If security groups are specified using both the `securityGroupIds`
2988
+ # parameter of `CreateComputeEnvironment` and the launch template, the
2989
+ # values in the `securityGroupIds` parameter of
2990
+ # `CreateComputeEnvironment` will be used.
2991
+ #
2992
+ # <note markdown="1"> This object isn't applicable to jobs running on Fargate resources.
2993
+ #
2994
+ # </note>
2995
+ #
2341
2996
  # @note When making an API call, you may pass LaunchTemplateSpecification
2342
2997
  # data as a hash:
2343
2998
  #
@@ -2407,6 +3062,11 @@ module Aws::Batch
2407
3062
  # `Devices` in the [Create a container][1] section of the [Docker
2408
3063
  # Remote API][2] and the `--device` option to [docker run][3].
2409
3064
  #
3065
+ # <note markdown="1"> This parameter isn't applicable to jobs running on Fargate
3066
+ # resources and shouldn't be provided.
3067
+ #
3068
+ # </note>
3069
+ #
2410
3070
  #
2411
3071
  #
2412
3072
  # [1]: https://docs.docker.com/engine/api/v1.23/#create-a-container
@@ -2432,6 +3092,11 @@ module Aws::Batch
2432
3092
  # The value for the size (in MiB) of the `/dev/shm` volume. This
2433
3093
  # parameter maps to the `--shm-size` option to [docker run][1].
2434
3094
  #
3095
+ # <note markdown="1"> This parameter isn't applicable to jobs running on Fargate
3096
+ # resources and shouldn't be provided.
3097
+ #
3098
+ # </note>
3099
+ #
2435
3100
  #
2436
3101
  #
2437
3102
  # [1]: https://docs.docker.com/engine/reference/run/
@@ -2442,6 +3107,11 @@ module Aws::Batch
2442
3107
  # mount. This parameter maps to the `--tmpfs` option to [docker
2443
3108
  # run][1].
2444
3109
  #
3110
+ # <note markdown="1"> This parameter isn't applicable to jobs running on Fargate
3111
+ # resources and shouldn't be provided.
3112
+ #
3113
+ # </note>
3114
+ #
2445
3115
  #
2446
3116
  #
2447
3117
  # [1]: https://docs.docker.com/engine/reference/run/
@@ -2449,18 +3119,23 @@ module Aws::Batch
2449
3119
  #
2450
3120
  # @!attribute [rw] max_swap
2451
3121
  # The total amount of swap memory (in MiB) a container can use. This
2452
- # parameter will be translated to the `--memory-swap` option to
2453
- # [docker run][1] where the value would be the sum of the container
2454
- # memory plus the `maxSwap` value. For more information, see [
2455
- # `--memory-swap` details][2] in the Docker documentation.
3122
+ # parameter is translated to the `--memory-swap` option to [docker
3123
+ # run][1] where the value is the sum of the container memory plus the
3124
+ # `maxSwap` value. For more information, see [ `--memory-swap`
3125
+ # details][2] in the Docker documentation.
2456
3126
  #
2457
- # If a `maxSwap` value of `0` is specified, the container will not use
3127
+ # If a `maxSwap` value of `0` is specified, the container doesn't use
2458
3128
  # swap. Accepted values are `0` or any positive integer. If the
2459
- # `maxSwap` parameter is omitted, the container will use the swap
3129
+ # `maxSwap` parameter is omitted, the container doesn't use the swap
2460
3130
  # configuration for the container instance it is running on. A
2461
3131
  # `maxSwap` value must be set for the `swappiness` parameter to be
2462
3132
  # used.
2463
3133
  #
3134
+ # <note markdown="1"> This parameter isn't applicable to jobs running on Fargate
3135
+ # resources and shouldn't be provided.
3136
+ #
3137
+ # </note>
3138
+ #
2464
3139
  #
2465
3140
  #
2466
3141
  # [1]: https://docs.docker.com/engine/reference/run/
@@ -2469,18 +3144,48 @@ module Aws::Batch
2469
3144
  #
2470
3145
  # @!attribute [rw] swappiness
2471
3146
  # This allows you to tune a container's memory swappiness behavior. A
2472
- # `swappiness` value of `0` will cause swapping to not happen unless
2473
- # absolutely necessary. A `swappiness` value of `100` will cause pages
2474
- # to be swapped very aggressively. Accepted values are whole numbers
2475
- # between `0` and `100`. If the `swappiness` parameter is not
2476
- # specified, a default value of `60` is used. If a value is not
2477
- # specified for `maxSwap` then this parameter is ignored. This
2478
- # parameter maps to the `--memory-swappiness` option to [docker
2479
- # run][1].
3147
+ # `swappiness` value of `0` causes swapping not to happen unless
3148
+ # absolutely necessary. A `swappiness` value of `100` causes pages to
3149
+ # be swapped very aggressively. Accepted values are whole numbers
3150
+ # between `0` and `100`. If the `swappiness` parameter isn't
3151
+ # specified, a default value of `60` is used. If a value isn't
3152
+ # specified for `maxSwap` then this parameter is ignored. If `maxSwap`
3153
+ # is set to 0, the container doesn't use swap. This parameter maps to
3154
+ # the `--memory-swappiness` option to [docker run][1].
3155
+ #
3156
+ # Consider the following when you use a per-container swap
3157
+ # configuration.
3158
+ #
3159
+ # * Swap space must be enabled and allocated on the container instance
3160
+ # for the containers to use.
3161
+ #
3162
+ # <note markdown="1"> The Amazon ECS optimized AMIs don't have swap enabled by default.
3163
+ # You must enable swap on the instance to use this feature. For more
3164
+ # information, see [Instance Store Swap Volumes][2] in the *Amazon
3165
+ # EC2 User Guide for Linux Instances* or [How do I allocate memory
3166
+ # to work as swap space in an Amazon EC2 instance by using a swap
3167
+ # file?][3]
3168
+ #
3169
+ # </note>
3170
+ #
3171
+ # * The swap space parameters are only supported for job definitions
3172
+ # using EC2 resources.
3173
+ #
3174
+ # * If the `maxSwap` and `swappiness` parameters are omitted from a
3175
+ # job definition, each container will have a default `swappiness`
3176
+ # value of 60 and the total swap usage will be limited to two times
3177
+ # the memory reservation of the container.
3178
+ #
3179
+ # <note markdown="1"> This parameter isn't applicable to jobs running on Fargate
3180
+ # resources and shouldn't be provided.
3181
+ #
3182
+ # </note>
2480
3183
  #
2481
3184
  #
2482
3185
  #
2483
3186
  # [1]: https://docs.docker.com/engine/reference/run/
3187
+ # [2]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-store-swap-volumes.html
3188
+ # [3]: http://aws.amazon.com/premiumsupport/knowledge-center/ec2-memory-swap-file/
2484
3189
  # @return [Integer]
2485
3190
  #
2486
3191
  # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/LinuxParameters AWS API Documentation
@@ -2496,6 +3201,8 @@ module Aws::Batch
2496
3201
  include Aws::Structure
2497
3202
  end
2498
3203
 
3204
+ # Contains the parameters for `ListJobs`.
3205
+ #
2499
3206
  # @note When making an API call, you may pass ListJobsRequest
2500
3207
  # data as a hash:
2501
3208
  #
@@ -2509,8 +3216,8 @@ module Aws::Batch
2509
3216
  # }
2510
3217
  #
2511
3218
  # @!attribute [rw] job_queue
2512
- # The name or full Amazon Resource Name (ARN) of the job queue with
2513
- # which to list jobs.
3219
+ # The name or full Amazon Resource Name (ARN) of the job queue used to
3220
+ # list jobs.
2514
3221
  # @return [String]
2515
3222
  #
2516
3223
  # @!attribute [rw] array_job_id
@@ -2525,8 +3232,8 @@ module Aws::Batch
2525
3232
  # @return [String]
2526
3233
  #
2527
3234
  # @!attribute [rw] job_status
2528
- # The job status with which to filter jobs in the specified queue. If
2529
- # you do not specify a status, only `RUNNING` jobs are returned.
3235
+ # The job status used to filter jobs in the specified queue. If you
3236
+ # don't specify a status, only `RUNNING` jobs are returned.
2530
3237
  # @return [String]
2531
3238
  #
2532
3239
  # @!attribute [rw] max_results
@@ -2536,7 +3243,7 @@ module Aws::Batch
2536
3243
  # response element. The remaining results of the initial request can
2537
3244
  # be seen by sending another `ListJobs` request with the returned
2538
3245
  # `nextToken` value. This value can be between 1 and 100. If this
2539
- # parameter is not used, then `ListJobs` returns up to 100 results and
3246
+ # parameter isn't used, then `ListJobs` returns up to 100 results and
2540
3247
  # a `nextToken` value if applicable.
2541
3248
  # @return [Integer]
2542
3249
  #
@@ -2547,7 +3254,7 @@ module Aws::Batch
2547
3254
  # previous results that returned the `nextToken` value. This value is
2548
3255
  # `null` when there are no more results to return.
2549
3256
  #
2550
- # <note markdown="1"> This token should be treated as an opaque identifier that is only
3257
+ # <note markdown="1"> This token should be treated as an opaque identifier that's only
2551
3258
  # used to retrieve the next items in a list and not for other
2552
3259
  # programmatic purposes.
2553
3260
  #
@@ -2595,8 +3302,8 @@ module Aws::Batch
2595
3302
  # }
2596
3303
  #
2597
3304
  # @!attribute [rw] resource_arn
2598
- # The Amazon Resource Name (ARN) that identifies the resource for
2599
- # which to list the tags. AWS Batch resources that support tags are
3305
+ # The Amazon Resource Name (ARN) that identifies the resource that
3306
+ # tags are listed for. AWS Batch resources that support tags are
2600
3307
  # compute environments, jobs, job definitions, and job queues. ARNs
2601
3308
  # for child jobs of array and multi-node parallel (MNP) jobs are not
2602
3309
  # supported.
@@ -2649,6 +3356,11 @@ module Aws::Batch
2649
3356
  # The supported log drivers are `awslogs`, `fluentd`, `gelf`,
2650
3357
  # `json-file`, `journald`, `logentries`, `syslog`, and `splunk`.
2651
3358
  #
3359
+ # <note markdown="1"> Jobs running on Fargate resources are restricted to the `awslogs`
3360
+ # and `splunk` log drivers.
3361
+ #
3362
+ # </note>
3363
+ #
2652
3364
  # awslogs
2653
3365
  #
2654
3366
  # : Specifies the Amazon CloudWatch Logs logging driver. For more
@@ -2692,13 +3404,13 @@ module Aws::Batch
2692
3404
  # including usage and options, see [Syslog logging driver][8] in the
2693
3405
  # Docker documentation.
2694
3406
  #
2695
- # <note markdown="1"> If you have a custom driver that is not listed earlier that you
2696
- # would like to work with the Amazon ECS container agent, you can fork
2697
- # the Amazon ECS container agent project that is [available on
2698
- # GitHub][9] and customize it to work with that driver. We encourage
2699
- # you to submit pull requests for changes that you would like to have
2700
- # included. However, Amazon Web Services does not currently support
2701
- # running modified copies of this software.
3407
+ # <note markdown="1"> If you have a custom driver that'sn't listed earlier that you want
3408
+ # to work with the Amazon ECS container agent, you can fork the Amazon
3409
+ # ECS container agent project that's [available on GitHub][9] and
3410
+ # customize it to work with that driver. We encourage you to submit
3411
+ # pull requests for changes that you want to have included. However,
3412
+ # Amazon Web Services doesn't currently support running modified
3413
+ # copies of this software.
2702
3414
  #
2703
3415
  # </note>
2704
3416
  #
@@ -2748,7 +3460,7 @@ module Aws::Batch
2748
3460
  include Aws::Structure
2749
3461
  end
2750
3462
 
2751
- # Details on a Docker volume mount point that is used in a job's
3463
+ # Details on a Docker volume mount point that's used in a job's
2752
3464
  # container properties. This parameter maps to `Volumes` in the [Create
2753
3465
  # a container][1] section of the Docker Remote API and the `--volume`
2754
3466
  # option to docker run.
@@ -2767,12 +3479,12 @@ module Aws::Batch
2767
3479
  # }
2768
3480
  #
2769
3481
  # @!attribute [rw] container_path
2770
- # The path on the container at which to mount the host volume.
3482
+ # The path on the container where the host volume is mounted.
2771
3483
  # @return [String]
2772
3484
  #
2773
3485
  # @!attribute [rw] read_only
2774
3486
  # If this value is `true`, the container has read-only access to the
2775
- # volume; otherwise, the container can write to the volume. The
3487
+ # volume. Otherwise, the container can write to the volume. The
2776
3488
  # default value is `false`.
2777
3489
  # @return [Boolean]
2778
3490
  #
@@ -2790,6 +3502,37 @@ module Aws::Batch
2790
3502
  include Aws::Structure
2791
3503
  end
2792
3504
 
3505
+ # The network configuration for jobs running on Fargate resources. Jobs
3506
+ # running on EC2 resources must not specify this parameter.
3507
+ #
3508
+ # @note When making an API call, you may pass NetworkConfiguration
3509
+ # data as a hash:
3510
+ #
3511
+ # {
3512
+ # assign_public_ip: "ENABLED", # accepts ENABLED, DISABLED
3513
+ # }
3514
+ #
3515
+ # @!attribute [rw] assign_public_ip
3516
+ # Indicates whether the job should have a public IP address. For a job
3517
+ # running on Fargate resources in a private subnet to send outbound
3518
+ # traffic to the internet (for example, in order to pull container
3519
+ # images), the private subnet requires a NAT gateway be attached to
3520
+ # route requests to the internet. For more information, see [Amazon
3521
+ # ECS task networking][1]. The default value is "DISABLED".
3522
+ #
3523
+ #
3524
+ #
3525
+ # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-networking.html
3526
+ # @return [String]
3527
+ #
3528
+ # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/NetworkConfiguration AWS API Documentation
3529
+ #
3530
+ class NetworkConfiguration < Struct.new(
3531
+ :assign_public_ip)
3532
+ SENSITIVE = []
3533
+ include Aws::Structure
3534
+ end
3535
+
2793
3536
  # An object representing the elastic network interface for a multi-node
2794
3537
  # parallel job node.
2795
3538
  #
@@ -2837,9 +3580,14 @@ module Aws::Batch
2837
3580
  include Aws::Structure
2838
3581
  end
2839
3582
 
2840
- # Object representing any node overrides to a job definition that is
3583
+ # Object representing any node overrides to a job definition that's
2841
3584
  # used in a SubmitJob API operation.
2842
3585
  #
3586
+ # <note markdown="1"> This isn't applicable to jobs running on Fargate resources and
3587
+ # shouldn't be provided; use `containerOverrides` instead.
3588
+ #
3589
+ # </note>
3590
+ #
2843
3591
  # @note When making an API call, you may pass NodeOverrides
2844
3592
  # data as a hash:
2845
3593
  #
@@ -2862,7 +3610,7 @@ module Aws::Batch
2862
3610
  # resource_requirements: [
2863
3611
  # {
2864
3612
  # value: "String", # required
2865
- # type: "GPU", # required, accepts GPU
3613
+ # type: "GPU", # required, accepts GPU, VCPU, MEMORY
2866
3614
  # },
2867
3615
  # ],
2868
3616
  # },
@@ -2953,7 +3701,7 @@ module Aws::Batch
2953
3701
  # resource_requirements: [
2954
3702
  # {
2955
3703
  # value: "String", # required
2956
- # type: "GPU", # required, accepts GPU
3704
+ # type: "GPU", # required, accepts GPU, VCPU, MEMORY
2957
3705
  # },
2958
3706
  # ],
2959
3707
  # linux_parameters: {
@@ -2994,6 +3742,12 @@ module Aws::Batch
2994
3742
  # value_from: "String", # required
2995
3743
  # },
2996
3744
  # ],
3745
+ # network_configuration: {
3746
+ # assign_public_ip: "ENABLED", # accepts ENABLED, DISABLED
3747
+ # },
3748
+ # fargate_platform_configuration: {
3749
+ # platform_version: "String",
3750
+ # },
2997
3751
  # },
2998
3752
  # },
2999
3753
  # ],
@@ -3023,7 +3777,7 @@ module Aws::Batch
3023
3777
  include Aws::Structure
3024
3778
  end
3025
3779
 
3026
- # An object representing the properties of a node that is associated
3780
+ # An object representing the properties of a node that's associated
3027
3781
  # with a multi-node parallel job.
3028
3782
  #
3029
3783
  # @!attribute [rw] is_main_node
@@ -3051,7 +3805,7 @@ module Aws::Batch
3051
3805
  include Aws::Structure
3052
3806
  end
3053
3807
 
3054
- # Object representing any node overrides to a job definition that is
3808
+ # Object representing any node overrides to a job definition that's
3055
3809
  # used in a SubmitJob API operation.
3056
3810
  #
3057
3811
  # @note When making an API call, you may pass NodePropertyOverride
@@ -3073,18 +3827,19 @@ module Aws::Batch
3073
3827
  # resource_requirements: [
3074
3828
  # {
3075
3829
  # value: "String", # required
3076
- # type: "GPU", # required, accepts GPU
3830
+ # type: "GPU", # required, accepts GPU, VCPU, MEMORY
3077
3831
  # },
3078
3832
  # ],
3079
3833
  # },
3080
3834
  # }
3081
3835
  #
3082
3836
  # @!attribute [rw] target_nodes
3083
- # The range of nodes, using node index values, with which to override.
3084
- # A range of `0:3` indicates nodes with index values of `0` through
3085
- # `3`. If the starting range value is omitted (`:n`), then `0` is used
3086
- # to start the range. If the ending range value is omitted (`n:`),
3087
- # then the highest possible node index is used to end the range.
3837
+ # The range of nodes, using node index values, that's used to
3838
+ # override. A range of `0:3` indicates nodes with index values of `0`
3839
+ # through `3`. If the starting range value is omitted (`:n`), then `0`
3840
+ # is used to start the range. If the ending range value is omitted
3841
+ # (`n:`), then the highest possible node index is used to end the
3842
+ # range.
3088
3843
  # @return [String]
3089
3844
  #
3090
3845
  # @!attribute [rw] container_overrides
@@ -3150,7 +3905,7 @@ module Aws::Batch
3150
3905
  # resource_requirements: [
3151
3906
  # {
3152
3907
  # value: "String", # required
3153
- # type: "GPU", # required, accepts GPU
3908
+ # type: "GPU", # required, accepts GPU, VCPU, MEMORY
3154
3909
  # },
3155
3910
  # ],
3156
3911
  # linux_parameters: {
@@ -3191,6 +3946,12 @@ module Aws::Batch
3191
3946
  # value_from: "String", # required
3192
3947
  # },
3193
3948
  # ],
3949
+ # network_configuration: {
3950
+ # assign_public_ip: "ENABLED", # accepts ENABLED, DISABLED
3951
+ # },
3952
+ # fargate_platform_configuration: {
3953
+ # platform_version: "String",
3954
+ # },
3194
3955
  # },
3195
3956
  # }
3196
3957
  #
@@ -3200,9 +3961,9 @@ module Aws::Batch
3200
3961
  # starting range value is omitted (`:n`), then `0` is used to start
3201
3962
  # the range. If the ending range value is omitted (`n:`), then the
3202
3963
  # highest possible node index is used to end the range. Your
3203
- # accumulative node ranges must account for all nodes (0:n). You may
3204
- # nest node ranges, for example 0:10 and 4:5, in which case the 4:5
3205
- # range properties override the 0:10 properties.
3964
+ # accumulative node ranges must account for all nodes (`0:n`). You can
3965
+ # nest node ranges, for example `0:10` and `4:5`, in which case the
3966
+ # `4:5` range properties override the `0:10` properties.
3206
3967
  # @return [String]
3207
3968
  #
3208
3969
  # @!attribute [rw] container
@@ -3218,6 +3979,8 @@ module Aws::Batch
3218
3979
  include Aws::Structure
3219
3980
  end
3220
3981
 
3982
+ # Contains the parameters for `RegisterJobDefinition`.
3983
+ #
3221
3984
  # @note When making an API call, you may pass RegisterJobDefinitionRequest
3222
3985
  # data as a hash:
3223
3986
  #
@@ -3269,7 +4032,7 @@ module Aws::Batch
3269
4032
  # resource_requirements: [
3270
4033
  # {
3271
4034
  # value: "String", # required
3272
- # type: "GPU", # required, accepts GPU
4035
+ # type: "GPU", # required, accepts GPU, VCPU, MEMORY
3273
4036
  # },
3274
4037
  # ],
3275
4038
  # linux_parameters: {
@@ -3310,6 +4073,12 @@ module Aws::Batch
3310
4073
  # value_from: "String", # required
3311
4074
  # },
3312
4075
  # ],
4076
+ # network_configuration: {
4077
+ # assign_public_ip: "ENABLED", # accepts ENABLED, DISABLED
4078
+ # },
4079
+ # fargate_platform_configuration: {
4080
+ # platform_version: "String",
4081
+ # },
3313
4082
  # },
3314
4083
  # node_properties: {
3315
4084
  # num_nodes: 1, # required
@@ -3359,7 +4128,7 @@ module Aws::Batch
3359
4128
  # resource_requirements: [
3360
4129
  # {
3361
4130
  # value: "String", # required
3362
- # type: "GPU", # required, accepts GPU
4131
+ # type: "GPU", # required, accepts GPU, VCPU, MEMORY
3363
4132
  # },
3364
4133
  # ],
3365
4134
  # linux_parameters: {
@@ -3400,6 +4169,12 @@ module Aws::Batch
3400
4169
  # value_from: "String", # required
3401
4170
  # },
3402
4171
  # ],
4172
+ # network_configuration: {
4173
+ # assign_public_ip: "ENABLED", # accepts ENABLED, DISABLED
4174
+ # },
4175
+ # fargate_platform_configuration: {
4176
+ # platform_version: "String",
4177
+ # },
3403
4178
  # },
3404
4179
  # },
3405
4180
  # ],
@@ -3415,12 +4190,14 @@ module Aws::Batch
3415
4190
  # },
3416
4191
  # ],
3417
4192
  # },
4193
+ # propagate_tags: false,
3418
4194
  # timeout: {
3419
4195
  # attempt_duration_seconds: 1,
3420
4196
  # },
3421
4197
  # tags: {
3422
4198
  # "TagKey" => "TagValue",
3423
4199
  # },
4200
+ # platform_capabilities: ["EC2"], # accepts EC2, FARGATE
3424
4201
  # }
3425
4202
  #
3426
4203
  # @!attribute [rw] job_definition_name
@@ -3430,7 +4207,18 @@ module Aws::Batch
3430
4207
  # @return [String]
3431
4208
  #
3432
4209
  # @!attribute [rw] type
3433
- # The type of job definition.
4210
+ # The type of job definition. For more information about multi-node
4211
+ # parallel jobs, see [Creating a multi-node parallel job
4212
+ # definition][1] in the *AWS Batch User Guide*.
4213
+ #
4214
+ # <note markdown="1"> If the job is run on Fargate resources, then `multinode` isn't
4215
+ # supported.
4216
+ #
4217
+ # </note>
4218
+ #
4219
+ #
4220
+ #
4221
+ # [1]: https://docs.aws.amazon.com/batch/latest/userguide/multi-node-job-def.html
3434
4222
  # @return [String]
3435
4223
  #
3436
4224
  # @!attribute [rw] parameters
@@ -3445,6 +4233,11 @@ module Aws::Batch
3445
4233
  # container-based jobs. If the job definition's `type` parameter is
3446
4234
  # `container`, then you must specify either `containerProperties` or
3447
4235
  # `nodeProperties`.
4236
+ #
4237
+ # <note markdown="1"> If the job runs on Fargate resources, then you must not specify
4238
+ # `nodeProperties`; use only `containerProperties`.
4239
+ #
4240
+ # </note>
3448
4241
  # @return [Types::ContainerProperties]
3449
4242
  #
3450
4243
  # @!attribute [rw] node_properties
@@ -3455,6 +4248,11 @@ module Aws::Batch
3455
4248
  # definition's `type` parameter is `container`, then you must specify
3456
4249
  # either `containerProperties` or `nodeProperties`.
3457
4250
  #
4251
+ # <note markdown="1"> If the job runs on Fargate resources, then you must not specify
4252
+ # `nodeProperties`; use `containerProperties` instead.
4253
+ #
4254
+ # </note>
4255
+ #
3458
4256
  #
3459
4257
  #
3460
4258
  # [1]: https://docs.aws.amazon.com/batch/latest/userguide/multi-node-parallel-jobs.html
@@ -3462,37 +4260,52 @@ module Aws::Batch
3462
4260
  #
3463
4261
  # @!attribute [rw] retry_strategy
3464
4262
  # The retry strategy to use for failed jobs that are submitted with
3465
- # this job definition. Any retry strategy that is specified during a
4263
+ # this job definition. Any retry strategy that's specified during a
3466
4264
  # SubmitJob operation overrides the retry strategy defined here. If a
3467
- # job is terminated due to a timeout, it is not retried.
4265
+ # job is terminated due to a timeout, it isn't retried.
3468
4266
  # @return [Types::RetryStrategy]
3469
4267
  #
4268
+ # @!attribute [rw] propagate_tags
4269
+ # Specifies whether to propagate the tags from the job or job
4270
+ # definition to the corresponding Amazon ECS task. If no value is
4271
+ # specified, the tags are not propagated. Tags can only be propagated
4272
+ # to the tasks during task creation. For tags with the same name, job
4273
+ # tags are given priority over job definitions tags. If the total
4274
+ # number of combined tags from the job and job definition is over 50,
4275
+ # the job is moved to the `FAILED` state.
4276
+ # @return [Boolean]
4277
+ #
3470
4278
  # @!attribute [rw] timeout
3471
4279
  # The timeout configuration for jobs that are submitted with this job
3472
4280
  # definition, after which AWS Batch terminates your jobs if they have
3473
- # not finished. If a job is terminated due to a timeout, it is not
4281
+ # not finished. If a job is terminated due to a timeout, it isn't
3474
4282
  # retried. The minimum value for the timeout is 60 seconds. Any
3475
- # timeout configuration that is specified during a SubmitJob operation
4283
+ # timeout configuration that's specified during a SubmitJob operation
3476
4284
  # overrides the timeout configuration defined here. For more
3477
- # information, see [Job Timeouts][1] in the *Amazon Elastic Container
3478
- # Service Developer Guide*.
4285
+ # information, see [Job Timeouts][1] in the *AWS Batch User Guide*.
3479
4286
  #
3480
4287
  #
3481
4288
  #
3482
- # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/job_timeouts.html
4289
+ # [1]: https://docs.aws.amazon.com/batch/latest/userguide/job_timeouts.html
3483
4290
  # @return [Types::JobTimeout]
3484
4291
  #
3485
4292
  # @!attribute [rw] tags
3486
4293
  # The tags that you apply to the job definition to help you categorize
3487
4294
  # and organize your resources. Each tag consists of a key and an
3488
4295
  # optional value. For more information, see [Tagging AWS Resources][1]
3489
- # in *AWS General Reference*.
4296
+ # in *AWS Batch User Guide*.
3490
4297
  #
3491
4298
  #
3492
4299
  #
3493
- # [1]: https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html
4300
+ # [1]: https://docs.aws.amazon.com/batch/latest/userguide/using-tags.html
3494
4301
  # @return [Hash<String,String>]
3495
4302
  #
4303
+ # @!attribute [rw] platform_capabilities
4304
+ # The platform capabilities required by the job definition. If no
4305
+ # value is specified, it defaults to `EC2`. To run the job on Fargate
4306
+ # resources, specify `FARGATE`.
4307
+ # @return [Array<String>]
4308
+ #
3496
4309
  # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/RegisterJobDefinitionRequest AWS API Documentation
3497
4310
  #
3498
4311
  class RegisterJobDefinitionRequest < Struct.new(
@@ -3502,8 +4315,10 @@ module Aws::Batch
3502
4315
  :container_properties,
3503
4316
  :node_properties,
3504
4317
  :retry_strategy,
4318
+ :propagate_tags,
3505
4319
  :timeout,
3506
- :tags)
4320
+ :tags,
4321
+ :platform_capabilities)
3507
4322
  SENSITIVE = []
3508
4323
  include Aws::Structure
3509
4324
  end
@@ -3530,27 +4345,143 @@ module Aws::Batch
3530
4345
  include Aws::Structure
3531
4346
  end
3532
4347
 
3533
- # The type and amount of a resource to assign to a container. Currently,
3534
- # the only supported resource type is `GPU`.
4348
+ # The type and amount of a resource to assign to a container. The
4349
+ # supported resources include `GPU`, `MEMORY`, and `VCPU`.
3535
4350
  #
3536
4351
  # @note When making an API call, you may pass ResourceRequirement
3537
4352
  # data as a hash:
3538
4353
  #
3539
4354
  # {
3540
4355
  # value: "String", # required
3541
- # type: "GPU", # required, accepts GPU
4356
+ # type: "GPU", # required, accepts GPU, VCPU, MEMORY
3542
4357
  # }
3543
4358
  #
3544
4359
  # @!attribute [rw] value
3545
- # The number of physical GPUs to reserve for the container. The number
3546
- # of GPUs reserved for all containers in a job should not exceed the
3547
- # number of available GPUs on the compute resource that the job is
3548
- # launched on.
4360
+ # The quantity of the specified resource to reserve for the container.
4361
+ # The values vary based on the `type` specified.
4362
+ #
4363
+ # type="GPU"
4364
+ #
4365
+ # : The number of physical GPUs to reserve for the container. The
4366
+ # number of GPUs reserved for all containers in a job shouldn't
4367
+ # exceed the number of available GPUs on the compute resource that
4368
+ # the job is launched on.
4369
+ #
4370
+ # <note markdown="1"> GPUs are not available for jobs running on Fargate resources.
4371
+ #
4372
+ # </note>
4373
+ #
4374
+ # type="MEMORY"
4375
+ #
4376
+ # : For jobs running on EC2 resources, the hard limit (in MiB) of
4377
+ # memory to present to the container. If your container attempts to
4378
+ # exceed the memory specified here, the container is killed. This
4379
+ # parameter maps to `Memory` in the [Create a container][1] section
4380
+ # of the [Docker Remote API][2] and the `--memory` option to [docker
4381
+ # run][3]. You must specify at least 4 MiB of memory for a job. This
4382
+ # is required but can be specified in several places for multi-node
4383
+ # parallel (MNP) jobs. It must be specified for each node at least
4384
+ # once. This parameter maps to `Memory` in the [Create a
4385
+ # container][1] section of the [Docker Remote API][2] and the
4386
+ # `--memory` option to [docker run][3].
4387
+ #
4388
+ # <note markdown="1"> If you're trying to maximize your resource utilization by
4389
+ # providing your jobs as much memory as possible for a particular
4390
+ # instance type, see [Memory Management][4] in the *AWS Batch User
4391
+ # Guide*.
4392
+ #
4393
+ # </note>
4394
+ #
4395
+ # For jobs running on Fargate resources, then `value` is the hard
4396
+ # limit (in MiB), and must match one of the supported values and the
4397
+ # `VCPU` values must be one of the values supported for that memory
4398
+ # value.
4399
+ #
4400
+ # value = 512
4401
+ #
4402
+ # : `VCPU` = 0.25
4403
+ #
4404
+ # value = 1024
4405
+ #
4406
+ # : `VCPU` = 0.25 or 0.5
4407
+ #
4408
+ # value = 2048
4409
+ #
4410
+ # : `VCPU` = 0.25, 0.5, or 1
4411
+ #
4412
+ # value = 3072
4413
+ #
4414
+ # : `VCPU` = 0.5, or 1
4415
+ #
4416
+ # value = 4096
4417
+ #
4418
+ # : `VCPU` = 0.5, 1, or 2
4419
+ #
4420
+ # value = 5120, 6144, or 7168
4421
+ #
4422
+ # : `VCPU` = 1 or 2
4423
+ #
4424
+ # value = 8192
4425
+ #
4426
+ # : `VCPU` = 1, 2, or 4
4427
+ #
4428
+ # value = 9216, 10240, 11264, 12288, 13312, 14336, 15360, or 16384
4429
+ #
4430
+ # : `VCPU` = 2 or 4
4431
+ #
4432
+ # value = 17408, 18432, 19456, 20480, 21504, 22528, 23552, 24576, 25600, 26624, 27648, 28672, 29696, or 30720
4433
+ #
4434
+ # : `VCPU` = 4
4435
+ #
4436
+ # type="VCPU"
4437
+ #
4438
+ # : The number of vCPUs reserved for the container. This parameter
4439
+ # maps to `CpuShares` in the [Create a container][1] section of the
4440
+ # [Docker Remote API][2] and the `--cpu-shares` option to [docker
4441
+ # run][3]. Each vCPU is equivalent to 1,024 CPU shares. For EC2
4442
+ # resources, you must specify at least one vCPU. This is required
4443
+ # but can be specified in several places; it must be specified for
4444
+ # each node at least once.
4445
+ #
4446
+ # For jobs running on Fargate resources, then `value` must match one
4447
+ # of the supported values and the `MEMORY` values must be one of the
4448
+ # values supported for that VCPU value. The supported values are
4449
+ # 0.25, 0.5, 1, 2, and 4
4450
+ #
4451
+ # value = 0.25
4452
+ #
4453
+ # : `MEMORY` = 512, 1024, or 2048
4454
+ #
4455
+ # value = 0.5
4456
+ #
4457
+ # : `MEMORY` = 1024, 2048, 3072, or 4096
4458
+ #
4459
+ # value = 1
4460
+ #
4461
+ # : `MEMORY` = 2048, 3072, 4096, 5120, 6144, 7168, or 8192
4462
+ #
4463
+ # value = 2
4464
+ #
4465
+ # : `MEMORY` = 4096, 5120, 6144, 7168, 8192, 9216, 10240, 11264,
4466
+ # 12288, 13312, 14336, 15360, or 16384
4467
+ #
4468
+ # value = 4
4469
+ #
4470
+ # : `MEMORY` = 8192, 9216, 10240, 11264, 12288, 13312, 14336, 15360,
4471
+ # 16384, 17408, 18432, 19456, 20480, 21504, 22528, 23552, 24576,
4472
+ # 25600, 26624, 27648, 28672, 29696, or 30720
4473
+ #
4474
+ #
4475
+ #
4476
+ # [1]: https://docs.docker.com/engine/api/v1.23/#create-a-container
4477
+ # [2]: https://docs.docker.com/engine/api/v1.23/
4478
+ # [3]: https://docs.docker.com/engine/reference/run/
4479
+ # [4]: https://docs.aws.amazon.com/batch/latest/userguide/memory-management.html
3549
4480
  # @return [String]
3550
4481
  #
3551
4482
  # @!attribute [rw] type
3552
- # The type of resource to assign to a container. Currently, the only
3553
- # supported resource type is `GPU`.
4483
+ # The type of resource to assign to a container. The supported
4484
+ # resources include `GPU`, `MEMORY`, and `VCPU`.
3554
4485
  # @return [String]
3555
4486
  #
3556
4487
  # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/ResourceRequirement AWS API Documentation
@@ -3562,7 +4493,12 @@ module Aws::Batch
3562
4493
  include Aws::Structure
3563
4494
  end
3564
4495
 
3565
- # The retry strategy associated with a job.
4496
+ # The retry strategy associated with a job. For more information, see
4497
+ # [Automated job retries][1] in the *AWS Batch User Guide*.
4498
+ #
4499
+ #
4500
+ #
4501
+ # [1]: https://docs.aws.amazon.com/batch/latest/userguide/job_retries.html
3566
4502
  #
3567
4503
  # @note When making an API call, you may pass RetryStrategy
3568
4504
  # data as a hash:
@@ -3580,7 +4516,7 @@ module Aws::Batch
3580
4516
  # }
3581
4517
  #
3582
4518
  # @!attribute [rw] attempts
3583
- # The number of times to move a job to the `RUNNABLE` status. You may
4519
+ # The number of times to move a job to the `RUNNABLE` status. You can
3584
4520
  # specify between 1 and 10 attempts. If the value of `attempts` is
3585
4521
  # greater than one, the job is retried on failure the same number of
3586
4522
  # attempts as the value.
@@ -3610,12 +4546,12 @@ module Aws::Batch
3610
4546
  # * To reference sensitive information in the log configuration of a
3611
4547
  # container, use the `secretOptions` container definition parameter.
3612
4548
  #
3613
- # For more information, see [Specifying Sensitive Data][1] in the
3614
- # *Amazon Elastic Container Service Developer Guide*.
4549
+ # For more information, see [Specifying sensitive data][1] in the *AWS
4550
+ # Batch User Guide*.
3615
4551
  #
3616
4552
  #
3617
4553
  #
3618
- # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/specifying-sensitive-data.html
4554
+ # [1]: https://docs.aws.amazon.com/batch/latest/userguide/specifying-sensitive-data.html
3619
4555
  #
3620
4556
  # @note When making an API call, you may pass Secret
3621
4557
  # data as a hash:
@@ -3635,7 +4571,7 @@ module Aws::Batch
3635
4571
  # ARN of the parameter in the AWS Systems Manager Parameter Store.
3636
4572
  #
3637
4573
  # <note markdown="1"> If the AWS Systems Manager Parameter Store parameter exists in the
3638
- # same Region as the task you are launching, then you can use either
4574
+ # same Region as the job you are launching, then you can use either
3639
4575
  # the full ARN or name of the parameter. If the parameter exists in a
3640
4576
  # different Region, then the full ARN must be specified.
3641
4577
  #
@@ -3664,6 +4600,8 @@ module Aws::Batch
3664
4600
  include Aws::Structure
3665
4601
  end
3666
4602
 
4603
+ # Contains the parameters for `SubmitJob`.
4604
+ #
3667
4605
  # @note When making an API call, you may pass SubmitJobRequest
3668
4606
  # data as a hash:
3669
4607
  #
@@ -3697,7 +4635,7 @@ module Aws::Batch
3697
4635
  # resource_requirements: [
3698
4636
  # {
3699
4637
  # value: "String", # required
3700
- # type: "GPU", # required, accepts GPU
4638
+ # type: "GPU", # required, accepts GPU, VCPU, MEMORY
3701
4639
  # },
3702
4640
  # ],
3703
4641
  # },
@@ -3720,7 +4658,7 @@ module Aws::Batch
3720
4658
  # resource_requirements: [
3721
4659
  # {
3722
4660
  # value: "String", # required
3723
- # type: "GPU", # required, accepts GPU
4661
+ # type: "GPU", # required, accepts GPU, VCPU, MEMORY
3724
4662
  # },
3725
4663
  # ],
3726
4664
  # },
@@ -3738,6 +4676,7 @@ module Aws::Batch
3738
4676
  # },
3739
4677
  # ],
3740
4678
  # },
4679
+ # propagate_tags: false,
3741
4680
  # timeout: {
3742
4681
  # attempt_duration_seconds: 1,
3743
4682
  # },
@@ -3797,7 +4736,7 @@ module Aws::Batch
3797
4736
  # A list of container overrides in JSON format that specify the name
3798
4737
  # of a container in the specified job definition and the overrides it
3799
4738
  # should receive. You can override the default command for a container
3800
- # (that is specified in the job definition or the Docker image) with a
4739
+ # (that's specified in the job definition or the Docker image) with a
3801
4740
  # `command` override. You can also override existing environment
3802
4741
  # variables (that are specified in the job definition or Docker image)
3803
4742
  # on a container or add new environment variables to it with an
@@ -3807,6 +4746,11 @@ module Aws::Batch
3807
4746
  # @!attribute [rw] node_overrides
3808
4747
  # A list of node overrides in JSON format that specify the node range
3809
4748
  # to target and the container overrides for that node range.
4749
+ #
4750
+ # <note markdown="1"> This parameter isn't applicable to jobs running on Fargate
4751
+ # resources; use `containerOverrides` instead.
4752
+ #
4753
+ # </note>
3810
4754
  # @return [Types::NodeOverrides]
3811
4755
  #
3812
4756
  # @!attribute [rw] retry_strategy
@@ -3815,11 +4759,22 @@ module Aws::Batch
3815
4759
  # retry strategy defined in the job definition.
3816
4760
  # @return [Types::RetryStrategy]
3817
4761
  #
4762
+ # @!attribute [rw] propagate_tags
4763
+ # Specifies whether to propagate the tags from the job or job
4764
+ # definition to the corresponding Amazon ECS task. If no value is
4765
+ # specified, the tags aren't propagated. Tags can only be propagated
4766
+ # to the tasks during task creation. For tags with the same name, job
4767
+ # tags are given priority over job definitions tags. If the total
4768
+ # number of combined tags from the job and job definition is over 50,
4769
+ # the job is moved to the `FAILED` state. When specified, this
4770
+ # overrides the tag propagation setting in the job definition.
4771
+ # @return [Boolean]
4772
+ #
3818
4773
  # @!attribute [rw] timeout
3819
4774
  # The timeout configuration for this SubmitJob operation. You can
3820
4775
  # specify a timeout duration after which AWS Batch terminates your
3821
- # jobs if they have not finished. If a job is terminated due to a
3822
- # timeout, it is not retried. The minimum value for the timeout is 60
4776
+ # jobs if they haven't finished. If a job is terminated due to a
4777
+ # timeout, it isn't retried. The minimum value for the timeout is 60
3823
4778
  # seconds. This configuration overrides any timeout configuration
3824
4779
  # specified in the job definition. For array jobs, child jobs have the
3825
4780
  # same timeout configuration as the parent job. For more information,
@@ -3854,6 +4809,7 @@ module Aws::Batch
3854
4809
  :container_overrides,
3855
4810
  :node_overrides,
3856
4811
  :retry_strategy,
4812
+ :propagate_tags,
3857
4813
  :timeout,
3858
4814
  :tags)
3859
4815
  SENSITIVE = []
@@ -3893,8 +4849,8 @@ module Aws::Batch
3893
4849
  # }
3894
4850
  #
3895
4851
  # @!attribute [rw] resource_arn
3896
- # The Amazon Resource Name (ARN) of the resource to which to add tags.
3897
- # AWS Batch resources that support tags are compute environments,
4852
+ # The Amazon Resource Name (ARN) of the resource that tags are added
4853
+ # to. AWS Batch resources that support tags are compute environments,
3898
4854
  # jobs, job definitions, and job queues. ARNs for child jobs of array
3899
4855
  # and multi-node parallel (MNP) jobs are not supported.
3900
4856
  # @return [String]
@@ -3923,6 +4879,8 @@ module Aws::Batch
3923
4879
  #
3924
4880
  class TagResourceResponse < Aws::EmptyStructure; end
3925
4881
 
4882
+ # Contains the parameters for `TerminateJob`.
4883
+ #
3926
4884
  # @note When making an API call, you may pass TerminateJobRequest
3927
4885
  # data as a hash:
3928
4886
  #
@@ -3957,6 +4915,10 @@ module Aws::Batch
3957
4915
 
3958
4916
  # The container path, mount options, and size of the tmpfs mount.
3959
4917
  #
4918
+ # <note markdown="1"> This object isn't applicable to jobs running on Fargate resources.
4919
+ #
4920
+ # </note>
4921
+ #
3960
4922
  # @note When making an API call, you may pass Tmpfs
3961
4923
  # data as a hash:
3962
4924
  #
@@ -3967,8 +4929,8 @@ module Aws::Batch
3967
4929
  # }
3968
4930
  #
3969
4931
  # @!attribute [rw] container_path
3970
- # The absolute file path in the container where the tmpfs volume is to
3971
- # be mounted.
4932
+ # The absolute file path in the container where the tmpfs volume is
4933
+ # mounted.
3972
4934
  # @return [String]
3973
4935
  #
3974
4936
  # @!attribute [rw] size
@@ -4002,6 +4964,10 @@ module Aws::Batch
4002
4964
 
4003
4965
  # The `ulimit` settings to pass to the container.
4004
4966
  #
4967
+ # <note markdown="1"> This object isn't applicable to jobs running on Fargate resources.
4968
+ #
4969
+ # </note>
4970
+ #
4005
4971
  # @note When making an API call, you may pass Ulimit
4006
4972
  # data as a hash:
4007
4973
  #
@@ -4065,6 +5031,8 @@ module Aws::Batch
4065
5031
  #
4066
5032
  class UntagResourceResponse < Aws::EmptyStructure; end
4067
5033
 
5034
+ # Contains the parameters for `UpdateComputeEnvironment`.
5035
+ #
4068
5036
  # @note When making an API call, you may pass UpdateComputeEnvironmentRequest
4069
5037
  # data as a hash:
4070
5038
  #
@@ -4075,6 +5043,8 @@ module Aws::Batch
4075
5043
  # minv_cpus: 1,
4076
5044
  # maxv_cpus: 1,
4077
5045
  # desiredv_cpus: 1,
5046
+ # subnets: ["String"],
5047
+ # security_group_ids: ["String"],
4078
5048
  # },
4079
5049
  # service_role: "String",
4080
5050
  # }
@@ -4088,29 +5058,52 @@ module Aws::Batch
4088
5058
  # The state of the compute environment. Compute environments in the
4089
5059
  # `ENABLED` state can accept jobs from a queue and scale in or out
4090
5060
  # automatically based on the workload demand of its associated queues.
5061
+ #
5062
+ # If the state is `ENABLED`, then the AWS Batch scheduler can attempt
5063
+ # to place jobs from an associated job queue on the compute resources
5064
+ # within the environment. If the compute environment is managed, then
5065
+ # it can scale its instances out or in automatically, based on the job
5066
+ # queue demand.
5067
+ #
5068
+ # If the state is `DISABLED`, then the AWS Batch scheduler doesn't
5069
+ # attempt to place jobs within the environment. Jobs in a `STARTING`
5070
+ # or `RUNNING` state continue to progress normally. Managed compute
5071
+ # environments in the `DISABLED` state don't scale out. However, they
5072
+ # scale in to `minvCpus` value after instances become idle.
4091
5073
  # @return [String]
4092
5074
  #
4093
5075
  # @!attribute [rw] compute_resources
4094
5076
  # Details of the compute resources managed by the compute environment.
4095
- # Required for a managed compute environment.
5077
+ # Required for a managed compute environment. For more information,
5078
+ # see [Compute Environments][1] in the *AWS Batch User Guide*.
5079
+ #
5080
+ #
5081
+ #
5082
+ # [1]: https://docs.aws.amazon.com/batch/latest/userguide/compute_environments.html
4096
5083
  # @return [Types::ComputeResourceUpdate]
4097
5084
  #
4098
5085
  # @!attribute [rw] service_role
4099
5086
  # The full Amazon Resource Name (ARN) of the IAM role that allows AWS
4100
- # Batch to make calls to other AWS services on your behalf.
5087
+ # Batch to make calls to other AWS services on your behalf. For more
5088
+ # information, see [AWS Batch service IAM role][1] in the *AWS Batch
5089
+ # User Guide*.
4101
5090
  #
4102
5091
  # If your specified role has a path other than `/`, then you must
4103
5092
  # either specify the full role ARN (this is recommended) or prefix the
4104
5093
  # role name with the path.
4105
5094
  #
4106
5095
  # <note markdown="1"> Depending on how you created your AWS Batch service role, its ARN
4107
- # may contain the `service-role` path prefix. When you only specify
5096
+ # might contain the `service-role` path prefix. When you only specify
4108
5097
  # the name of the service role, AWS Batch assumes that your ARN does
4109
5098
  # not use the `service-role` path prefix. Because of this, we
4110
5099
  # recommend that you specify the full ARN of your service role when
4111
5100
  # you create compute environments.
4112
5101
  #
4113
5102
  # </note>
5103
+ #
5104
+ #
5105
+ #
5106
+ # [1]: https://docs.aws.amazon.com/batch/latest/userguide/service_IAM_role.html
4114
5107
  # @return [String]
4115
5108
  #
4116
5109
  # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/UpdateComputeEnvironmentRequest AWS API Documentation
@@ -4125,7 +5118,8 @@ module Aws::Batch
4125
5118
  end
4126
5119
 
4127
5120
  # @!attribute [rw] compute_environment_name
4128
- # The name of the compute environment.
5121
+ # The name of the compute environment. Up to 128 letters (uppercase
5122
+ # and lowercase), numbers, hyphens, and underscores are allowed.
4129
5123
  # @return [String]
4130
5124
  #
4131
5125
  # @!attribute [rw] compute_environment_arn
@@ -4141,6 +5135,8 @@ module Aws::Batch
4141
5135
  include Aws::Structure
4142
5136
  end
4143
5137
 
5138
+ # Contains the parameters for `UpdateJobQueue`.
5139
+ #
4144
5140
  # @note When making an API call, you may pass UpdateJobQueueRequest
4145
5141
  # data as a hash:
4146
5142
  #
@@ -4173,14 +5169,27 @@ module Aws::Batch
4173
5169
  # first when associated with the same compute environment. Priority is
4174
5170
  # determined in descending order, for example, a job queue with a
4175
5171
  # priority value of `10` is given scheduling preference over a job
4176
- # queue with a priority value of `1`.
5172
+ # queue with a priority value of `1`. All of the compute environments
5173
+ # must be either EC2 (`EC2` or `SPOT`) or Fargate (`FARGATE` or
5174
+ # `FARGATE_SPOT`); EC2 and Fargate compute environments cannot be
5175
+ # mixed.
4177
5176
  # @return [Integer]
4178
5177
  #
4179
5178
  # @!attribute [rw] compute_environment_order
4180
5179
  # Details the set of compute environments mapped to a job queue and
4181
5180
  # their order relative to each other. This is one of the parameters
4182
5181
  # used by the job scheduler to determine which compute environment
4183
- # should execute a given job.
5182
+ # should run a given job. Compute environments must be in the `VALID`
5183
+ # state before you can associate them with a job queue. All of the
5184
+ # compute environments must be either EC2 (`EC2` or `SPOT`) or Fargate
5185
+ # (`FARGATE` or `FARGATE_SPOT`); EC2 and Fargate compute environments
5186
+ # can't be mixed.
5187
+ #
5188
+ # <note markdown="1"> All compute environments that are associated with a job queue must
5189
+ # share the same architecture. AWS Batch doesn't support mixing
5190
+ # compute environment architecture types in a single job queue.
5191
+ #
5192
+ # </note>
4184
5193
  # @return [Array<Types::ComputeEnvironmentOrder>]
4185
5194
  #
4186
5195
  # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/UpdateJobQueueRequest AWS API Documentation
@@ -4227,9 +5236,14 @@ module Aws::Batch
4227
5236
  # The contents of the `host` parameter determine whether your data
4228
5237
  # volume persists on the host container instance and where it is
4229
5238
  # stored. If the host parameter is empty, then the Docker daemon
4230
- # assigns a host path for your data volume. However, the data is not
5239
+ # assigns a host path for your data volume. However, the data isn't
4231
5240
  # guaranteed to persist after the containers associated with it stop
4232
5241
  # running.
5242
+ #
5243
+ # <note markdown="1"> This parameter isn't applicable to jobs running on Fargate
5244
+ # resources and shouldn't be provided.
5245
+ #
5246
+ # </note>
4233
5247
  # @return [Types::Host]
4234
5248
  #
4235
5249
  # @!attribute [rw] name