aws-sdk-batch 1.41.0 → 1.46.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')
@@ -67,6 +68,7 @@ module Aws::Batch
67
68
  EnvironmentVariables = Shapes::ListShape.new(name: 'EnvironmentVariables')
68
69
  EvaluateOnExit = Shapes::StructureShape.new(name: 'EvaluateOnExit')
69
70
  EvaluateOnExitList = Shapes::ListShape.new(name: 'EvaluateOnExitList')
71
+ FargatePlatformConfiguration = Shapes::StructureShape.new(name: 'FargatePlatformConfiguration')
70
72
  Host = Shapes::StructureShape.new(name: 'Host')
71
73
  ImageIdOverride = Shapes::StringShape.new(name: 'ImageIdOverride')
72
74
  ImageType = Shapes::StringShape.new(name: 'ImageType')
@@ -99,6 +101,7 @@ module Aws::Batch
99
101
  Long = Shapes::IntegerShape.new(name: 'Long')
100
102
  MountPoint = Shapes::StructureShape.new(name: 'MountPoint')
101
103
  MountPoints = Shapes::ListShape.new(name: 'MountPoints')
104
+ NetworkConfiguration = Shapes::StructureShape.new(name: 'NetworkConfiguration')
102
105
  NetworkInterface = Shapes::StructureShape.new(name: 'NetworkInterface')
103
106
  NetworkInterfaceList = Shapes::ListShape.new(name: 'NetworkInterfaceList')
104
107
  NodeDetails = Shapes::StructureShape.new(name: 'NodeDetails')
@@ -110,6 +113,8 @@ module Aws::Batch
110
113
  NodeRangeProperties = Shapes::ListShape.new(name: 'NodeRangeProperties')
111
114
  NodeRangeProperty = Shapes::StructureShape.new(name: 'NodeRangeProperty')
112
115
  ParametersMap = Shapes::MapShape.new(name: 'ParametersMap')
116
+ PlatformCapability = Shapes::StringShape.new(name: 'PlatformCapability')
117
+ PlatformCapabilityList = Shapes::ListShape.new(name: 'PlatformCapabilityList')
113
118
  RegisterJobDefinitionRequest = Shapes::StructureShape.new(name: 'RegisterJobDefinitionRequest')
114
119
  RegisterJobDefinitionResponse = Shapes::StructureShape.new(name: 'RegisterJobDefinitionResponse')
115
120
  ResourceRequirement = Shapes::StructureShape.new(name: 'ResourceRequirement')
@@ -208,15 +213,15 @@ module Aws::Batch
208
213
 
209
214
  ComputeResource.add_member(:type, Shapes::ShapeRef.new(shape: CRType, required: true, location_name: "type"))
210
215
  ComputeResource.add_member(:allocation_strategy, Shapes::ShapeRef.new(shape: CRAllocationStrategy, location_name: "allocationStrategy"))
211
- 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"))
212
217
  ComputeResource.add_member(:maxv_cpus, Shapes::ShapeRef.new(shape: Integer, required: true, location_name: "maxvCpus"))
213
218
  ComputeResource.add_member(:desiredv_cpus, Shapes::ShapeRef.new(shape: Integer, location_name: "desiredvCpus"))
214
- ComputeResource.add_member(:instance_types, Shapes::ShapeRef.new(shape: StringList, required: true, location_name: "instanceTypes"))
219
+ ComputeResource.add_member(:instance_types, Shapes::ShapeRef.new(shape: StringList, location_name: "instanceTypes"))
215
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."}))
216
221
  ComputeResource.add_member(:subnets, Shapes::ShapeRef.new(shape: StringList, required: true, location_name: "subnets"))
217
222
  ComputeResource.add_member(:security_group_ids, Shapes::ShapeRef.new(shape: StringList, location_name: "securityGroupIds"))
218
223
  ComputeResource.add_member(:ec2_key_pair, Shapes::ShapeRef.new(shape: String, location_name: "ec2KeyPair"))
219
- 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"))
220
225
  ComputeResource.add_member(:tags, Shapes::ShapeRef.new(shape: TagsMap, location_name: "tags"))
221
226
  ComputeResource.add_member(:placement_group, Shapes::ShapeRef.new(shape: String, location_name: "placementGroup"))
222
227
  ComputeResource.add_member(:bid_percentage, Shapes::ShapeRef.new(shape: Integer, location_name: "bidPercentage"))
@@ -228,6 +233,8 @@ module Aws::Batch
228
233
  ComputeResourceUpdate.add_member(:minv_cpus, Shapes::ShapeRef.new(shape: Integer, location_name: "minvCpus"))
229
234
  ComputeResourceUpdate.add_member(:maxv_cpus, Shapes::ShapeRef.new(shape: Integer, location_name: "maxvCpus"))
230
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"))
231
238
  ComputeResourceUpdate.struct_class = Types::ComputeResourceUpdate
232
239
 
233
240
  ContainerDetail.add_member(:image, Shapes::ShapeRef.new(shape: String, location_name: "image"))
@@ -254,10 +261,12 @@ module Aws::Batch
254
261
  ContainerDetail.add_member(:linux_parameters, Shapes::ShapeRef.new(shape: LinuxParameters, location_name: "linuxParameters"))
255
262
  ContainerDetail.add_member(:log_configuration, Shapes::ShapeRef.new(shape: LogConfiguration, location_name: "logConfiguration"))
256
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"))
257
266
  ContainerDetail.struct_class = Types::ContainerDetail
258
267
 
259
- ContainerOverrides.add_member(:vcpus, Shapes::ShapeRef.new(shape: Integer, location_name: "vcpus"))
260
- 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."}))
261
270
  ContainerOverrides.add_member(:command, Shapes::ShapeRef.new(shape: StringList, location_name: "command"))
262
271
  ContainerOverrides.add_member(:instance_type, Shapes::ShapeRef.new(shape: String, location_name: "instanceType"))
263
272
  ContainerOverrides.add_member(:environment, Shapes::ShapeRef.new(shape: EnvironmentVariables, location_name: "environment"))
@@ -265,8 +274,8 @@ module Aws::Batch
265
274
  ContainerOverrides.struct_class = Types::ContainerOverrides
266
275
 
267
276
  ContainerProperties.add_member(:image, Shapes::ShapeRef.new(shape: String, location_name: "image"))
268
- ContainerProperties.add_member(:vcpus, Shapes::ShapeRef.new(shape: Integer, location_name: "vcpus"))
269
- 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."}))
270
279
  ContainerProperties.add_member(:command, Shapes::ShapeRef.new(shape: StringList, location_name: "command"))
271
280
  ContainerProperties.add_member(:job_role_arn, Shapes::ShapeRef.new(shape: String, location_name: "jobRoleArn"))
272
281
  ContainerProperties.add_member(:execution_role_arn, Shapes::ShapeRef.new(shape: String, location_name: "executionRoleArn"))
@@ -282,6 +291,8 @@ module Aws::Batch
282
291
  ContainerProperties.add_member(:linux_parameters, Shapes::ShapeRef.new(shape: LinuxParameters, location_name: "linuxParameters"))
283
292
  ContainerProperties.add_member(:log_configuration, Shapes::ShapeRef.new(shape: LogConfiguration, location_name: "logConfiguration"))
284
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"))
285
296
  ContainerProperties.struct_class = Types::ContainerProperties
286
297
 
287
298
  ContainerSummary.add_member(:exit_code, Shapes::ShapeRef.new(shape: Integer, location_name: "exitCode"))
@@ -292,7 +303,7 @@ module Aws::Batch
292
303
  CreateComputeEnvironmentRequest.add_member(:type, Shapes::ShapeRef.new(shape: CEType, required: true, location_name: "type"))
293
304
  CreateComputeEnvironmentRequest.add_member(:state, Shapes::ShapeRef.new(shape: CEState, location_name: "state"))
294
305
  CreateComputeEnvironmentRequest.add_member(:compute_resources, Shapes::ShapeRef.new(shape: ComputeResource, location_name: "computeResources"))
295
- CreateComputeEnvironmentRequest.add_member(:service_role, Shapes::ShapeRef.new(shape: String, required: true, location_name: "serviceRole"))
306
+ CreateComputeEnvironmentRequest.add_member(:service_role, Shapes::ShapeRef.new(shape: String, location_name: "serviceRole"))
296
307
  CreateComputeEnvironmentRequest.add_member(:tags, Shapes::ShapeRef.new(shape: TagrisTagsMap, location_name: "tags"))
297
308
  CreateComputeEnvironmentRequest.struct_class = Types::CreateComputeEnvironmentRequest
298
309
 
@@ -386,6 +397,9 @@ module Aws::Batch
386
397
 
387
398
  EvaluateOnExitList.member = Shapes::ShapeRef.new(shape: EvaluateOnExit)
388
399
 
400
+ FargatePlatformConfiguration.add_member(:platform_version, Shapes::ShapeRef.new(shape: String, location_name: "platformVersion"))
401
+ FargatePlatformConfiguration.struct_class = Types::FargatePlatformConfiguration
402
+
389
403
  Host.add_member(:source_path, Shapes::ShapeRef.new(shape: String, location_name: "sourcePath"))
390
404
  Host.struct_class = Types::Host
391
405
 
@@ -400,6 +414,8 @@ module Aws::Batch
400
414
  JobDefinition.add_member(:timeout, Shapes::ShapeRef.new(shape: JobTimeout, location_name: "timeout"))
401
415
  JobDefinition.add_member(:node_properties, Shapes::ShapeRef.new(shape: NodeProperties, location_name: "nodeProperties"))
402
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"))
403
419
  JobDefinition.struct_class = Types::JobDefinition
404
420
 
405
421
  JobDefinitionList.member = Shapes::ShapeRef.new(shape: JobDefinition)
@@ -430,6 +446,8 @@ module Aws::Batch
430
446
  JobDetail.add_member(:array_properties, Shapes::ShapeRef.new(shape: ArrayPropertiesDetail, location_name: "arrayProperties"))
431
447
  JobDetail.add_member(:timeout, Shapes::ShapeRef.new(shape: JobTimeout, location_name: "timeout"))
432
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"))
433
451
  JobDetail.struct_class = Types::JobDetail
434
452
 
435
453
  JobDetailList.member = Shapes::ShapeRef.new(shape: JobDetail)
@@ -514,6 +532,9 @@ module Aws::Batch
514
532
 
515
533
  MountPoints.member = Shapes::ShapeRef.new(shape: MountPoint)
516
534
 
535
+ NetworkConfiguration.add_member(:assign_public_ip, Shapes::ShapeRef.new(shape: AssignPublicIp, location_name: "assignPublicIp"))
536
+ NetworkConfiguration.struct_class = Types::NetworkConfiguration
537
+
517
538
  NetworkInterface.add_member(:attachment_id, Shapes::ShapeRef.new(shape: String, location_name: "attachmentId"))
518
539
  NetworkInterface.add_member(:ipv6_address, Shapes::ShapeRef.new(shape: String, location_name: "ipv6Address"))
519
540
  NetworkInterface.add_member(:private_ipv_4_address, Shapes::ShapeRef.new(shape: String, location_name: "privateIpv4Address"))
@@ -554,14 +575,18 @@ module Aws::Batch
554
575
  ParametersMap.key = Shapes::ShapeRef.new(shape: String)
555
576
  ParametersMap.value = Shapes::ShapeRef.new(shape: String)
556
577
 
578
+ PlatformCapabilityList.member = Shapes::ShapeRef.new(shape: PlatformCapability)
579
+
557
580
  RegisterJobDefinitionRequest.add_member(:job_definition_name, Shapes::ShapeRef.new(shape: String, required: true, location_name: "jobDefinitionName"))
558
581
  RegisterJobDefinitionRequest.add_member(:type, Shapes::ShapeRef.new(shape: JobDefinitionType, required: true, location_name: "type"))
559
582
  RegisterJobDefinitionRequest.add_member(:parameters, Shapes::ShapeRef.new(shape: ParametersMap, location_name: "parameters"))
560
583
  RegisterJobDefinitionRequest.add_member(:container_properties, Shapes::ShapeRef.new(shape: ContainerProperties, location_name: "containerProperties"))
561
584
  RegisterJobDefinitionRequest.add_member(:node_properties, Shapes::ShapeRef.new(shape: NodeProperties, location_name: "nodeProperties"))
562
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"))
563
587
  RegisterJobDefinitionRequest.add_member(:timeout, Shapes::ShapeRef.new(shape: JobTimeout, location_name: "timeout"))
564
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"))
565
590
  RegisterJobDefinitionRequest.struct_class = Types::RegisterJobDefinitionRequest
566
591
 
567
592
  RegisterJobDefinitionResponse.add_member(:job_definition_name, Shapes::ShapeRef.new(shape: String, required: true, location_name: "jobDefinitionName"))
@@ -599,6 +624,7 @@ module Aws::Batch
599
624
  SubmitJobRequest.add_member(:container_overrides, Shapes::ShapeRef.new(shape: ContainerOverrides, location_name: "containerOverrides"))
600
625
  SubmitJobRequest.add_member(:node_overrides, Shapes::ShapeRef.new(shape: NodeOverrides, location_name: "nodeOverrides"))
601
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"))
602
628
  SubmitJobRequest.add_member(:timeout, Shapes::ShapeRef.new(shape: JobTimeout, location_name: "timeout"))
603
629
  SubmitJobRequest.add_member(:tags, Shapes::ShapeRef.new(shape: TagrisTagsMap, location_name: "tags"))
604
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
  # },
@@ -353,27 +393,65 @@ module Aws::Batch
353
393
  # }
354
394
  #
355
395
  # @!attribute [rw] type
356
- # 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
357
408
  # @return [String]
358
409
  #
359
410
  # @!attribute [rw] allocation_strategy
360
- # The allocation strategy to use for the compute resource in case not
411
+ # The allocation strategy to use for the compute resource if not
361
412
  # enough instances of the best fitting instance type can be allocated.
362
- # This could be due to availability of the instance type in the region
363
- # or [Amazon EC2 service limits][1]. If this is not specified, the
364
- # default is `BEST_FIT`, which will use only the best fitting instance
365
- # type, waiting for additional capacity if it's not available. This
366
- # allocation strategy keeps costs lower but can limit scaling. If you
367
- # are using Spot Fleets with `BEST_FIT` then the Spot Fleet IAM Role
368
- # must be specified. `BEST_FIT_PROGRESSIVE` will select additional
369
- # instance types that are large enough to meet the requirements of the
370
- # jobs in the queue, with a preference for instance types with a lower
371
- # cost per vCPU. `SPOT_CAPACITY_OPTIMIZED` is only available for Spot
372
- # Instance compute resources and will select additional instance types
373
- # that are large enough to meet the requirements of the jobs in the
374
- # queue, with a preference for instance types that are less likely to
375
- # be interrupted. For more information, see [Allocation Strategies][2]
376
- # 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 waits for the additional instances to be
428
+ # available. If there aren't enough instances available, or if the
429
+ # user is hitting [Amazon EC2 service limits][1] then additional
430
+ # jobs aren't run until the currently running jobs have completed.
431
+ # This allocation strategy keeps costs lower but can limit scaling.
432
+ # If you are using Spot Fleets with `BEST_FIT` then the Spot Fleet
433
+ # IAM 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.
377
455
  #
378
456
  #
379
457
  #
@@ -384,36 +462,97 @@ module Aws::Batch
384
462
  # @!attribute [rw] minv_cpus
385
463
  # The minimum number of Amazon EC2 vCPUs that an environment should
386
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>
387
470
  # @return [Integer]
388
471
  #
389
472
  # @!attribute [rw] maxv_cpus
390
- # The maximum number of Amazon EC2 vCPUs that an environment can
391
- # 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 exceed `maxvCpus` to
478
+ # meet your capacity requirements. In this event, AWS Batch never
479
+ # exceeds `maxvCpus` by more than a single instance. For example, no
480
+ # more than a single instance from among those specified in your
481
+ # compute environment is allocated.
482
+ #
483
+ # </note>
392
484
  # @return [Integer]
393
485
  #
394
486
  # @!attribute [rw] desiredv_cpus
395
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>
396
495
  # @return [Integer]
397
496
  #
398
497
  # @!attribute [rw] instance_types
399
- # The instances types that may be launched. You can specify instance
498
+ # The instances types that can be launched. You can specify instance
400
499
  # families to launch any instance type within those families (for
401
500
  # example, `c5` or `p3`), or you can specify specific sizes within a
402
- # family (such as `c5.8xlarge`). You can also choose `optimal` to pick
403
- # instance types (from the C, M, and R instance families) on the fly
501
+ # family (such as `c5.8xlarge`). You can also choose `optimal` to
502
+ # select instance types (from the C4, M4, and R4 instance families)
404
503
  # 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>
405
523
  # @return [Array<String>]
406
524
  #
407
525
  # @!attribute [rw] image_id
408
526
  # The Amazon Machine Image (AMI) ID used for instances launched in the
409
527
  # compute environment. This parameter is overridden by the
410
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
411
549
  # @return [String]
412
550
  #
413
551
  # @!attribute [rw] subnets
414
- # The VPC subnets into which the compute resources are launched. For
415
- # more information, see [VPCs and Subnets][1] in the *Amazon VPC User
416
- # Guide*.
552
+ # The VPC subnets into which the compute resources are launched. These
553
+ # subnets must be within the same VPC. Fargate compute resources can
554
+ # contain up to 16 subnets. For more information, see [VPCs and
555
+ # Subnets][1] in the *Amazon VPC User Guide*.
417
556
  #
418
557
  #
419
558
  #
@@ -424,14 +563,22 @@ module Aws::Batch
424
563
  # The Amazon EC2 security groups associated with instances launched in
425
564
  # the compute environment. One or more security groups must be
426
565
  # specified, either in `securityGroupIds` or using a launch template
427
- # referenced in `launchTemplate`. If security groups are specified
428
- # using both `securityGroupIds` and `launchTemplate`, the values in
429
- # `securityGroupIds` will be used.
566
+ # referenced in `launchTemplate`. This parameter is required for jobs
567
+ # running on Fargate resources and must contain at least one security
568
+ # group. Fargate doesn't support launch templates. If security groups
569
+ # are specified using both `securityGroupIds` and `launchTemplate`,
570
+ # the values in `securityGroupIds` is used.
430
571
  # @return [Array<String>]
431
572
  #
432
573
  # @!attribute [rw] ec2_key_pair
433
- # The Amazon EC2 key pair that is used for instances launched in the
434
- # compute environment.
574
+ # The Amazon EC2 key pair that's used for instances launched in the
575
+ # compute environment. You can use this key pair to log in to your
576
+ # instances with SSH.
577
+ #
578
+ # <note markdown="1"> This parameter isn't applicable to jobs running on Fargate
579
+ # resources, and shouldn't be specified.
580
+ #
581
+ # </note>
435
582
  # @return [String]
