aws-sdk-batch 1.41.0 → 1.42.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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"))
@@ -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
@@ -195,7 +195,7 @@ module Aws::Batch
195
195
 
196
196
  # These errors are usually caused by a client action, such as using an
197
197
  # 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
198
+ # to use the action or resource, or specifying an identifier that isn't
199
199
  # valid.
200
200
  #
201
201
  # @!attribute [rw] message
@@ -229,7 +229,13 @@ module Aws::Batch
229
229
  # @return [Hash<String,String>]
230
230
  #
231
231
  # @!attribute [rw] type
232
- # The type of the compute environment.
232
+ # The type of compute environment: `EC2`, `SPOT`, `FARGATE`, or
233
+ # `FARGATE_SPOT`. For more information, see [Compute Environments][1]
234
+ # in the *AWS Batch User Guide*.
235
+ #
236
+ #
237
+ #
238
+ # [1]: https://docs.aws.amazon.com/batch/latest/userguide/compute_environments.html
233
239
  # @return [String]
234
240
  #
235
241
  # @!attribute [rw] state
@@ -242,7 +248,7 @@ module Aws::Batch
242
248
  # it can scale its instances out or in automatically, based on the job
243
249
  # queue demand.
244
250
  #
245
- # If the state is `DISABLED`, then the AWS Batch scheduler does not
251
+ # If the state is `DISABLED`, then the AWS Batch scheduler doesn't
246
252
  # attempt to place jobs within the environment. Jobs in a `STARTING`
247
253
  # or `RUNNING` state continue to progress normally. Managed compute
248
254
  # environments in the `DISABLED` state do not scale out. However, they
@@ -300,7 +306,10 @@ module Aws::Batch
300
306
  # }
301
307
  #
302
308
  # @!attribute [rw] order
303
- # The order of the compute environment.
309
+ # The order of the compute environment. Compute environments are tried
310
+ # in ascending order. For example, if two compute environments are
311
+ # associated with a job queue, the compute environment with a lower
312
+ # `order` integer value is tried for job placement first.
304
313
  # @return [Integer]
305
314
  #
306
315
  # @!attribute [rw] compute_environment
@@ -322,17 +331,17 @@ module Aws::Batch
322
331
  # data as a hash:
323
332
  #
324
333
  # {
325
- # type: "EC2", # required, accepts EC2, SPOT
334
+ # type: "EC2", # required, accepts EC2, SPOT, FARGATE, FARGATE_SPOT
326
335
  # allocation_strategy: "BEST_FIT", # accepts BEST_FIT, BEST_FIT_PROGRESSIVE, SPOT_CAPACITY_OPTIMIZED
327
- # minv_cpus: 1, # required
336
+ # minv_cpus: 1,
328
337
  # maxv_cpus: 1, # required
329
338
  # desiredv_cpus: 1,
330
- # instance_types: ["String"], # required
339
+ # instance_types: ["String"],
331
340
  # image_id: "String",
332
341
  # subnets: ["String"], # required
333
342
  # security_group_ids: ["String"],
334
343
  # ec2_key_pair: "String",
335
- # instance_role: "String", # required
344
+ # instance_role: "String",
336
345
  # tags: {
337
346
  # "String" => "String",
338
347
  # },
@@ -353,27 +362,60 @@ module Aws::Batch
353
362
  # }
354
363
  #
355
364
  # @!attribute [rw] type
356
- # The type of compute environment: `EC2` or `SPOT`.
365
+ # The type of compute environment: `EC2`, `SPOT`, `FARGATE`, or
366
+ # `FARGATE_SPOT`. For more information, see [Compute Environments][1]
367
+ # in the *AWS Batch User Guide*.
368
+ #
369
+ #
370
+ #
371
+ # [1]: https://docs.aws.amazon.com/batch/latest/userguide/compute_environments.html
357
372
  # @return [String]
358
373
  #
359
374
  # @!attribute [rw] allocation_strategy
360
- # The allocation strategy to use for the compute resource in case not
375
+ # The allocation strategy to use for the compute resource if not
361
376
  # 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*.
377
+ # This might be because of availability of the instance type in the
378
+ # Region or [Amazon EC2 service limits][1]. For more information, see
379
+ # [Allocation Strategies][2] in the *AWS Batch User Guide*.
380
+ #
381
+ # <note markdown="1"> This parameter isn't applicable to jobs running on Fargate
382
+ # resources, and shouldn't be specified.
383
+ #
384
+ # </note>
385
+ #
386
+ # BEST\_FIT (default)
387
+ #
388
+ # : AWS Batch selects an instance type that best fits the needs of the
389
+ # jobs with a preference for the lowest-cost instance type. If
390
+ # additional instances of the selected instance type aren't
391
+ # available, AWS Batch will wait for the additional instances to be
392
+ # available. If there are not enough instances available, or if the
393
+ # user is hitting [Amazon EC2 service limits][1] then additional
394
+ # jobs aren't run until currently running jobs have completed. This
395
+ # allocation strategy keeps costs lower but can limit scaling. If
396
+ # you are using Spot Fleets with `BEST_FIT` then the Spot Fleet IAM
397
+ # Role must be specified.
398
+ #
399
+ # BEST\_FIT\_PROGRESSIVE
400
+ #
401
+ # : AWS Batch will select additional instance types that are large
402
+ # enough to meet the requirements of the jobs in the queue, with a
403
+ # preference for instance types with a lower cost per unit vCPU. If
404
+ # additional instances of the previously selected instance types
405
+ # aren't available, AWS Batch will select new instance types.
406
+ #
407
+ # SPOT\_CAPACITY\_OPTIMIZED
408
+ #
409
+ # : AWS Batch will select one or more instance types that are large
410
+ # enough to meet the requirements of the jobs in the queue, with a
411
+ # preference for instance types that are less likely to be
412
+ # interrupted. This allocation strategy is only available for Spot
413
+ # Instance compute resources.
414
+ #
415
+ # With both `BEST_FIT_PROGRESSIVE` and `SPOT_CAPACITY_OPTIMIZED`
416
+ # strategies, AWS Batch might need to go above `maxvCpus` to meet your
417
+ # capacity requirements. In this event, AWS Batch never exceeds
418
+ # `maxvCpus` by more than a single instance.
377
419
  #
378
420
  #
379
421
  #
@@ -384,36 +426,91 @@ module Aws::Batch
384
426
  # @!attribute [rw] minv_cpus
385
427
  # The minimum number of Amazon EC2 vCPUs that an environment should
386
428
  # maintain (even if the compute environment is `DISABLED`).
429
+ #
430
+ # <note markdown="1"> This parameter isn't applicable to jobs running on Fargate
431
+ # resources, and shouldn't be specified.
432
+ #
433
+ # </note>
387
434
  # @return [Integer]
388
435
  #
389
436
  # @!attribute [rw] maxv_cpus
390
437
  # The maximum number of Amazon EC2 vCPUs that an environment can
391
438
  # reach.
439
+ #
440
+ # <note markdown="1"> With both `BEST_FIT_PROGRESSIVE` and `SPOT_CAPACITY_OPTIMIZED`
441
+ # allocation strategies, AWS Batch may need to go above `maxvCpus` to
442
+ # meet your capacity requirements. In this event, AWS Batch will never
443
+ # go above `maxvCpus` by more than a single instance (e.g., no more
444
+ # than a single instance from among those specified in your compute
445
+ # environment).
446
+ #
447
+ # </note>
392
448
  # @return [Integer]
393
449
  #
394
450
  # @!attribute [rw] desiredv_cpus
395
451
  # The desired number of Amazon EC2 vCPUS in the compute environment.
452
+ # AWS Batch modifies this value between the minimum and maximum
453
+ # values, based on job queue demand.
454
+ #
455
+ # <note markdown="1"> This parameter isn't applicable to jobs running on Fargate
456
+ # resources, and shouldn't be specified.
457
+ #
458
+ # </note>
396
459
  # @return [Integer]
397
460
  #
398
461
  # @!attribute [rw] instance_types
399
462
  # The instances types that may be launched. You can specify instance
400
463
  # families to launch any instance type within those families (for
401
464
  # 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
404
- # that match the demand of your job queues.
465
+ # family (such as `c5.8xlarge`). You can also choose `optimal` to
466
+ # select instance types (from the C, M, and R instance families) on
467
+ # the fly that match the demand of your job queues.
468
+ #
469
+ # <note markdown="1"> This parameter isn't applicable to jobs running on Fargate
470
+ # resources, and shouldn't be specified.
471
+ #
472
+ # </note>
473
+ #
474
+ # <note markdown="1"> When you create a compute environment, the instance types that you
475
+ # select for the compute environment must share the same architecture.
476
+ # For example, you can't mix x86 and ARM instances in the same
477
+ # compute environment.
478
+ #
479
+ # </note>
405
480
  # @return [Array<String>]
406
481
  #
407
482
  # @!attribute [rw] image_id
408
483
  # The Amazon Machine Image (AMI) ID used for instances launched in the
409
484
  # compute environment. This parameter is overridden by the
410
485
  # `imageIdOverride` member of the `Ec2Configuration` structure.
486
+ #
487
+ # <note markdown="1"> This parameter isn't applicable to jobs running on Fargate
488
+ # resources, and shouldn't be specified.
489
+ #
490
+ # </note>
491
+ #
492
+ # <note markdown="1"> The AMI that you choose for a compute environment must match the
493
+ # architecture of the instance types that you intend to use for that
494
+ # compute environment. For example, if your compute environment uses
495
+ # A1 instance types, the compute resource AMI that you choose must
496
+ # support ARM instances. Amazon ECS vends both x86 and ARM versions of
497
+ # the Amazon ECS-optimized Amazon Linux 2 AMI. For more information,
498
+ # see [Amazon ECS-optimized Amazon Linux 2 AMI][1] in the *Amazon
499
+ # Elastic Container Service Developer Guide*.
500
+ #
501
+ # </note>
502
+ #
503
+ #
504
+ #
505
+ # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html#ecs-optimized-ami-linux-variants.html
411
506
  # @return [String]
412
507
  #
413
508
  # @!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*.
509
+ # The VPC subnets into which the compute resources are launched. These
510
+ # subnets must be within the same VPC. This parameter is required for
511
+ # jobs running on Fargate resources, where it can contain up to 16
512
+ # subnets. For more information, see [VPCs and Subnets][1] in the
513
+ # *Amazon VPC User Guide*.
417
514
  #
418
515
  #
419
516
  #
@@ -424,14 +521,22 @@ module Aws::Batch
424
521
  # The Amazon EC2 security groups associated with instances launched in
425
522
  # the compute environment. One or more security groups must be
426
523
  # 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.
524
+ # referenced in `launchTemplate`. This parameter is required for jobs
525
+ # running on Fargate resources and must contain at least one security
526
+ # group. (Fargate does not support launch templates.) If security
527
+ # groups are specified using both `securityGroupIds` and
528
+ # `launchTemplate`, the values in `securityGroupIds` will be used.
430
529
  # @return [Array<String>]
431
530
  #
432
531
  # @!attribute [rw] ec2_key_pair
433
532
  # The Amazon EC2 key pair that is used for instances launched in the
434
- # compute environment.
533
+ # compute environment. You can use this key pair to log in to your
534
+ # instances with SSH.
535
+ #
536
+ # <note markdown="1"> This parameter isn't applicable to jobs running on Fargate
537
+ # resources, and shouldn't be specified.
538
+ #
539
+ # </note>
435
540
  # @return [String]
436
541
  #
437
542
  # @!attribute [rw] instance_role
@@ -443,21 +548,27 @@ module Aws::Batch
443
548
  # For more information, see [Amazon ECS Instance Role][1] in the *AWS
444
549
  # Batch User Guide*.
445
550
  #
551
+ # <note markdown="1"> This parameter isn't applicable to jobs running on Fargate
552
+ # resources, and shouldn't be specified.
553
+ #
554
+ # </note>
555
+ #
446
556
  #
447
557
  #
448
558
  # [1]: https://docs.aws.amazon.com/batch/latest/userguide/instance_IAM_role.html
449
559
  # @return [String]
450
560
  #
451
561
  # @!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
562
+ # Key-value pair tags to be applied to EC2 resources that are launched
563
+ # in the compute environment. For AWS Batch, these take the form of
454
564
  # "String1": "String2", where String1 is the tag key and String2
455
565
  # is the tag value—for 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.
566
+ # C4OnDemand" \\}. This is helpful for recognizing your AWS Batch
567
+ # instances in the Amazon EC2 console. These tags can not be updated
568
+ # or removed after the compute environment has been created; any
569
+ # changes require creating a new compute environment and removing the
570
+ # old compute environment. These tags are not seen when using the AWS
571
+ # Batch `ListTagsForResource` API operation.
461
572
  # @return [Hash<String,String>]
462
573
  #
