aws-sdk-batch 1.41.0 → 1.42.0

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