436
583
  #
437
584
  # @!attribute [rw] instance_role
@@ -443,21 +590,32 @@ module Aws::Batch
443
590
  # For more information, see [Amazon ECS Instance Role][1] in the *AWS
444
591
  # Batch User Guide*.
445
592
  #
593
+ # <note markdown="1"> This parameter isn't applicable to jobs running on Fargate
594
+ # resources, and shouldn't be specified.
595
+ #
596
+ # </note>
597
+ #
446
598
  #
447
599
  #
448
600
  # [1]: https://docs.aws.amazon.com/batch/latest/userguide/instance_IAM_role.html
449
601
  # @return [String]
450
602
  #
451
603
  # @!attribute [rw] tags
452
- # Key-value pair tags to be applied to resources that are launched in
453
- # the compute environment. For AWS Batch, these take the form of
604
+ # Key-value pair tags to be applied to EC2 resources that are launched
605
+ # in the compute environment. For AWS Batch, these take the form of
454
606
  # "String1": "String2", where String1 is the tag key and String2
455
- # is the tag valuefor example, \\\{ "Name": "AWS Batch Instance -
456
- # C4OnDemand" \\}. These tags can not be updated or removed after the
457
- # compute environment has been created; any changes require creating a
458
- # new compute environment and removing the old compute environment.
459
- # These tags are not seen when using the AWS Batch ListTagsForResource
460
- # API operation.
607
+ # is the tag valuefor example, \\\{ "Name": "AWS Batch Instance -
608
+ # C4OnDemand" \\}. This is helpful for recognizing your AWS Batch
609
+ # instances in the Amazon EC2 console. These tags can't be updated or
610
+ # removed after the compute environment has been created; any changes
611
+ # require creating a new compute environment and removing the old
612
+ # compute environment. These tags aren't seen when using the AWS
613
+ # Batch `ListTagsForResource` API operation.
614
+ #
615
+ # <note markdown="1"> This parameter isn't applicable to jobs running on Fargate
616
+ # resources, and shouldn't be specified.
617
+ #
618
+ # </note>
461
619
  # @return [Hash<String,String>]
462
620
  #
463
621
  # @!attribute [rw] placement_group
@@ -470,6 +628,11 @@ module Aws::Batch
470
628
  # potential. For more information, see [Placement Groups][1] in the
471
629
  # *Amazon EC2 User Guide for Linux Instances*.
472
630
  #
631
+ # <note markdown="1"> This parameter isn't applicable to jobs running on Fargate
632
+ # resources, and shouldn't be specified.
633
+ #
634
+ # </note>
635
+ #
473
636
  #
474
637
  #
475
638
  # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/placement-groups.html
@@ -479,23 +642,41 @@ module Aws::Batch
479
642
  # The maximum percentage that a Spot Instance price can be when
480
643
  # compared with the On-Demand price for that instance type before
481
644
  # instances are launched. For example, if your maximum percentage is
482
- # 20%, then the Spot price must be below 20% of the current On-Demand
483
- # price for that Amazon EC2 instance. You always pay the lowest
484
- # (market) price and never more than your maximum percentage. If you
485
- # leave this field empty, the default value is 100% of the On-Demand
486
- # price.
645
+ # 20%, then the Spot price must be less than 20% of the current
646
+ # On-Demand price for that Amazon EC2 instance. You always pay the
647
+ # lowest (market) price and never more than your maximum percentage.
648
+ # If you leave this field empty, the default value is 100% of the
649
+ # On-Demand price.
650
+ #
651
+ # <note markdown="1"> This parameter isn't applicable to jobs running on Fargate
652
+ # resources, and shouldn't be specified.
653
+ #
654
+ # </note>
487
655
  # @return [Integer]
488
656
  #
489
657
  # @!attribute [rw] spot_iam_fleet_role
490
658
  # The Amazon Resource Name (ARN) of the Amazon EC2 Spot Fleet IAM role
491
659
  # applied to a `SPOT` compute environment. This role is required if
492
660
  # the allocation strategy set to `BEST_FIT` or if the allocation
493
- # strategy is not specified. For more information, see [Amazon EC2
661
+ # strategy isn't specified. For more information, see [Amazon EC2
494
662
  # Spot Fleet Role][1] in the *AWS Batch User Guide*.
495
663
  #
664
+ # <note markdown="1"> This parameter isn't applicable to jobs running on Fargate
665
+ # resources, and shouldn't be specified.
666
+ #
667
+ # </note>
668
+ #
669
+ # To tag your Spot Instances on creation, the Spot Fleet IAM role
670
+ # specified here must use the newer **AmazonEC2SpotFleetTaggingRole**
671
+ # managed policy. The previously recommended
672
+ # **AmazonEC2SpotFleetRole** managed policy doesn't have the required
673
+ # permissions to tag Spot Instances. For more information, see [Spot
674
+ # Instances not tagged on creation][2] in the *AWS Batch User Guide*.
675
+ #
496
676
  #
497
677
  #
498
678
  # [1]: https://docs.aws.amazon.com/batch/latest/userguide/spot_fleet_IAM_role.html
679
+ # [2]: https://docs.aws.amazon.com/batch/latest/userguide/troubleshooting.html#spot-instance-no-tag
499
680
  # @return [String]
500
681
  #
501
682
  # @!attribute [rw] launch_template
@@ -507,14 +688,25 @@ module Aws::Batch
507
688
  # information, see [Launch Template Support][1] in the *AWS Batch User
508
689
  # Guide*.
509
690
  #
691
+ # <note markdown="1"> This parameter isn't applicable to jobs running on Fargate
692
+ # resources, and shouldn't be specified.
693
+ #
694
+ # </note>
695
+ #
510
696
  #
511
697
  #
512
698
  # [1]: https://docs.aws.amazon.com/batch/latest/userguide/launch-templates.html
513
699
  # @return [Types::LaunchTemplateSpecification]
514
700
  #
515
701
  # @!attribute [rw] ec2_configuration
516
- # Provides additional details used to selecting the AMI to use for
517
- # instances in a compute environment.
702
+ # Provides information used to select Amazon Machine Images (AMIs) for
703
+ # EC2 instances in the compute environment. If `Ec2Configuration`
704
+ # isn't specified, the default is `ECS_AL1`.
705
+ #
706
+ # <note markdown="1"> This parameter isn't applicable to jobs running on Fargate
707
+ # resources, and shouldn't be specified.
708
+ #
709
+ # </note>
518
710
  # @return [Array<Types::Ec2Configuration>]
519
711
  #
520
712
  # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/ComputeResource AWS API Documentation
@@ -542,7 +734,12 @@ module Aws::Batch
542
734
  end
543
735
 
544
736
  # An object representing the attributes of a compute environment that
545
- # can be updated.
737
+ # can be updated. For more information, see [Compute Environments][1] in
738
+ # the *AWS Batch User Guide*.
739
+ #
740
+ #
741
+ #
742
+ # [1]: https://docs.aws.amazon.com/batch/latest/userguide/compute_environments.html
546
743
  #
547
744
  # @note When making an API call, you may pass ComputeResourceUpdate
548
745
  # data as a hash:
@@ -551,33 +748,78 @@ module Aws::Batch
551
748
  # minv_cpus: 1,
552
749
  # maxv_cpus: 1,
553
750
  # desiredv_cpus: 1,
751
+ # subnets: ["String"],
752
+ # security_group_ids: ["String"],
554
753
  # }
555
754
  #
556
755
  # @!attribute [rw] minv_cpus
557
756
  # The minimum number of Amazon EC2 vCPUs that an environment should
558
757
  # maintain.
758
+ #
759
+ # <note markdown="1"> This parameter isn't applicable to jobs running on Fargate
760
+ # resources, and shouldn't be specified.
761
+ #
762
+ # </note>
559
763
  # @return [Integer]
560
764
  #
561
765
  # @!attribute [rw] maxv_cpus
562
766
  # The maximum number of Amazon EC2 vCPUs that an environment can
563
767
  # reach.
768
+ #
769
+ # <note markdown="1"> With both `BEST_FIT_PROGRESSIVE` and `SPOT_CAPACITY_OPTIMIZED`
770
+ # allocation strategies, AWS Batch might need to exceed `maxvCpus` to
771
+ # meet your capacity requirements. In this event, AWS Batch never
772
+ # exceeds `maxvCpus` by more than a single instance. That is, no more
773
+ # than a single instance from among those specified in your compute
774
+ # environment.
775
+ #
776
+ # </note>
564
777
  # @return [Integer]
565
778
  #
566
779
  # @!attribute [rw] desiredv_cpus
567
780
  # The desired number of Amazon EC2 vCPUS in the compute environment.
781
+ #
782
+ # <note markdown="1"> This parameter isn't applicable to jobs running on Fargate
783
+ # resources, and shouldn't be specified.
784
+ #
785
+ # </note>
568
786
  # @return [Integer]
569
787
  #
788
+ # @!attribute [rw] subnets
789
+ # The VPC subnets that the compute resources are launched into.
790
+ # Fargate compute resources can contain up to 16 subnets. Providing an
791
+ # empty list will be handled as if this parameter wasn't specified
792
+ # and no change is made. This can't be specified for EC2 compute
793
+ # resources. For more information, see [VPCs and Subnets][1] in the
794
+ # *Amazon VPC User Guide*.
795
+ #
796
+ #
797
+ #
798
+ # [1]: https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Subnets.html
799
+ # @return [Array<String>]
800
+ #
801
+ # @!attribute [rw] security_group_ids
802
+ # The Amazon EC2 security groups associated with instances launched in
803
+ # the compute environment. This parameter is required for Fargate
804
+ # compute resources, where it can contain up to 5 security groups.
805
+ # This can't be specified for EC2 compute resources. Providing an
806
+ # empty list is handled as if this parameter wasn't specified and no
807
+ # change is made.
808
+ # @return [Array<String>]
809
+ #
570
810
  # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/ComputeResourceUpdate AWS API Documentation
571
811
  #
572
812
  class ComputeResourceUpdate < Struct.new(
573
813
  :minv_cpus,
574
814
  :maxv_cpus,
575
- :desiredv_cpus)
815
+ :desiredv_cpus,
816
+ :subnets,
817
+ :security_group_ids)
576
818
  SENSITIVE = []
577
819
  include Aws::Structure
578
820
  end
579
821
 
580
- # An object representing the details of a container that is part of a
822
+ # An object representing the details of a container that's part of a
581
823
  # job.
582
824
  #
583
825
  # @!attribute [rw] image
@@ -585,17 +827,39 @@ module Aws::Batch
585
827
  # @return [String]
586
828
  #
587
829
  # @!attribute [rw] vcpus
588
- # The number of VCPUs allocated for the job. This is a required
589
- # parameter.
830
+ # The number of vCPUs reserved for the container. For jobs that run on
831
+ # EC2 resources, you can specify the vCPU requirement for the job
832
+ # using `resourceRequirements`, but you can't specify the vCPU
833
+ # requirements in both the `vcpus` and `resourceRequirement` object.
834
+ # This parameter maps to `CpuShares` in the [Create a container][1]
835
+ # section of the [Docker Remote API][2] and the `--cpu-shares` option
836
+ # to [docker run][3]. Each vCPU is equivalent to 1,024 CPU shares. You
837
+ # must specify at least one vCPU. This is required but can be
838
+ # specified in several places. It must be specified for each node at
839
+ # least once.
840
+ #
841
+ # <note markdown="1"> This parameter isn't applicable to jobs that run on Fargate
842
+ # resources. For jobs that run on Fargate resources, you must specify
843
+ # the vCPU requirement for the job using `resourceRequirements`.
844
+ #
845
+ # </note>
846
+ #
847
+ #
848
+ #
849
+ # [1]: https://docs.docker.com/engine/api/v1.23/#create-a-container
850
+ # [2]: https://docs.docker.com/engine/api/v1.23/
851
+ # [3]: https://docs.docker.com/engine/reference/run/
590
852
  # @return [Integer]
591
853
  #
592
854
  # @!attribute [rw] memory
593
- # The number of MiB of memory reserved for the job. This is a required
594
- # parameter.
855
+ # For jobs run on EC2 resources that didn't specify memory
856
+ # requirements using `ResourceRequirement`, the number of MiB of
857
+ # memory reserved for the job. For other jobs, including all run on
858
+ # Fargate resources, see `resourceRequirements`.
595
859
  # @return [Integer]
596
860
  #
597
861
  # @!attribute [rw] command
598
- # The command that is passed to the container.
862
+ # The command that's passed to the container.
599
863
  # @return [Array<String>]
600
864
  #
601
865
  # @!attribute [rw] job_role_arn
@@ -606,7 +870,7 @@ module Aws::Batch
606
870
  # @!attribute [rw] execution_role_arn
607
871
  # The Amazon Resource Name (ARN) of the execution role that AWS Batch
608
872
  # can assume. For more information, see [AWS Batch execution IAM
609
- # role][1].
873
+ # role][1] in the *AWS Batch User Guide*.
610
874
  #
611
875
  #
612
876
  #
@@ -633,21 +897,55 @@ module Aws::Batch
633
897
  #
634
898
  # @!attribute [rw] readonly_root_filesystem
635
899
  # When this parameter is true, the container is given read-only access
636
- # to its root file system.
900
+ # to its root file system. This parameter maps to `ReadonlyRootfs` in
901
+ # the [Create a container][1] section of the [Docker Remote API][2]
902
+ # and the `--read-only` option to [ `docker run` ][3].
903
+ #
904
+ #
905
+ #
906
+ # [1]: https://docs.docker.com/engine/api/v1.23/#create-a-container
907
+ # [2]: https://docs.docker.com/engine/api/v1.23/
908
+ # [3]: https://docs.docker.com/engine/reference/commandline/run/
637
909
  # @return [Boolean]
638
910
  #
639
911
  # @!attribute [rw] ulimits
640
- # A list of `ulimit` values to set in the container.
912
+ # A list of `ulimit` values to set in the container. This parameter
913
+ # maps to `Ulimits` in the [Create a container][1] section of the
914
+ # [Docker Remote API][2] and the `--ulimit` option to [docker run][3].
915
+ #
916
+ # <note markdown="1"> This parameter isn't applicable to jobs running on Fargate
917
+ # resources.
918
+ #
919
+ # </note>
920
+ #
921
+ #
922
+ #
923
+ # [1]: https://docs.docker.com/engine/api/v1.23/#create-a-container
924
+ # [2]: https://docs.docker.com/engine/api/v1.23/
925
+ # [3]: https://docs.docker.com/engine/reference/run/
641
926
  # @return [Array<Types::Ulimit>]
642
927
  #
643
928
  # @!attribute [rw] privileged
644
929
  # When this parameter is true, the container is given elevated
645
- # privileges on the host container instance (similar to the `root`
646
- # user).
930
+ # permissions on the host container instance (similar to the `root`
931
+ # user). The default value is false.
932
+ #
933
+ # <note markdown="1"> This parameter isn't applicable to jobs running on Fargate
934
+ # resources and shouldn't be provided, or specified as false.
935
+ #
936
+ # </note>
647
937
  # @return [Boolean]
648
938
  #
649
939
  # @!attribute [rw] user
650
- # The user name to use inside the container.
940
+ # The user name to use inside the container. This parameter maps to
941
+ # `User` in the [Create a container][1] section of the [Docker Remote
942
+ # API][2] and the `--user` option to [docker run][3].
943
+ #
944
+ #
945
+ #
946
+ # [1]: https://docs.docker.com/engine/api/v1.23/#create-a-container
947
+ # [2]: https://docs.docker.com/engine/api/v1.23/
948
+ # [3]: https://docs.docker.com/engine/reference/run/
651
949
  # @return [String]
652
950
  #
653
951
  # @!attribute [rw] exit_code
@@ -660,12 +958,12 @@ module Aws::Batch
660
958
  # @return [String]
661
959
  #
662
960
  # @!attribute [rw] container_instance_arn
663
- # The Amazon Resource Name (ARN) of the container instance on which
664
- # the container is running.
961
+ # The Amazon Resource Name (ARN) of the container instance that the
962
+ # container is running on.
665
963
  # @return [String]
666
964
  #
667
965
  # @!attribute [rw] task_arn
668
- # The Amazon Resource Name (ARN) of the Amazon ECS task that is
966
+ # The Amazon Resource Name (ARN) of the Amazon ECS task that's
669
967
  # associated with the container job. Each container attempt receives a
670
968
  # task ARN when they reach the `STARTING` status.
671
969
  # @return [String]
@@ -680,6 +978,11 @@ module Aws::Batch
680
978
  # @!attribute [rw] instance_type
681
979
  # The instance type of the underlying host infrastructure of a
682
980
  # multi-node parallel job.
981
+ #
982
+ # <note markdown="1"> This parameter isn't applicable to jobs running on Fargate
983
+ # resources.
984
+ #
985
+ # </note>
683
986
  # @return [String]
684
987
  #
685
988
  # @!attribute [rw] network_interfaces
@@ -687,8 +990,8 @@ module Aws::Batch
687
990
  # @return [Array<Types::NetworkInterface>]
688
991
  #
689
992
  # @!attribute [rw] resource_requirements
690
- # The type and amount of a resource to assign to a container.
691
- # Currently, the only supported resource is `GPU`.
993
+ # The type and amount of resources to assign to a container. The
994
+ # supported resources include `GPU`, `MEMORY`, and `VCPU`.
692
995
  # @return [Array<Types::ResourceRequirement>]
693
996
  #
694
997
  # @!attribute [rw] linux_parameters
@@ -702,19 +1005,20 @@ module Aws::Batch
702
1005
  # This parameter maps to `LogConfig` in the [Create a container][1]
703
1006
  # section of the [Docker Remote API][2] and the `--log-driver` option
704
1007
  # to [docker run][3]. By default, containers use the same logging
705
- # driver that the Docker daemon uses. However the container may use a
706
- # different logging driver than the Docker daemon by specifying a log
707
- # driver with this parameter in the container definition. To use a
1008
+ # driver that the Docker daemon uses. However, the container might use
1009
+ # a different logging driver than the Docker daemon by specifying a
1010
+ # log driver with this parameter in the container definition. To use a
708
1011
  # different logging driver for a container, the log system must be
709
- # configured properly on the container instance (or on a different log
710
- # server for remote logging options). For more information on the
711
- # options for different supported log drivers, see [Configure logging
712
- # drivers][4] in the Docker documentation.
1012
+ # configured properly on the container instance. Or, alternatively, it
1013
+ # must be configured on a different log server for remote logging
1014
+ # options. For more information on the options for different supported
1015
+ # log drivers, see [Configure logging drivers][4] in the Docker
1016
+ # documentation.
713
1017
  #