463
574
  # @!attribute [rw] placement_group
@@ -470,6 +581,11 @@ module Aws::Batch
470
581
  # potential. For more information, see [Placement Groups][1] in the
471
582
  # *Amazon EC2 User Guide for Linux Instances*.
472
583
  #
584
+ # <note markdown="1"> This parameter isn't applicable to jobs running on Fargate
585
+ # resources, and shouldn't be specified.
586
+ #
587
+ # </note>
588
+ #
473
589
  #
474
590
  #
475
591
  # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/placement-groups.html
@@ -484,18 +600,36 @@ module Aws::Batch
484
600
  # (market) price and never more than your maximum percentage. If you
485
601
  # leave this field empty, the default value is 100% of the On-Demand
486
602
  # price.
603
+ #
604
+ # <note markdown="1"> This parameter isn't applicable to jobs running on Fargate
605
+ # resources, and shouldn't be specified.
606
+ #
607
+ # </note>
487
608
  # @return [Integer]
488
609
  #
489
610
  # @!attribute [rw] spot_iam_fleet_role
490
611
  # The Amazon Resource Name (ARN) of the Amazon EC2 Spot Fleet IAM role
491
612
  # applied to a `SPOT` compute environment. This role is required if
492
613
  # the allocation strategy set to `BEST_FIT` or if the allocation
493
- # strategy is not specified. For more information, see [Amazon EC2
614
+ # strategy isn't specified. For more information, see [Amazon EC2
494
615
  # Spot Fleet Role][1] in the *AWS Batch User Guide*.
495
616
  #
617
+ # <note markdown="1"> This parameter isn't applicable to jobs running on Fargate
618
+ # resources, and shouldn't be specified.
619
+ #
620
+ # </note>
621
+ #
622
+ # To tag your Spot Instances on creation, the Spot Fleet IAM role
623
+ # specified here must use the newer **AmazonEC2SpotFleetTaggingRole**
624
+ # managed policy. The previously recommended
625
+ # **AmazonEC2SpotFleetRole** managed policy doesn't have the required
626
+ # permissions to tag Spot Instances. For more information, see [Spot
627
+ # Instances not tagged on creation][2] in the *AWS Batch User Guide*.
628
+ #
496
629
  #
497
630
  #
498
631
  # [1]: https://docs.aws.amazon.com/batch/latest/userguide/spot_fleet_IAM_role.html
632
+ # [2]: https://docs.aws.amazon.com/batch/latest/userguide/troubleshooting.html#spot-instance-no-tag
499
633
  # @return [String]
500
634
  #
501
635
  # @!attribute [rw] launch_template
@@ -507,14 +641,25 @@ module Aws::Batch
507
641
  # information, see [Launch Template Support][1] in the *AWS Batch User
508
642
  # Guide*.
509
643
  #
644
+ # <note markdown="1"> This parameter isn't applicable to jobs running on Fargate
645
+ # resources, and shouldn't be specified.
646
+ #
647
+ # </note>
648
+ #
510
649
  #
511
650
  #
512
651
  # [1]: https://docs.aws.amazon.com/batch/latest/userguide/launch-templates.html
513
652
  # @return [Types::LaunchTemplateSpecification]
514
653
  #
515
654
  # @!attribute [rw] ec2_configuration
516
- # Provides additional details used to selecting the AMI to use for
517
- # instances in a compute environment.
655
+ # Provides information used to select Amazon Machine Images (AMIs) for
656
+ # instances in the compute environment. If `Ec2Configuration` isn't
657
+ # specified, the default is `ECS_AL1`.
658
+ #
659
+ # <note markdown="1"> This parameter isn't applicable to jobs running on Fargate
660
+ # resources, and shouldn't be specified.
661
+ #
662
+ # </note>
518
663
  # @return [Array<Types::Ec2Configuration>]
519
664
  #
520
665
  # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/ComputeResource AWS API Documentation
@@ -551,11 +696,18 @@ module Aws::Batch
551
696
  # minv_cpus: 1,
552
697
  # maxv_cpus: 1,
553
698
  # desiredv_cpus: 1,
699
+ # subnets: ["String"],
700
+ # security_group_ids: ["String"],
554
701
  # }
555
702
  #
556
703
  # @!attribute [rw] minv_cpus
557
704
  # The minimum number of Amazon EC2 vCPUs that an environment should
558
705
  # maintain.
706
+ #
707
+ # <note markdown="1"> This parameter isnt applicable to jobs running on Fargate resources,
708
+ # and shouldn't be specified.
709
+ #
710
+ # </note>
559
711
  # @return [Integer]
560
712
  #
561
713
  # @!attribute [rw] maxv_cpus
@@ -565,14 +717,44 @@ module Aws::Batch
565
717
  #
566
718
  # @!attribute [rw] desiredv_cpus
567
719
  # The desired number of Amazon EC2 vCPUS in the compute environment.
720
+ #
721
+ # <note markdown="1"> This parameter isn't applicable to jobs running on Fargate
722
+ # resources, and shouldn't be specified.
723
+ #
724
+ # </note>
568
725
  # @return [Integer]
569
726
  #
727
+ # @!attribute [rw] subnets
728
+ # The VPC subnets that the compute resources are launched into. This
729
+ # parameter is required for jobs running on Fargate compute resources,
730
+ # where it can contain up to 16 subnets. For more information, see
731
+ # [VPCs and Subnets][1] in the *Amazon VPC User Guide*. This can't be
732
+ # specified for EC2 compute resources. Providing an empty list will be
733
+ # handled as if this parameter wasn't specified and no change is
734
+ # made.
735
+ #
736
+ #
737
+ #
738
+ # [1]: https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Subnets.html
739
+ # @return [Array<String>]
740
+ #
741
+ # @!attribute [rw] security_group_ids
742
+ # The Amazon EC2 security groups associated with instances launched in
743
+ # the compute environment. This parameter is required for Fargate
744
+ # compute resources, where it can contain up to 5 security groups.
745
+ # This can't be specified for EC2 compute resources. Providing an
746
+ # empty list is handled as if this parameter wasn't specified and no
747
+ # changeis made.
748
+ # @return [Array<String>]
749
+ #
570
750
  # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/ComputeResourceUpdate AWS API Documentation
571
751
  #
572
752
  class ComputeResourceUpdate < Struct.new(
573
753
  :minv_cpus,
574
754
  :maxv_cpus,
575
- :desiredv_cpus)
755
+ :desiredv_cpus,
756
+ :subnets,
757
+ :security_group_ids)
576
758
  SENSITIVE = []
577
759
  include Aws::Structure
578
760
  end
@@ -585,13 +767,34 @@ module Aws::Batch
585
767
  # @return [String]
586
768
  #
587
769
  # @!attribute [rw] vcpus
588
- # The number of VCPUs allocated for the job. This is a required
589
- # parameter.
770
+ # The number of vCPUs reserved for the container. Jobs running on EC2
771
+ # resources can specify the vCPU requirement for the job using
772
+ # `resourceRequirements` but the vCPU requirements can't be specified
773
+ # both here and in the `resourceRequirement` object. This parameter
774
+ # maps to `CpuShares` in the [Create a container][1] section of the
775
+ # [Docker Remote API][2] and the `--cpu-shares` option to [docker
776
+ # run][3]. Each vCPU is equivalent to 1,024 CPU shares. You must
777
+ # specify at least one vCPU. This is required but can be specified in
778
+ # several places. It must be specified for each node at least once.
779
+ #
780
+ # <note markdown="1"> This parameter isn't applicable to jobs running on Fargate
781
+ # resources. Jobs running on Fargate resources must specify the vCPU
782
+ # requirement for the job using `resourceRequirements`.
783
+ #
784
+ # </note>
785
+ #
786
+ #
787
+ #
788
+ # [1]: https://docs.docker.com/engine/api/v1.23/#create-a-container
789
+ # [2]: https://docs.docker.com/engine/api/v1.23/
790
+ # [3]: https://docs.docker.com/engine/reference/run/
590
791
  # @return [Integer]
591
792
  #
592
793
  # @!attribute [rw] memory
593
- # The number of MiB of memory reserved for the job. This is a required
594
- # parameter.
794
+ # For jobs run on EC2 resources that didn't specify memory
795
+ # requirements using `ResourceRequirement`, the number of MiB of
796
+ # memory reserved for the job. For other jobs, including all run on
797
+ # Fargate resources, see `resourceRequirements`.
595
798
  # @return [Integer]
596
799
  #
597
800
  # @!attribute [rw] command
@@ -606,7 +809,7 @@ module Aws::Batch
606
809
  # @!attribute [rw] execution_role_arn
607
810
  # The Amazon Resource Name (ARN) of the execution role that AWS Batch
608
811
  # can assume. For more information, see [AWS Batch execution IAM
609
- # role][1].
812
+ # role][1] in the *AWS Batch User Guide*.
610
813
  #
611
814
  #
612
815
  #
@@ -633,21 +836,55 @@ module Aws::Batch
633
836
  #
634
837
  # @!attribute [rw] readonly_root_filesystem
635
838
  # When this parameter is true, the container is given read-only access
636
- # to its root file system.
839
+ # to its root file system. This parameter maps to `ReadonlyRootfs` in
840
+ # the [Create a container][1] section of the [Docker Remote API][2]
841
+ # and the `--read-only` option to [ `docker run` ][3].
842
+ #
843
+ #
844
+ #
845
+ # [1]: https://docs.docker.com/engine/api/v1.23/#create-a-container
846
+ # [2]: https://docs.docker.com/engine/api/v1.23/
847
+ # [3]: https://docs.docker.com/engine/reference/commandline/run/
637
848
  # @return [Boolean]
638
849
  #
639
850
  # @!attribute [rw] ulimits
640
- # A list of `ulimit` values to set in the container.
851
+ # A list of `ulimit` values to set in the container. This parameter
852
+ # maps to `Ulimits` in the [Create a container][1] section of the
853
+ # [Docker Remote API][2] and the `--ulimit` option to [docker run][3].
854
+ #
855
+ # <note markdown="1"> This parameter isn't applicable to jobs running on Fargate
856
+ # resources.
857
+ #
858
+ # </note>
859
+ #
860
+ #
861
+ #
862
+ # [1]: https://docs.docker.com/engine/api/v1.23/#create-a-container
863
+ # [2]: https://docs.docker.com/engine/api/v1.23/
864
+ # [3]: https://docs.docker.com/engine/reference/run/
641
865
  # @return [Array<Types::Ulimit>]
642
866
  #
643
867
  # @!attribute [rw] privileged
644
868
  # When this parameter is true, the container is given elevated
645
- # privileges on the host container instance (similar to the `root`
646
- # user).
869
+ # permissions on the host container instance (similar to the `root`
870
+ # user). The default value is false.
871
+ #
872
+ # <note markdown="1"> This parameter isn't applicable to jobs running on Fargate
873
+ # resources and shouldn't be provided, or specified as false.
874
+ #
875
+ # </note>
647
876
  # @return [Boolean]
648
877
  #
649
878
  # @!attribute [rw] user
650
- # The user name to use inside the container.
879
+ # The user name to use inside the container. This parameter maps to
880
+ # `User` in the [Create a container][1] section of the [Docker Remote
881
+ # API][2] and the `--user` option to [docker run][3].
882
+ #
883
+ #
884
+ #
885
+ # [1]: https://docs.docker.com/engine/api/v1.23/#create-a-container
886
+ # [2]: https://docs.docker.com/engine/api/v1.23/
887
+ # [3]: https://docs.docker.com/engine/reference/run/
651
888
  # @return [String]
652
889
  #
653
890
  # @!attribute [rw] exit_code
@@ -660,8 +897,8 @@ module Aws::Batch
660
897
  # @return [String]
661
898
  #
662
899
  # @!attribute [rw] container_instance_arn
663
- # The Amazon Resource Name (ARN) of the container instance on which
664
- # the container is running.
900
+ # The Amazon Resource Name (ARN) of the container instance that the
901
+ # container is running on.
665
902
  # @return [String]
666
903
  #
667
904
  # @!attribute [rw] task_arn
@@ -680,6 +917,11 @@ module Aws::Batch
680
917
  # @!attribute [rw] instance_type
681
918
  # The instance type of the underlying host infrastructure of a
682
919
  # multi-node parallel job.
920
+ #
921
+ # <note markdown="1"> This parameter isn't applicable to jobs running on Fargate
922
+ # resources.
923
+ #
924
+ # </note>
683
925
  # @return [String]
684
926
  #
685
927
  # @!attribute [rw] network_interfaces
@@ -687,8 +929,8 @@ module Aws::Batch
687
929
  # @return [Array<Types::NetworkInterface>]
688
930
  #
689
931
  # @!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`.
932
+ # The type and amount of resources to assign to a container. The
933
+ # supported resources include `GPU`, `MEMORY`, and `VCPU`.
692
934
  # @return [Array<Types::ResourceRequirement>]
