aws-sdk-batch 1.40.0 → 1.45.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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