714
1018
  # <note markdown="1"> AWS Batch currently supports a subset of the logging drivers
715
1019
  # available to the Docker daemon (shown in the LogConfiguration data
716
- # type). Additional log drivers may be available in future releases of
717
- # the Amazon ECS container agent.
1020
+ # type). Additional log drivers might be available in future releases
1021
+ # of the Amazon ECS container agent.
718
1022
  #
719
1023
  # </note>
720
1024
  #
@@ -745,14 +1049,23 @@ module Aws::Batch
745
1049
  #
746
1050
  # @!attribute [rw] secrets
747
1051
  # The secrets to pass to the container. For more information, see
748
- # [Specifying Sensitive Data][1] in the *Amazon Elastic Container
749
- # Service Developer Guide*.
1052
+ # [Specifying sensitive data][1] in the *AWS Batch User Guide*.
750
1053
  #
751
1054
  #
752
1055
  #
753
- # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/specifying-sensitive-data.html
1056
+ # [1]: https://docs.aws.amazon.com/batch/latest/userguide/specifying-sensitive-data.html
754
1057
  # @return [Array<Types::Secret>]
755
1058
  #
1059
+ # @!attribute [rw] network_configuration
1060
+ # The network configuration for jobs running on Fargate resources.
1061
+ # Jobs running on EC2 resources must not specify this parameter.
1062
+ # @return [Types::NetworkConfiguration]
1063
+ #
1064
+ # @!attribute [rw] fargate_platform_configuration
1065
+ # The platform configuration for jobs running on Fargate resources.
1066
+ # Jobs running on EC2 resources must not specify this parameter.
1067
+ # @return [Types::FargatePlatformConfiguration]
1068
+ #
756
1069
  # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/ContainerDetail AWS API Documentation
757
1070
  #
758
1071
  class ContainerDetail < Struct.new(
@@ -779,7 +1092,9 @@ module Aws::Batch
779
1092
  :resource_requirements,
780
1093
  :linux_parameters,
781
1094
  :log_configuration,
782
- :secrets)
1095
+ :secrets,
1096
+ :network_configuration,
1097
+ :fargate_platform_configuration)
783
1098
  SENSITIVE = []
784
1099
  include Aws::Structure
785
1100
  end
@@ -803,19 +1118,52 @@ module Aws::Batch
803
1118
  # resource_requirements: [
804
1119
  # {
805
1120
  # value: "String", # required
806
- # type: "GPU", # required, accepts GPU
1121
+ # type: "GPU", # required, accepts GPU, VCPU, MEMORY
807
1122
  # },
808
1123
  # ],
809
1124
  # }
810
1125
  #
811
1126
  # @!attribute [rw] vcpus
812
- # The number of vCPUs to reserve for the container. This value
813
- # overrides the value set in the job definition.
1127
+ # This parameter indicates the number of vCPUs reserved for the
1128
+ # container.It overrides the `vcpus` parameter that's set in the job
1129
+ # definition, but doesn't override any vCPU requirement specified in
1130
+ # the `resourceRequirement` structure in the job definition.
1131
+ #
1132
+ # This parameter is supported for jobs that run on EC2 resources, but
1133
+ # isn't supported for jobs that run on Fargate resources. For Fargate
1134
+ # resources, you can only use `resourceRequirement`. For EC2
1135
+ # resources, you can use either this parameter or
1136
+ # `resourceRequirement` but not both.
1137
+ #
1138
+ # This parameter maps to `CpuShares` in the [Create a container][1]
1139
+ # section of the [Docker Remote API][2] and the `--cpu-shares` option
1140
+ # to [docker run][3]. Each vCPU is equivalent to 1,024 CPU shares. You
1141
+ # must specify at least one vCPU.
1142
+ #
1143
+ # <note markdown="1"> This parameter isn't applicable to jobs that run on Fargate
1144
+ # resources and shouldn't be provided. For jobs that run on Fargate
1145
+ # resources, you must specify the vCPU requirement for the job using
1146
+ # `resourceRequirements`.
1147
+ #
1148
+ # </note>
1149
+ #
1150
+ #
1151
+ #
1152
+ # [1]: https://docs.docker.com/engine/api/v1.23/#create-a-container
1153
+ # [2]: https://docs.docker.com/engine/api/v1.23/
1154
+ # [3]: https://docs.docker.com/engine/reference/run/
814
1155
  # @return [Integer]
815
1156
  #
816
1157
  # @!attribute [rw] memory
817
- # The number of MiB of memory reserved for the job. This value
818
- # overrides the value set in the job definition.
1158
+ # This parameter indicates the amount of memory (in MiB) that's
1159
+ # reserved for the job. It overrides the `memory` parameter set in the
1160
+ # job definition, but doesn't override any memory requirement
1161
+ # specified in the `ResourceRequirement` structure in the job
1162
+ # definition.
1163
+ #
1164
+ # This parameter is supported for jobs that run on EC2 resources, but
1165
+ # isn't supported for jobs that run on Fargate resources. For these
1166
+ # resources, use `resourceRequirement` instead.
819
1167
  # @return [Integer]
820
1168
  #
821
1169
  # @!attribute [rw] command
@@ -824,8 +1172,12 @@ module Aws::Batch
824
1172
  # @return [Array<String>]
825
1173
  #
826
1174
  # @!attribute [rw] instance_type
827
- # The instance type to use for a multi-node parallel job. This
828
- # parameter is not valid for single-node container jobs.
1175
+ # The instance type to use for a multi-node parallel job.
1176
+ #
1177
+ # <note markdown="1"> This parameter isn't applicable to single-node container jobs or
1178
+ # for jobs running on Fargate resources and shouldn't be provided.
1179
+ #
1180
+ # </note>
829
1181
  # @return [String]
830
1182
  #
831
1183
  # @!attribute [rw] environment
@@ -842,9 +1194,9 @@ module Aws::Batch
842
1194
  # @return [Array<Types::KeyValuePair>]
843
1195
  #
844
1196
  # @!attribute [rw] resource_requirements
845
- # The type and amount of a resource to assign to a container. This
846
- # value overrides the value set in the job definition. Currently, the
847
- # only supported resource is `GPU`.
1197
+ # The type and amount of resources to assign to a container. This
1198
+ # overrides the settings in the job definition. The supported
1199
+ # resources include `GPU`, `MEMORY`, and `VCPU`.
848
1200
  # @return [Array<Types::ResourceRequirement>]
849
1201
  #
850
1202
  # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/ContainerOverrides AWS API Documentation
@@ -861,7 +1213,7 @@ module Aws::Batch
861
1213
  end
862
1214
 
863
1215
  # Container properties are used in job definitions to describe the
864
- # container that is launched as part of a job.
1216
+ # container that's launched as part of a job.
865
1217
  #
866
1218
  # @note When making an API call, you may pass ContainerProperties
867
1219
  # data as a hash:
@@ -908,7 +1260,7 @@ module Aws::Batch
908
1260
  # resource_requirements: [
909
1261
  # {
910
1262
  # value: "String", # required
911
- # type: "GPU", # required, accepts GPU
1263
+ # type: "GPU", # required, accepts GPU, VCPU, MEMORY
912
1264
  # },
913
1265
  # ],
914
1266
  # linux_parameters: {
@@ -949,6 +1301,12 @@ module Aws::Batch
949
1301
  # value_from: "String", # required
950
1302
  # },
951
1303
  # ],
1304
+ # network_configuration: {
1305
+ # assign_public_ip: "ENABLED", # accepts ENABLED, DISABLED
1306
+ # },
1307
+ # fargate_platform_configuration: {
1308
+ # platform_version: "String",
1309
+ # },
952
1310
  # }
953
1311
  #
954
1312
  # @!attribute [rw] image
@@ -961,6 +1319,12 @@ module Aws::Batch
961
1319
  # `Image` in the [Create a container][1] section of the [Docker Remote
962
1320
  # API][2] and the `IMAGE` parameter of [docker run][3].
963
1321
  #
1322
+ # <note markdown="1"> Docker image architecture must match the processor architecture of
1323
+ # the compute resources that they're scheduled on. For example,
1324
+ # ARM-based Docker images can only run on ARM-based compute resources.
1325
+ #
1326
+ # </note>
1327
+ #
964
1328
  # * Images in Amazon ECR repositories use the full registry and
965
1329
  # repository URI (for example,
966
1330
  # `012345678910.dkr.ecr.<region-name>.amazonaws.com/<repository-name>`).
@@ -982,13 +1346,24 @@ module Aws::Batch
982
1346
  # @return [String]
983
1347
  #
984
1348
  # @!attribute [rw] vcpus
985
- # The number of vCPUs reserved for the container. This parameter maps
986
- # to `CpuShares` in the [Create a container][1] section of the [Docker
987
- # Remote API][2] and the `--cpu-shares` option to [docker run][3].
988
- # Each vCPU is equivalent to 1,024 CPU shares. You must specify at
989
- # least one vCPU. This is required but can be specified in several
990
- # places for multi-node parallel (MNP) jobs; it must be specified for
991
- # each node at least once.
1349
+ # The number of vCPUs reserved for the job. Each vCPU is equivalent to
1350
+ # 1,024 CPU shares. This parameter maps to `CpuShares` in the [Create
1351
+ # a container][1] section of the [Docker Remote API][2] and the
1352
+ # `--cpu-shares` option to [docker run][3]. The number of vCPUs must
1353
+ # be specified but can be be specified in several places. You must
1354
+ # specify it at least once for each node.
1355
+ #
1356
+ # This parameter is supported on EC2 resources but isn't supported
1357
+ # for jobs that run on Fargate resources. For these resources, use
1358
+ # `resourceRequirement` instead. You can use this parameter or
1359
+ # `resourceRequirements` structure but not both.
1360
+ #
1361
+ # <note markdown="1"> This parameter isn't applicable to jobs running on Fargate
1362
+ # resources and shouldn't be provided. For jobs that run on Fargate
1363
+ # resources, you must specify the vCPU requirement for the job using
1364
+ # `resourceRequirements`.
1365
+ #
1366
+ # </note>
992
1367
  #
993
1368
  #
994
1369
  #
@@ -998,16 +1373,23 @@ module Aws::Batch
998
1373
  # @return [Integer]
999
1374
  #
1000
1375
  # @!attribute [rw] memory
1001
- # The hard limit (in MiB) of memory to present to the container. If
1002
- # your container attempts to exceed the memory specified here, the
1003
- # container is killed. This parameter maps to `Memory` in the [Create
1004
- # a container][1] section of the [Docker Remote API][2] and the
1005
- # `--memory` option to [docker run][3]. You must specify at least 4
1006
- # MiB of memory for a job. This is required but can be specified in
1007
- # several places for multi-node parallel (MNP) jobs; it must be
1008
- # specified for each node at least once.
1009
- #
1010
- # <note markdown="1"> If you are trying to maximize your resource utilization by providing
1376
+ # This parameter indicates the memory hard limit (in MiB) for a
1377
+ # container. If your container attempts to exceed the specified
1378
+ # number, it is terminated. You must specify at least 4 MiB of memory
1379
+ # for a job using this parameter. The memory hard limit can be
1380
+ # specified in several places. It must be specified for each node at
1381
+ # least once.
1382
+ #
1383
+ # This parameter maps to `Memory` in the [Create a container][1]
1384
+ # section of the [Docker Remote API][2] and the `--memory` option to
1385
+ # [docker run][3].
1386
+ #
1387
+ # This parameter is supported on EC2 resources but isn't supported on
1388
+ # Fargate resources. For Fargate resources, you should specify the
1389
+ # memory requirement using `resourceRequirement`. You can do this for
1390
+ # EC2 resources.
1391
+ #
1392
+ # <note markdown="1"> If you're trying to maximize your resource utilization by providing
1011
1393
  # your jobs as much memory as possible for a particular instance type,
1012
1394
  # see [Memory Management][4] in the *AWS Batch User Guide*.
1013
1395
  #
@@ -1022,7 +1404,7 @@ module Aws::Batch
1022
1404
  # @return [Integer]
1023
1405
  #
1024
1406
  # @!attribute [rw] command
1025
- # The command that is passed to the container. This parameter maps to
1407
+ # The command that's passed to the container. This parameter maps to
1026
1408
  # `Cmd` in the [Create a container][1] section of the [Docker Remote
1027
1409
  # API][2] and the `COMMAND` parameter to [docker run][3]. For more
1028
1410
  # information, see
@@ -1038,13 +1420,20 @@ module Aws::Batch
1038
1420
  #
1039
1421
  # @!attribute [rw] job_role_arn
1040
1422
  # The Amazon Resource Name (ARN) of the IAM role that the container
1041
- # can assume for AWS permissions.
1423
+ # can assume for AWS permissions. For more information, see [IAM Roles
1424
+ # for Tasks][1] in the *Amazon Elastic Container Service Developer
1425
+ # Guide*.
1426
+ #
1427
+ #
1428
+ #
1429
+ # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-iam-roles.html
1042
1430
  # @return [String]
1043
1431
  #
1044
1432
  # @!attribute [rw] execution_role_arn
1045
1433
  # The Amazon Resource Name (ARN) of the execution role that AWS Batch
1046
- # can assume. For more information, see [AWS Batch execution IAM
1047
- # role][1].
1434
+ # can assume. For jobs that run on Fargate resources, you must provide
1435
+ # an execution role. For more information, see [AWS Batch execution
1436
+ # IAM role][1] in the *AWS Batch User Guide*.
1048
1437
  #
1049
1438
  #
1050
1439
  #
@@ -1060,7 +1449,7 @@ module Aws::Batch
1060
1449
  # maps to `Env` in the [Create a container][1] section of the [Docker
1061
1450
  # Remote API][2] and the `--env` option to [docker run][3].
1062
1451
  #
1063
- # We do not recommend using plaintext environment variables for
1452
+ # We don't recommend using plaintext environment variables for
1064
1453
  # sensitive information, such as credential data.
1065
1454
  #
1066
1455
  # <note markdown="1"> Environment variables must not start with `AWS_BATCH`; this naming
@@ -1102,10 +1491,16 @@ module Aws::Batch
1102
1491
  #
1103
1492
  # @!attribute [rw] privileged
1104
1493
  # When this parameter is true, the container is given elevated
1105
- # privileges on the host container instance (similar to the `root`
1494
+ # permissions on the host container instance (similar to the `root`
1106
1495
  # user). This parameter maps to `Privileged` in the [Create a
1107
1496
  # container][1] section of the [Docker Remote API][2] and the
1108
- # `--privileged` option to [docker run][3].
1497
+ # `--privileged` option to [docker run][3]. The default value is
1498
+ # false.
1499
+ #
1500
+ # <note markdown="1"> This parameter isn't applicable to jobs running on Fargate
1501
+ # resources and shouldn't be provided, or specified as false.
1502
+ #
1503
+ # </note>
1109
1504
  #
1110
1505
  #
1111
1506
  #
@@ -1119,6 +1514,11 @@ module Aws::Batch
1119
1514
  # `Ulimits` in the [Create a container][1] section of the [Docker
1120
1515
  # Remote API][2] and the `--ulimit` option to [docker run][3].
1121
1516
  #
1517
+ # <note markdown="1"> This parameter isn't applicable to jobs running on Fargate
1518
+ # resources and shouldn't be provided.
1519
+ #
1520
+ # </note>
1521
+ #
1122
1522
  #
1123
1523
  #
1124
1524
  # [1]: https://docs.docker.com/engine/api/v1.23/#create-a-container
@@ -1139,15 +1539,18 @@ module Aws::Batch
1139
1539
  # @return [String]
1140
1540
  #
1141
1541
  # @!attribute [rw] instance_type
1142
- # The instance type to use for a multi-node parallel job. Currently
1143
- # all node groups in a multi-node parallel job must use the same
1144
- # instance type. This parameter is not valid for single-node container
1145
- # jobs.
1542
+ # The instance type to use for a multi-node parallel job. All node
1543
+ # groups in a multi-node parallel job must use the same instance type.
1544
+ #
1545
+ # <note markdown="1"> This parameter isn't applicable to single-node container jobs or
1546
+ # for jobs that run on Fargate resources and shouldn't be provided.
1547
+ #
1548
+ # </note>
1146
1549
  # @return [String]
1147
1550
  #
1148
1551
  # @!attribute [rw] resource_requirements
1149
- # The type and amount of a resource to assign to a container.
1150
- # Currently, the only supported resource is `GPU`.
1552
+ # The type and amount of resources to assign to a container. The
1553
+ # supported resources include `GPU`, `MEMORY`, and `VCPU`.
1151
1554
  # @return [Array<Types::ResourceRequirement>]
1152
1555
  #
1153
1556
  # @!attribute [rw] linux_parameters
@@ -1161,9 +1564,9 @@ module Aws::Batch
1161
1564
  # This parameter maps to `LogConfig` in the [Create a container][1]
1162
1565
  # section of the [Docker Remote API][2] and the `--log-driver` option
1163
1566
  # to [docker run][3]. By default, containers use the same logging
1164
- # driver that the Docker daemon uses. However the container may use a
1165
- # different logging driver than the Docker daemon by specifying a log
1166
- # driver with this parameter in the container definition. To use a
1567
+ # driver that the Docker daemon uses. However the container might use
1568
+ # a different logging driver than the Docker daemon by specifying a
1569
+ # log driver with this parameter in the container definition. To use a
1167
1570
  # different logging driver for a container, the log system must be
1168
1571
  # configured properly on the container instance (or on a different log
1169
1572
  # server for remote logging options). For more information on the
@@ -1203,14 +1606,23 @@ module Aws::Batch
1203
1606
  #
1204
1607
  # @!attribute [rw] secrets
1205
1608
  # The secrets for the container. For more information, see [Specifying
1206
- # Sensitive Data][1] in the *Amazon Elastic Container Service
1207
- # Developer Guide*.
1609
+ # sensitive data][1] in the *AWS Batch User Guide*.
1208
1610
  #
1209
1611
  #
1210
1612
  #
1211
- # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/specifying-sensitive-data.html
1613
+ # [1]: https://docs.aws.amazon.com/batch/latest/userguide/specifying-sensitive-data.html
1212
1614
  # @return [Array<Types::Secret>]
1213
1615
  #