693
935
  #
694
936
  # @!attribute [rw] linux_parameters
@@ -702,14 +944,15 @@ module Aws::Batch
702
944
  # This parameter maps to `LogConfig` in the [Create a container][1]
703
945
  # section of the [Docker Remote API][2] and the `--log-driver` option
704
946
  # 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
947
+ # driver that the Docker daemon uses. However the container might use
948
+ # a different logging driver than the Docker daemon by specifying a
949
+ # log driver with this parameter in the container definition. To use a
708
950
  # 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.
951
+ # configured properly on the container instance. Or, alternatively, it
952
+ # must be configured on a different log server for remote logging
953
+ # options. For more information on the options for different supported
954
+ # log drivers, see [Configure logging drivers][4] in the Docker
955
+ # documentation.
713
956
  #
714
957
  # <note markdown="1"> AWS Batch currently supports a subset of the logging drivers
715
958
  # available to the Docker daemon (shown in the LogConfiguration data
@@ -745,14 +988,23 @@ module Aws::Batch
745
988
  #
746
989
  # @!attribute [rw] secrets
747
990
  # 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*.
991
+ # [Specifying sensitive data][1] in the *AWS Batch User Guide*.
750
992
  #
751
993
  #
752
994
  #
753
- # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/specifying-sensitive-data.html
995
+ # [1]: https://docs.aws.amazon.com/batch/latest/userguide/specifying-sensitive-data.html
754
996
  # @return [Array<Types::Secret>]
755
997
  #
998
+ # @!attribute [rw] network_configuration
999
+ # The network configuration for jobs running on Fargate resources.
1000
+ # Jobs running on EC2 resources must not specify this parameter.
1001
+ # @return [Types::NetworkConfiguration]
1002
+ #
1003
+ # @!attribute [rw] fargate_platform_configuration
1004
+ # The platform configuration for jobs running on Fargate resources.
1005
+ # Jobs running on EC2 resources must not specify this parameter.
1006
+ # @return [Types::FargatePlatformConfiguration]
1007
+ #
756
1008
  # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/ContainerDetail AWS API Documentation
757
1009
  #
758
1010
  class ContainerDetail < Struct.new(
@@ -779,7 +1031,9 @@ module Aws::Batch
779
1031
  :resource_requirements,
780
1032
  :linux_parameters,
781
1033
  :log_configuration,
782
- :secrets)
1034
+ :secrets,
1035
+ :network_configuration,
1036
+ :fargate_platform_configuration)
783
1037
  SENSITIVE = []
784
1038
  include Aws::Structure
785
1039
  end
@@ -803,19 +1057,43 @@ module Aws::Batch
803
1057
  # resource_requirements: [
804
1058
  # {
805
1059
  # value: "String", # required
806
- # type: "GPU", # required, accepts GPU
1060
+ # type: "GPU", # required, accepts GPU, VCPU, MEMORY
807
1061
  # },
808
1062
  # ],
809
1063
  # }
810
1064
  #
811
1065
  # @!attribute [rw] vcpus
812
- # The number of vCPUs to reserve for the container. This value
813
- # overrides the value set in the job definition.
1066
+ # This parameter is deprecated and not supported for jobs run on
1067
+ # Fargate resources, see `resourceRequirement`. For jobs run on EC2
1068
+ # resources, the number of vCPUs to reserve for the container. This
1069
+ # value overrides the value set in the job definition. Jobs run on EC2
1070
+ # resources can specify the vCPU requirement using
1071
+ # `resourceRequirement` but the vCPU requirements can't be specified
1072
+ # both here and in `resourceRequirement`. This parameter maps to
1073
+ # `CpuShares` in the [Create a container][1] section of the [Docker
1074
+ # Remote API][2] and the `--cpu-shares` option to [docker run][3].
1075
+ # Each vCPU is equivalent to 1,024 CPU shares. You must specify at
1076
+ # least one vCPU.
1077
+ #
1078
+ # <note markdown="1"> This parameter isn't applicable to jobs running on Fargate
1079
+ # resources and shouldn't be provided. Jobs running on Fargate
1080
+ # resources must specify the vCPU requirement for the job using
1081
+ # `resourceRequirements`.
1082
+ #
1083
+ # </note>
1084
+ #
1085
+ #
1086
+ #
1087
+ # [1]: https://docs.docker.com/engine/api/v1.23/#create-a-container
1088
+ # [2]: https://docs.docker.com/engine/api/v1.23/
1089
+ # [3]: https://docs.docker.com/engine/reference/run/
814
1090
  # @return [Integer]
815
1091
  #
816
1092
  # @!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.
1093
+ # This parameter is deprecated and not supported for jobs run on
1094
+ # Fargate resources, use `ResourceRequirement`. For jobs run on EC2
1095
+ # resource, the number of MiB of memory reserved for the job. This
1096
+ # value overrides the value set in the job definition.
819
1097
  # @return [Integer]
820
1098
  #
821
1099
  # @!attribute [rw] command
@@ -824,8 +1102,12 @@ module Aws::Batch
824
1102
  # @return [Array<String>]
825
1103
  #
826
1104
  # @!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.
1105
+ # The instance type to use for a multi-node parallel job.
1106
+ #
1107
+ # <note markdown="1"> This parameter isn't applicable to single-node container jobs or
1108
+ # for jobs running on Fargate resources and shouldn't be provided.
1109
+ #
1110
+ # </note>
829
1111
  # @return [String]
830
1112
  #
831
1113
  # @!attribute [rw] environment
@@ -842,9 +1124,9 @@ module Aws::Batch
842
1124
  # @return [Array<Types::KeyValuePair>]
843
1125
  #
844
1126
  # @!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`.
1127
+ # The type and amount of resources to assign to a container. This
1128
+ # overrides the settings in the job definition. The supported
1129
+ # resources include `GPU`, `MEMORY`, and `VCPU`.
848
1130
  # @return [Array<Types::ResourceRequirement>]
849
1131
  #
850
1132
  # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/ContainerOverrides AWS API Documentation
@@ -908,7 +1190,7 @@ module Aws::Batch
908
1190
  # resource_requirements: [
909
1191
  # {
910
1192
  # value: "String", # required
911
- # type: "GPU", # required, accepts GPU
1193
+ # type: "GPU", # required, accepts GPU, VCPU, MEMORY
912
1194
  # },
913
1195
  # ],
914
1196
  # linux_parameters: {
@@ -949,6 +1231,12 @@ module Aws::Batch
949
1231
  # value_from: "String", # required
950
1232
  # },
951
1233
  # ],
1234
+ # network_configuration: {
1235
+ # assign_public_ip: "ENABLED", # accepts ENABLED, DISABLED
1236
+ # },
1237
+ # fargate_platform_configuration: {
1238
+ # platform_version: "String",
1239
+ # },
952
1240
  # }
953
1241
  #
954
1242
  # @!attribute [rw] image
@@ -961,6 +1249,12 @@ module Aws::Batch
961
1249
  # `Image` in the [Create a container][1] section of the [Docker Remote
962
1250
  # API][2] and the `IMAGE` parameter of [docker run][3].
963
1251
  #
1252
+ # <note markdown="1"> Docker image architecture must match the processor architecture of
1253
+ # the compute resources that they're scheduled on. For example,
1254
+ # ARM-based Docker images can only run on ARM-based compute resources.
1255
+ #
1256
+ # </note>
1257
+ #
964
1258
  # * Images in Amazon ECR repositories use the full registry and
965
1259
  # repository URI (for example,
966
1260
  # `012345678910.dkr.ecr.<region-name>.amazonaws.com/<repository-name>`).
@@ -982,13 +1276,24 @@ module Aws::Batch
982
1276
  # @return [String]
983
1277
  #
984
1278
  # @!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.
1279
+ # This parameter is deprecated and not supported for jobs run on
1280
+ # Fargate resources, see `resourceRequirement`. The number of vCPUs
1281
+ # reserved for the container. Jobs running on EC2 resources can
1282
+ # specify the vCPU requirement for the job using
1283
+ # `resourceRequirements` but the vCPU requirements can't be specified
1284
+ # both here and in the `resourceRequirement` structure. This parameter
1285
+ # maps to `CpuShares` in the [Create a container][1] section of the
1286
+ # [Docker Remote API][2] and the `--cpu-shares` option to [docker
1287
+ # run][3]. Each vCPU is equivalent to 1,024 CPU shares. You must
1288
+ # specify at least one vCPU. This is required but can be specified in
1289
+ # several places. It must be specified for each node at least once.
1290
+ #
1291
+ # <note markdown="1"> This parameter isn't applicable to jobs running on Fargate
1292
+ # resources and shouldn't be provided. Jobs running on Fargate
1293
+ # resources must specify the vCPU requirement for the job using
1294
+ # `resourceRequirements`.
1295
+ #
1296
+ # </note>
992
1297
  #
993
1298
  #
994
1299
  #
@@ -998,16 +1303,19 @@ module Aws::Batch
998
1303
  # @return [Integer]
999
1304
  #
1000
1305
  # @!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
1306
+ # This parameter is deprecated and not supported for jobs run on
1307
+ # Fargate resources, use `ResourceRequirement`. For jobs run on EC2
1308
+ # resources can specify the memory requirement using the
1309
+ # `ResourceRequirement` structure. The hard limit (in MiB) of memory
1310
+ # to present to the container. If your container attempts to exceed
1311
+ # the memory specified here, the container is killed. This parameter
1312
+ # maps to `Memory` in the [Create a container][1] section of the
1313
+ # [Docker Remote API][2] and the `--memory` option to [docker run][3].
1314
+ # You must specify at least 4 MiB of memory for a job. This is
1315
+ # required but can be specified in several places; it must be
1008
1316
  # specified for each node at least once.
1009
1317
  #
1010
- # <note markdown="1"> If you are trying to maximize your resource utilization by providing
1318
+ # <note markdown="1"> If you're trying to maximize your resource utilization by providing
1011
1319
  # your jobs as much memory as possible for a particular instance type,
1012
1320
  # see [Memory Management][4] in the *AWS Batch User Guide*.
1013
1321
  #
@@ -1038,13 +1346,20 @@ module Aws::Batch
1038
1346
  #
1039
1347
  # @!attribute [rw] job_role_arn
1040
1348
  # The Amazon Resource Name (ARN) of the IAM role that the container
1041
- # can assume for AWS permissions.
1349
+ # can assume for AWS permissions. For more information, see [IAM Roles
1350
+ # for Tasks][1] in the *Amazon Elastic Container Service Developer
1351
+ # Guide*.
1352
+ #
1353
+ #
1354
+ #
1355
+ # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-iam-roles.html
1042
1356
  # @return [String]
1043
1357
  #
1044
1358
  # @!attribute [rw] execution_role_arn
1045
1359
  # 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].
1360
+ # can assume. Jobs running on Fargate resources must provide an
1361
+ # execution role. For more information, see [AWS Batch execution IAM
1362
+ # role][1] in the *AWS Batch User Guide*.
1048
1363
  #
1049
1364
  #
1050
1365
  #
@@ -1060,7 +1375,7 @@ module Aws::Batch
1060
1375
  # maps to `Env` in the [Create a container][1] section of the [Docker
1061
1376
  # Remote API][2] and the `--env` option to [docker run][3].
1062
1377
  #
1063
- # We do not recommend using plaintext environment variables for
1378
+ # We don't recommend using plaintext environment variables for
1064
1379
  # sensitive information, such as credential data.
1065
1380
  #
1066
1381
  # <note markdown="1"> Environment variables must not start with `AWS_BATCH`; this naming
@@ -1102,10 +1417,16 @@ module Aws::Batch
1102
1417
  #
1103
1418
  # @!attribute [rw] privileged
1104
1419
  # When this parameter is true, the container is given elevated
1105
- # privileges on the host container instance (similar to the `root`
1420
+ # permissions on the host container instance (similar to the `root`
1106
1421
  # user). This parameter maps to `Privileged` in the [Create a
1107
1422
  # container][1] section of the [Docker Remote API][2] and the
1108
- # `--privileged` option to [docker run][3].
1423
+ # `--privileged` option to [docker run][3]. The default value is
1424
+ # false.
1425
+ #
1426
+ # <note markdown="1"> This parameter isn't applicable to jobs running on Fargate
1427
+ # resources and shouldn't be provided, or specified as false.
1428
+ #
1429
+ # </note>
1109
1430
  #
1110
1431
  #
1111
1432
  #
@@ -1119,6 +1440,11 @@ module Aws::Batch
1119
1440
  # `Ulimits` in the [Create a container][1] section of the [Docker
1120
1441
  # Remote API][2] and the `--ulimit` option to [docker run][3].
1121
1442
  #
