aws-sdk-batch 1.39.0 → 1.44.0

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