1616
+ # @!attribute [rw] network_configuration
1617
+ # The network configuration for jobs running on Fargate resources.
1618
+ # Jobs running on EC2 resources must not specify this parameter.
1619
+ # @return [Types::NetworkConfiguration]
1620
+ #
1621
+ # @!attribute [rw] fargate_platform_configuration
1622
+ # The platform configuration for jobs running on Fargate resources.
1623
+ # Jobs running on EC2 resources must not specify this parameter.
1624
+ # @return [Types::FargatePlatformConfiguration]
1625
+ #
1214
1626
  # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/ContainerProperties AWS API Documentation
1215
1627
  #
1216
1628
  class ContainerProperties < Struct.new(
@@ -1231,7 +1643,9 @@ module Aws::Batch
1231
1643
  :resource_requirements,
1232
1644
  :linux_parameters,
1233
1645
  :log_configuration,
1234
- :secrets)
1646
+ :secrets,
1647
+ :network_configuration,
1648
+ :fargate_platform_configuration)
1235
1649
  SENSITIVE = []
1236
1650
  include Aws::Structure
1237
1651
  end
@@ -1256,6 +1670,8 @@ module Aws::Batch
1256
1670
  include Aws::Structure
1257
1671
  end
1258
1672
 
1673
+ # Contains the parameters for `CreateComputeEnvironment`.
1674
+ #
1259
1675
  # @note When making an API call, you may pass CreateComputeEnvironmentRequest
1260
1676
  # data as a hash:
1261
1677
  #
@@ -1264,17 +1680,17 @@ module Aws::Batch
1264
1680
  # type: "MANAGED", # required, accepts MANAGED, UNMANAGED
1265
1681
  # state: "ENABLED", # accepts ENABLED, DISABLED
1266
1682
  # compute_resources: {
1267
- # type: "EC2", # required, accepts EC2, SPOT
1683
+ # type: "EC2", # required, accepts EC2, SPOT, FARGATE, FARGATE_SPOT
1268
1684
  # allocation_strategy: "BEST_FIT", # accepts BEST_FIT, BEST_FIT_PROGRESSIVE, SPOT_CAPACITY_OPTIMIZED
1269
- # minv_cpus: 1, # required
1685
+ # minv_cpus: 1,
1270
1686
  # maxv_cpus: 1, # required
1271
1687
  # desiredv_cpus: 1,
1272
- # instance_types: ["String"], # required
1688
+ # instance_types: ["String"],
1273
1689
  # image_id: "String",
1274
1690
  # subnets: ["String"], # required
1275
1691
  # security_group_ids: ["String"],
1276
1692
  # ec2_key_pair: "String",
1277
- # instance_role: "String", # required
1693
+ # instance_role: "String",
1278
1694
  # tags: {
1279
1695
  # "String" => "String",
1280
1696
  # },
@@ -1293,7 +1709,7 @@ module Aws::Batch
1293
1709
  # },
1294
1710
  # ],
1295
1711
  # },
1296
- # service_role: "String", # required
1712
+ # service_role: "String",
1297
1713
  # tags: {
1298
1714
  # "TagKey" => "TagValue",
1299
1715
  # },
@@ -1305,8 +1721,9 @@ module Aws::Batch
1305
1721
  # @return [String]
1306
1722
  #
1307
1723
  # @!attribute [rw] type
1308
- # The type of the compute environment. For more information, see
1309
- # [Compute Environments][1] in the *AWS Batch User Guide*.
1724
+ # The type of the compute environment: `MANAGED` or `UNMANAGED`. For
1725
+ # more information, see [Compute Environments][1] in the *AWS Batch
1726
+ # User Guide*.
1310
1727
  #
1311
1728
  #
1312
1729
  #
@@ -1317,13 +1734,25 @@ module Aws::Batch
1317
1734
  # The state of the compute environment. If the state is `ENABLED`,
1318
1735
  # then the compute environment accepts jobs from a queue and can scale
1319
1736
  # out automatically based on queues.
1737
+ #
1738
+ # If the state is `ENABLED`, then the AWS Batch scheduler can attempt
1739
+ # to place jobs from an associated job queue on the compute resources
1740
+ # within the environment. If the compute environment is managed, then
1741
+ # it can scale its instances out or in automatically, based on the job
1742
+ # queue demand.
1743
+ #
1744
+ # If the state is `DISABLED`, then the AWS Batch scheduler doesn't
1745
+ # attempt to place jobs within the environment. Jobs in a `STARTING`
1746
+ # or `RUNNING` state continue to progress normally. Managed compute
1747
+ # environments in the `DISABLED` state don't scale out. However, they
1748
+ # scale in to `minvCpus` value after instances become idle.
1320
1749
  # @return [String]
1321
1750
  #
1322
1751
  # @!attribute [rw] compute_resources
1323
- # Details of the compute resources managed by the compute environment.
1324
- # This parameter is required for managed compute environments. For
1325
- # more information, see [Compute Environments][1] in the *AWS Batch
1326
- # User Guide*.
1752
+ # Details about the compute resources managed by the compute
1753
+ # environment. This parameter is required for managed compute
1754
+ # environments. For more information, see [Compute Environments][1] in
1755
+ # the *AWS Batch User Guide*.
1327
1756
  #
1328
1757
  #
1329
1758
  #
@@ -1332,20 +1761,37 @@ module Aws::Batch
1332
1761
  #
1333
1762
  # @!attribute [rw] service_role
1334
1763
  # The full Amazon Resource Name (ARN) of the IAM role that allows AWS
1335
- # Batch to make calls to other AWS services on your behalf.
1764
+ # Batch to make calls to other AWS services on your behalf. For more
1765
+ # information, see [AWS Batch service IAM role][1] in the *AWS Batch
1766
+ # User Guide*.
1767
+ #
1768
+ # If your account has already created the AWS Batch service-linked
1769
+ # role, that role is used by default for your compute environment
1770
+ # unless you specify a role here. If the AWS Batch service-linked role
1771
+ # does not exist in your account, and no role is specified here, the
1772
+ # service will try to create the AWS Batch service-linked role in your
1773
+ # account.
1336
1774
  #
1337
1775
  # If your specified role has a path other than `/`, then you must
1338
- # either specify the full role ARN (this is recommended) or prefix the
1339
- # role name with the path.
1776
+ # specify either the full role ARN (recommended) or prefix the role
1777
+ # name with the path. For example, if a role with the name `bar` has a
1778
+ # path of `/foo/` then you would specify `/foo/bar` as the role name.
1779
+ # For more information, see [Friendly names and paths][2] in the *IAM
1780
+ # User Guide*.
1340
1781
  #
1341
1782
  # <note markdown="1"> Depending on how you created your AWS Batch service role, its ARN
1342
- # may contain the `service-role` path prefix. When you only specify
1343
- # the name of the service role, AWS Batch assumes that your ARN does
1344
- # not use the `service-role` path prefix. Because of this, we
1783
+ # might contain the `service-role` path prefix. When you only specify
1784
+ # the name of the service role, AWS Batch assumes that your ARN
1785
+ # doesn't use the `service-role` path prefix. Because of this, we
1345
1786
  # recommend that you specify the full ARN of your service role when
1346
1787
  # you create compute environments.
1347
1788
  #
1348
1789
  # </note>
1790
+ #
1791
+ #
1792
+ #
1793
+ # [1]: https://docs.aws.amazon.com/batch/latest/userguide/service_IAM_role.html
1794
+ # [2]: https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html#identifiers-friendly-names
1349
1795
  # @return [String]
1350
1796
  #
1351
1797
  # @!attribute [rw] tags
@@ -1355,7 +1801,7 @@ module Aws::Batch
1355
1801
  # Resources][1] in *AWS General Reference*.
1356
1802
  #
1357
1803
  # These tags can be updated or removed using the [TagResource][2] and
1358
- # [UntagResource][3] API operations. These tags do not propagate to
1804
+ # [UntagResource][3] API operations. These tags don't propagate to
1359
1805
  # the underlying compute resources.
1360
1806
  #
1361
1807
  #
@@ -1379,7 +1825,8 @@ module Aws::Batch
1379
1825
  end
1380
1826
 
1381
1827
  # @!attribute [rw] compute_environment_name
1382
- # The name of the compute environment.
1828
+ # The name of the compute environment. Up to 128 letters (uppercase
1829
+ # and lowercase), numbers, hyphens, and underscores are allowed.
1383
1830
  # @return [String]
1384
1831
  #
1385
1832
  # @!attribute [rw] compute_environment_arn
@@ -1395,6 +1842,8 @@ module Aws::Batch
1395
1842
  include Aws::Structure
1396
1843
  end
1397
1844
 
1845
+ # Contains the parameters for `CreateJobQueue`.
1846
+ #
1398
1847
  # @note When making an API call, you may pass CreateJobQueueRequest
1399
1848
  # data as a hash:
1400
1849
  #
@@ -1414,13 +1863,14 @@ module Aws::Batch
1414
1863
  # }
1415
1864
  #
1416
1865
  # @!attribute [rw] job_queue_name
1417
- # The name of the job queue.
1866
+ # The name of the job queue. Up to 128 letters (uppercase and
1867
+ # lowercase), numbers, and underscores are allowed.
1418
1868
  # @return [String]
1419
1869
  #
1420
1870
  # @!attribute [rw] state
1421
1871
  # The state of the job queue. If the job queue state is `ENABLED`, it
1422
1872
  # is able to accept jobs. If the job queue state is `DISABLED`, new
1423
- # jobs cannot be added to the queue, but jobs already in the queue can
1873
+ # jobs can't be added to the queue, but jobs already in the queue can
1424
1874
  # finish.
1425
1875
  # @return [String]
1426
1876
  #
@@ -1428,29 +1878,41 @@ module Aws::Batch
1428
1878
  # The priority of the job queue. Job queues with a higher priority (or
1429
1879
  # a higher integer value for the `priority` parameter) are evaluated
1430
1880
  # first when associated with the same compute environment. Priority is
1431
- # determined in descending order, for example, a job queue with a
1881
+ # determined in descending order. For example, a job queue with a
1432
1882
  # priority value of `10` is given scheduling preference over a job
1433
- # queue with a priority value of `1`.
1883
+ # queue with a priority value of `1`. All of the compute environments
1884
+ # must be either EC2 (`EC2` or `SPOT`) or Fargate (`FARGATE` or
1885
+ # `FARGATE_SPOT`); EC2 and Fargate compute environments cannot be
1886
+ # mixed.
1434
1887
  # @return [Integer]
1435
1888
  #
1436
1889
  # @!attribute [rw] compute_environment_order
1437
1890
  # The set of compute environments mapped to a job queue and their
1438
1891
  # order relative to each other. The job scheduler uses this parameter
1439
- # to determine which compute environment should execute a given job.
1892
+ # to determine which compute environment should run a specific job.
1440
1893
  # Compute environments must be in the `VALID` state before you can
1441
1894
  # associate them with a job queue. You can associate up to three
1442
- # compute environments with a job queue.
1895
+ # compute environments with a job queue. All of the compute
1896
+ # environments must be either EC2 (`EC2` or `SPOT`) or Fargate
1897
+ # (`FARGATE` or `FARGATE_SPOT`); EC2 and Fargate compute environments
1898
+ # can't be mixed.
1899
+ #
1900
+ # <note markdown="1"> All compute environments that are associated with a job queue must
1901
+ # share the same architecture. AWS Batch doesn't support mixing
1902
+ # compute environment architecture types in a single job queue.
1903
+ #
1904
+ # </note>
1443
1905
  # @return [Array<Types::ComputeEnvironmentOrder>]
1444
1906
  #
1445
1907
  # @!attribute [rw] tags
1446
1908
  # The tags that you apply to the job queue to help you categorize and
1447
1909
  # organize your resources. Each tag consists of a key and an optional
1448
- # value. For more information, see [Tagging AWS Resources][1] in *AWS
1449
- # General Reference*.
1910
+ # value. For more information, see [Tagging your AWS Batch
1911
+ # resources][1] in *AWS Batch User Guide*.
1450
1912
  #
1451
1913
  #
1452
1914
  #
1453
- # [1]: https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html
1915
+ # [1]: https://docs.aws.amazon.com/batch/latest/userguide/using-tags.html
1454
1916
  # @return [Hash<String,String>]
1455
1917
  #
1456
1918
  # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/CreateJobQueueRequest AWS API Documentation
@@ -1482,6 +1944,8 @@ module Aws::Batch
1482
1944
  include Aws::Structure
1483
1945
  end
1484
1946
 
1947
+ # Contains the parameters for `DeleteComputeEnvironment`.
1948
+ #
1485
1949
  # @note When making an API call, you may pass DeleteComputeEnvironmentRequest
1486
1950
  # data as a hash:
1487
1951
  #
@@ -1506,6 +1970,8 @@ module Aws::Batch
1506
1970
  #
1507
1971
  class DeleteComputeEnvironmentResponse < Aws::EmptyStructure; end
1508
1972
 
1973
+ # Contains the parameters for `DeleteJobQueue`.
1974
+ #
1509
1975
  # @note When making an API call, you may pass DeleteJobQueueRequest
1510
1976
  # data as a hash:
1511
1977
  #
@@ -1554,6 +2020,8 @@ module Aws::Batch
1554
2020
  #
1555
2021
  class DeregisterJobDefinitionResponse < Aws::EmptyStructure; end
1556
2022
 
2023
+ # Contains the parameters for `DescribeComputeEnvironments`.
2024
+ #
1557
2025
  # @note When making an API call, you may pass DescribeComputeEnvironmentsRequest
1558
2026
  # data as a hash:
1559
2027
  #
@@ -1576,7 +2044,7 @@ module Aws::Batch
1576
2044
  # response element. The remaining results of the initial request can
1577
2045
  # be seen by sending another `DescribeComputeEnvironments` request
1578
2046
  # with the returned `nextToken` value. This value can be between 1 and
1579
- # 100. If this parameter is not used, then
2047
+ # 100. If this parameter isn't used, then
1580
2048
  # `DescribeComputeEnvironments` returns up to 100 results and a
1581
2049
  # `nextToken` value if applicable.
1582
2050
  # @return [Integer]
@@ -1589,7 +2057,7 @@ module Aws::Batch
1589
2057
  # `nextToken` value. This value is `null` when there are no more
1590
2058
  # results to return.
1591
2059
  #
1592
- # <note markdown="1"> This token should be treated as an opaque identifier that is only
2060
+ # <note markdown="1"> This token should be treated as an opaque identifier that's only
1593
2061
  # used to retrieve the next items in a list and not for other
1594
2062
  # programmatic purposes.
1595
2063
  #
@@ -1627,6 +2095,8 @@ module Aws::Batch
1627
2095
  include Aws::Structure
1628
2096
  end
1629
2097
 
2098
+ # Contains the parameters for `DescribeJobDefinitions`.
2099
+ #
1630
2100
  # @note When making an API call, you may pass DescribeJobDefinitionsRequest
1631
2101
  # data as a hash:
1632
2102
  #
@@ -1647,10 +2117,10 @@ module Aws::Batch
1647
2117
  # The maximum number of results returned by `DescribeJobDefinitions`
1648
2118
  # in paginated output. When this parameter is used,
1649
2119
  # `DescribeJobDefinitions` only returns `maxResults` results in a
1650
- # single page along with a `nextToken` response element. The remaining
2120
+ # single page and a `nextToken` response element. The remaining
1651
2121
  # results of the initial request can be seen by sending another
1652
2122
  # `DescribeJobDefinitions` request with the returned `nextToken`
1653
- # value. This value can be between 1 and 100. If this parameter is not
2123
+ # value. This value can be between 1 and 100. If this parameter isn't
1654
2124
  # used, then `DescribeJobDefinitions` returns up to 100 results and a
1655
2125
  # `nextToken` value if applicable.
1656
2126
  # @return [Integer]
@@ -1660,7 +2130,7 @@ module Aws::Batch
1660
2130
  # @return [String]
1661
2131
  #
1662
2132
  # @!attribute [rw] status
1663
- # The status with which to filter job definitions.
2133
+ # The status used to filter job definitions.
1664
2134
  # @return [String]
1665
2135
  #
1666
2136
  # @!attribute [rw] next_token
@@ -1671,7 +2141,7 @@ module Aws::Batch
1671
2141
  # value. This value is `null` when there are no more results to
1672
2142
  # return.
1673
2143
  #
1674
- # <note markdown="1"> This token should be treated as an opaque identifier that is only
2144
+ # <note markdown="1"> This token should be treated as an opaque identifier that's only
1675
2145
  # used to retrieve the next items in a list and not for other
1676
2146
  # programmatic purposes.
1677
2147
  #
@@ -1711,6 +2181,8 @@ module Aws::Batch
1711
2181
  include Aws::Structure
1712
2182
  end
1713
2183
 
2184
+ # Contains the parameters for `DescribeJobQueues`.
2185
+ #
1714
2186
  # @note When making an API call, you may pass DescribeJobQueuesRequest
1715
2187
  # data as a hash:
1716
2188
  #
@@ -1728,12 +2200,12 @@ module Aws::Batch
1728
2200
  # @!attribute [rw] max_results
1729
2201
  # The maximum number of results returned by `DescribeJobQueues` in
1730
2202
  # paginated output. When this parameter is used, `DescribeJobQueues`
1731
- # only returns `maxResults` results in a single page along with a
1732
- # `nextToken` response element. The remaining results of the initial
1733
- # request can be seen by sending another `DescribeJobQueues` request
1734
- # with the returned `nextToken` value. This value can be between 1 and
1735
- # 100. If this parameter is not used, then `DescribeJobQueues` returns
1736
- # up to 100 results and a `nextToken` value if applicable.
2203
+ # only returns `maxResults` results in a single page and a `nextToken`
2204
+ # response element. The remaining results of the initial request can
2205
+ # be seen by sending another `DescribeJobQueues` request with the
2206
+ # returned `nextToken` value. This value can be between 1 and 100. If
2207
+ # this parameter isn't used, then `DescribeJobQueues` returns up to
2208
+ # 100 results and a `nextToken` value if applicable.
1737
2209
  # @return [Integer]
1738
2210
  #
1739
2211
  # @!attribute [rw] next_token
@@ -1744,7 +2216,7 @@ module Aws::Batch
1744
2216
  # value. This value is `null` when there are no more results to
1745
2217
  # return.
1746
2218
  #
1747
- # <note markdown="1"> This token should be treated as an opaque identifier that is only
2219
+ # <note markdown="1"> This token should be treated as an opaque identifier that's only
1748
2220
  # used to retrieve the next items in a list and not for other
1749
2221
  # programmatic purposes.
1750
2222
  #
@@ -1782,6 +2254,8 @@ module Aws::Batch
1782
2254
  include Aws::Structure
1783
2255
  end
1784
2256
 
2257
+ # Contains the parameters for `DescribeJobs`.
2258
+ #
1785
2259
  # @note When making an API call, you may pass DescribeJobsRequest