1443
+ # <note markdown="1"> This parameter isn't applicable to jobs running on Fargate
1444
+ # resources and shouldn't be provided.
1445
+ #
1446
+ # </note>
1447
+ #
1122
1448
  #
1123
1449
  #
1124
1450
  # [1]: https://docs.docker.com/engine/api/v1.23/#create-a-container
@@ -1139,15 +1465,18 @@ module Aws::Batch
1139
1465
  # @return [String]
1140
1466
  #
1141
1467
  # @!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.
1468
+ # The instance type to use for a multi-node parallel job. All node
1469
+ # groups in a multi-node parallel job must use the same instance type.
1470
+ #
1471
+ # <note markdown="1"> This parameter isn't applicable to single-node container jobs or
1472
+ # for jobs running on Fargate resources and shouldn't be provided.
1473
+ #
1474
+ # </note>
1146
1475
  # @return [String]
1147
1476
  #
1148
1477
  # @!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`.
1478
+ # The type and amount of resources to assign to a container. The
1479
+ # supported resources include `GPU`, `MEMORY`, and `VCPU`.
1151
1480
  # @return [Array<Types::ResourceRequirement>]
1152
1481
  #
1153
1482
  # @!attribute [rw] linux_parameters
@@ -1161,9 +1490,9 @@ module Aws::Batch
1161
1490
  # This parameter maps to `LogConfig` in the [Create a container][1]
1162
1491
  # section of the [Docker Remote API][2] and the `--log-driver` option
1163
1492
  # 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
1493
+ # driver that the Docker daemon uses. However the container might use
1494
+ # a different logging driver than the Docker daemon by specifying a
1495
+ # log driver with this parameter in the container definition. To use a
1167
1496
  # different logging driver for a container, the log system must be
1168
1497
  # configured properly on the container instance (or on a different log
1169
1498
  # server for remote logging options). For more information on the
@@ -1203,14 +1532,23 @@ module Aws::Batch
1203
1532
  #
1204
1533
  # @!attribute [rw] secrets
1205
1534
  # The secrets for the container. For more information, see [Specifying
1206
- # Sensitive Data][1] in the *Amazon Elastic Container Service
1207
- # Developer Guide*.
1535
+ # sensitive data][1] in the *AWS Batch User Guide*.
1208
1536
  #
1209
1537
  #
1210
1538
  #
1211
- # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/specifying-sensitive-data.html
1539
+ # [1]: https://docs.aws.amazon.com/batch/latest/userguide/specifying-sensitive-data.html
1212
1540
  # @return [Array<Types::Secret>]
1213
1541
  #
1542
+ # @!attribute [rw] network_configuration
1543
+ # The network configuration for jobs running on Fargate resources.
1544
+ # Jobs running on EC2 resources must not specify this parameter.
1545
+ # @return [Types::NetworkConfiguration]
1546
+ #
1547
+ # @!attribute [rw] fargate_platform_configuration
1548
+ # The platform configuration for jobs running on Fargate resources.
1549
+ # Jobs running on EC2 resources must not specify this parameter.
1550
+ # @return [Types::FargatePlatformConfiguration]
1551
+ #
1214
1552
  # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/ContainerProperties AWS API Documentation
1215
1553
  #
1216
1554
  class ContainerProperties < Struct.new(
@@ -1231,7 +1569,9 @@ module Aws::Batch
1231
1569
  :resource_requirements,
1232
1570
  :linux_parameters,
1233
1571
  :log_configuration,
1234
- :secrets)
1572
+ :secrets,
1573
+ :network_configuration,
1574
+ :fargate_platform_configuration)
1235
1575
  SENSITIVE = []
1236
1576
  include Aws::Structure
1237
1577
  end
@@ -1264,17 +1604,17 @@ module Aws::Batch
1264
1604
  # type: "MANAGED", # required, accepts MANAGED, UNMANAGED
1265
1605
  # state: "ENABLED", # accepts ENABLED, DISABLED
1266
1606
  # compute_resources: {
1267
- # type: "EC2", # required, accepts EC2, SPOT
1607
+ # type: "EC2", # required, accepts EC2, SPOT, FARGATE, FARGATE_SPOT
1268
1608
  # allocation_strategy: "BEST_FIT", # accepts BEST_FIT, BEST_FIT_PROGRESSIVE, SPOT_CAPACITY_OPTIMIZED
1269
- # minv_cpus: 1, # required
1609
+ # minv_cpus: 1,
1270
1610
  # maxv_cpus: 1, # required
1271
1611
  # desiredv_cpus: 1,
1272
- # instance_types: ["String"], # required
1612
+ # instance_types: ["String"],
1273
1613
  # image_id: "String",
1274
1614
  # subnets: ["String"], # required
1275
1615
  # security_group_ids: ["String"],
1276
1616
  # ec2_key_pair: "String",
1277
- # instance_role: "String", # required
1617
+ # instance_role: "String",
1278
1618
  # tags: {
1279
1619
  # "String" => "String",
1280
1620
  # },
@@ -1305,8 +1645,9 @@ module Aws::Batch
1305
1645
  # @return [String]
1306
1646
  #
1307
1647
  # @!attribute [rw] type
1308
- # The type of the compute environment. For more information, see
1309
- # [Compute Environments][1] in the *AWS Batch User Guide*.
1648
+ # The type of the compute environment: `MANAGED` or `UNMANAGED`. For
1649
+ # more information, see [Compute Environments][1] in the *AWS Batch
1650
+ # User Guide*.
1310
1651
  #
1311
1652
  #
1312
1653
  #
@@ -1320,10 +1661,10 @@ module Aws::Batch
1320
1661
  # @return [String]
1321
1662
  #
1322
1663
  # @!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*.
1664
+ # Details about the compute resources managed by the compute
1665
+ # environment. This parameter is required for managed compute
1666
+ # environments. For more information, see [Compute Environments][1] in
1667
+ # the *AWS Batch User Guide*.
1327
1668
  #
1328
1669
  #
1329
1670
  #
@@ -1340,8 +1681,8 @@ module Aws::Batch
1340
1681
  #
1341
1682
  # <note markdown="1"> Depending on how you created your AWS Batch service role, its ARN
1342
1683
  # 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
1684
+ # the name of the service role, AWS Batch assumes that your ARN
1685
+ # doesn't use the `service-role` path prefix. Because of this, we
1345
1686
  # recommend that you specify the full ARN of your service role when
1346
1687
  # you create compute environments.
1347
1688
  #
@@ -1355,7 +1696,7 @@ module Aws::Batch
1355
1696
  # Resources][1] in *AWS General Reference*.
1356
1697
  #
1357
1698
  # These tags can be updated or removed using the [TagResource][2] and
1358
- # [UntagResource][3] API operations. These tags do not propagate to
1699
+ # [UntagResource][3] API operations. These tags don't propagate to
1359
1700
  # the underlying compute resources.
1360
1701
  #
1361
1702
  #
@@ -1420,7 +1761,7 @@ module Aws::Batch
1420
1761
  # @!attribute [rw] state
1421
1762
  # The state of the job queue. If the job queue state is `ENABLED`, it
1422
1763
  # 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
1764
+ # jobs can't be added to the queue, but jobs already in the queue can
1424
1765
  # finish.
1425
1766
  # @return [String]
1426
1767
  #
@@ -1428,7 +1769,7 @@ module Aws::Batch
1428
1769
  # The priority of the job queue. Job queues with a higher priority (or
1429
1770
  # a higher integer value for the `priority` parameter) are evaluated
1430
1771
  # first when associated with the same compute environment. Priority is
1431
- # determined in descending order, for example, a job queue with a
1772
+ # determined in descending order. For example, a job queue with a
1432
1773
  # priority value of `10` is given scheduling preference over a job
1433
1774
  # queue with a priority value of `1`.
1434
1775
  # @return [Integer]
@@ -1436,10 +1777,13 @@ module Aws::Batch
1436
1777
  # @!attribute [rw] compute_environment_order
1437
1778
  # The set of compute environments mapped to a job queue and their
1438
1779
  # order relative to each other. The job scheduler uses this parameter
1439
- # to determine which compute environment should execute a given job.
1780
+ # to determine which compute environment should run a specific job.
1440
1781
  # Compute environments must be in the `VALID` state before you can
1441
1782
  # associate them with a job queue. You can associate up to three
1442
- # compute environments with a job queue.
1783
+ # compute environments with a job queue. All of the compute
1784
+ # environments must be either EC2 (`EC2` or `SPOT`) or Fargate
1785
+ # (`FARGATE` or `FARGATE_SPOT`); EC2 and Fargate compute environments
1786
+ # can't be mixed.
1443
1787
  # @return [Array<Types::ComputeEnvironmentOrder>]
1444
1788
  #
1445
1789
  # @!attribute [rw] tags
@@ -1576,7 +1920,7 @@ module Aws::Batch
1576
1920
  # response element. The remaining results of the initial request can
1577
1921
  # be seen by sending another `DescribeComputeEnvironments` request
1578
1922
  # with the returned `nextToken` value. This value can be between 1 and
1579
- # 100. If this parameter is not used, then
1923
+ # 100. If this parameter isn't used, then
1580
1924
  # `DescribeComputeEnvironments` returns up to 100 results and a
1581
1925
  # `nextToken` value if applicable.
1582
1926
  # @return [Integer]
@@ -1650,7 +1994,7 @@ module Aws::Batch
1650
1994
  # single page along with a `nextToken` response element. The remaining
1651
1995
  # results of the initial request can be seen by sending another
1652
1996
  # `DescribeJobDefinitions` request with the returned `nextToken`
1653
- # value. This value can be between 1 and 100. If this parameter is not
1997
+ # value. This value can be between 1 and 100. If this parameter isn't
1654
1998
  # used, then `DescribeJobDefinitions` returns up to 100 results and a
1655
1999
  # `nextToken` value if applicable.
1656
2000
  # @return [Integer]
@@ -1660,7 +2004,7 @@ module Aws::Batch
1660
2004
  # @return [String]
1661
2005
  #
1662
2006
  # @!attribute [rw] status
1663
- # The status with which to filter job definitions.
2007
+ # The status used to filter job definitions.
1664
2008
  # @return [String]
1665
2009
  #
1666
2010
  # @!attribute [rw] next_token
@@ -1732,7 +2076,7 @@ module Aws::Batch
1732
2076
  # `nextToken` response element. The remaining results of the initial
1733
2077
  # request can be seen by sending another `DescribeJobQueues` request
1734
2078
  # with the returned `nextToken` value. This value can be between 1 and
1735
- # 100. If this parameter is not used, then `DescribeJobQueues` returns
2079
+ # 100. If this parameter isn't used, then `DescribeJobQueues` returns
1736
2080
  # up to 100 results and a `nextToken` value if applicable.
1737
2081
  # @return [Integer]
1738
2082
  #
@@ -1815,6 +2159,11 @@ module Aws::Batch
1815
2159
 
1816
2160
  # An object representing a container instance host device.
1817
2161
  #
2162
+ # <note markdown="1"> This object isn't applicable to jobs running on Fargate resources and
2163
+ # shouldn't be provided.
2164
+ #
2165
+ # </note>
2166
+ #
1818
2167
  # @note When making an API call, you may pass Device
1819
2168
  # data as a hash:
1820
2169
  #
@@ -1829,7 +2178,7 @@ module Aws::Batch
1829
2178
  # @return [String]
1830
2179
  #
1831
2180
  # @!attribute [rw] container_path
1832
- # The path inside the container at which to expose the host device. By
2181
+ # The path inside the container used to expose the host device. By
1833
2182
  # default the `hostPath` value is used.
1834
2183
  # @return [String]
1835
2184
  #
@@ -1850,9 +2199,13 @@ module Aws::Batch
1850
2199
  end
1851
2200
 
1852
2201
  # Provides information used to select Amazon Machine Images (AMIs) for
1853
- # instances in the compute environment. If the `Ec2Configuration` is not
2202
+ # instances in the compute environment. If the `Ec2Configuration` isn't
1854
2203
  # specified, the default is `ECS_AL1`.
1855
2204
  #
2205
+ # <note markdown="1"> This object isn't applicable to jobs running on Fargate resources.
2206
+ #
2207
+ # </note>
2208
+ #
1856
2209
  # @note When making an API call, you may pass Ec2Configuration
1857
2210
  # data as a hash:
1858
2211
  #
@@ -1862,9 +2215,9 @@ module Aws::Batch
1862
2215
  # }
1863
2216
  #
1864
2217
  # @!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.
2218
+ # The image type to match with the instance type to select an AMI. If
2219
+ # the `imageIdOverride` parameter isn't specified, then a recent
2220
+ # [Amazon ECS-optimized AMI][1] is used.
1868
2221
  #
1869
2222
  # ECS\_AL2
1870
2223
  #
@@ -1890,7 +2243,7 @@ module Aws::Batch
1890
2243
  # [2]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html#al2ami
1891
2244
  # [3]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html#gpuami
1892
2245
  # [4]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html#alami
1893
- # [5]: https://aws.amazon.com/amazon-linux-ami/
2246
+ # [5]: http://aws.amazon.com/amazon-linux-ami/
1894
2247
  # @return [String]
1895
2248
  #
1896
2249
  # @!attribute [rw] image_id_override
@@ -1924,7 +2277,7 @@ module Aws::Batch
1924
2277
  # @!attribute [rw] on_status_reason
1925
2278
  # Contains a glob pattern to match against the `StatusReason` returned
1926
2279
  # for a job. The patten can be up to 512 characters long, can contain
1927
- # letters, numbers, periods (.), colons (:), and whitespace (spaces,
2280
+ # letters, numbers, periods (.), colons (:), and white space (spaces,
1928
2281
  # tabs). and can optionally end with an asterisk (*) so that only the
1929
2282
  # start of the string needs to be an exact match.
1930
2283
  # @return [String]
@@ -1932,7 +2285,7 @@ module Aws::Batch
1932
2285
  # @!attribute [rw] on_reason
1933
2286
  # Contains a glob pattern to match against the `Reason` returned for a
1934
2287
  # job. The patten can be up to 512 characters long, can contain
1935
- # letters, numbers, periods (.), colons (:), and whitespace (spaces,
2288
+ # letters, numbers, periods (.), colons (:), and white space (spaces,
1936
2289
  # tabs), and can optionally end with an asterisk (*) so that only the
1937
2290
  # start of the string needs to be an exact match.
1938
2291
  # @return [String]
@@ -1947,7 +2300,8 @@ module Aws::Batch
1947
2300
  #
1948
2301
  # @!attribute [rw] action
1949
2302
  # Specifies the action to take if all of the specified conditions
1950
- # (`onStatusReason`, `onReason`, and `onExitCode`) are met.
2303
+ # (`onStatusReason`, `onReason`, and `onExitCode`) are met. The values
2304
+ # are not case sensitive.
1951
2305
  # @return [String]
1952
2306
  #
1953
2307
  # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/EvaluateOnExit AWS API Documentation
@@ -1961,10 +2315,42 @@ module Aws::Batch
1961
2315
  include Aws::Structure
1962
2316
  end
1963
2317
 
2318
+ # The platform configuration for jobs running on Fargate resources. Jobs
2319
+ # running on EC2 resources must not specify this parameter.
2320
+ #
2321
+ # @note When making an API call, you may pass FargatePlatformConfiguration
2322
+ # data as a hash:
2323
+ #
2324
+ # {
2325
+ # platform_version: "String",
2326
+ # }
2327
+ #
2328
+ # @!attribute [rw] platform_version
2329
+ # The AWS Fargate platform version on which the jobs are running. A
2330
+ # platform version is specified only for jobs running on Fargate
2331
+ # resources. If one isn't specified, the `LATEST` platform version is
2332
+ # used by default. This will use a recent, approved version of the AWS
2333
+ # Fargate platform for compute resources. For more information, see
2334
+ # [AWS Fargate platform versions][1] in the *Amazon Elastic Container
2335
+ # Service Developer Guide*.
2336
+ #
2337
+ #
2338
+ #
2339
+ # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/platform_versions.html
2340
+ # @return [String]
2341
+ #
2342
+ # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/FargatePlatformConfiguration AWS API Documentation
2343
+ #
2344
+ class FargatePlatformConfiguration < Struct.new(
2345
+ :platform_version)
2346
+ SENSITIVE = []
2347
+ include Aws::Structure
2348
+ end
2349
+
1964
2350
  # Determine whether your data volume persists on the host container
1965
2351
  # instance and where it is stored. If this parameter is empty, then the
1966
2352
  # 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
2353
+ # isn't guaranteed to persist after the containers associated with it
1968
2354
  # stop running.
1969
2355
  #
1970
2356
  # @note When making an API call, you may pass Host
@@ -1983,6 +2369,11 @@ module Aws::Batch
1983
2369
  # source path location does not exist on the host container instance,
1984
2370
  # the Docker daemon creates it. If the location does exist, the
1985
2371
  # contents of the source path folder are exported.
2372
+ #
2373
+ # <note markdown="1"> This parameter isn't applicable to jobs running on Fargate
2374
+ # resources and shouldn't be provided.
2375
+ #
2376
+ # </note>
1986
2377
  # @return [String]
1987
2378
  #
1988
2379
  # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/Host AWS API Documentation
@@ -2012,7 +2403,14 @@ module Aws::Batch
2012
2403
  # @return [String]
2013
2404
  #
2014
2405
  # @!attribute [rw] type
2015
- # The type of job definition.
2406
+ # The type of job definition. If the job is run on Fargate resources,
2407
+ # then `multinode` isn't supported. For more information about
2408
+ # multi-node parallel jobs, see [Creating a multi-node parallel job
2409
+ # definition][1] in the *AWS Batch User Guide*.
2410
+ #
2411
+ #
2412
+ #
2413
+ # [1]: https://docs.aws.amazon.com/batch/latest/userguide/multi-node-job-def.html
2016
2414
  # @return [String]
2017
2415
  #
2018
2416
  # @!attribute [rw] parameters
@@ -2040,18 +2438,39 @@ module Aws::Batch
2040
2438
  # @!attribute [rw] timeout
2041
2439
  # The timeout configuration for jobs that are submitted with this job
2042
2440
  # definition. You can specify a timeout duration after which AWS Batch
2043
- # terminates your jobs if they have not finished.
2441
+ # terminates your jobs if they haven't finished.
2044
2442
  # @return [Types::JobTimeout]
2045
2443
  #
2046
2444
  # @!attribute [rw] node_properties
2047
2445
  # An object with various properties specific to multi-node parallel
2048
2446
  # jobs.
2447
+ #
2448
+ # <note markdown="1"> If the job runs on Fargate resources, then you must not specify
2449
+ # `nodeProperties`; use `containerProperties` instead.
2450
+ #
2451
+ # </note>
2049
2452
  # @return [Types::NodeProperties]
2050
2453
  #
2051
2454
  # @!attribute [rw] tags
2052
2455
  # The tags applied to the job definition.
2053
2456
  # @return [Hash<String,String>]
2054
2457
  #
2458
+ # @!attribute [rw] propagate_tags
2459
+ # Specifies whether to propagate the tags from the job or job
2460
+ # definition to the corresponding Amazon ECS task. If no value is
2461
+ # specified, the tags aren't propagated. Tags can only be propagated
2462
+ # to the tasks during task creation. For tags with the same name, job
2463
+ # tags are given priority over job definitions tags. If the total
2464
+ # number of combined tags from the job and job definition is over 50,
2465
+ # the job is moved to the `FAILED` state.
2466
+ # @return [Boolean]
2467
+ #
2468
+ # @!attribute [rw] platform_capabilities
2469
+ # The platform capabilities required by the job definition. If no
2470
+ # value is specified, it defaults to `EC2`. Jobs run on Fargate
2471
+ # resources specify `FARGATE`.
2472
+ # @return [Array<String>]
2473
+ #
2055
2474
  # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/JobDefinition AWS API Documentation
2056
2475
  #
2057
2476
  class JobDefinition < Struct.new(
@@ -2065,7 +2484,9 @@ module Aws::Batch
2065
2484
  :container_properties,
2066
2485
  :timeout,
2067
2486
  :node_properties,
2068
- :tags)
2487
+ :tags,
2488
+ :propagate_tags,
2489
+ :platform_capabilities)
2069
2490
  SENSITIVE = []
2070
2491
  include Aws::Structure
2071
2492
  end
@@ -2112,8 +2533,8 @@ module Aws::Batch
2112
2533
  # @return [String]
2113
2534
  #
2114
2535
  # @!attribute [rw] job_queue
2115
- # The Amazon Resource Name (ARN) of the job queue with which the job
2116
- # is associated.
2536
+ # The Amazon Resource Name (ARN) of the job queue that the job is
2537
+ # associated with.
2117
2538
  # @return [String]
2118
2539
  #
2119
2540
  # @!attribute [rw] status
@@ -2154,7 +2575,7 @@ module Aws::Batch
2154
2575
  # @!attribute [rw] started_at
2155
2576
  # The Unix timestamp (in milliseconds) for when the job was started
2156
2577
  # (when the job transitioned from the `STARTING` state to the
2157
- # `RUNNING` state). This parameter is not provided for child jobs of
2578
+ # `RUNNING` state). This parameter isn't provided for child jobs of
2158
2579
  # array jobs or multi-node parallel jobs.
2159
2580
  # @return [Integer]
2160
2581
  #
@@ -2165,7 +2586,7 @@ module Aws::Batch
2165
2586
  # @return [Integer]
2166
2587
  #
2167
2588
  # @!attribute [rw] depends_on
2168
- # A list of job IDs on which this job depends.
2589
+ # A list of job IDs that this job depends on.
2169
2590
  # @return [Array<Types::JobDependency>]
2170
2591
  #
2171
2592
  # @!attribute [rw] job_definition
@@ -2179,7 +2600,7 @@ module Aws::Batch
2179
2600
  # @return [Hash<String,String>]
2180
2601
  #
2181
2602
  # @!attribute [rw] container
2182
- # An object representing the details of the container that is
2603
+ # An object representing the details of the container that's
2183
2604
  # associated with the job.
2184
2605
  # @return [Types::ContainerDetail]
2185
2606
  #
@@ -2191,6 +2612,10 @@ module Aws::Batch
2191
2612
  # @!attribute [rw] node_properties
2192
2613
  # An object representing the node properties of a multi-node parallel
2193
2614
  # job.
2615
+ #
2616
+ # <note markdown="1"> This isn't applicable to jobs running on Fargate resources.
2617
+ #
2618
+ # </note>
2194
2619
  # @return [Types::NodeProperties]
2195
2620
  #
2196
2621
  # @!attribute [rw] array_properties
@@ -2205,6 +2630,22 @@ module Aws::Batch
2205
2630
  # The tags applied to the job.
2206
2631
  # @return [Hash<String,String>]
2207
2632
  #
2633
+ # @!attribute [rw] propagate_tags
2634
+ # Specifies whether to propagate the tags from the job or job
2635
+ # definition to the corresponding Amazon ECS task. If no value is
2636
+ # specified, the tags are not propagated. Tags can only be propagated
2637
+ # to the tasks during task creation. For tags with the same name, job
2638
+ # tags are given priority over job definitions tags. If the total
2639
+ # number of combined tags from the job and job definition is over 50,
2640
+ # the job is moved to the `FAILED` state.
2641
+ # @return [Boolean]
2642
+ #
2643
+ # @!attribute [rw] platform_capabilities
2644
+ # The platform capabilities required by the job definition. If no
2645
+ # value is specified, it defaults to `EC2`. Jobs run on Fargate
2646
+ # resources specify `FARGATE`.
2647
+ # @return [Array<String>]
2648
+ #
2208
2649
  # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/JobDetail AWS API Documentation
2209
2650
  #
2210
2651
  class JobDetail < Struct.new(
@@ -2227,7 +2668,9 @@ module Aws::Batch
2227
2668
  :node_properties,
2228
2669
  :array_properties,
2229
2670
  :timeout,
2230
- :tags)
2671
+ :tags,
2672
+ :propagate_tags,
2673
+ :platform_capabilities)
2231
2674
  SENSITIVE = []
2232
2675
  include Aws::Structure
2233
2676
  end
@@ -2244,8 +2687,8 @@ module Aws::Batch
2244
2687
  #
2245
2688
  # @!attribute [rw] state
2246
2689
  # 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,
2690
+ # queue state is `ENABLED`, it's able to accept jobs. If the job
2691
+ # queue state is `DISABLED`, new jobs can't be added to the queue,
2249
2692
  # but jobs already in the queue can finish.
2250
2693
  # @return [String]
2251
2694
  #
@@ -2264,7 +2707,7 @@ module Aws::Batch
2264
2707
  #
2265
2708
  # @!attribute [rw] compute_environment_order
2266
2709
  # The compute environments that are attached to the job queue and the
2267
- # order in which job placement is preferred. Compute environments are
2710
+ # order that job placement is preferred. Compute environments are
2268
2711
  # selected for job placement in ascending order.
2269
2712
  # @return [Array<Types::ComputeEnvironmentOrder>]
2270
2713
  #
@@ -2340,6 +2783,10 @@ module Aws::Batch
2340
2783
  #
2341
2784
  # @!attribute [rw] node_properties
2342
2785
  # The node properties for a single node in a job summary list.
2786
+ #
2787
+ # <note markdown="1"> This isn't applicable to jobs running on Fargate resources.
2788
+ #
2789
+ # </note>
2343
2790
  # @return [Types::NodePropertiesSummary]
2344
2791
  #