1786
2260
  # data as a hash:
1787
2261
  #
@@ -1815,6 +2289,11 @@ module Aws::Batch
1815
2289
 
1816
2290
  # An object representing a container instance host device.
1817
2291
  #
2292
+ # <note markdown="1"> This object isn't applicable to jobs running on Fargate resources and
2293
+ # shouldn't be provided.
2294
+ #
2295
+ # </note>
2296
+ #
1818
2297
  # @note When making an API call, you may pass Device
1819
2298
  # data as a hash:
1820
2299
  #
@@ -1829,8 +2308,8 @@ module Aws::Batch
1829
2308
  # @return [String]
1830
2309
  #
1831
2310
  # @!attribute [rw] container_path
1832
- # The path inside the container at which to expose the host device. By
1833
- # default the `hostPath` value is used.
2311
+ # The path inside the container used to expose the host device. By
2312
+ # default, the `hostPath` value is used.
1834
2313
  # @return [String]
1835
2314
  #
1836
2315
  # @!attribute [rw] permissions
@@ -1850,9 +2329,13 @@ module Aws::Batch
1850
2329
  end
1851
2330
 
1852
2331
  # Provides information used to select Amazon Machine Images (AMIs) for
1853
- # instances in the compute environment. If the `Ec2Configuration` is not
2332
+ # instances in the compute environment. If the `Ec2Configuration` isn't
1854
2333
  # specified, the default is `ECS_AL1`.
1855
2334
  #
2335
+ # <note markdown="1"> This object isn't applicable to jobs running on Fargate resources.
2336
+ #
2337
+ # </note>
2338
+ #
1856
2339
  # @note When making an API call, you may pass Ec2Configuration
1857
2340
  # data as a hash:
1858
2341
  #
@@ -1862,9 +2345,9 @@ module Aws::Batch
1862
2345
  # }
1863
2346
  #
1864
2347
  # @!attribute [rw] image_type
1865
- # The image type to match with the instance type to pick an AMI. If
1866
- # the `imageIdOverride` parameter is not specified, then a recent
1867
- # [Amazon ECS-optimized AMI][1] will be used.
2348
+ # The image type to match with the instance type to select an AMI. If
2349
+ # the `imageIdOverride` parameter isn't specified, then a recent
2350
+ # [Amazon ECS-optimized AMI][1] is used.
1868
2351
  #
1869
2352
  # ECS\_AL2
1870
2353
  #
@@ -1880,7 +2363,7 @@ module Aws::Batch
1880
2363
  #
1881
2364
  # ECS\_AL1
1882
2365
  #
1883
- # : [Amazon Linux][4]−Default for all non-GPU, non-AWS-Graviton
2366
+ # : [Amazon Linux][4]−Default for all non-GPU, non-AWS Graviton
1884
2367
  # instance families. Amazon Linux is reaching the end-of-life of
1885
2368
  # standard support. For more information, see [Amazon Linux AMI][5].
1886
2369
  #
@@ -1890,7 +2373,7 @@ module Aws::Batch
1890
2373
  # [2]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html#al2ami
1891
2374
  # [3]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html#gpuami
1892
2375
  # [4]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html#alami
1893
- # [5]: https://aws.amazon.com/amazon-linux-ami/
2376
+ # [5]: http://aws.amazon.com/amazon-linux-ami/
1894
2377
  # @return [String]
1895
2378
  #
1896
2379
  # @!attribute [rw] image_id_override
@@ -1923,23 +2406,25 @@ module Aws::Batch
1923
2406
  #
1924
2407
  # @!attribute [rw] on_status_reason
1925
2408
  # Contains a glob pattern to match against the `StatusReason` returned
1926
- # for a job. The patten can be up to 512 characters long, can contain
1927
- # letters, numbers, periods (.), colons (:), and whitespace (spaces,
1928
- # tabs). and can optionally end with an asterisk (*) so that only the
1929
- # start of the string needs to be an exact match.
2409
+ # for a job. The pattern can be up to 512 characters long, and can
2410
+ # contain letters, numbers, periods (.), colons (:), and white space
2411
+ # (including spaces or tabs). It can optionally end with an asterisk
2412
+ # (*) so that only the start of the string needs to be an exact
2413
+ # match.
1930
2414
  # @return [String]
1931
2415
  #
1932
2416
  # @!attribute [rw] on_reason
1933
2417
  # Contains a glob pattern to match against the `Reason` returned for a
1934
- # job. The patten can be up to 512 characters long, can contain
1935
- # letters, numbers, periods (.), colons (:), and whitespace (spaces,
1936
- # tabs), and can optionally end with an asterisk (*) so that only the
1937
- # start of the string needs to be an exact match.
2418
+ # job. The pattern can be up to 512 characters long, and can contain
2419
+ # letters, numbers, periods (.), colons (:), and white space
2420
+ # (including spaces and tabs). It can optionally end with an asterisk
2421
+ # (*) so that only the start of the string needs to be an exact
2422
+ # match.
1938
2423
  # @return [String]
1939
2424
  #
1940
2425
  # @!attribute [rw] on_exit_code
1941
2426
  # Contains a glob pattern to match against the decimal representation
1942
- # of the `ExitCode` returned for a job. The patten can be up to 512
2427
+ # of the `ExitCode` returned for a job. The pattern can be up to 512
1943
2428
  # characters long, can contain only numbers, and can optionally end
1944
2429
  # with an asterisk (*) so that only the start of the string needs to
1945
2430
  # be an exact match.
@@ -1947,7 +2432,8 @@ module Aws::Batch
1947
2432
  #
1948
2433
  # @!attribute [rw] action
1949
2434
  # Specifies the action to take if all of the specified conditions
1950
- # (`onStatusReason`, `onReason`, and `onExitCode`) are met.
2435
+ # (`onStatusReason`, `onReason`, and `onExitCode`) are met. The values
2436
+ # aren't case sensitive.
1951
2437
  # @return [String]
1952
2438
  #
1953
2439
  # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/EvaluateOnExit AWS API Documentation
@@ -1961,10 +2447,42 @@ module Aws::Batch
1961
2447
  include Aws::Structure
1962
2448
  end
1963
2449
 
2450
+ # The platform configuration for jobs running on Fargate resources. For
2451
+ # jobs that run on EC2 resources, you shouldn't specify this parameter.
2452
+ #
2453
+ # @note When making an API call, you may pass FargatePlatformConfiguration
2454
+ # data as a hash:
2455
+ #
2456
+ # {
2457
+ # platform_version: "String",
2458
+ # }
2459
+ #
2460
+ # @!attribute [rw] platform_version
2461
+ # The AWS Fargate platform version where the jobs are running. A
2462
+ # platform version is specified only for jobs running on Fargate
2463
+ # resources. If one isn't specified, the `LATEST` platform version is
2464
+ # used by default. This uses a recent, approved version of the AWS
2465
+ # Fargate platform for compute resources. For more information, see
2466
+ # [AWS Fargate platform versions][1] in the *Amazon Elastic Container
2467
+ # Service Developer Guide*.
2468
+ #
2469
+ #
2470
+ #
2471
+ # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html
2472
+ # @return [String]
2473
+ #
2474
+ # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/FargatePlatformConfiguration AWS API Documentation
2475
+ #
2476
+ class FargatePlatformConfiguration < Struct.new(
2477
+ :platform_version)
2478
+ SENSITIVE = []
2479
+ include Aws::Structure
2480
+ end
2481
+
1964
2482
  # Determine whether your data volume persists on the host container
1965
2483
  # instance and where it is stored. If this parameter is empty, then the
1966
2484
  # Docker daemon assigns a host path for your data volume, but the data
1967
- # is not guaranteed to persist after the containers associated with it
2485
+ # isn't guaranteed to persist after the containers associated with it
1968
2486
  # stop running.
1969
2487
  #
1970
2488
  # @note When making an API call, you may pass Host
@@ -1975,14 +2493,19 @@ module Aws::Batch
1975
2493
  # }
1976
2494
  #
1977
2495
  # @!attribute [rw] source_path
1978
- # The path on the host container instance that is presented to the
2496
+ # The path on the host container instance that's presented to the
1979
2497
  # container. If this parameter is empty, then the Docker daemon has
1980
2498
  # assigned a host path for you. If this parameter contains a file
1981
2499
  # location, then the data volume persists at the specified location on
1982
2500
  # the host container instance until you delete it manually. If the
1983
- # source path location does not exist on the host container instance,
2501
+ # source path location doesn't exist on the host container instance,
1984
2502
  # the Docker daemon creates it. If the location does exist, the
1985
2503
  # contents of the source path folder are exported.
2504
+ #
2505
+ # <note markdown="1"> This parameter isn't applicable to jobs that run on Fargate
2506
+ # resources and shouldn't be provided.
2507
+ #
2508
+ # </note>
1986
2509
  # @return [String]
1987
2510
  #
1988
2511
  # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/Host AWS API Documentation
@@ -2012,7 +2535,14 @@ module Aws::Batch
2012
2535
  # @return [String]
2013
2536
  #
2014
2537
  # @!attribute [rw] type
2015
- # The type of job definition.
2538
+ # The type of job definition. If the job is run on Fargate resources,
2539
+ # then `multinode` isn't supported. For more information about
2540
+ # multi-node parallel jobs, see [Creating a multi-node parallel job
2541
+ # definition][1] in the *AWS Batch User Guide*.
2542
+ #
2543
+ #
2544
+ #
2545
+ # [1]: https://docs.aws.amazon.com/batch/latest/userguide/multi-node-job-def.html
2016
2546
  # @return [String]
2017
2547
  #
2018
2548
  # @!attribute [rw] parameters
@@ -2040,18 +2570,39 @@ module Aws::Batch
2040
2570
  # @!attribute [rw] timeout
2041
2571
  # The timeout configuration for jobs that are submitted with this job
2042
2572
  # definition. You can specify a timeout duration after which AWS Batch
2043
- # terminates your jobs if they have not finished.
2573
+ # terminates your jobs if they haven't finished.
2044
2574
  # @return [Types::JobTimeout]
2045
2575
  #
2046
2576
  # @!attribute [rw] node_properties
2047
2577
  # An object with various properties specific to multi-node parallel
2048
2578
  # jobs.
2579
+ #
2580
+ # <note markdown="1"> If the job runs on Fargate resources, then you must not specify
2581
+ # `nodeProperties`; use `containerProperties` instead.
2582
+ #
2583
+ # </note>
2049
2584
  # @return [Types::NodeProperties]
2050
2585
  #
2051
2586
  # @!attribute [rw] tags
2052
2587
  # The tags applied to the job definition.
2053
2588
  # @return [Hash<String,String>]
2054
2589
  #
2590
+ # @!attribute [rw] propagate_tags
2591
+ # Specifies whether to propagate the tags from the job or job
2592
+ # definition to the corresponding Amazon ECS task. If no value is
2593
+ # specified, the tags aren't propagated. Tags can only be propagated
2594
+ # to the tasks during task creation. For tags with the same name, job
2595
+ # tags are given priority over job definitions tags. If the total
2596
+ # number of combined tags from the job and job definition is over 50,
2597
+ # the job is moved to the `FAILED` state.
2598
+ # @return [Boolean]
2599
+ #
2600
+ # @!attribute [rw] platform_capabilities
2601
+ # The platform capabilities required by the job definition. If no
2602
+ # value is specified, it defaults to `EC2`. Jobs run on Fargate
2603
+ # resources specify `FARGATE`.
2604
+ # @return [Array<String>]
2605
+ #
2055
2606
  # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/JobDefinition AWS API Documentation
2056
2607
  #
2057
2608
  class JobDefinition < Struct.new(
@@ -2065,7 +2616,9 @@ module Aws::Batch
2065
2616
  :container_properties,
2066
2617
  :timeout,
2067
2618
  :node_properties,
2068
- :tags)
2619
+ :tags,
2620
+ :propagate_tags,
2621
+ :platform_capabilities)
2069
2622
  SENSITIVE = []
2070
2623
  include Aws::Structure
2071
2624
  end
@@ -2112,14 +2665,14 @@ module Aws::Batch
2112
2665
  # @return [String]
2113
2666
  #
2114
2667
  # @!attribute [rw] job_queue
2115
- # The Amazon Resource Name (ARN) of the job queue with which the job
2116
- # is associated.
2668
+ # The Amazon Resource Name (ARN) of the job queue that the job is
2669
+ # associated with.
2117
2670
  # @return [String]
2118
2671
  #
2119
2672
  # @!attribute [rw] status
2120
2673
  # The current status for the job.
2121
2674
  #
2122
- # <note markdown="1"> If your jobs do not progress to `STARTING`, see [Jobs Stuck in
2675
+ # <note markdown="1"> If your jobs don't progress to `STARTING`, see [Jobs Stuck in
2123
2676
  # RUNNABLE Status][1] in the troubleshooting section of the *AWS Batch
2124
2677
  # User Guide*.
2125
2678
  #
@@ -2154,7 +2707,7 @@ module Aws::Batch
2154
2707
  # @!attribute [rw] started_at
2155
2708
  # The Unix timestamp (in milliseconds) for when the job was started
2156
2709
  # (when the job transitioned from the `STARTING` state to the
2157
- # `RUNNING` state). This parameter is not provided for child jobs of
2710
+ # `RUNNING` state). This parameter isn't provided for child jobs of
2158
2711
  # array jobs or multi-node parallel jobs.
2159
2712
  # @return [Integer]
2160
2713
  #
@@ -2165,11 +2718,11 @@ module Aws::Batch
2165
2718
  # @return [Integer]
2166
2719
  #
2167
2720
  # @!attribute [rw] depends_on
2168
- # A list of job IDs on which this job depends.
2721
+ # A list of job IDs that this job depends on.
2169
2722
  # @return [Array<Types::JobDependency>]
2170
2723
  #
2171
2724
  # @!attribute [rw] job_definition
2172
- # The job definition that is used by this job.
2725
+ # The job definition that's used by this job.
2173
2726
  # @return [String]
2174
2727
  #
2175
2728
  # @!attribute [rw] parameters
@@ -2179,18 +2732,22 @@ module Aws::Batch
2179
2732
  # @return [Hash<String,String>]
2180
2733
  #
2181
2734
  # @!attribute [rw] container
2182
- # An object representing the details of the container that is
2735
+ # An object representing the details of the container that's
2183
2736
  # associated with the job.
2184
2737
  # @return [Types::ContainerDetail]
2185
2738
  #
2186
2739
  # @!attribute [rw] node_details
2187
- # An object representing the details of a node that is associated with
2740
+ # An object representing the details of a node that's associated with
2188
2741
  # a multi-node parallel job.
2189
2742
  # @return [Types::NodeDetails]
2190
2743
  #
2191
2744
  # @!attribute [rw] node_properties
2192
2745
  # An object representing the node properties of a multi-node parallel
2193
2746
  # job.
2747
+ #
2748
+ # <note markdown="1"> This isn't applicable to jobs running on Fargate resources.
2749
+ #
2750
+ # </note>
2194
2751
  # @return [Types::NodeProperties]
2195
2752
  #
2196
2753
  # @!attribute [rw] array_properties
@@ -2205,6 +2762,22 @@ module Aws::Batch
2205
2762
  # The tags applied to the job.
2206
2763
  # @return [Hash<String,String>]
2207
2764
  #
2765
+ # @!attribute [rw] propagate_tags
2766
+ # Specifies whether to propagate the tags from the job or job
2767
+ # definition to the corresponding Amazon ECS task. If no value is
2768
+ # specified, the tags aren't propagated. Tags can only be propagated
2769
+ # to the tasks during task creation. For tags with the same name, job
2770
+ # tags are given priority over job definitions tags. If the total
2771
+ # number of combined tags from the job and job definition is over 50,
2772
+ # the job is moved to the `FAILED` state.
2773
+ # @return [Boolean]
2774
+ #
2775
+ # @!attribute [rw] platform_capabilities
2776
+ # The platform capabilities required by the job definition. If no
2777
+ # value is specified, it defaults to `EC2`. Jobs run on Fargate
2778
+ # resources specify `FARGATE`.
2779
+ # @return [Array<String>]
2780
+ #
2208
2781
  # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/JobDetail AWS API Documentation
2209
2782
  #
2210
2783
  class JobDetail < Struct.new(
@@ -2227,7 +2800,9 @@ module Aws::Batch
2227
2800
  :node_properties,
2228
2801
  :array_properties,
2229
2802
  :timeout,
2230
- :tags)
2803
+ :tags,
2804
+ :propagate_tags,
2805
+ :platform_capabilities)
2231
2806
  SENSITIVE = []
2232
2807
  include Aws::Structure
2233
2808
  end
@@ -2244,8 +2819,8 @@ module Aws::Batch
2244
2819
  #
2245
2820
  # @!attribute [rw] state
2246
2821
  # Describes the ability of the queue to accept new jobs. If the job
2247
- # queue state is `ENABLED`, it is able to accept jobs. If the job
2248
- # queue state is `DISABLED`, new jobs cannot be added to the queue,
2822
+ # queue state is `ENABLED`, it's able to accept jobs. If the job
2823
+ # queue state is `DISABLED`, new jobs can't be added to the queue,
2249
2824
  # but jobs already in the queue can finish.
2250
2825
  # @return [String]
2251
2826
  #
@@ -2259,17 +2834,30 @@ module Aws::Batch
2259
2834
  # @return [String]
2260
2835
  #
2261
2836
  # @!attribute [rw] priority
2262
- # The priority of the job queue.
2837
+ # The priority of the job queue. Job queues with a higher priority (or
2838
+ # a higher integer value for the `priority` parameter) are evaluated
2839
+ # first when associated with the same compute environment. Priority is
2840
+ # determined in descending order, for example, a job queue with a
2841
+ # priority value of `10` is given scheduling preference over a job
2842
+ # queue with a priority value of `1`. All of the compute environments
2843
+ # must be either EC2 (`EC2` or `SPOT`) or Fargate (`FARGATE` or
2844
+ # `FARGATE_SPOT`); EC2 and Fargate compute environments can't be
2845
+ # mixed.
2263
2846
  # @return [Integer]
2264
2847
  #
2265
2848
  # @!attribute [rw] compute_environment_order
2266
2849
  # The compute environments that are attached to the job queue and the
2267
- # order in which job placement is preferred. Compute environments are
2850
+ # order that job placement is preferred. Compute environments are
2268
2851
  # selected for job placement in ascending order.
2269
2852
  # @return [Array<Types::ComputeEnvironmentOrder>]
2270
2853
  #
2271
2854
  # @!attribute [rw] tags
2272
- # The tags applied to the job queue.
2855
+ # The tags applied to the job queue. For more information, see
2856
+ # [Tagging your AWS Batch resources][1] in *AWS Batch User Guide*.
2857
+ #
2858
+ #
2859
+ #
2860
+ # [1]: https://docs.aws.amazon.com/batch/latest/userguide/using-tags.html
2273
2861
  # @return [Hash<String,String>]
2274
2862
  #
2275
2863
  # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/JobQueueDetail AWS API Documentation
@@ -2330,7 +2918,7 @@ module Aws::Batch
2330
2918
  # @return [Integer]
2331
2919
  #
2332
2920
  # @!attribute [rw] container
2333
- # An object representing the details of the container that is
2921
+ # An object representing the details of the container that's
2334
2922
  # associated with the job.
2335
2923
  # @return [Types::ContainerSummary]
2336
2924
  #
@@ -2340,6 +2928,10 @@ module Aws::Batch
2340
2928
  #
2341
2929
  # @!attribute [rw] node_properties
2342
2930
  # The node properties for a single node in a job summary list.
2931
+ #
2932
+ # <note markdown="1"> This isn't applicable to jobs running on Fargate resources.
2933
+ #
2934
+ # </note>
2343
2935
  # @return [Types::NodePropertiesSummary]
2344
2936
  #
2345
2937
  # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/JobSummary AWS API Documentation
@@ -2372,7 +2964,8 @@ module Aws::Batch
2372
2964
  # @!attribute [rw] attempt_duration_seconds
2373
2965
  # The time duration in seconds (measured from the job attempt's
2374
2966
  # `startedAt` timestamp) after which AWS Batch terminates your jobs if
2375
- # they have not finished.
2967
+ # they have not finished. The minimum value for the timeout is 60
2968
+ # seconds.
2376
2969
  # @return [Integer]
2377
2970
  #
2378
2971
  # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/JobTimeout AWS API Documentation
@@ -2416,6 +3009,15 @@ module Aws::Batch
2416
3009
  # resource. You must specify either the launch template ID or launch
2417
3010
  # template name in the request, but not both.
2418
3011
  #
3012
+ # If security groups are specified using both the `securityGroupIds`
3013
+ # parameter of `CreateComputeEnvironment` and the launch template, the
3014
+ # values in the `securityGroupIds` parameter of
3015
+ # `CreateComputeEnvironment` will be used.
3016
+ #
3017
+ # <note markdown="1"> This object isn't applicable to jobs running on Fargate resources.
3018
+ #
3019
+ # </note>
3020
+ #
2419
3021
  # @note When making an API call, you may pass LaunchTemplateSpecification
2420
3022
  # data as a hash:
2421
3023
  #
@@ -2485,6 +3087,11 @@ module Aws::Batch
2485
3087
  # `Devices` in the [Create a container][1] section of the [Docker
2486
3088
  # Remote API][2] and the `--device` option to [docker run][3].
2487
3089
  #
3090
+ # <note markdown="1"> This parameter isn't applicable to jobs running on Fargate
3091
+ # resources and shouldn't be provided.
3092
+ #
3093
+ # </note>
3094
+ #
2488
3095
  #
2489
3096
  #
2490
3097
  # [1]: https://docs.docker.com/engine/api/v1.23/#create-a-container
@@ -2510,6 +3117,11 @@ module Aws::Batch
2510
3117
  # The value for the size (in MiB) of the `/dev/shm` volume. This
2511
3118
  # parameter maps to the `--shm-size` option to [docker run][1].
2512
3119
  #
3120
+ # <note markdown="1"> This parameter isn't applicable to jobs running on Fargate
3121
+ # resources and shouldn't be provided.
3122
+ #
3123
+ # </note>
3124
+ #
2513
3125
  #
2514
3126
  #
2515
3127
  # [1]: https://docs.docker.com/engine/reference/run/
@@ -2520,6 +3132,11 @@ module Aws::Batch
2520
3132
  # mount. This parameter maps to the `--tmpfs` option to [docker
2521
3133
  # run][1].
2522
3134
  #
3135
+ # <note markdown="1"> This parameter isn't applicable to jobs running on Fargate
3136
+ # resources and shouldn't be provided.
3137
+ #
3138
+ # </note>
3139
+ #
2523
3140
  #
2524
3141
  #
2525
3142
  # [1]: https://docs.docker.com/engine/reference/run/
@@ -2527,18 +3144,23 @@ module Aws::Batch
2527
3144
  #
2528
3145
  # @!attribute [rw] max_swap
2529
3146
  # The total amount of swap memory (in MiB) a container can use. This
2530
- # parameter will be translated to the `--memory-swap` option to
2531
- # [docker run][1] where the value would be the sum of the container
2532
- # memory plus the `maxSwap` value. For more information, see [
2533
- # `--memory-swap` details][2] in the Docker documentation.
3147
+ # parameter is translated to the `--memory-swap` option to [docker
3148
+ # run][1] where the value is the sum of the container memory plus the
3149
+ # `maxSwap` value. For more information, see [ `--memory-swap`
3150
+ # details][2] in the Docker documentation.
2534
3151
  #
2535
- # If a `maxSwap` value of `0` is specified, the container will not use
3152
+ # If a `maxSwap` value of `0` is specified, the container doesn't use
2536
3153
  # swap. Accepted values are `0` or any positive integer. If the
2537
- # `maxSwap` parameter is omitted, the container will use the swap
3154
+ # `maxSwap` parameter is omitted, the container doesn't use the swap
2538
3155
  # configuration for the container instance it is running on. A
2539
3156
  # `maxSwap` value must be set for the `swappiness` parameter to be
2540
3157
  # used.
2541
3158
  #
3159
+ # <note markdown="1"> This parameter isn't applicable to jobs running on Fargate
3160
+ # resources and shouldn't be provided.
3161
+ #
3162
+ # </note>
3163
+ #
2542
3164
  #
2543
3165
  #
2544
3166
  # [1]: https://docs.docker.com/engine/reference/run/
@@ -2547,18 +3169,48 @@ module Aws::Batch
2547
3169
  #
2548
3170
  # @!attribute [rw] swappiness
2549
3171
  # This allows you to tune a container's memory swappiness behavior. A
2550
- # `swappiness` value of `0` will cause swapping to not happen unless
2551
- # absolutely necessary. A `swappiness` value of `100` will cause pages
2552
- # to be swapped very aggressively. Accepted values are whole numbers
2553
- # between `0` and `100`. If the `swappiness` parameter is not
2554
- # specified, a default value of `60` is used. If a value is not
2555
- # specified for `maxSwap` then this parameter is ignored. This
2556
- # parameter maps to the `--memory-swappiness` option to [docker
2557
- # run][1].
3172
+ # `swappiness` value of `0` causes swapping not to happen unless
3173
+ # absolutely necessary. A `swappiness` value of `100` causes pages to
3174
+ # be swapped very aggressively. Accepted values are whole numbers
3175
+ # between `0` and `100`. If the `swappiness` parameter isn't
3176
+ # specified, a default value of `60` is used. If a value isn't
3177
+ # specified for `maxSwap` then this parameter is ignored. If `maxSwap`
3178
+ # is set to 0, the container doesn't use swap. This parameter maps to
3179
+ # the `--memory-swappiness` option to [docker run][1].
3180
+ #
3181
+ # Consider the following when you use a per-container swap
3182
+ # configuration.
3183
+ #
3184
+ # * Swap space must be enabled and allocated on the container instance
3185
+ # for the containers to use.
3186
+ #
3187
+ # <note markdown="1"> The Amazon ECS optimized AMIs don't have swap enabled by default.
3188
+ # You must enable swap on the instance to use this feature. For more
3189
+ # information, see [Instance Store Swap Volumes][2] in the *Amazon
3190
+ # EC2 User Guide for Linux Instances* or [How do I allocate memory
3191
+ # to work as swap space in an Amazon EC2 instance by using a swap
3192
+ # file?][3]
3193
+ #
3194
+ # </note>
3195
+ #
3196
+ # * The swap space parameters are only supported for job definitions
3197
+ # using EC2 resources.
3198
+ #
3199
+ # * If the `maxSwap` and `swappiness` parameters are omitted from a
3200
+ # job definition, each container will have a default `swappiness`
3201
+ # value of 60, and the total swap usage will be limited to two times
3202
+ # the memory reservation of the container.
3203
+ #
3204
+ # <note markdown="1"> This parameter isn't applicable to jobs running on Fargate
3205
+ # resources and shouldn't be provided.
3206
+ #
3207
+ # </note>
2558
3208
  #
2559
3209
  #
2560
3210
  #
2561
3211
  # [1]: https://docs.docker.com/engine/reference/run/
3212
+ # [2]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-store-swap-volumes.html
3213
+ # [3]: http://aws.amazon.com/premiumsupport/knowledge-center/ec2-memory-swap-file/
2562
3214
  # @return [Integer]
2563
3215
  #
2564
3216
  # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/LinuxParameters AWS API Documentation
@@ -2574,6 +3226,8 @@ module Aws::Batch
2574
3226
  include Aws::Structure
2575
3227
  end
2576
3228
 
3229
+ # Contains the parameters for `ListJobs`.
3230
+ #
2577
3231
  # @note When making an API call, you may pass ListJobsRequest
2578
3232
  # data as a hash:
2579
3233
  #
@@ -2587,8 +3241,8 @@ module Aws::Batch
2587
3241
  # }
2588
3242
  #
2589
3243
  # @!attribute [rw] job_queue
2590
- # The name or full Amazon Resource Name (ARN) of the job queue with
2591
- # which to list jobs.
3244
+ # The name or full Amazon Resource Name (ARN) of the job queue used to
3245
+ # list jobs.
2592
3246
  # @return [String]
2593
3247
  #
2594
3248
  # @!attribute [rw] array_job_id
@@ -2603,19 +3257,19 @@ module Aws::Batch
2603
3257
  # @return [String]
2604
3258
  #
2605
3259
  # @!attribute [rw] job_status
2606
- # The job status with which to filter jobs in the specified queue. If
2607
- # you do not specify a status, only `RUNNING` jobs are returned.
3260
+ # The job status used to filter jobs in the specified queue. If you
3261
+ # don't specify a status, only `RUNNING` jobs are returned.
2608
3262
  # @return [String]
2609
3263
  #
2610
3264
  # @!attribute [rw] max_results
2611
3265
  # The maximum number of results returned by `ListJobs` in paginated
2612
3266
  # output. When this parameter is used, `ListJobs` only returns
2613
- # `maxResults` results in a single page along with a `nextToken`
2614
- # response element. The remaining results of the initial request can
2615
- # be seen by sending another `ListJobs` request with the returned
2616
- # `nextToken` value. This value can be between 1 and 100. If this
2617
- # parameter is not used, then `ListJobs` returns up to 100 results and
2618
- # a `nextToken` value if applicable.
3267
+ # `maxResults` results in a single page and a `nextToken` response
3268
+ # element. The remaining results of the initial request can be seen by
3269
+ # sending another `ListJobs` request with the returned `nextToken`
3270
+ # value. This value can be between 1 and 100. If this parameter isn't
3271
+ # used, then `ListJobs` returns up to 100 results and a `nextToken`
3272
+ # value if applicable.
2619
3273
  # @return [Integer]
2620
3274
  #
2621
3275
  # @!attribute [rw] next_token
@@ -2625,7 +3279,7 @@ module Aws::Batch
2625
3279
  # previous results that returned the `nextToken` value. This value is
2626
3280
  # `null` when there are no more results to return.
2627
3281
  #
2628
- # <note markdown="1"> This token should be treated as an opaque identifier that is only
3282
+ # <note markdown="1"> This token should be treated as an opaque identifier that's only
2629
3283
  # used to retrieve the next items in a list and not for other
2630
3284
  # programmatic purposes.
2631
3285
  #
@@ -2673,8 +3327,8 @@ module Aws::Batch
2673
3327
  # }
2674
3328
  #
2675
3329
  # @!attribute [rw] resource_arn
2676
- # The Amazon Resource Name (ARN) that identifies the resource for
2677
- # which to list the tags. AWS Batch resources that support tags are
3330
+ # The Amazon Resource Name (ARN) that identifies the resource that
3331
+ # tags are listed for. AWS Batch resources that support tags are
2678
3332
  # compute environments, jobs, job definitions, and job queues. ARNs
2679
3333
  # for child jobs of array and multi-node parallel (MNP) jobs are not
2680
3334
  # supported.
@@ -2727,6 +3381,11 @@ module Aws::Batch
2727
3381
  # The supported log drivers are `awslogs`, `fluentd`, `gelf`,
2728
3382
  # `json-file`, `journald`, `logentries`, `syslog`, and `splunk`.
2729
3383
  #
3384
+ # <note markdown="1"> Jobs running on Fargate resources are restricted to the `awslogs`
3385
+ # and `splunk` log drivers.
3386
+ #
3387
+ # </note>
3388
+ #
2730
3389
  # awslogs
2731
3390
  #
2732
3391
  # : Specifies the Amazon CloudWatch Logs logging driver. For more
@@ -2770,13 +3429,13 @@ module Aws::Batch
2770
3429
  # including usage and options, see [Syslog logging driver][8] in the
2771
3430
  # Docker documentation.
2772
3431
  #
2773
- # <note markdown="1"> If you have a custom driver that is not listed earlier that you
2774
- # would like to work with the Amazon ECS container agent, you can fork
2775
- # the Amazon ECS container agent project that is [available on
2776
- # GitHub][9] and customize it to work with that driver. We encourage
2777
- # you to submit pull requests for changes that you would like to have
2778
- # included. However, Amazon Web Services does not currently support
2779
- # running modified copies of this software.
3432
+ # <note markdown="1"> If you have a custom driver that's not listed earlier that you want
3433
+ # to work with the Amazon ECS container agent, you can fork the Amazon
3434
+ # ECS container agent project that's [available on GitHub][9] and
3435
+ # customize it to work with that driver. We encourage you to submit
3436
+ # pull requests for changes that you want to have included. However,
3437
+ # Amazon Web Services doesn't currently support running modified
3438
+ # copies of this software.
2780
3439
  #
2781
3440
  # </note>
2782
3441
  #
@@ -2826,7 +3485,7 @@ module Aws::Batch
2826
3485
  include Aws::Structure
2827
3486
  end
2828
3487
 
2829
- # Details on a Docker volume mount point that is used in a job's
3488
+ # Details on a Docker volume mount point that's used in a job's
2830
3489
  # container properties. This parameter maps to `Volumes` in the [Create
2831
3490
  # a container][1] section of the Docker Remote API and the `--volume`
2832
3491
  # option to docker run.
@@ -2845,12 +3504,12 @@ module Aws::Batch
2845
3504
  # }
2846
3505
  #
2847
3506
  # @!attribute [rw] container_path
2848
- # The path on the container at which to mount the host volume.
3507
+ # The path on the container where the host volume is mounted.
2849
3508
  # @return [String]
2850
3509
  #
2851
3510
  # @!attribute [rw] read_only
2852
3511
  # If this value is `true`, the container has read-only access to the
2853
- # volume; otherwise, the container can write to the volume. The
3512
+ # volume. Otherwise, the container can write to the volume. The
2854
3513
  # default value is `false`.
2855
3514
  # @return [Boolean]
2856
3515
  #
@@ -2868,6 +3527,37 @@ module Aws::Batch
2868
3527
  include Aws::Structure
2869
3528
  end
2870
3529
 
3530
+ # The network configuration for jobs running on Fargate resources. Jobs
3531
+ # running on EC2 resources must not specify this parameter.
3532
+ #
3533
+ # @note When making an API call, you may pass NetworkConfiguration
3534
+ # data as a hash:
3535
+ #
3536
+ # {
3537
+ # assign_public_ip: "ENABLED", # accepts ENABLED, DISABLED
3538
+ # }
3539
+ #
3540
+ # @!attribute [rw] assign_public_ip
3541
+ # Indicates whether the job should have a public IP address. For a job
3542
+ # running on Fargate resources in a private subnet to send outbound
3543
+ # traffic to the internet (for example, in order to pull container
3544
+ # images), the private subnet requires a NAT gateway be attached to
3545
+ # route requests to the internet. For more information, see [Amazon
3546
+ # ECS task networking][1]. The default value is "DISABLED".
3547
+ #
3548
+ #
3549
+ #
3550
+ # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-networking.html
3551
+ # @return [String]
3552
+ #
3553
+ # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/NetworkConfiguration AWS API Documentation
3554
+ #
3555
+ class NetworkConfiguration < Struct.new(
3556
+ :assign_public_ip)
3557
+ SENSITIVE = []
3558
+ include Aws::Structure
3559
+ end
3560
+
2871
3561
  # An object representing the elastic network interface for a multi-node
2872
3562
  # parallel job node.
2873
3563
  #
@@ -2915,9 +3605,14 @@ module Aws::Batch
2915
3605
  include Aws::Structure
2916
3606
  end
2917
3607
 
2918
- # Object representing any node overrides to a job definition that is
3608
+ # Object representing any node overrides to a job definition that's
2919
3609
  # used in a SubmitJob API operation.
2920
3610
  #
3611
+ # <note markdown="1"> This isn't applicable to jobs running on Fargate resources and
3612
+ # shouldn't be provided; use `containerOverrides` instead.
3613
+ #
3614
+ # </note>
3615
+ #
2921
3616
  # @note When making an API call, you may pass NodeOverrides
2922
3617
  # data as a hash:
2923
3618
  #
@@ -2940,7 +3635,7 @@ module Aws::Batch
2940
3635
  # resource_requirements: [
2941
3636
  # {
2942
3637
  # value: "String", # required
2943
- # type: "GPU", # required, accepts GPU
3638
+ # type: "GPU", # required, accepts GPU, VCPU, MEMORY
2944
3639
  # },
2945
3640
  # ],
2946
3641
  # },
@@ -3031,7 +3726,7 @@ module Aws::Batch
3031
3726
  # resource_requirements: [
3032
3727
  # {
3033
3728
  # value: "String", # required
3034
- # type: "GPU", # required, accepts GPU
3729
+ # type: "GPU", # required, accepts GPU, VCPU, MEMORY
3035
3730
  # },
3036
3731
  # ],
3037
3732
  # linux_parameters: {
@@ -3072,6 +3767,12 @@ module Aws::Batch
3072
3767
  # value_from: "String", # required
3073
3768
  # },
3074
3769
  # ],
3770
+ # network_configuration: {
3771
+ # assign_public_ip: "ENABLED", # accepts ENABLED, DISABLED
3772
+ # },
3773
+ # fargate_platform_configuration: {
3774
+ # platform_version: "String",
3775
+ # },
3075
3776
  # },
3076
3777
  # },
3077
3778
  # ],