2345
2792
  # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/JobSummary AWS API Documentation
@@ -2372,7 +2819,8 @@ module Aws::Batch
2372
2819
  # @!attribute [rw] attempt_duration_seconds
2373
2820
  # The time duration in seconds (measured from the job attempt's
2374
2821
  # `startedAt` timestamp) after which AWS Batch terminates your jobs if
2375
- # they have not finished.
2822
+ # they have not finished. The minimum value for the timeout is 60
2823
+ # seconds.
2376
2824
  # @return [Integer]
2377
2825
  #
2378
2826
  # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/JobTimeout AWS API Documentation
@@ -2416,6 +2864,15 @@ module Aws::Batch
2416
2864
  # resource. You must specify either the launch template ID or launch
2417
2865
  # template name in the request, but not both.
2418
2866
  #
2867
+ # If security groups are specified using both the `securityGroupIds`
2868
+ # parameter of `CreateComputeEnvironment` and the launch template, the
2869
+ # values in the `securityGroupIds` parameter of
2870
+ # `CreateComputeEnvironment` will be used.
2871
+ #
2872
+ # <note markdown="1"> This object isn't applicable to jobs running on Fargate resources.
2873
+ #
2874
+ # </note>
2875
+ #
2419
2876
  # @note When making an API call, you may pass LaunchTemplateSpecification
2420
2877
  # data as a hash:
2421
2878
  #
@@ -2485,6 +2942,11 @@ module Aws::Batch
2485
2942
  # `Devices` in the [Create a container][1] section of the [Docker
2486
2943
  # Remote API][2] and the `--device` option to [docker run][3].
2487
2944
  #
2945
+ # <note markdown="1"> This parameter isn't applicable to jobs running on Fargate
2946
+ # resources and shouldn't be provided.
2947
+ #
2948
+ # </note>
2949
+ #
2488
2950
  #
2489
2951
  #
2490
2952
  # [1]: https://docs.docker.com/engine/api/v1.23/#create-a-container
@@ -2510,6 +2972,11 @@ module Aws::Batch
2510
2972
  # The value for the size (in MiB) of the `/dev/shm` volume. This
2511
2973
  # parameter maps to the `--shm-size` option to [docker run][1].
2512
2974
  #
2975
+ # <note markdown="1"> This parameter isn't applicable to jobs running on Fargate
2976
+ # resources and shouldn't be provided.
2977
+ #
2978
+ # </note>
2979
+ #
2513
2980
  #
2514
2981
  #
2515
2982
  # [1]: https://docs.docker.com/engine/reference/run/
@@ -2520,6 +2987,11 @@ module Aws::Batch
2520
2987
  # mount. This parameter maps to the `--tmpfs` option to [docker
2521
2988
  # run][1].
2522
2989
  #
2990
+ # <note markdown="1"> This parameter isn't applicable to jobs running on Fargate
2991
+ # resources and shouldn't be provided.
2992
+ #
2993
+ # </note>
2994
+ #
2523
2995
  #
2524
2996
  #
2525
2997
  # [1]: https://docs.docker.com/engine/reference/run/
@@ -2527,18 +2999,23 @@ module Aws::Batch
2527
2999
  #
2528
3000
  # @!attribute [rw] max_swap
2529
3001
  # 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.
3002
+ # parameter is translated to the `--memory-swap` option to [docker
3003
+ # run][1] where the value is the sum of the container memory plus the
3004
+ # `maxSwap` value. For more information, see [ `--memory-swap`
3005
+ # details][2] in the Docker documentation.
2534
3006
  #
2535
- # If a `maxSwap` value of `0` is specified, the container will not use
3007
+ # If a `maxSwap` value of `0` is specified, the container doesn't use
2536
3008
  # swap. Accepted values are `0` or any positive integer. If the
2537
- # `maxSwap` parameter is omitted, the container will use the swap
3009
+ # `maxSwap` parameter is omitted, the container doesn't use the swap
2538
3010
  # configuration for the container instance it is running on. A
2539
3011
  # `maxSwap` value must be set for the `swappiness` parameter to be
2540
3012
  # used.
2541
3013
  #
3014
+ # <note markdown="1"> This parameter isn't applicable to jobs running on Fargate
3015
+ # resources and shouldn't be provided.
3016
+ #
3017
+ # </note>
3018
+ #
2542
3019
  #
2543
3020
  #
2544
3021
  # [1]: https://docs.docker.com/engine/reference/run/
@@ -2547,15 +3024,20 @@ module Aws::Batch
2547
3024
  #
2548
3025
  # @!attribute [rw] swappiness
2549
3026
  # 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
3027
+ # `swappiness` value of `0` causes swapping not to happen unless
3028
+ # absolutely necessary. A `swappiness` value of `100` causes pages to
3029
+ # be swapped very aggressively. Accepted values are whole numbers
3030
+ # between `0` and `100`. If the `swappiness` parameter isn't
3031
+ # specified, a default value of `60` is used. If a value isn't
2555
3032
  # specified for `maxSwap` then this parameter is ignored. This
2556
3033
  # parameter maps to the `--memory-swappiness` option to [docker
2557
3034
  # run][1].
2558
3035
  #
3036
+ # <note markdown="1"> This parameter isn't applicable to jobs running on Fargate
3037
+ # resources and shouldn't be provided.
3038
+ #
3039
+ # </note>
3040
+ #
2559
3041
  #
2560
3042
  #
2561
3043
  # [1]: https://docs.docker.com/engine/reference/run/
@@ -2587,8 +3069,8 @@ module Aws::Batch
2587
3069
  # }
2588
3070
  #
2589
3071
  # @!attribute [rw] job_queue
2590
- # The name or full Amazon Resource Name (ARN) of the job queue with
2591
- # which to list jobs.
3072
+ # The name or full Amazon Resource Name (ARN) of the job queue used to
3073
+ # list jobs.
2592
3074
  # @return [String]
2593
3075
  #
2594
3076
  # @!attribute [rw] array_job_id
@@ -2603,8 +3085,8 @@ module Aws::Batch
2603
3085
  # @return [String]
2604
3086
  #
2605
3087
  # @!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.
3088
+ # The job status used to filter jobs in the specified queue. If you
3089
+ # don't specify a status, only `RUNNING` jobs are returned.
2608
3090
  # @return [String]
2609
3091
  #
2610
3092
  # @!attribute [rw] max_results
@@ -2614,7 +3096,7 @@ module Aws::Batch
2614
3096
  # response element. The remaining results of the initial request can
2615
3097
  # be seen by sending another `ListJobs` request with the returned
2616
3098
  # `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
3099
+ # parameter isn't used, then `ListJobs` returns up to 100 results and
2618
3100
  # a `nextToken` value if applicable.
2619
3101
  # @return [Integer]
2620
3102
  #
@@ -2673,8 +3155,8 @@ module Aws::Batch
2673
3155
  # }
2674
3156
  #
2675
3157
  # @!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
3158
+ # The Amazon Resource Name (ARN) that identifies the resource that
3159
+ # tags are listed for. AWS Batch resources that support tags are
2678
3160
  # compute environments, jobs, job definitions, and job queues. ARNs
2679
3161
  # for child jobs of array and multi-node parallel (MNP) jobs are not
2680
3162
  # supported.
@@ -2727,6 +3209,11 @@ module Aws::Batch
2727
3209
  # The supported log drivers are `awslogs`, `fluentd`, `gelf`,
2728
3210
  # `json-file`, `journald`, `logentries`, `syslog`, and `splunk`.
2729
3211
  #
3212
+ # <note markdown="1"> Jobs running on Fargate resources are restricted to the `awslogs`
3213
+ # and `splunk` log drivers.
3214
+ #
3215
+ # </note>
3216
+ #
2730
3217
  # awslogs
2731
3218
  #
2732
3219
  # : Specifies the Amazon CloudWatch Logs logging driver. For more
@@ -2770,13 +3257,13 @@ module Aws::Batch
2770
3257
  # including usage and options, see [Syslog logging driver][8] in the
2771
3258
  # Docker documentation.
2772
3259
  #
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.
3260
+ # <note markdown="1"> If you have a custom driver that isn't listed earlier that you want
3261
+ # to work with the Amazon ECS container agent, you can fork the Amazon
3262
+ # ECS container agent project that is [available on GitHub][9] and
3263
+ # customize it to work with that driver. We encourage you to submit
3264
+ # pull requests for changes that you want to have included. However,
3265
+ # Amazon Web Services doesn't currently support running modified
3266
+ # copies of this software.
2780
3267
  #
2781
3268
  # </note>
2782
3269
  #
@@ -2845,12 +3332,12 @@ module Aws::Batch
2845
3332
  # }
2846
3333
  #
2847
3334
  # @!attribute [rw] container_path
2848
- # The path on the container at which to mount the host volume.
3335
+ # The path on the container where the host volume is mounted.
2849
3336
  # @return [String]
2850
3337
  #
2851
3338
  # @!attribute [rw] read_only
2852
3339
  # If this value is `true`, the container has read-only access to the
2853
- # volume; otherwise, the container can write to the volume. The
3340
+ # volume. Otherwise, the container can write to the volume. The
2854
3341
  # default value is `false`.
2855
3342
  # @return [Boolean]
2856
3343
  #
@@ -2868,6 +3355,37 @@ module Aws::Batch
2868
3355
  include Aws::Structure
2869
3356
  end
2870
3357
 
3358
+ # The network configuration for jobs running on Fargate resources. Jobs
3359
+ # running on EC2 resources must not specify this parameter.
3360
+ #
3361
+ # @note When making an API call, you may pass NetworkConfiguration
3362
+ # data as a hash:
3363
+ #
3364
+ # {
3365
+ # assign_public_ip: "ENABLED", # accepts ENABLED, DISABLED
3366
+ # }
3367
+ #
3368
+ # @!attribute [rw] assign_public_ip
3369
+ # Indicates whether the job should have a public IP address. For a job
3370
+ # running on Fargate resources in a private subnet to send outbound
3371
+ # traffic to the internet (for example, in order to pull container
3372
+ # images), the private subnet requires a NAT gateway be attached to
3373
+ # route requests to the internet. For more information, see [Amazon
3374
+ # ECS task networking][1]. The default value is "DISABLED".
3375
+ #
3376
+ #
3377
+ #
3378
+ # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task-networking.html
3379
+ # @return [String]
3380
+ #
3381
+ # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/NetworkConfiguration AWS API Documentation
3382
+ #
3383
+ class NetworkConfiguration < Struct.new(
3384
+ :assign_public_ip)
3385
+ SENSITIVE = []
3386
+ include Aws::Structure
3387
+ end
3388
+
2871
3389
  # An object representing the elastic network interface for a multi-node
2872
3390
  # parallel job node.
2873
3391
  #
@@ -2918,6 +3436,11 @@ module Aws::Batch
2918
3436
  # Object representing any node overrides to a job definition that is
2919
3437
  # used in a SubmitJob API operation.
2920
3438
  #
3439
+ # <note markdown="1"> This isn't applicable to jobs running on Fargate resources and
3440
+ # shouldn't be provided; use `containerOverrides` instead.
3441
+ #
3442
+ # </note>
3443
+ #
2921
3444
  # @note When making an API call, you may pass NodeOverrides
2922
3445
  # data as a hash:
2923
3446
  #
@@ -2940,7 +3463,7 @@ module Aws::Batch
2940
3463
  # resource_requirements: [
2941
3464
  # {
2942
3465
  # value: "String", # required
2943
- # type: "GPU", # required, accepts GPU
3466
+ # type: "GPU", # required, accepts GPU, VCPU, MEMORY
2944
3467
  # },
2945
3468
  # ],
2946
3469
  # },
@@ -3031,7 +3554,7 @@ module Aws::Batch
3031
3554
  # resource_requirements: [
3032
3555
  # {
3033
3556
  # value: "String", # required
3034
- # type: "GPU", # required, accepts GPU
3557
+ # type: "GPU", # required, accepts GPU, VCPU, MEMORY
3035
3558
  # },
3036
3559
  # ],
3037
3560
  # linux_parameters: {
@@ -3072,6 +3595,12 @@ module Aws::Batch
3072
3595
  # value_from: "String", # required
3073
3596
  # },
3074
3597
  # ],
3598
+ # network_configuration: {
3599
+ # assign_public_ip: "ENABLED", # accepts ENABLED, DISABLED
3600
+ # },
3601
+ # fargate_platform_configuration: {
3602
+ # platform_version: "String",
3603
+ # },
3075
3604
  # },
3076
3605
  # },
3077
3606
  # ],
@@ -3151,18 +3680,19 @@ module Aws::Batch
3151
3680
  # resource_requirements: [
3152
3681
  # {
3153
3682
  # value: "String", # required
3154
- # type: "GPU", # required, accepts GPU
3683
+ # type: "GPU", # required, accepts GPU, VCPU, MEMORY
3155
3684
  # },