@@ -3101,7 +3802,7 @@ module Aws::Batch
3101
3802
  include Aws::Structure
3102
3803
  end
3103
3804
 
3104
- # An object representing the properties of a node that is associated
3805
+ # An object representing the properties of a node that's associated
3105
3806
  # with a multi-node parallel job.
3106
3807
  #
3107
3808
  # @!attribute [rw] is_main_node
@@ -3129,7 +3830,7 @@ module Aws::Batch
3129
3830
  include Aws::Structure
3130
3831
  end
3131
3832
 
3132
- # Object representing any node overrides to a job definition that is
3833
+ # Object representing any node overrides to a job definition that's
3133
3834
  # used in a SubmitJob API operation.
3134
3835
  #
3135
3836
  # @note When making an API call, you may pass NodePropertyOverride
@@ -3151,18 +3852,19 @@ module Aws::Batch
3151
3852
  # resource_requirements: [
3152
3853
  # {
3153
3854
  # value: "String", # required
3154
- # type: "GPU", # required, accepts GPU
3855
+ # type: "GPU", # required, accepts GPU, VCPU, MEMORY
3155
3856
  # },
3156
3857
  # ],
3157
3858
  # },
3158
3859
  # }
3159
3860
  #
3160
3861
  # @!attribute [rw] target_nodes
3161
- # The range of nodes, using node index values, with which to override.
3162
- # A range of `0:3` indicates nodes with index values of `0` through
3163
- # `3`. If the starting range value is omitted (`:n`), then `0` is used
3164
- # to start the range. If the ending range value is omitted (`n:`),
3165
- # then the highest possible node index is used to end the range.
3862
+ # The range of nodes, using node index values, that's used to
3863
+ # override. A range of `0:3` indicates nodes with index values of `0`
3864
+ # through `3`. If the starting range value is omitted (`:n`), then `0`
3865
+ # is used to start the range. If the ending range value is omitted
3866
+ # (`n:`), then the highest possible node index is used to end the
3867
+ # range.
3166
3868
  # @return [String]
3167
3869
  #
3168
3870
  # @!attribute [rw] container_overrides
@@ -3228,7 +3930,7 @@ module Aws::Batch
3228
3930
  # resource_requirements: [
3229
3931
  # {
3230
3932
  # value: "String", # required
3231
- # type: "GPU", # required, accepts GPU
3933
+ # type: "GPU", # required, accepts GPU, VCPU, MEMORY
3232
3934
  # },
3233
3935
  # ],
3234
3936
  # linux_parameters: {
@@ -3269,6 +3971,12 @@ module Aws::Batch
3269
3971
  # value_from: "String", # required
3270
3972
  # },
3271
3973
  # ],
3974
+ # network_configuration: {
3975
+ # assign_public_ip: "ENABLED", # accepts ENABLED, DISABLED
3976
+ # },
3977
+ # fargate_platform_configuration: {
3978
+ # platform_version: "String",
3979
+ # },
3272
3980
  # },
3273
3981
  # }
3274
3982
  #
@@ -3278,9 +3986,9 @@ module Aws::Batch
3278
3986
  # starting range value is omitted (`:n`), then `0` is used to start
3279
3987
  # the range. If the ending range value is omitted (`n:`), then the
3280
3988
  # highest possible node index is used to end the range. Your
3281
- # accumulative node ranges must account for all nodes (0:n). You may
3282
- # nest node ranges, for example 0:10 and 4:5, in which case the 4:5
3283
- # range properties override the 0:10 properties.
3989
+ # accumulative node ranges must account for all nodes (`0:n`). You can
3990
+ # nest node ranges, for example `0:10` and `4:5`, in which case the
3991
+ # `4:5` range properties override the `0:10` properties.
3284
3992
  # @return [String]
3285
3993
  #
3286
3994
  # @!attribute [rw] container
@@ -3296,6 +4004,8 @@ module Aws::Batch
3296
4004
  include Aws::Structure
3297
4005
  end
3298
4006
 
4007
+ # Contains the parameters for `RegisterJobDefinition`.
4008
+ #
3299
4009
  # @note When making an API call, you may pass RegisterJobDefinitionRequest
3300
4010
  # data as a hash:
3301
4011
  #
@@ -3347,7 +4057,7 @@ module Aws::Batch
3347
4057
  # resource_requirements: [
3348
4058
  # {
3349
4059
  # value: "String", # required
3350
- # type: "GPU", # required, accepts GPU
4060
+ # type: "GPU", # required, accepts GPU, VCPU, MEMORY
3351
4061
  # },
3352
4062
  # ],
3353
4063
  # linux_parameters: {
@@ -3388,6 +4098,12 @@ module Aws::Batch
3388
4098
  # value_from: "String", # required
3389
4099
  # },
3390
4100
  # ],
4101
+ # network_configuration: {
4102
+ # assign_public_ip: "ENABLED", # accepts ENABLED, DISABLED
4103
+ # },
4104
+ # fargate_platform_configuration: {
4105
+ # platform_version: "String",
4106
+ # },
3391
4107
  # },
3392
4108
  # node_properties: {
3393
4109
  # num_nodes: 1, # required
@@ -3437,7 +4153,7 @@ module Aws::Batch
3437
4153
  # resource_requirements: [
3438
4154
  # {
3439
4155
  # value: "String", # required
3440
- # type: "GPU", # required, accepts GPU
4156
+ # type: "GPU", # required, accepts GPU, VCPU, MEMORY
3441
4157
  # },
3442
4158
  # ],
3443
4159
  # linux_parameters: {
@@ -3478,6 +4194,12 @@ module Aws::Batch
3478
4194
  # value_from: "String", # required
3479
4195
  # },
3480
4196
  # ],
4197
+ # network_configuration: {
4198
+ # assign_public_ip: "ENABLED", # accepts ENABLED, DISABLED
4199
+ # },
4200
+ # fargate_platform_configuration: {
4201
+ # platform_version: "String",
4202
+ # },
3481
4203
  # },
3482
4204
  # },
3483
4205
  # ],
@@ -3493,12 +4215,14 @@ module Aws::Batch
3493
4215
  # },
3494
4216
  # ],
3495
4217
  # },
4218
+ # propagate_tags: false,
3496
4219
  # timeout: {
3497
4220
  # attempt_duration_seconds: 1,
3498
4221
  # },
3499
4222
  # tags: {
3500
4223
  # "TagKey" => "TagValue",
3501
4224
  # },
4225
+ # platform_capabilities: ["EC2"], # accepts EC2, FARGATE
3502
4226
  # }
3503
4227
  #
3504
4228
  # @!attribute [rw] job_definition_name
@@ -3508,7 +4232,18 @@ module Aws::Batch
3508
4232
  # @return [String]
3509
4233
  #
3510
4234
  # @!attribute [rw] type
3511
- # The type of job definition.
4235
+ # The type of job definition. For more information about multi-node
4236
+ # parallel jobs, see [Creating a multi-node parallel job
4237
+ # definition][1] in the *AWS Batch User Guide*.
4238
+ #
4239
+ # <note markdown="1"> If the job is run on Fargate resources, then `multinode` isn't
4240
+ # supported.
4241
+ #
4242
+ # </note>
4243
+ #
4244
+ #
4245
+ #
4246
+ # [1]: https://docs.aws.amazon.com/batch/latest/userguide/multi-node-job-def.html
3512
4247
  # @return [String]
3513
4248
  #
3514
4249
  # @!attribute [rw] parameters
@@ -3523,6 +4258,11 @@ module Aws::Batch
3523
4258
  # container-based jobs. If the job definition's `type` parameter is
3524
4259
  # `container`, then you must specify either `containerProperties` or
3525
4260
  # `nodeProperties`.
4261
+ #
4262
+ # <note markdown="1"> If the job runs on Fargate resources, then you must not specify
4263
+ # `nodeProperties`; use only `containerProperties`.
4264
+ #
4265
+ # </note>
3526
4266
  # @return [Types::ContainerProperties]
3527
4267
  #
3528
4268
  # @!attribute [rw] node_properties
@@ -3533,6 +4273,11 @@ module Aws::Batch
3533
4273
  # definition's `type` parameter is `container`, then you must specify
3534
4274
  # either `containerProperties` or `nodeProperties`.
3535
4275
  #
4276
+ # <note markdown="1"> If the job runs on Fargate resources, then you must not specify
4277
+ # `nodeProperties`; use `containerProperties` instead.
4278
+ #
4279
+ # </note>
4280
+ #
3536
4281
  #
3537
4282
  #
3538
4283
  # [1]: https://docs.aws.amazon.com/batch/latest/userguide/multi-node-parallel-jobs.html
@@ -3540,37 +4285,52 @@ module Aws::Batch
3540
4285
  #
3541
4286
  # @!attribute [rw] retry_strategy
3542
4287
  # The retry strategy to use for failed jobs that are submitted with
3543
- # this job definition. Any retry strategy that is specified during a
4288
+ # this job definition. Any retry strategy that's specified during a
3544
4289
  # SubmitJob operation overrides the retry strategy defined here. If a
3545
- # job is terminated due to a timeout, it is not retried.
4290
+ # job is terminated due to a timeout, it isn't retried.
3546
4291
  # @return [Types::RetryStrategy]
3547
4292
  #
4293
+ # @!attribute [rw] propagate_tags
4294
+ # Specifies whether to propagate the tags from the job or job
4295
+ # definition to the corresponding Amazon ECS task. If no value is
4296
+ # specified, the tags are not propagated. Tags can only be propagated
4297
+ # to the tasks during task creation. For tags with the same name, job
4298
+ # tags are given priority over job definitions tags. If the total
4299
+ # number of combined tags from the job and job definition is over 50,
4300
+ # the job is moved to the `FAILED` state.
4301
+ # @return [Boolean]
4302
+ #
3548
4303
  # @!attribute [rw] timeout
3549
4304
  # The timeout configuration for jobs that are submitted with this job
3550
4305
  # definition, after which AWS Batch terminates your jobs if they have
3551
- # not finished. If a job is terminated due to a timeout, it is not
4306
+ # not finished. If a job is terminated due to a timeout, it isn't
3552
4307
  # retried. The minimum value for the timeout is 60 seconds. Any
3553
- # timeout configuration that is specified during a SubmitJob operation
4308
+ # timeout configuration that's specified during a SubmitJob operation
3554
4309
  # overrides the timeout configuration defined here. For more
3555
- # information, see [Job Timeouts][1] in the *Amazon Elastic Container
3556
- # Service Developer Guide*.
4310
+ # information, see [Job Timeouts][1] in the *AWS Batch User Guide*.
3557
4311
  #
3558
4312
  #
3559
4313
  #
3560
- # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/job_timeouts.html
4314
+ # [1]: https://docs.aws.amazon.com/batch/latest/userguide/job_timeouts.html
3561
4315
  # @return [Types::JobTimeout]
3562
4316
  #
3563
4317
  # @!attribute [rw] tags
3564
4318
  # The tags that you apply to the job definition to help you categorize
3565
4319
  # and organize your resources. Each tag consists of a key and an
3566
4320
  # optional value. For more information, see [Tagging AWS Resources][1]
3567
- # in *AWS General Reference*.
4321
+ # in *AWS Batch User Guide*.
3568
4322
  #
3569
4323
  #
3570
4324
  #
3571
- # [1]: https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html
4325
+ # [1]: https://docs.aws.amazon.com/batch/latest/userguide/using-tags.html
3572
4326
  # @return [Hash<String,String>]
3573
4327
  #
4328
+ # @!attribute [rw] platform_capabilities
4329
+ # The platform capabilities required by the job definition. If no
4330
+ # value is specified, it defaults to `EC2`. To run the job on Fargate
4331
+ # resources, specify `FARGATE`.
4332
+ # @return [Array<String>]
4333
+ #
3574
4334
  # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/RegisterJobDefinitionRequest AWS API Documentation
3575
4335
  #
3576
4336
  class RegisterJobDefinitionRequest < Struct.new(
@@ -3580,8 +4340,10 @@ module Aws::Batch
3580
4340
  :container_properties,
3581
4341
  :node_properties,
3582
4342
  :retry_strategy,
4343
+ :propagate_tags,
3583
4344
  :timeout,
3584
- :tags)
4345
+ :tags,
4346
+ :platform_capabilities)
3585
4347
  SENSITIVE = []
3586
4348
  include Aws::Structure
3587
4349
  end
@@ -3608,27 +4370,143 @@ module Aws::Batch
3608
4370
  include Aws::Structure
3609
4371
  end
3610
4372
 
3611
- # The type and amount of a resource to assign to a container. Currently,
3612
- # the only supported resource type is `GPU`.
4373
+ # The type and amount of a resource to assign to a container. The
4374
+ # supported resources include `GPU`, `MEMORY`, and `VCPU`.
3613
4375
  #
3614
4376
  # @note When making an API call, you may pass ResourceRequirement
3615
4377
  # data as a hash:
3616
4378
  #
3617
4379
  # {
3618
4380
  # value: "String", # required
3619
- # type: "GPU", # required, accepts GPU
4381
+ # type: "GPU", # required, accepts GPU, VCPU, MEMORY
3620
4382
  # }
3621
4383
  #
3622
4384
  # @!attribute [rw] value
3623
- # The number of physical GPUs to reserve for the container. The number
3624
- # of GPUs reserved for all containers in a job should not exceed the
3625
- # number of available GPUs on the compute resource that the job is
3626
- # launched on.
4385
+ # The quantity of the specified resource to reserve for the container.
4386
+ # The values vary based on the `type` specified.
4387
+ #
4388
+ # type="GPU"
4389
+ #
4390
+ # : The number of physical GPUs to reserve for the container. The
4391
+ # number of GPUs reserved for all containers in a job shouldn't
4392
+ # exceed the number of available GPUs on the compute resource that
4393
+ # the job is launched on.
4394
+ #
4395
+ # <note markdown="1"> GPUs are not available for jobs running on Fargate resources.
4396
+ #
4397
+ # </note>
4398
+ #
4399
+ # type="MEMORY"
4400
+ #
4401
+ # : The memory hard limit (in MiB) present to the container. This
4402
+ # parameter is supported for jobs running on EC2 resources. If your
4403
+ # container attempts to exceed the memory specified, the container
4404
+ # is terminated. This parameter maps to `Memory` in the [Create a
4405
+ # container][1] section of the [Docker Remote API][2] and the
4406
+ # `--memory` option to [docker run][3]. You must specify at least 4
4407
+ # MiB of memory for a job. This is required but can be specified in
4408
+ # several places for multi-node parallel (MNP) jobs. It must be
4409
+ # specified for each node at least once. This parameter maps to
4410
+ # `Memory` in the [Create a container][1] section of the [Docker
4411
+ # Remote API][2] and the `--memory` option to [docker run][3].
4412
+ #
4413
+ # <note markdown="1"> If you're trying to maximize your resource utilization by
4414
+ # providing your jobs as much memory as possible for a particular
4415
+ # instance type, see [Memory Management][4] in the *AWS Batch User
4416
+ # Guide*.
4417
+ #
4418
+ # </note>
4419
+ #
4420
+ # For jobs running on Fargate resources, then `value` is the hard
4421
+ # limit (in MiB), and must match one of the supported values and the
4422
+ # `VCPU` values must be one of the values supported for that memory
4423
+ # value.
4424
+ #
4425
+ # value = 512
4426
+ #
4427
+ # : `VCPU` = 0.25
4428
+ #
4429
+ # value = 1024
4430
+ #
4431
+ # : `VCPU` = 0.25 or 0.5
4432
+ #
4433
+ # value = 2048
4434
+ #
4435
+ # : `VCPU` = 0.25, 0.5, or 1
4436
+ #
4437
+ # value = 3072
4438
+ #
4439
+ # : `VCPU` = 0.5, or 1
4440
+ #
4441
+ # value = 4096
4442
+ #
4443
+ # : `VCPU` = 0.5, 1, or 2
4444
+ #
4445
+ # value = 5120, 6144, or 7168
4446
+ #
4447
+ # : `VCPU` = 1 or 2
4448
+ #
4449
+ # value = 8192
4450
+ #
4451
+ # : `VCPU` = 1, 2, or 4
4452
+ #
4453
+ # value = 9216, 10240, 11264, 12288, 13312, 14336, 15360, or 16384
4454
+ #
4455
+ # : `VCPU` = 2 or 4
4456
+ #
4457
+ # value = 17408, 18432, 19456, 20480, 21504, 22528, 23552, 24576, 25600, 26624, 27648, 28672, 29696, or 30720
4458
+ #
4459
+ # : `VCPU` = 4
4460
+ #
4461
+ # type="VCPU"
4462
+ #
4463
+ # : The number of vCPUs reserved for the container. This parameter
4464
+ # maps to `CpuShares` in the [Create a container][1] section of the
4465
+ # [Docker Remote API][2] and the `--cpu-shares` option to [docker
4466
+ # run][3]. Each vCPU is equivalent to 1,024 CPU shares. For EC2
4467
+ # resources, you must specify at least one vCPU. This is required
4468
+ # but can be specified in several places; it must be specified for
4469
+ # each node at least once.
4470
+ #
4471
+ # For jobs running on Fargate resources, then `value` must match one
4472
+ # of the supported values and the `MEMORY` values must be one of the
4473
+ # values supported for that VCPU value. The supported values are
4474
+ # 0.25, 0.5, 1, 2, and 4
4475
+ #
4476
+ # value = 0.25
4477
+ #
4478
+ # : `MEMORY` = 512, 1024, or 2048
4479
+ #
4480
+ # value = 0.5
4481
+ #
4482
+ # : `MEMORY` = 1024, 2048, 3072, or 4096
4483
+ #
4484
+ # value = 1
4485
+ #
4486
+ # : `MEMORY` = 2048, 3072, 4096, 5120, 6144, 7168, or 8192
4487
+ #
4488
+ # value = 2
4489
+ #
4490
+ # : `MEMORY` = 4096, 5120, 6144, 7168, 8192, 9216, 10240, 11264,
4491
+ # 12288, 13312, 14336, 15360, or 16384
4492
+ #
4493
+ # value = 4
4494
+ #
4495
+ # : `MEMORY` = 8192, 9216, 10240, 11264, 12288, 13312, 14336, 15360,
4496
+ # 16384, 17408, 18432, 19456, 20480, 21504, 22528, 23552, 24576,
4497
+ # 25600, 26624, 27648, 28672, 29696, or 30720
4498
+ #
4499
+ #
4500
+ #
4501
+ # [1]: https://docs.docker.com/engine/api/v1.23/#create-a-container
4502
+ # [2]: https://docs.docker.com/engine/api/v1.23/
4503
+ # [3]: https://docs.docker.com/engine/reference/run/
4504
+ # [4]: https://docs.aws.amazon.com/batch/latest/userguide/memory-management.html
3627
4505
  # @return [String]
3628
4506
  #
3629
4507
  # @!attribute [rw] type
3630
- # The type of resource to assign to a container. Currently, the only
3631
- # supported resource type is `GPU`.
4508
+ # The type of resource to assign to a container. The supported
4509
+ # resources include `GPU`, `MEMORY`, and `VCPU`.
3632
4510
  # @return [String]
3633
4511
  #
3634
4512
  # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/ResourceRequirement AWS API Documentation
@@ -3640,7 +4518,12 @@ module Aws::Batch
3640
4518
  include Aws::Structure
3641
4519
  end
3642
4520
 
3643
- # The retry strategy associated with a job.
4521
+ # The retry strategy associated with a job. For more information, see
4522
+ # [Automated job retries][1] in the *AWS Batch User Guide*.
4523
+ #
4524
+ #
4525
+ #
4526
+ # [1]: https://docs.aws.amazon.com/batch/latest/userguide/job_retries.html
3644
4527
  #
3645
4528
  # @note When making an API call, you may pass RetryStrategy
3646
4529
  # data as a hash:
@@ -3658,7 +4541,7 @@ module Aws::Batch
3658
4541
  # }
3659
4542
  #
3660
4543
  # @!attribute [rw] attempts
3661
- # The number of times to move a job to the `RUNNABLE` status. You may
4544
+ # The number of times to move a job to the `RUNNABLE` status. You can
3662
4545
  # specify between 1 and 10 attempts. If the value of `attempts` is
3663
4546
  # greater than one, the job is retried on failure the same number of
3664
4547
  # attempts as the value.
@@ -3688,12 +4571,12 @@ module Aws::Batch
3688
4571
  # * To reference sensitive information in the log configuration of a
3689
4572
  # container, use the `secretOptions` container definition parameter.
3690
4573
  #
3691
- # For more information, see [Specifying Sensitive Data][1] in the
3692
- # *Amazon Elastic Container Service Developer Guide*.
4574
+ # For more information, see [Specifying sensitive data][1] in the *AWS
4575
+ # Batch User Guide*.
3693
4576
  #
3694
4577
  #
3695
4578
  #
3696
- # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/specifying-sensitive-data.html
4579
+ # [1]: https://docs.aws.amazon.com/batch/latest/userguide/specifying-sensitive-data.html
3697
4580
  #
3698
4581
  # @note When making an API call, you may pass Secret
3699
4582
  # data as a hash:
@@ -3713,7 +4596,7 @@ module Aws::Batch
3713
4596
  # ARN of the parameter in the AWS Systems Manager Parameter Store.
3714
4597
  #
3715
4598
  # <note markdown="1"> If the AWS Systems Manager Parameter Store parameter exists in the
3716
- # same Region as the task you are launching, then you can use either
4599
+ # same Region as the job you're launching, then you can use either
3717
4600
  # the full ARN or name of the parameter. If the parameter exists in a
3718
4601
  # different Region, then the full ARN must be specified.
3719
4602
  #
@@ -3742,6 +4625,8 @@ module Aws::Batch
3742
4625
  include Aws::Structure
3743
4626
  end
3744
4627
 
4628
+ # Contains the parameters for `SubmitJob`.
4629
+ #
3745
4630
  # @note When making an API call, you may pass SubmitJobRequest
3746
4631
  # data as a hash:
3747
4632
  #
@@ -3775,7 +4660,7 @@ module Aws::Batch
3775
4660
  # resource_requirements: [
3776
4661
  # {
3777
4662
  # value: "String", # required
3778
- # type: "GPU", # required, accepts GPU
4663
+ # type: "GPU", # required, accepts GPU, VCPU, MEMORY
3779
4664
  # },
3780
4665
  # ],
3781
4666
  # },
@@ -3798,7 +4683,7 @@ module Aws::Batch
3798
4683
  # resource_requirements: [
3799
4684
  # {
3800
4685
  # value: "String", # required
3801
- # type: "GPU", # required, accepts GPU
4686
+ # type: "GPU", # required, accepts GPU, VCPU, MEMORY
3802
4687
  # },
3803
4688
  # ],
3804
4689
  # },
@@ -3816,6 +4701,7 @@ module Aws::Batch
3816
4701
  # },
3817
4702
  # ],
3818
4703
  # },
4704
+ # propagate_tags: false,
3819
4705
  # timeout: {
3820
4706
  # attempt_duration_seconds: 1,
3821
4707
  # },
@@ -3831,8 +4717,8 @@ module Aws::Batch
3831
4717
  # @return [String]
3832
4718
  #
3833
4719
  # @!attribute [rw] job_queue
3834
- # The job queue into which the job is submitted. You can specify
3835
- # either the name or the Amazon Resource Name (ARN) of the queue.
4720
+ # The job queue where the job is submitted. You can specify either the
4721
+ # name or the Amazon Resource Name (ARN) of the queue.
3836
4722
  # @return [String]
3837
4723
  #
3838
4724
  # @!attribute [rw] array_properties
@@ -3872,19 +4758,23 @@ module Aws::Batch
3872
4758
  # @return [Hash<String,String>]
3873
4759
  #
3874
4760
  # @!attribute [rw] container_overrides
3875
- # A list of container overrides in JSON format that specify the name
3876
- # of a container in the specified job definition and the overrides it
3877
- # should receive. You can override the default command for a container
3878
- # (that is specified in the job definition or the Docker image) with a
3879
- # `command` override. You can also override existing environment
3880
- # variables (that are specified in the job definition or Docker image)
3881
- # on a container or add new environment variables to it with an
3882
- # `environment` override.
4761
+ # A list of container overrides in the JSON format that specify the
4762
+ # name of a container in the specified job definition and the
4763
+ # overrides it should receive. You can override the default command
4764
+ # for a container, which is specified in the job definition or the
4765
+ # Docker image, with a `command` override. You can also override
4766
+ # existing environment variables on a container or add new environment
4767
+ # variables to it with an `environment` override.
3883
4768
  # @return [Types::ContainerOverrides]
3884
4769
  #
3885
4770
  # @!attribute [rw] node_overrides
3886
4771
  # A list of node overrides in JSON format that specify the node range
3887
4772
  # to target and the container overrides for that node range.
4773
+ #
4774
+ # <note markdown="1"> This parameter isn't applicable to jobs running on Fargate
4775
+ # resources; use `containerOverrides` instead.
4776
+ #
4777
+ # </note>
3888
4778
  # @return [Types::NodeOverrides]
3889
4779
  #
3890
4780
  # @!attribute [rw] retry_strategy
@@ -3893,11 +4783,22 @@ module Aws::Batch
3893
4783
  # retry strategy defined in the job definition.
3894
4784
  # @return [Types::RetryStrategy]
3895
4785
  #
4786
+ # @!attribute [rw] propagate_tags
4787
+ # Specifies whether to propagate the tags from the job or job
4788
+ # definition to the corresponding Amazon ECS task. If no value is
4789
+ # specified, the tags aren't propagated. Tags can only be propagated
4790
+ # to the tasks during task creation. For tags with the same name, job
4791
+ # tags are given priority over job definitions tags. If the total
4792
+ # number of combined tags from the job and job definition is over 50,
4793
+ # the job is moved to the `FAILED` state. When specified, this
4794
+ # overrides the tag propagation setting in the job definition.
4795
+ # @return [Boolean]
4796
+ #
3896
4797
  # @!attribute [rw] timeout
3897
4798
  # The timeout configuration for this SubmitJob operation. You can
3898
4799
  # specify a timeout duration after which AWS Batch terminates your
3899
- # jobs if they have not finished. If a job is terminated due to a
3900
- # timeout, it is not retried. The minimum value for the timeout is 60
4800
+ # jobs if they haven't finished. If a job is terminated due to a
4801
+ # timeout, it isn't retried. The minimum value for the timeout is 60
3901
4802
  # seconds. This configuration overrides any timeout configuration
3902
4803
  # specified in the job definition. For array jobs, child jobs have the
3903
4804
  # same timeout configuration as the parent job. For more information,
@@ -3932,6 +4833,7 @@ module Aws::Batch
3932
4833
  :container_overrides,
3933
4834
  :node_overrides,
3934
4835
  :retry_strategy,
4836
+ :propagate_tags,
3935
4837
  :timeout,
3936
4838
  :tags)
3937
4839
  SENSITIVE = []
@@ -3971,8 +4873,8 @@ module Aws::Batch
3971
4873
  # }
3972
4874
  #
3973
4875
  # @!attribute [rw] resource_arn
3974
- # The Amazon Resource Name (ARN) of the resource to which to add tags.
3975
- # AWS Batch resources that support tags are compute environments,
4876
+ # The Amazon Resource Name (ARN) of the resource that tags are added
4877
+ # to. AWS Batch resources that support tags are compute environments,
3976
4878
  # jobs, job definitions, and job queues. ARNs for child jobs of array
3977
4879
  # and multi-node parallel (MNP) jobs are not supported.
3978
4880
  # @return [String]
@@ -4001,6 +4903,8 @@ module Aws::Batch
4001
4903
  #
4002
4904
  class TagResourceResponse < Aws::EmptyStructure; end
4003
4905
 
4906
+ # Contains the parameters for `TerminateJob`.
4907
+ #
4004
4908
  # @note When making an API call, you may pass TerminateJobRequest
4005
4909
  # data as a hash:
4006
4910
  #
@@ -4035,6 +4939,10 @@ module Aws::Batch
4035
4939
 
4036
4940
  # The container path, mount options, and size of the tmpfs mount.
4037
4941
  #
4942
+ # <note markdown="1"> This object isn't applicable to jobs running on Fargate resources.
4943
+ #
4944
+ # </note>
4945
+ #
4038
4946
  # @note When making an API call, you may pass Tmpfs
4039
4947
  # data as a hash:
4040
4948
  #
@@ -4045,8 +4953,8 @@ module Aws::Batch
4045
4953
  # }
4046
4954
  #
4047
4955
  # @!attribute [rw] container_path
4048
- # The absolute file path in the container where the tmpfs volume is to
4049
- # be mounted.
4956
+ # The absolute file path in the container where the tmpfs volume is
4957
+ # mounted.
4050
4958
  # @return [String]
4051
4959
  #
4052
4960
  # @!attribute [rw] size
@@ -4080,6 +4988,10 @@ module Aws::Batch
4080
4988
 
4081
4989
  # The `ulimit` settings to pass to the container.
4082
4990
  #
4991
+ # <note markdown="1"> This object isn't applicable to jobs running on Fargate resources.
4992
+ #
4993
+ # </note>
4994
+ #
4083
4995
  # @note When making an API call, you may pass Ulimit
4084
4996
  # data as a hash:
4085
4997
  #
@@ -4143,6 +5055,8 @@ module Aws::Batch
4143
5055
  #
4144
5056
  class UntagResourceResponse < Aws::EmptyStructure; end
4145
5057
 
5058
+ # Contains the parameters for `UpdateComputeEnvironment`.
5059
+ #
4146
5060
  # @note When making an API call, you may pass UpdateComputeEnvironmentRequest
4147
5061
  # data as a hash:
4148
5062
  #
@@ -4153,6 +5067,8 @@ module Aws::Batch
4153
5067
  # minv_cpus: 1,
4154
5068
  # maxv_cpus: 1,
4155
5069
  # desiredv_cpus: 1,
5070
+ # subnets: ["String"],
5071
+ # security_group_ids: ["String"],
4156
5072
  # },
4157
5073
  # service_role: "String",
4158
5074
  # }
@@ -4166,29 +5082,52 @@ module Aws::Batch
4166
5082
  # The state of the compute environment. Compute environments in the
4167
5083
  # `ENABLED` state can accept jobs from a queue and scale in or out
4168
5084
  # automatically based on the workload demand of its associated queues.
5085
+ #
5086
+ # If the state is `ENABLED`, then the AWS Batch scheduler can attempt
5087
+ # to place jobs from an associated job queue on the compute resources
5088
+ # within the environment. If the compute environment is managed, then
5089
+ # it can scale its instances out or in automatically, based on the job
5090
+ # queue demand.
5091
+ #
5092
+ # If the state is `DISABLED`, then the AWS Batch scheduler doesn't
5093
+ # attempt to place jobs within the environment. Jobs in a `STARTING`
5094
+ # or `RUNNING` state continue to progress normally. Managed compute
5095
+ # environments in the `DISABLED` state don't scale out. However, they
5096
+ # scale in to `minvCpus` value after instances become idle.
4169
5097
  # @return [String]
4170
5098
  #
4171
5099
  # @!attribute [rw] compute_resources
4172
5100
  # Details of the compute resources managed by the compute environment.
4173
- # Required for a managed compute environment.
5101
+ # Required for a managed compute environment. For more information,
5102
+ # see [Compute Environments][1] in the *AWS Batch User Guide*.
5103
+ #
5104
+ #
5105
+ #
5106
+ # [1]: https://docs.aws.amazon.com/batch/latest/userguide/compute_environments.html
4174
5107
  # @return [Types::ComputeResourceUpdate]
4175
5108
  #
4176
5109
  # @!attribute [rw] service_role
4177
5110
  # The full Amazon Resource Name (ARN) of the IAM role that allows AWS
4178
- # Batch to make calls to other AWS services on your behalf.
5111
+ # Batch to make calls to other AWS services on your behalf. For more
5112
+ # information, see [AWS Batch service IAM role][1] in the *AWS Batch
5113
+ # User Guide*.
4179
5114
  #
4180
5115
  # If your specified role has a path other than `/`, then you must
4181
5116
  # either specify the full role ARN (this is recommended) or prefix the
4182
5117
  # role name with the path.
4183
5118
  #
4184
5119
  # <note markdown="1"> Depending on how you created your AWS Batch service role, its ARN
4185
- # may contain the `service-role` path prefix. When you only specify
4186
- # the name of the service role, AWS Batch assumes that your ARN does
4187
- # not use the `service-role` path prefix. Because of this, we
5120
+ # might contain the `service-role` path prefix. When you only specify
5121
+ # the name of the service role, AWS Batch assumes that your ARN
5122
+ # doesn't use the `service-role` path prefix. Because of this, we
4188
5123
  # recommend that you specify the full ARN of your service role when
4189
5124
  # you create compute environments.
4190
5125
  #
4191
5126
  # </note>
5127
+ #
5128
+ #
5129
+ #
5130
+ # [1]: https://docs.aws.amazon.com/batch/latest/userguide/service_IAM_role.html
4192
5131
  # @return [String]
4193
5132
  #
4194
5133
  # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/UpdateComputeEnvironmentRequest AWS API Documentation
@@ -4203,7 +5142,8 @@ module Aws::Batch
4203
5142
  end
4204
5143
 
4205
5144
  # @!attribute [rw] compute_environment_name
4206
- # The name of the compute environment.
5145
+ # The name of the compute environment. Up to 128 letters (uppercase
5146
+ # and lowercase), numbers, hyphens, and underscores are allowed.
4207
5147
  # @return [String]
4208
5148
  #
4209
5149
  # @!attribute [rw] compute_environment_arn
@@ -4219,6 +5159,8 @@ module Aws::Batch
4219
5159
  include Aws::Structure
4220
5160
  end
4221
5161
 
5162
+ # Contains the parameters for `UpdateJobQueue`.
5163
+ #
4222
5164
  # @note When making an API call, you may pass UpdateJobQueueRequest
4223
5165
  # data as a hash:
4224
5166
  #
@@ -4240,9 +5182,9 @@ module Aws::Batch
4240
5182
  #
4241
5183
  # @!attribute [rw] state
4242
5184
  # Describes the queue's ability to accept new jobs. If the job queue
4243
- # state is `ENABLED`, it is able to accept jobs. If the job queue
4244
- # state is `DISABLED`, new jobs cannot be added to the queue, but jobs
4245
- # already in the queue can finish.
5185
+ # state is `ENABLED`, it can accept jobs. If the job queue state is
5186
+ # `DISABLED`, new jobs can't be added to the queue, but jobs already
5187
+ # in the queue can finish.
4246
5188
  # @return [String]
4247
5189
  #
4248
5190
  # @!attribute [rw] priority
@@ -4251,14 +5193,27 @@ module Aws::Batch
4251
5193
  # first when associated with the same compute environment. Priority is
4252
5194
  # determined in descending order, for example, a job queue with a
4253
5195
  # priority value of `10` is given scheduling preference over a job
4254
- # queue with a priority value of `1`.
5196
+ # queue with a priority value of `1`. All of the compute environments
5197
+ # must be either EC2 (`EC2` or `SPOT`) or Fargate (`FARGATE` or
5198
+ # `FARGATE_SPOT`). EC2 and Fargate compute environments can't be
5199
+ # mixed.
4255
5200
  # @return [Integer]
4256
5201
  #
4257
5202
  # @!attribute [rw] compute_environment_order
4258
5203
  # Details the set of compute environments mapped to a job queue and
4259
5204
  # their order relative to each other. This is one of the parameters
4260
5205
  # used by the job scheduler to determine which compute environment
4261
- # should execute a given job.
5206
+ # should run a given job. Compute environments must be in the `VALID`
5207
+ # state before you can associate them with a job queue. All of the
5208
+ # compute environments must be either EC2 (`EC2` or `SPOT`) or Fargate
5209
+ # (`FARGATE` or `FARGATE_SPOT`). EC2 and Fargate compute environments
5210
+ # can't be mixed.
5211
+ #
5212
+ # <note markdown="1"> All compute environments that are associated with a job queue must
5213
+ # share the same architecture. AWS Batch doesn't support mixing
5214
+ # compute environment architecture types in a single job queue.
5215
+ #
5216
+ # </note>
4262
5217
  # @return [Array<Types::ComputeEnvironmentOrder>]
4263
5218
  #
4264
5219
  # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/UpdateJobQueueRequest AWS API Documentation
@@ -4305,9 +5260,14 @@ module Aws::Batch
4305
5260
  # The contents of the `host` parameter determine whether your data
4306
5261
  # volume persists on the host container instance and where it is
4307
5262
  # stored. If the host parameter is empty, then the Docker daemon
4308
- # assigns a host path for your data volume. However, the data is not
5263
+ # assigns a host path for your data volume. However, the data isn't
4309
5264
  # guaranteed to persist after the containers associated with it stop
4310
5265
  # running.
5266
+ #
5267
+ # <note markdown="1"> This parameter isn't applicable to jobs running on Fargate
5268
+ # resources and shouldn't be provided.
5269
+ #
5270
+ # </note>
4311
5271
  # @return [Types::Host]
4312
5272
  #
4313
5273
  # @!attribute [rw] name