3156
3685
  # ],
3157
3686
  # },
3158
3687
  # }
3159
3688
  #
3160
3689
  # @!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.
3690
+ # The range of nodes, using node index values, that's used to
3691
+ # override. A range of `0:3` indicates nodes with index values of `0`
3692
+ # through `3`. If the starting range value is omitted (`:n`), then `0`
3693
+ # is used to start the range. If the ending range value is omitted
3694
+ # (`n:`), then the highest possible node index is used to end the
3695
+ # range.
3166
3696
  # @return [String]
3167
3697
  #
3168
3698
  # @!attribute [rw] container_overrides
@@ -3228,7 +3758,7 @@ module Aws::Batch
3228
3758
  # resource_requirements: [
3229
3759
  # {
3230
3760
  # value: "String", # required
3231
- # type: "GPU", # required, accepts GPU
3761
+ # type: "GPU", # required, accepts GPU, VCPU, MEMORY
3232
3762
  # },
3233
3763
  # ],
3234
3764
  # linux_parameters: {
@@ -3269,6 +3799,12 @@ module Aws::Batch
3269
3799
  # value_from: "String", # required
3270
3800
  # },
3271
3801
  # ],
3802
+ # network_configuration: {
3803
+ # assign_public_ip: "ENABLED", # accepts ENABLED, DISABLED
3804
+ # },
3805
+ # fargate_platform_configuration: {
3806
+ # platform_version: "String",
3807
+ # },
3272
3808
  # },
3273
3809
  # }
3274
3810
  #
@@ -3278,9 +3814,9 @@ module Aws::Batch
3278
3814
  # starting range value is omitted (`:n`), then `0` is used to start
3279
3815
  # the range. If the ending range value is omitted (`n:`), then the
3280
3816
  # 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.
3817
+ # accumulative node ranges must account for all nodes (`0:n`). You may
3818
+ # nest node ranges, for example `0:10` and `4:5`, in which case the
3819
+ # `4:5` range properties override the `0:10` properties.
3284
3820
  # @return [String]
3285
3821
  #
3286
3822
  # @!attribute [rw] container
@@ -3347,7 +3883,7 @@ module Aws::Batch
3347
3883
  # resource_requirements: [
3348
3884
  # {
3349
3885
  # value: "String", # required
3350
- # type: "GPU", # required, accepts GPU
3886
+ # type: "GPU", # required, accepts GPU, VCPU, MEMORY
3351
3887
  # },
3352
3888
  # ],
3353
3889
  # linux_parameters: {
@@ -3388,6 +3924,12 @@ module Aws::Batch
3388
3924
  # value_from: "String", # required
3389
3925
  # },
3390
3926
  # ],
3927
+ # network_configuration: {
3928
+ # assign_public_ip: "ENABLED", # accepts ENABLED, DISABLED
3929
+ # },
3930
+ # fargate_platform_configuration: {
3931
+ # platform_version: "String",
3932
+ # },
3391
3933
  # },
3392
3934
  # node_properties: {
3393
3935
  # num_nodes: 1, # required
@@ -3437,7 +3979,7 @@ module Aws::Batch
3437
3979
  # resource_requirements: [
3438
3980
  # {
3439
3981
  # value: "String", # required
3440
- # type: "GPU", # required, accepts GPU
3982
+ # type: "GPU", # required, accepts GPU, VCPU, MEMORY
3441
3983
  # },
3442
3984
  # ],
3443
3985
  # linux_parameters: {
@@ -3478,6 +4020,12 @@ module Aws::Batch
3478
4020
  # value_from: "String", # required
3479
4021
  # },
3480
4022
  # ],
4023
+ # network_configuration: {
4024
+ # assign_public_ip: "ENABLED", # accepts ENABLED, DISABLED
4025
+ # },
4026
+ # fargate_platform_configuration: {
4027
+ # platform_version: "String",
4028
+ # },
3481
4029
  # },
3482
4030
  # },
3483
4031
  # ],
@@ -3493,12 +4041,14 @@ module Aws::Batch
3493
4041
  # },
3494
4042
  # ],
3495
4043
  # },
4044
+ # propagate_tags: false,
3496
4045
  # timeout: {
3497
4046
  # attempt_duration_seconds: 1,
3498
4047
  # },
3499
4048
  # tags: {
3500
4049
  # "TagKey" => "TagValue",
3501
4050
  # },
4051
+ # platform_capabilities: ["EC2"], # accepts EC2, FARGATE
3502
4052
  # }
3503
4053
  #
3504
4054
  # @!attribute [rw] job_definition_name
@@ -3508,7 +4058,18 @@ module Aws::Batch
3508
4058
  # @return [String]
3509
4059
  #
3510
4060
  # @!attribute [rw] type
3511
- # The type of job definition.
4061
+ # The type of job definition. For more information about multi-node
4062
+ # parallel jobs, see [Creating a multi-node parallel job
4063
+ # definition][1] in the *AWS Batch User Guide*.
4064
+ #
4065
+ # <note markdown="1"> If the job is run on Fargate resources, then `multinode` isn't
4066
+ # supported.
4067
+ #
4068
+ # </note>
4069
+ #
4070
+ #
4071
+ #
4072
+ # [1]: https://docs.aws.amazon.com/batch/latest/userguide/multi-node-job-def.html
3512
4073
  # @return [String]
3513
4074
  #
3514
4075
  # @!attribute [rw] parameters
@@ -3523,6 +4084,11 @@ module Aws::Batch
3523
4084
  # container-based jobs. If the job definition's `type` parameter is
3524
4085
  # `container`, then you must specify either `containerProperties` or
3525
4086
  # `nodeProperties`.
4087
+ #
4088
+ # <note markdown="1"> If the job runs on Fargate resources, then you must not specify
4089
+ # `nodeProperties`; use only `containerProperties`.
4090
+ #
4091
+ # </note>
3526
4092
  # @return [Types::ContainerProperties]
3527
4093
  #
3528
4094
  # @!attribute [rw] node_properties
@@ -3533,6 +4099,11 @@ module Aws::Batch
3533
4099
  # definition's `type` parameter is `container`, then you must specify
3534
4100
  # either `containerProperties` or `nodeProperties`.
3535
4101
  #
4102
+ # <note markdown="1"> If the job runs on Fargate resources, then you must not specify
4103
+ # `nodeProperties`; use `containerProperties` instead.
4104
+ #
4105
+ # </note>
4106
+ #
3536
4107
  #
3537
4108
  #
3538
4109
  # [1]: https://docs.aws.amazon.com/batch/latest/userguide/multi-node-parallel-jobs.html
@@ -3542,35 +4113,50 @@ module Aws::Batch
3542
4113
  # The retry strategy to use for failed jobs that are submitted with
3543
4114
  # this job definition. Any retry strategy that is specified during a
3544
4115
  # SubmitJob operation overrides the retry strategy defined here. If a
3545
- # job is terminated due to a timeout, it is not retried.
4116
+ # job is terminated due to a timeout, it isn't retried.
3546
4117
  # @return [Types::RetryStrategy]
3547
4118
  #
4119
+ # @!attribute [rw] propagate_tags
4120
+ # Specifies whether to propagate the tags from the job or job
4121
+ # definition to the corresponding Amazon ECS task. If no value is
4122
+ # specified, the tags are not propagated. Tags can only be propagated
4123
+ # to the tasks during task creation. For tags with the same name, job
4124
+ # tags are given priority over job definitions tags. If the total
4125
+ # number of combined tags from the job and job definition is over 50,
4126
+ # the job is moved to the `FAILED` state.
4127
+ # @return [Boolean]
4128
+ #
3548
4129
  # @!attribute [rw] timeout
3549
4130
  # The timeout configuration for jobs that are submitted with this job
3550
4131
  # 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
4132
+ # not finished. If a job is terminated due to a timeout, it isn't
3552
4133
  # retried. The minimum value for the timeout is 60 seconds. Any
3553
4134
  # timeout configuration that is specified during a SubmitJob operation
3554
4135
  # overrides the timeout configuration defined here. For more
3555
- # information, see [Job Timeouts][1] in the *Amazon Elastic Container
3556
- # Service Developer Guide*.
4136
+ # information, see [Job Timeouts][1] in the *AWS Batch User Guide*.
3557
4137
  #
3558
4138
  #
3559
4139
  #
3560
- # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/job_timeouts.html
4140
+ # [1]: https://docs.aws.amazon.com/batch/latest/userguide/job_timeouts.html
3561
4141
  # @return [Types::JobTimeout]
3562
4142
  #
3563
4143
  # @!attribute [rw] tags
3564
4144
  # The tags that you apply to the job definition to help you categorize
3565
4145
  # and organize your resources. Each tag consists of a key and an
3566
4146
  # optional value. For more information, see [Tagging AWS Resources][1]
3567
- # in *AWS General Reference*.
4147
+ # in *AWS Batch User Guide*.
3568
4148
  #
3569
4149
  #
3570
4150
  #
3571
- # [1]: https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html
4151
+ # [1]: https://docs.aws.amazon.com/batch/latest/userguide/using-tags.html
3572
4152
  # @return [Hash<String,String>]
3573
4153
  #
4154
+ # @!attribute [rw] platform_capabilities
4155
+ # The platform capabilities required by the job definition. If no
4156
+ # value is specified, it defaults to `EC2`. To run the job on Fargate
4157
+ # resources, specify `FARGATE`.
4158
+ # @return [Array<String>]
4159
+ #
3574
4160
  # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/RegisterJobDefinitionRequest AWS API Documentation
3575
4161
  #
3576
4162
  class RegisterJobDefinitionRequest < Struct.new(
@@ -3580,8 +4166,10 @@ module Aws::Batch
3580
4166
  :container_properties,
3581
4167
  :node_properties,
3582
4168
  :retry_strategy,
4169
+ :propagate_tags,
3583
4170
  :timeout,
3584
- :tags)
4171
+ :tags,
4172
+ :platform_capabilities)
3585
4173
  SENSITIVE = []
3586
4174
  include Aws::Structure
3587
4175
  end
@@ -3608,27 +4196,143 @@ module Aws::Batch
3608
4196
  include Aws::Structure
3609
4197
  end
3610
4198
 
3611
- # The type and amount of a resource to assign to a container. Currently,
3612
- # the only supported resource type is `GPU`.
4199
+ # The type and amount of a resource to assign to a container. The
4200
+ # supported resources include `GPU`, `MEMORY`, and `VCPU`.
3613
4201
  #
3614
4202
  # @note When making an API call, you may pass ResourceRequirement
3615
4203
  # data as a hash:
3616
4204
  #
3617
4205
  # {
3618
4206
  # value: "String", # required
3619
- # type: "GPU", # required, accepts GPU
4207
+ # type: "GPU", # required, accepts GPU, VCPU, MEMORY
3620
4208
  # }
3621
4209
  #
3622
4210
  # @!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.
4211
+ # The quantity of the specified resource to reserve for the container.
4212
+ # The values vary based on the `type` specified.
4213
+ #
4214
+ # type="GPU"
4215
+ #
4216
+ # : The number of physical GPUs to reserve for the container. The
4217
+ # number of GPUs reserved for all containers in a job shouldn't
4218
+ # exceed the number of available GPUs on the compute resource that
4219
+ # the job is launched on.
4220
+ #
4221
+ # <note markdown="1"> GPUs are not available for jobs running on Fargate resources.
4222
+ #
4223
+ # </note>
4224
+ #
4225
+ # type="MEMORY"
4226
+ #
4227
+ # : For jobs running on EC2 resources, the hard limit (in MiB) of
4228
+ # memory to present to the container. If your container attempts to
4229
+ # exceed the memory specified here, the container is killed. This
4230
+ # parameter maps to `Memory` in the [Create a container][1] section
4231
+ # of the [Docker Remote API][2] and the `--memory` option to [docker
4232
+ # run][3]. You must specify at least 4 MiB of memory for a job. This
4233
+ # is required but can be specified in several places for multi-node
4234
+ # parallel (MNP) jobs. It must be specified for each node at least
4235
+ # once. This parameter maps to `Memory` in the [Create a
4236
+ # container][1] section of the [Docker Remote API][2] and the
4237
+ # `--memory` option to [docker run][3]. You must specify at least 4
4238
+ # MiB of memory for a job.
4239
+ #
4240
+ # <note markdown="1"> If you're trying to maximize your resource utilization by
4241
+ # providing your jobs as much memory as possible for a particular
4242
+ # instance type, see [Memory Management][4] in the *AWS Batch User
4243
+ # Guide*.
4244
+ #
4245
+ # </note>
4246
+ #
4247
+ # For jobs running on Fargate resources, then `value` is the hard
4248
+ # limit (in GiB), represented in decimal form, and must match one of
4249
+ # the supported values (0.5 and whole numbers between 1 and 30,
4250
+ # inclusive) and the `VCPU` values must be one of the values
4251
+ # supported for that memory value.
4252
+ #
4253
+ # value = 0.5
4254
+ #
4255
+ # : `VCPU` = 0.25
4256
+ #
4257
+ # value = 1
4258
+ #
4259
+ # : `VCPU` = 0.25 or 0.5
4260
+ #
4261
+ # value = 2
4262
+ #
4263
+ # : `VCPU` = 0.25, 0.5, or 1
4264
+ #
4265
+ # value = 3
4266
+ #
4267
+ # : `VCPU` = 0.5, or 1
4268
+ #
4269
+ # value = 4
4270
+ #
4271
+ # : `VCPU` = 0.5, 1, or 2
4272
+ #
4273
+ # value = 5, 6, or 7
4274
+ #
4275
+ # : `VCPU` = 1 or 2
4276
+ #
4277
+ # value = 8
4278
+ #
4279
+ # : `VCPU` = 1, 2, or 4
4280
+ #
4281
+ # value = 9, 10, 11, 12, 13, 14, 15, or 16
4282
+ #
4283
+ # : `VCPU` = 2 or 4
4284
+ #
4285
+ # value = 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, or 30
4286
+ #
4287
+ # : `VCPU` = 4
4288
+ #
4289
+ # type="VCPU"
4290
+ #
4291
+ # : The number of vCPUs reserved for the container. This parameter
4292
+ # maps to `CpuShares` in the [Create a container][1] section of the
4293
+ # [Docker Remote API][2] and the `--cpu-shares` option to [docker
4294
+ # run][3]. Each vCPU is equivalent to 1,024 CPU shares. You must
4295
+ # specify at least one vCPU. This is required but can be specified
4296
+ # in several places; it must be specified for each node at least
4297
+ # once.
4298
+ #
4299
+ # For jobs running on Fargate resources, then `value` must match one
4300
+ # of the supported values and the `MEMORY` values must be one of the
4301
+ # values supported for that VCPU value. The supported values are
4302
+ # 0.25, 0.5, 1, 2, and 4
4303
+ #
4304
+ # value = 0.25
4305
+ #
4306
+ # : `MEMORY` = 0.5, 1, or 2
4307
+ #
4308
+ # value = 0.5
4309
+ #
4310
+ # : `MEMORY` = 1, 2, 3, or 4
4311
+ #
4312
+ # value = 1
4313
+ #
4314
+ # : `MEMORY` = 2, 3, 4, 5, 6, 7, or 8
4315
+ #
4316
+ # value = 2
4317
+ #
4318
+ # : `MEMORY` = 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, or 16
4319
+ #
4320
+ # value = 4
4321
+ #
4322
+ # : `MEMORY` = 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
4323
+ # 22, 23, 24, 25, 26, 27, 28, 29, or 30
4324
+ #
4325
+ #
4326
+ #
4327
+ # [1]: https://docs.docker.com/engine/api/v1.23/#create-a-container
4328
+ # [2]: https://docs.docker.com/engine/api/v1.23/
4329
+ # [3]: https://docs.docker.com/engine/reference/run/
4330
+ # [4]: https://docs.aws.amazon.com/batch/latest/userguide/memory-management.html
3627
4331
  # @return [String]
3628
4332
  #
3629
4333
  # @!attribute [rw] type
3630
- # The type of resource to assign to a container. Currently, the only
3631
- # supported resource type is `GPU`.
4334
+ # The type of resource to assign to a container. The supported
4335
+ # resources include `GPU`, `MEMORY`, and `VCPU`.
3632
4336
  # @return [String]
3633
4337
  #
3634
4338
  # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/ResourceRequirement AWS API Documentation
@@ -3640,7 +4344,12 @@ module Aws::Batch
3640
4344
  include Aws::Structure
3641
4345
  end
3642
4346
 
3643
- # The retry strategy associated with a job.
4347
+ # The retry strategy associated with a job. For more information, see
4348
+ # [Automated job retries][1] in the *AWS Batch User Guide*.
4349
+ #
4350
+ #
4351
+ #
4352
+ # [1]: https://docs.aws.amazon.com/batch/latest/userguide/job_retries.html
3644
4353
  #
3645
4354
  # @note When making an API call, you may pass RetryStrategy
3646
4355
  # data as a hash:
@@ -3688,12 +4397,12 @@ module Aws::Batch
3688
4397
  # * To reference sensitive information in the log configuration of a
3689
4398
  # container, use the `secretOptions` container definition parameter.
3690
4399
  #
3691
- # For more information, see [Specifying Sensitive Data][1] in the
3692
- # *Amazon Elastic Container Service Developer Guide*.
4400
+ # For more information, see [Specifying sensitive data][1] in the *AWS
4401
+ # Batch User Guide*.
3693
4402
  #
3694
4403
  #
3695
4404
  #
3696
- # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/specifying-sensitive-data.html
4405
+ # [1]: https://docs.aws.amazon.com/batch/latest/userguide/specifying-sensitive-data.html
3697
4406
  #
3698
4407
  # @note When making an API call, you may pass Secret
3699
4408
  # data as a hash:
@@ -3713,7 +4422,7 @@ module Aws::Batch
3713
4422
  # ARN of the parameter in the AWS Systems Manager Parameter Store.
3714
4423
  #
3715
4424
  # <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
4425
+ # same Region as the job you are launching, then you can use either
3717
4426
  # the full ARN or name of the parameter. If the parameter exists in a
3718
4427
  # different Region, then the full ARN must be specified.
3719
4428
  #
@@ -3775,7 +4484,7 @@ module Aws::Batch
3775
4484
  # resource_requirements: [
3776
4485
  # {
3777
4486
  # value: "String", # required
3778
- # type: "GPU", # required, accepts GPU
4487
+ # type: "GPU", # required, accepts GPU, VCPU, MEMORY
3779
4488
  # },
3780
4489
  # ],
3781
4490
  # },
@@ -3798,7 +4507,7 @@ module Aws::Batch
3798
4507
  # resource_requirements: [
3799
4508
  # {
3800
4509
  # value: "String", # required
3801
- # type: "GPU", # required, accepts GPU
4510
+ # type: "GPU", # required, accepts GPU, VCPU, MEMORY
3802
4511
  # },
3803
4512
  # ],
3804
4513
  # },
@@ -3816,6 +4525,7 @@ module Aws::Batch
3816
4525
  # },
3817
4526
  # ],
3818
4527
  # },
4528
+ # propagate_tags: false,
3819
4529
  # timeout: {
3820
4530
  # attempt_duration_seconds: 1,
3821
4531
  # },
@@ -3885,6 +4595,11 @@ module Aws::Batch
3885
4595
  # @!attribute [rw] node_overrides
3886
4596
  # A list of node overrides in JSON format that specify the node range
3887
4597
  # to target and the container overrides for that node range.
4598
+ #
4599
+ # <note markdown="1"> This parameter isn't applicable to jobs running on Fargate
4600
+ # resources; use `containerOverrides` instead.
4601
+ #
4602
+ # </note>
3888
4603
  # @return [Types::NodeOverrides]
3889
4604
  #
3890
4605
  # @!attribute [rw] retry_strategy
@@ -3893,11 +4608,22 @@ module Aws::Batch
3893
4608
  # retry strategy defined in the job definition.
3894
4609
  # @return [Types::RetryStrategy]
3895
4610
  #
4611
+ # @!attribute [rw] propagate_tags
4612
+ # Specifies whether to propagate the tags from the job or job
4613
+ # definition to the corresponding Amazon ECS task. If no value is
4614
+ # specified, the tags aren't propagated. Tags can only be propagated
4615
+ # to the tasks during task creation. For tags with the same name, job
4616
+ # tags are given priority over job definitions tags. If the total
4617
+ # number of combined tags from the job and job definition is over 50,
4618
+ # the job is moved to the `FAILED` state. When specified, this
4619
+ # overrides the tag propagation setting in the job definition.
4620
+ # @return [Boolean]
4621
+ #
3896
4622
  # @!attribute [rw] timeout
3897
4623
  # The timeout configuration for this SubmitJob operation. You can
3898
4624
  # 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
4625
+ # jobs if they haven't finished. If a job is terminated due to a
4626
+ # timeout, it isn't retried. The minimum value for the timeout is 60
3901
4627
  # seconds. This configuration overrides any timeout configuration
3902
4628
  # specified in the job definition. For array jobs, child jobs have the
3903
4629
  # same timeout configuration as the parent job. For more information,
@@ -3932,6 +4658,7 @@ module Aws::Batch
3932
4658
  :container_overrides,
3933
4659
  :node_overrides,
3934
4660
  :retry_strategy,
4661
+ :propagate_tags,
3935
4662
  :timeout,
3936
4663
  :tags)
3937
4664
  SENSITIVE = []
@@ -3971,8 +4698,8 @@ module Aws::Batch
3971
4698
  # }
3972
4699
  #
3973
4700
  # @!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,
4701
+ # The Amazon Resource Name (ARN) of the resource that tags are added
4702
+ # to. AWS Batch resources that support tags are compute environments,
3976
4703
  # jobs, job definitions, and job queues. ARNs for child jobs of array
3977
4704
  # and multi-node parallel (MNP) jobs are not supported.
3978
4705
  # @return [String]
@@ -4035,6 +4762,10 @@ module Aws::Batch
4035
4762
 
4036
4763
  # The container path, mount options, and size of the tmpfs mount.
4037
4764
  #
4765
+ # <note markdown="1"> This object isn't applicable to jobs running on Fargate resources.
4766
+ #
4767
+ # </note>
4768
+ #
4038
4769
  # @note When making an API call, you may pass Tmpfs
4039
4770
  # data as a hash:
4040
4771
  #
@@ -4045,8 +4776,8 @@ module Aws::Batch
4045
4776
  # }
4046
4777
  #
4047
4778
  # @!attribute [rw] container_path
4048
- # The absolute file path in the container where the tmpfs volume is to
4049
- # be mounted.
4779
+ # The absolute file path in the container where the tmpfs volume is
4780
+ # mounted.
4050
4781
  # @return [String]
4051
4782
  #
4052
4783
  # @!attribute [rw] size
@@ -4080,6 +4811,10 @@ module Aws::Batch
4080
4811
 
4081
4812
  # The `ulimit` settings to pass to the container.
4082
4813
  #
4814
+ # <note markdown="1"> This object isn't applicable to jobs running on Fargate resources.
4815
+ #
4816
+ # </note>
4817
+ #
4083
4818
  # @note When making an API call, you may pass Ulimit
4084
4819
  # data as a hash:
4085
4820
  #
@@ -4153,6 +4888,8 @@ module Aws::Batch
4153
4888
  # minv_cpus: 1,
4154
4889
  # maxv_cpus: 1,
4155
4890
  # desiredv_cpus: 1,
4891
+ # subnets: ["String"],
4892
+ # security_group_ids: ["String"],
4156
4893
  # },
4157
4894
  # service_role: "String",
4158
4895
  # }
@@ -4182,7 +4919,7 @@ module Aws::Batch
4182
4919
  # role name with the path.
4183
4920
  #
4184
4921
  # <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
4922
+ # might contain the `service-role` path prefix. When you only specify
4186
4923
  # the name of the service role, AWS Batch assumes that your ARN does
4187
4924
  # not use the `service-role` path prefix. Because of this, we
4188
4925
  # recommend that you specify the full ARN of your service role when
@@ -4258,7 +4995,10 @@ module Aws::Batch
4258
4995
  # Details the set of compute environments mapped to a job queue and
4259
4996
  # their order relative to each other. This is one of the parameters
4260
4997
  # used by the job scheduler to determine which compute environment
4261
- # should execute a given job.
4998
+ # should run a given job. All of the compute environments must be
4999
+ # either EC2 (`EC2` or `SPOT`) or Fargate (`FARGATE` or
5000
+ # `FARGATE_SPOT`); EC2 and Fargate compute environments can't be
5001
+ # mixed.
4262
5002
  # @return [Array<Types::ComputeEnvironmentOrder>]
4263
5003
  #
4264
5004
  # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/UpdateJobQueueRequest AWS API Documentation
@@ -4305,9 +5045,14 @@ module Aws::Batch
4305
5045
  # The contents of the `host` parameter determine whether your data
4306
5046
  # volume persists on the host container instance and where it is
4307
5047
  # 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
5048
+ # assigns a host path for your data volume. However, the data isn't
4309
5049
  # guaranteed to persist after the containers associated with it stop
4310
5050
  # running.
5051
+ #
5052
+ # <note markdown="1"> This parameter isn't applicable to jobs running on Fargate
5053
+ # resources and shouldn't be provided.
5054
+ #
5055
+ # </note>
4311
5056
  # @return [Types::Host]
4312
5057
  #
4313
5058
  # @!attribute [rw] name