aws-sdk-batch 1.38.0 → 1.43.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -18,6 +18,7 @@ module Aws::Batch
18
18
  ArrayProperties = Shapes::StructureShape.new(name: 'ArrayProperties')
19
19
  ArrayPropertiesDetail = Shapes::StructureShape.new(name: 'ArrayPropertiesDetail')
20
20
  ArrayPropertiesSummary = Shapes::StructureShape.new(name: 'ArrayPropertiesSummary')
21
+ AssignPublicIp = Shapes::StringShape.new(name: 'AssignPublicIp')
21
22
  AttemptContainerDetail = Shapes::StructureShape.new(name: 'AttemptContainerDetail')
22
23
  AttemptDetail = Shapes::StructureShape.new(name: 'AttemptDetail')
23
24
  AttemptDetails = Shapes::ListShape.new(name: 'AttemptDetails')
@@ -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')
@@ -85,12 +93,15 @@ module Aws::Batch
85
93
  LinuxParameters = Shapes::StructureShape.new(name: 'LinuxParameters')
86
94
  ListJobsRequest = Shapes::StructureShape.new(name: 'ListJobsRequest')
87
95
  ListJobsResponse = Shapes::StructureShape.new(name: 'ListJobsResponse')
96
+ ListTagsForResourceRequest = Shapes::StructureShape.new(name: 'ListTagsForResourceRequest')
97
+ ListTagsForResourceResponse = Shapes::StructureShape.new(name: 'ListTagsForResourceResponse')
88
98
  LogConfiguration = Shapes::StructureShape.new(name: 'LogConfiguration')
89
99
  LogConfigurationOptionsMap = Shapes::MapShape.new(name: 'LogConfigurationOptionsMap')
90
100
  LogDriver = Shapes::StringShape.new(name: 'LogDriver')
91
101
  Long = Shapes::IntegerShape.new(name: 'Long')
92
102
  MountPoint = Shapes::StructureShape.new(name: 'MountPoint')
93
103
  MountPoints = Shapes::ListShape.new(name: 'MountPoints')
104
+ NetworkConfiguration = Shapes::StructureShape.new(name: 'NetworkConfiguration')
94
105
  NetworkInterface = Shapes::StructureShape.new(name: 'NetworkInterface')
95
106
  NetworkInterfaceList = Shapes::ListShape.new(name: 'NetworkInterfaceList')
96
107
  NodeDetails = Shapes::StructureShape.new(name: 'NodeDetails')
@@ -102,11 +113,14 @@ module Aws::Batch
102
113
  NodeRangeProperties = Shapes::ListShape.new(name: 'NodeRangeProperties')
103
114
  NodeRangeProperty = Shapes::StructureShape.new(name: 'NodeRangeProperty')
104
115
  ParametersMap = Shapes::MapShape.new(name: 'ParametersMap')
116
+ PlatformCapability = Shapes::StringShape.new(name: 'PlatformCapability')
117
+ PlatformCapabilityList = Shapes::ListShape.new(name: 'PlatformCapabilityList')
105
118
  RegisterJobDefinitionRequest = Shapes::StructureShape.new(name: 'RegisterJobDefinitionRequest')
106
119
  RegisterJobDefinitionResponse = Shapes::StructureShape.new(name: 'RegisterJobDefinitionResponse')
107
120
  ResourceRequirement = Shapes::StructureShape.new(name: 'ResourceRequirement')
108
121
  ResourceRequirements = Shapes::ListShape.new(name: 'ResourceRequirements')
109
122
  ResourceType = Shapes::StringShape.new(name: 'ResourceType')
123
+ RetryAction = Shapes::StringShape.new(name: 'RetryAction')
110
124
  RetryStrategy = Shapes::StructureShape.new(name: 'RetryStrategy')
111
125
  Secret = Shapes::StructureShape.new(name: 'Secret')
112
126
  SecretList = Shapes::ListShape.new(name: 'SecretList')
@@ -115,6 +129,12 @@ module Aws::Batch
115
129
  StringList = Shapes::ListShape.new(name: 'StringList')
116
130
  SubmitJobRequest = Shapes::StructureShape.new(name: 'SubmitJobRequest')
117
131
  SubmitJobResponse = Shapes::StructureShape.new(name: 'SubmitJobResponse')
132
+ TagKey = Shapes::StringShape.new(name: 'TagKey')
133
+ TagKeysList = Shapes::ListShape.new(name: 'TagKeysList')
134
+ TagResourceRequest = Shapes::StructureShape.new(name: 'TagResourceRequest')
135
+ TagResourceResponse = Shapes::StructureShape.new(name: 'TagResourceResponse')
136
+ TagValue = Shapes::StringShape.new(name: 'TagValue')
137
+ TagrisTagsMap = Shapes::MapShape.new(name: 'TagrisTagsMap')
118
138
  TagsMap = Shapes::MapShape.new(name: 'TagsMap')
119
139
  TerminateJobRequest = Shapes::StructureShape.new(name: 'TerminateJobRequest')
120
140
  TerminateJobResponse = Shapes::StructureShape.new(name: 'TerminateJobResponse')
@@ -122,6 +142,8 @@ module Aws::Batch
122
142
  TmpfsList = Shapes::ListShape.new(name: 'TmpfsList')
123
143
  Ulimit = Shapes::StructureShape.new(name: 'Ulimit')
124
144
  Ulimits = Shapes::ListShape.new(name: 'Ulimits')
145
+ UntagResourceRequest = Shapes::StructureShape.new(name: 'UntagResourceRequest')
146
+ UntagResourceResponse = Shapes::StructureShape.new(name: 'UntagResourceResponse')
125
147
  UpdateComputeEnvironmentRequest = Shapes::StructureShape.new(name: 'UpdateComputeEnvironmentRequest')
126
148
  UpdateComputeEnvironmentResponse = Shapes::StructureShape.new(name: 'UpdateComputeEnvironmentResponse')
127
149
  UpdateJobQueueRequest = Shapes::StructureShape.new(name: 'UpdateJobQueueRequest')
@@ -172,6 +194,7 @@ module Aws::Batch
172
194
  ComputeEnvironmentDetail.add_member(:compute_environment_name, Shapes::ShapeRef.new(shape: String, required: true, location_name: "computeEnvironmentName"))
173
195
  ComputeEnvironmentDetail.add_member(:compute_environment_arn, Shapes::ShapeRef.new(shape: String, required: true, location_name: "computeEnvironmentArn"))
174
196
  ComputeEnvironmentDetail.add_member(:ecs_cluster_arn, Shapes::ShapeRef.new(shape: String, required: true, location_name: "ecsClusterArn"))
197
+ ComputeEnvironmentDetail.add_member(:tags, Shapes::ShapeRef.new(shape: TagrisTagsMap, location_name: "tags"))
175
198
  ComputeEnvironmentDetail.add_member(:type, Shapes::ShapeRef.new(shape: CEType, location_name: "type"))
176
199
  ComputeEnvironmentDetail.add_member(:state, Shapes::ShapeRef.new(shape: CEState, location_name: "state"))
177
200
  ComputeEnvironmentDetail.add_member(:status, Shapes::ShapeRef.new(shape: CEStatus, location_name: "status"))
@@ -190,25 +213,28 @@ module Aws::Batch
190
213
 
191
214
  ComputeResource.add_member(:type, Shapes::ShapeRef.new(shape: CRType, required: true, location_name: "type"))
192
215
  ComputeResource.add_member(:allocation_strategy, Shapes::ShapeRef.new(shape: CRAllocationStrategy, location_name: "allocationStrategy"))
193
- 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"))
194
217
  ComputeResource.add_member(:maxv_cpus, Shapes::ShapeRef.new(shape: Integer, required: true, location_name: "maxvCpus"))
195
218
  ComputeResource.add_member(:desiredv_cpus, Shapes::ShapeRef.new(shape: Integer, location_name: "desiredvCpus"))
196
- ComputeResource.add_member(:instance_types, Shapes::ShapeRef.new(shape: StringList, required: true, location_name: "instanceTypes"))
197
- 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."}))
198
221
  ComputeResource.add_member(:subnets, Shapes::ShapeRef.new(shape: StringList, required: true, location_name: "subnets"))
199
222
  ComputeResource.add_member(:security_group_ids, Shapes::ShapeRef.new(shape: StringList, location_name: "securityGroupIds"))
200
223
  ComputeResource.add_member(:ec2_key_pair, Shapes::ShapeRef.new(shape: String, location_name: "ec2KeyPair"))
201
- 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"))
202
225
  ComputeResource.add_member(:tags, Shapes::ShapeRef.new(shape: TagsMap, location_name: "tags"))
203
226
  ComputeResource.add_member(:placement_group, Shapes::ShapeRef.new(shape: String, location_name: "placementGroup"))
204
227
  ComputeResource.add_member(:bid_percentage, Shapes::ShapeRef.new(shape: Integer, location_name: "bidPercentage"))
205
228
  ComputeResource.add_member(:spot_iam_fleet_role, Shapes::ShapeRef.new(shape: String, location_name: "spotIamFleetRole"))
206
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"))
207
231
  ComputeResource.struct_class = Types::ComputeResource
208
232
 
209
233
  ComputeResourceUpdate.add_member(:minv_cpus, Shapes::ShapeRef.new(shape: Integer, location_name: "minvCpus"))
210
234
  ComputeResourceUpdate.add_member(:maxv_cpus, Shapes::ShapeRef.new(shape: Integer, location_name: "maxvCpus"))
211
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"))
212
238
  ComputeResourceUpdate.struct_class = Types::ComputeResourceUpdate
213
239
 
214
240
  ContainerDetail.add_member(:image, Shapes::ShapeRef.new(shape: String, location_name: "image"))
@@ -235,10 +261,12 @@ module Aws::Batch
235
261
  ContainerDetail.add_member(:linux_parameters, Shapes::ShapeRef.new(shape: LinuxParameters, location_name: "linuxParameters"))
236
262
  ContainerDetail.add_member(:log_configuration, Shapes::ShapeRef.new(shape: LogConfiguration, location_name: "logConfiguration"))
237
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"))
238
266
  ContainerDetail.struct_class = Types::ContainerDetail
239
267
 
240
- ContainerOverrides.add_member(:vcpus, Shapes::ShapeRef.new(shape: Integer, location_name: "vcpus"))
241
- 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."}))
242
270
  ContainerOverrides.add_member(:command, Shapes::ShapeRef.new(shape: StringList, location_name: "command"))
243
271
  ContainerOverrides.add_member(:instance_type, Shapes::ShapeRef.new(shape: String, location_name: "instanceType"))
244
272
  ContainerOverrides.add_member(:environment, Shapes::ShapeRef.new(shape: EnvironmentVariables, location_name: "environment"))
@@ -246,8 +274,8 @@ module Aws::Batch
246
274
  ContainerOverrides.struct_class = Types::ContainerOverrides
247
275
 
248
276
  ContainerProperties.add_member(:image, Shapes::ShapeRef.new(shape: String, location_name: "image"))
249
- ContainerProperties.add_member(:vcpus, Shapes::ShapeRef.new(shape: Integer, location_name: "vcpus"))
250
- 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."}))
251
279
  ContainerProperties.add_member(:command, Shapes::ShapeRef.new(shape: StringList, location_name: "command"))
252
280
  ContainerProperties.add_member(:job_role_arn, Shapes::ShapeRef.new(shape: String, location_name: "jobRoleArn"))
253
281
  ContainerProperties.add_member(:execution_role_arn, Shapes::ShapeRef.new(shape: String, location_name: "executionRoleArn"))
@@ -263,6 +291,8 @@ module Aws::Batch
263
291
  ContainerProperties.add_member(:linux_parameters, Shapes::ShapeRef.new(shape: LinuxParameters, location_name: "linuxParameters"))
264
292
  ContainerProperties.add_member(:log_configuration, Shapes::ShapeRef.new(shape: LogConfiguration, location_name: "logConfiguration"))
265
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"))
266
296
  ContainerProperties.struct_class = Types::ContainerProperties
267
297
 
268
298
  ContainerSummary.add_member(:exit_code, Shapes::ShapeRef.new(shape: Integer, location_name: "exitCode"))
@@ -274,6 +304,7 @@ module Aws::Batch
274
304
  CreateComputeEnvironmentRequest.add_member(:state, Shapes::ShapeRef.new(shape: CEState, location_name: "state"))
275
305
  CreateComputeEnvironmentRequest.add_member(:compute_resources, Shapes::ShapeRef.new(shape: ComputeResource, location_name: "computeResources"))
276
306
  CreateComputeEnvironmentRequest.add_member(:service_role, Shapes::ShapeRef.new(shape: String, required: true, location_name: "serviceRole"))
307
+ CreateComputeEnvironmentRequest.add_member(:tags, Shapes::ShapeRef.new(shape: TagrisTagsMap, location_name: "tags"))
277
308
  CreateComputeEnvironmentRequest.struct_class = Types::CreateComputeEnvironmentRequest
278
309
 
279
310
  CreateComputeEnvironmentResponse.add_member(:compute_environment_name, Shapes::ShapeRef.new(shape: String, location_name: "computeEnvironmentName"))
@@ -284,6 +315,7 @@ module Aws::Batch
284
315
  CreateJobQueueRequest.add_member(:state, Shapes::ShapeRef.new(shape: JQState, location_name: "state"))
285
316
  CreateJobQueueRequest.add_member(:priority, Shapes::ShapeRef.new(shape: Integer, required: true, location_name: "priority"))
286
317
  CreateJobQueueRequest.add_member(:compute_environment_order, Shapes::ShapeRef.new(shape: ComputeEnvironmentOrders, required: true, location_name: "computeEnvironmentOrder"))
318
+ CreateJobQueueRequest.add_member(:tags, Shapes::ShapeRef.new(shape: TagrisTagsMap, location_name: "tags"))
287
319
  CreateJobQueueRequest.struct_class = Types::CreateJobQueueRequest
288
320
 
289
321
  CreateJobQueueResponse.add_member(:job_queue_name, Shapes::ShapeRef.new(shape: String, required: true, location_name: "jobQueueName"))
@@ -349,8 +381,25 @@ module Aws::Batch
349
381
 
350
382
  DevicesList.member = Shapes::ShapeRef.new(shape: Device)
351
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
+
352
390
  EnvironmentVariables.member = Shapes::ShapeRef.new(shape: KeyValuePair)
353
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
+
354
403
  Host.add_member(:source_path, Shapes::ShapeRef.new(shape: String, location_name: "sourcePath"))
355
404
  Host.struct_class = Types::Host
356
405
 
@@ -364,6 +413,9 @@ module Aws::Batch
364
413
  JobDefinition.add_member(:container_properties, Shapes::ShapeRef.new(shape: ContainerProperties, location_name: "containerProperties"))
365
414
  JobDefinition.add_member(:timeout, Shapes::ShapeRef.new(shape: JobTimeout, location_name: "timeout"))
366
415
  JobDefinition.add_member(:node_properties, Shapes::ShapeRef.new(shape: NodeProperties, location_name: "nodeProperties"))
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"))
367
419
  JobDefinition.struct_class = Types::JobDefinition
368
420
 
369
421
  JobDefinitionList.member = Shapes::ShapeRef.new(shape: JobDefinition)
@@ -374,6 +426,7 @@ module Aws::Batch
374
426
 
375
427
  JobDependencyList.member = Shapes::ShapeRef.new(shape: JobDependency)
376
428
 
429
+ JobDetail.add_member(:job_arn, Shapes::ShapeRef.new(shape: String, location_name: "jobArn"))
377
430
  JobDetail.add_member(:job_name, Shapes::ShapeRef.new(shape: String, required: true, location_name: "jobName"))
378
431
  JobDetail.add_member(:job_id, Shapes::ShapeRef.new(shape: String, required: true, location_name: "jobId"))
379
432
  JobDetail.add_member(:job_queue, Shapes::ShapeRef.new(shape: String, required: true, location_name: "jobQueue"))
@@ -392,6 +445,9 @@ module Aws::Batch
392
445
  JobDetail.add_member(:node_properties, Shapes::ShapeRef.new(shape: NodeProperties, location_name: "nodeProperties"))
393
446
  JobDetail.add_member(:array_properties, Shapes::ShapeRef.new(shape: ArrayPropertiesDetail, location_name: "arrayProperties"))
394
447
  JobDetail.add_member(:timeout, Shapes::ShapeRef.new(shape: JobTimeout, location_name: "timeout"))
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"))
395
451
  JobDetail.struct_class = Types::JobDetail
396
452
 
397
453
  JobDetailList.member = Shapes::ShapeRef.new(shape: JobDetail)
@@ -403,10 +459,12 @@ module Aws::Batch
403
459
  JobQueueDetail.add_member(:status_reason, Shapes::ShapeRef.new(shape: String, location_name: "statusReason"))
404
460
  JobQueueDetail.add_member(:priority, Shapes::ShapeRef.new(shape: Integer, required: true, location_name: "priority"))
405
461
  JobQueueDetail.add_member(:compute_environment_order, Shapes::ShapeRef.new(shape: ComputeEnvironmentOrders, required: true, location_name: "computeEnvironmentOrder"))
462
+ JobQueueDetail.add_member(:tags, Shapes::ShapeRef.new(shape: TagrisTagsMap, location_name: "tags"))
406
463
  JobQueueDetail.struct_class = Types::JobQueueDetail
407
464
 
408
465
  JobQueueDetailList.member = Shapes::ShapeRef.new(shape: JobQueueDetail)
409
466
 
467
+ JobSummary.add_member(:job_arn, Shapes::ShapeRef.new(shape: String, location_name: "jobArn"))
410
468
  JobSummary.add_member(:job_id, Shapes::ShapeRef.new(shape: String, required: true, location_name: "jobId"))
411
469
  JobSummary.add_member(:job_name, Shapes::ShapeRef.new(shape: String, required: true, location_name: "jobName"))
412
470
  JobSummary.add_member(:created_at, Shapes::ShapeRef.new(shape: Long, location_name: "createdAt"))
@@ -453,6 +511,12 @@ module Aws::Batch
453
511
  ListJobsResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: String, location_name: "nextToken"))
454
512
  ListJobsResponse.struct_class = Types::ListJobsResponse
455
513
 
514
+ ListTagsForResourceRequest.add_member(:resource_arn, Shapes::ShapeRef.new(shape: String, required: true, location: "uri", location_name: "resourceArn"))
515
+ ListTagsForResourceRequest.struct_class = Types::ListTagsForResourceRequest
516
+
517
+ ListTagsForResourceResponse.add_member(:tags, Shapes::ShapeRef.new(shape: TagrisTagsMap, location_name: "tags"))
518
+ ListTagsForResourceResponse.struct_class = Types::ListTagsForResourceResponse
519
+
456
520
  LogConfiguration.add_member(:log_driver, Shapes::ShapeRef.new(shape: LogDriver, required: true, location_name: "logDriver"))
457
521
  LogConfiguration.add_member(:options, Shapes::ShapeRef.new(shape: LogConfigurationOptionsMap, location_name: "options"))
458
522
  LogConfiguration.add_member(:secret_options, Shapes::ShapeRef.new(shape: SecretList, location_name: "secretOptions"))
@@ -468,6 +532,9 @@ module Aws::Batch
468
532
 
469
533
  MountPoints.member = Shapes::ShapeRef.new(shape: MountPoint)
470
534
 
535
+ NetworkConfiguration.add_member(:assign_public_ip, Shapes::ShapeRef.new(shape: AssignPublicIp, location_name: "assignPublicIp"))
536
+ NetworkConfiguration.struct_class = Types::NetworkConfiguration
537
+
471
538
  NetworkInterface.add_member(:attachment_id, Shapes::ShapeRef.new(shape: String, location_name: "attachmentId"))
472
539
  NetworkInterface.add_member(:ipv6_address, Shapes::ShapeRef.new(shape: String, location_name: "ipv6Address"))
473
540
  NetworkInterface.add_member(:private_ipv_4_address, Shapes::ShapeRef.new(shape: String, location_name: "privateIpv4Address"))
@@ -508,13 +575,18 @@ module Aws::Batch
508
575
  ParametersMap.key = Shapes::ShapeRef.new(shape: String)
509
576
  ParametersMap.value = Shapes::ShapeRef.new(shape: String)
510
577
 
578
+ PlatformCapabilityList.member = Shapes::ShapeRef.new(shape: PlatformCapability)
579
+
511
580
  RegisterJobDefinitionRequest.add_member(:job_definition_name, Shapes::ShapeRef.new(shape: String, required: true, location_name: "jobDefinitionName"))
512
581
  RegisterJobDefinitionRequest.add_member(:type, Shapes::ShapeRef.new(shape: JobDefinitionType, required: true, location_name: "type"))
513
582
  RegisterJobDefinitionRequest.add_member(:parameters, Shapes::ShapeRef.new(shape: ParametersMap, location_name: "parameters"))
514
583
  RegisterJobDefinitionRequest.add_member(:container_properties, Shapes::ShapeRef.new(shape: ContainerProperties, location_name: "containerProperties"))
515
584
  RegisterJobDefinitionRequest.add_member(:node_properties, Shapes::ShapeRef.new(shape: NodeProperties, location_name: "nodeProperties"))
516
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"))
517
587
  RegisterJobDefinitionRequest.add_member(:timeout, Shapes::ShapeRef.new(shape: JobTimeout, location_name: "timeout"))
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"))
518
590
  RegisterJobDefinitionRequest.struct_class = Types::RegisterJobDefinitionRequest
519
591
 
520
592
  RegisterJobDefinitionResponse.add_member(:job_definition_name, Shapes::ShapeRef.new(shape: String, required: true, location_name: "jobDefinitionName"))
@@ -529,6 +601,7 @@ module Aws::Batch
529
601
  ResourceRequirements.member = Shapes::ShapeRef.new(shape: ResourceRequirement)
530
602
 
531
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"))
532
605
  RetryStrategy.struct_class = Types::RetryStrategy
533
606
 
534
607
  Secret.add_member(:name, Shapes::ShapeRef.new(shape: String, required: true, location_name: "name"))
@@ -551,13 +624,27 @@ module Aws::Batch
551
624
  SubmitJobRequest.add_member(:container_overrides, Shapes::ShapeRef.new(shape: ContainerOverrides, location_name: "containerOverrides"))
552
625
  SubmitJobRequest.add_member(:node_overrides, Shapes::ShapeRef.new(shape: NodeOverrides, location_name: "nodeOverrides"))
553
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"))
554
628
  SubmitJobRequest.add_member(:timeout, Shapes::ShapeRef.new(shape: JobTimeout, location_name: "timeout"))
629
+ SubmitJobRequest.add_member(:tags, Shapes::ShapeRef.new(shape: TagrisTagsMap, location_name: "tags"))
555
630
  SubmitJobRequest.struct_class = Types::SubmitJobRequest
556
631
 
632
+ SubmitJobResponse.add_member(:job_arn, Shapes::ShapeRef.new(shape: String, location_name: "jobArn"))
557
633
  SubmitJobResponse.add_member(:job_name, Shapes::ShapeRef.new(shape: String, required: true, location_name: "jobName"))
558
634
  SubmitJobResponse.add_member(:job_id, Shapes::ShapeRef.new(shape: String, required: true, location_name: "jobId"))
559
635
  SubmitJobResponse.struct_class = Types::SubmitJobResponse
560
636
 
637
+ TagKeysList.member = Shapes::ShapeRef.new(shape: TagKey)
638
+
639
+ TagResourceRequest.add_member(:resource_arn, Shapes::ShapeRef.new(shape: String, required: true, location: "uri", location_name: "resourceArn"))
640
+ TagResourceRequest.add_member(:tags, Shapes::ShapeRef.new(shape: TagrisTagsMap, required: true, location_name: "tags"))
641
+ TagResourceRequest.struct_class = Types::TagResourceRequest
642
+
643
+ TagResourceResponse.struct_class = Types::TagResourceResponse
644
+
645
+ TagrisTagsMap.key = Shapes::ShapeRef.new(shape: TagKey)
646
+ TagrisTagsMap.value = Shapes::ShapeRef.new(shape: TagValue)
647
+
561
648
  TagsMap.key = Shapes::ShapeRef.new(shape: String)
562
649
  TagsMap.value = Shapes::ShapeRef.new(shape: String)
563
650
 
@@ -581,6 +668,12 @@ module Aws::Batch
581
668
 
582
669
  Ulimits.member = Shapes::ShapeRef.new(shape: Ulimit)
583
670
 
671
+ UntagResourceRequest.add_member(:resource_arn, Shapes::ShapeRef.new(shape: String, required: true, location: "uri", location_name: "resourceArn"))
672
+ UntagResourceRequest.add_member(:tag_keys, Shapes::ShapeRef.new(shape: TagKeysList, required: true, location: "querystring", location_name: "tagKeys"))
673
+ UntagResourceRequest.struct_class = Types::UntagResourceRequest
674
+
675
+ UntagResourceResponse.struct_class = Types::UntagResourceResponse
676
+
584
677
  UpdateComputeEnvironmentRequest.add_member(:compute_environment, Shapes::ShapeRef.new(shape: String, required: true, location_name: "computeEnvironment"))
585
678
  UpdateComputeEnvironmentRequest.add_member(:state, Shapes::ShapeRef.new(shape: CEState, location_name: "state"))
586
679
  UpdateComputeEnvironmentRequest.add_member(:compute_resources, Shapes::ShapeRef.new(shape: ComputeResourceUpdate, location_name: "computeResources"))
@@ -759,6 +852,16 @@ module Aws::Batch
759
852
  )
760
853
  end)
761
854
 
855
+ api.add_operation(:list_tags_for_resource, Seahorse::Model::Operation.new.tap do |o|
856
+ o.name = "ListTagsForResource"
857
+ o.http_method = "GET"
858
+ o.http_request_uri = "/v1/tags/{resourceArn}"
859
+ o.input = Shapes::ShapeRef.new(shape: ListTagsForResourceRequest)
860
+ o.output = Shapes::ShapeRef.new(shape: ListTagsForResourceResponse)
861
+ o.errors << Shapes::ShapeRef.new(shape: ClientException)
862
+ o.errors << Shapes::ShapeRef.new(shape: ServerException)
863
+ end)
864
+
762
865
  api.add_operation(:register_job_definition, Seahorse::Model::Operation.new.tap do |o|
763
866
  o.name = "RegisterJobDefinition"
764
867
  o.http_method = "POST"
@@ -779,6 +882,16 @@ module Aws::Batch
779
882
  o.errors << Shapes::ShapeRef.new(shape: ServerException)
780
883
  end)
781
884
 
885
+ api.add_operation(:tag_resource, Seahorse::Model::Operation.new.tap do |o|
886
+ o.name = "TagResource"
887
+ o.http_method = "POST"
888
+ o.http_request_uri = "/v1/tags/{resourceArn}"
889
+ o.input = Shapes::ShapeRef.new(shape: TagResourceRequest)
890
+ o.output = Shapes::ShapeRef.new(shape: TagResourceResponse)
891
+ o.errors << Shapes::ShapeRef.new(shape: ClientException)
892
+ o.errors << Shapes::ShapeRef.new(shape: ServerException)
893
+ end)
894
+
782
895
  api.add_operation(:terminate_job, Seahorse::Model::Operation.new.tap do |o|
783
896
  o.name = "TerminateJob"
784
897
  o.http_method = "POST"
@@ -789,6 +902,16 @@ module Aws::Batch
789
902
  o.errors << Shapes::ShapeRef.new(shape: ServerException)
790
903
  end)
791
904
 
905
+ api.add_operation(:untag_resource, Seahorse::Model::Operation.new.tap do |o|
906
+ o.name = "UntagResource"
907
+ o.http_method = "DELETE"
908
+ o.http_request_uri = "/v1/tags/{resourceArn}"
909
+ o.input = Shapes::ShapeRef.new(shape: UntagResourceRequest)
910
+ o.output = Shapes::ShapeRef.new(shape: UntagResourceResponse)
911
+ o.errors << Shapes::ShapeRef.new(shape: ClientException)
912
+ o.errors << Shapes::ShapeRef.new(shape: ServerException)
913
+ end)
914
+
792
915
  api.add_operation(:update_compute_environment, Seahorse::Model::Operation.new.tap do |o|
793
916
  o.name = "UpdateComputeEnvironment"
794
917
  o.http_method = "POST"
@@ -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
@@ -224,8 +227,18 @@ module Aws::Batch
224
227
  # used by the compute environment.
225
228
  # @return [String]
226
229
  #
230
+ # @!attribute [rw] tags
231
+ # The tags applied to the compute environment.
232
+ # @return [Hash<String,String>]
233
+ #
227
234
  # @!attribute [rw] type
228
- # 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
229
242
  # @return [String]
230
243
  #
231
244
  # @!attribute [rw] state
@@ -238,10 +251,10 @@ module Aws::Batch
238
251
  # it can scale its instances out or in automatically, based on the job
239
252
  # queue demand.
240
253
  #
241
- # 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
242
255
  # attempt to place jobs within the environment. Jobs in a `STARTING`
243
256
  # or `RUNNING` state continue to progress normally. Managed compute
244
- # environments in the `DISABLED` state do not scale out. However, they
257
+ # environments in the `DISABLED` state don't scale out. However, they
245
258
  # scale in to `minvCpus` value after instances become idle.
246
259
  # @return [String]
247
260
  #
@@ -256,12 +269,24 @@ module Aws::Batch
256
269
  # @return [String]
257
270
  #
258
271
  # @!attribute [rw] compute_resources
259
- # 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
260
279
  # @return [Types::ComputeResource]
261
280
  #
262
281
  # @!attribute [rw] service_role
263
282
  # The service role associated with the compute environment that allows
264
- # 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
265
290
  # @return [String]
266
291
  #
267
292
  # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/ComputeEnvironmentDetail AWS API Documentation
@@ -270,6 +295,7 @@ module Aws::Batch
270
295
  :compute_environment_name,
271
296
  :compute_environment_arn,
272
297
  :ecs_cluster_arn,
298
+ :tags,
273
299
  :type,
274
300
  :state,
275
301
  :status,
@@ -284,7 +310,17 @@ module Aws::Batch
284
310
  # within a queue. Compute environments are tried in ascending order. For
285
311
  # example, if two compute environments are associated with a job queue,
286
312
  # the compute environment with a lower order integer value is tried for
287
- # 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>
288
324
  #
289
325
  # @note When making an API call, you may pass ComputeEnvironmentOrder
290
326
  # data as a hash:
@@ -295,7 +331,10 @@ module Aws::Batch
295
331
  # }
296
332
  #
297
333
  # @!attribute [rw] order
298
- # 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.
299
338
  # @return [Integer]
300
339
  #
301
340
  # @!attribute [rw] compute_environment
@@ -311,23 +350,29 @@ module Aws::Batch
311
350
  include Aws::Structure
312
351
  end
313
352
 
314
- # 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
315
360
  #
316
361
  # @note When making an API call, you may pass ComputeResource
317
362
  # data as a hash:
318
363
  #
319
364
  # {
320
- # type: "EC2", # required, accepts EC2, SPOT
365
+ # type: "EC2", # required, accepts EC2, SPOT, FARGATE, FARGATE_SPOT
321
366
  # allocation_strategy: "BEST_FIT", # accepts BEST_FIT, BEST_FIT_PROGRESSIVE, SPOT_CAPACITY_OPTIMIZED
322
- # minv_cpus: 1, # required
367
+ # minv_cpus: 1,
323
368
  # maxv_cpus: 1, # required
324
369
  # desiredv_cpus: 1,
325
- # instance_types: ["String"], # required
370
+ # instance_types: ["String"],
326
371
  # image_id: "String",
327
372
  # subnets: ["String"], # required
328
373
  # security_group_ids: ["String"],
329
374
  # ec2_key_pair: "String",
330
- # instance_role: "String", # required
375
+ # instance_role: "String",
331
376
  # tags: {
332
377
  # "String" => "String",
333
378
  # },
@@ -339,30 +384,74 @@ module Aws::Batch
339
384
  # launch_template_name: "String",
340
385
  # version: "String",
341
386
  # },
387
+ # ec2_configuration: [
388
+ # {
389
+ # image_type: "ImageType", # required
390
+ # image_id_override: "ImageIdOverride",
391
+ # },
392
+ # ],
342
393
  # }
343
394
  #
344
395
  # @!attribute [rw] type
345
- # 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
346
408
  # @return [String]
347
409
  #
348
410
  # @!attribute [rw] allocation_strategy
349
- # The allocation strategy to use for the compute resource in case not
411
+ # The allocation strategy to use for the compute resource if not
350
412
  # enough instances of the best fitting instance type can be allocated.
351
- # This could be due to availability of the instance type in the region
352
- # or [Amazon EC2 service limits][1]. If this is not specified, the
353
- # default is `BEST_FIT`, which will use only the best fitting instance
354
- # type, waiting for additional capacity if it's not available. This
355
- # allocation strategy keeps costs lower but can limit scaling. If you
356
- # are using Spot Fleets with `BEST_FIT` then the Spot Fleet IAM Role
357
- # must be specified. `BEST_FIT_PROGRESSIVE` will select additional
358
- # instance types that are large enough to meet the requirements of the
359
- # jobs in the queue, with a preference for instance types with a lower
360
- # cost per vCPU. `SPOT_CAPACITY_OPTIMIZED` is only available for Spot
361
- # Instance compute resources and will select additional instance types
362
- # that are large enough to meet the requirements of the jobs in the
363
- # queue, with a preference for instance types that are less likely to
364
- # be interrupted. For more information, see [Allocation Strategies][2]
365
- # 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.
366
455
  #
367
456
  #
368
457
  #
@@ -373,35 +462,98 @@ module Aws::Batch
373
462
  # @!attribute [rw] minv_cpus
374
463
  # The minimum number of Amazon EC2 vCPUs that an environment should
375
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>
376
470
  # @return [Integer]
377
471
  #
378
472
  # @!attribute [rw] maxv_cpus
379
- # The maximum number of Amazon EC2 vCPUs that an environment can
380
- # 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>
381
484
  # @return [Integer]
382
485
  #
383
486
  # @!attribute [rw] desiredv_cpus
384
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>
385
495
  # @return [Integer]
386
496
  #
387
497
  # @!attribute [rw] instance_types
388
- # The instances types that may be launched. You can specify instance
498
+ # The instances types that can be launched. You can specify instance
389
499
  # families to launch any instance type within those families (for
390
500
  # example, `c5` or `p3`), or you can specify specific sizes within a
391
- # family (such as `c5.8xlarge`). You can also choose `optimal` to pick
392
- # instance types (from the C, M, and R instance families) on the fly
393
- # 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>
394
523
  # @return [Array<String>]
395
524
  #
396
525
  # @!attribute [rw] image_id
397
526
  # The Amazon Machine Image (AMI) ID used for instances launched in the
398
- # 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
399
549
  # @return [String]
400
550
  #
401
551
  # @!attribute [rw] subnets
402
- # The VPC subnets into which the compute resources are launched. For
403
- # more information, see [VPCs and Subnets][1] in the *Amazon VPC User
404
- # 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*.
405
557
  #
406
558
  #
407
559
  #
@@ -412,14 +564,22 @@ module Aws::Batch
412
564
  # The Amazon EC2 security groups associated with instances launched in
413
565
  # the compute environment. One or more security groups must be
414
566
  # specified, either in `securityGroupIds` or using a launch template
415
- # referenced in `launchTemplate`. If security groups are specified
416
- # using both `securityGroupIds` and `launchTemplate`, the values in
417
- # `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.
418
572
  # @return [Array<String>]
419
573
  #
420
574
  # @!attribute [rw] ec2_key_pair
421
- # The Amazon EC2 key pair that is used for instances launched in the
422
- # 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>
423
583
  # @return [String]
424
584
  #
425
585
  # @!attribute [rw] instance_role
@@ -431,17 +591,32 @@ module Aws::Batch
431
591
  # For more information, see [Amazon ECS Instance Role][1] in the *AWS
432
592
  # Batch User Guide*.
433
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
+ #
434
599
  #
435
600
  #
436
601
  # [1]: https://docs.aws.amazon.com/batch/latest/userguide/instance_IAM_role.html
437
602
  # @return [String]
438
603
  #
439
604
  # @!attribute [rw] tags
440
- # Key-value pair tags to be applied to resources that are launched in
441
- # 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
442
607
  # "String1": "String2", where String1 is the tag key and String2
443
- # is the tag valuefor example, \\\{ "Name": "AWS Batch Instance -
444
- # C4OnDemand" \\}.
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>
445
620
  # @return [Hash<String,String>]
446
621
  #
447
622
  # @!attribute [rw] placement_group
@@ -454,6 +629,11 @@ module Aws::Batch
454
629
  # potential. For more information, see [Placement Groups][1] in the
455
630
  # *Amazon EC2 User Guide for Linux Instances*.
456
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
+ #
457
637
  #
458
638
  #
459
639
  # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/placement-groups.html
@@ -463,23 +643,41 @@ module Aws::Batch
463
643
  # The maximum percentage that a Spot Instance price can be when
464
644
  # compared with the On-Demand price for that instance type before
465
645
  # instances are launched. For example, if your maximum percentage is
466
- # 20%, then the Spot price must be below 20% of the current On-Demand
467
- # price for that Amazon EC2 instance. You always pay the lowest
468
- # (market) price and never more than your maximum percentage. If you
469
- # leave this field empty, the default value is 100% of the On-Demand
470
- # 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>
471
656
  # @return [Integer]
472
657
  #
473
658
  # @!attribute [rw] spot_iam_fleet_role
474
659
  # The Amazon Resource Name (ARN) of the Amazon EC2 Spot Fleet IAM role
475
660
  # applied to a `SPOT` compute environment. This role is required if
476
661
  # the allocation strategy set to `BEST_FIT` or if the allocation
477
- # strategy is not specified. For more information, see [Amazon EC2
662
+ # strategy isn't specified. For more information, see [Amazon EC2
478
663
  # Spot Fleet Role][1] in the *AWS Batch User Guide*.
479
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
+ #
480
677
  #
481
678
  #
482
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
483
681
  # @return [String]
484
682
  #
485
683
  # @!attribute [rw] launch_template
@@ -491,11 +689,27 @@ module Aws::Batch
491
689
  # information, see [Launch Template Support][1] in the *AWS Batch User
492
690
  # Guide*.
493
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
+ #
494
697
  #
495
698
  #
496
699
  # [1]: https://docs.aws.amazon.com/batch/latest/userguide/launch-templates.html
497
700
  # @return [Types::LaunchTemplateSpecification]
498
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
+ #
499
713
  # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/ComputeResource AWS API Documentation
500
714
  #
501
715
  class ComputeResource < Struct.new(
@@ -514,13 +728,19 @@ module Aws::Batch
514
728
  :placement_group,
515
729
  :bid_percentage,
516
730
  :spot_iam_fleet_role,
517
- :launch_template)
731
+ :launch_template,
732
+ :ec2_configuration)
518
733
  SENSITIVE = []
519
734
  include Aws::Structure
520
735
  end
521
736
 
522
737
  # An object representing the attributes of a compute environment that
523
- # 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
524
744
  #
525
745
  # @note When making an API call, you may pass ComputeResourceUpdate
526
746
  # data as a hash:
@@ -529,33 +749,79 @@ module Aws::Batch
529
749
  # minv_cpus: 1,
530
750
  # maxv_cpus: 1,
531
751
  # desiredv_cpus: 1,
752
+ # subnets: ["String"],
753
+ # security_group_ids: ["String"],
532
754
  # }
533
755
  #
534
756
  # @!attribute [rw] minv_cpus
535
757
  # The minimum number of Amazon EC2 vCPUs that an environment should
536
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>
537
764
  # @return [Integer]
538
765
  #
539
766
  # @!attribute [rw] maxv_cpus
540
767
  # The maximum number of Amazon EC2 vCPUs that an environment can
541
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>
542
778
  # @return [Integer]
543
779
  #
544
780
  # @!attribute [rw] desiredv_cpus
545
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>
546
787
  # @return [Integer]
547
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
+ #
548
812
  # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/ComputeResourceUpdate AWS API Documentation
549
813
  #
550
814
  class ComputeResourceUpdate < Struct.new(
551
815
  :minv_cpus,
552
816
  :maxv_cpus,
553
- :desiredv_cpus)
817
+ :desiredv_cpus,
818
+ :subnets,
819
+ :security_group_ids)
554
820
  SENSITIVE = []
555
821
  include Aws::Structure
556
822
  end
557
823
 
558
- # 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
559
825
  # job.
560
826
  #
561
827
  # @!attribute [rw] image
@@ -563,15 +829,38 @@ module Aws::Batch
563
829
  # @return [String]
564
830
  #
565
831
  # @!attribute [rw] vcpus
566
- # The number of VCPUs allocated for the job.
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/
567
853
  # @return [Integer]
568
854
  #
569
855
  # @!attribute [rw] memory
570
- # The number of MiB of memory reserved for the job.
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`.
571
860
  # @return [Integer]
572
861
  #
573
862
  # @!attribute [rw] command
574
- # The command that is passed to the container.
863
+ # The command that's passed to the container.
575
864
  # @return [Array<String>]
576
865
  #
577
866
  # @!attribute [rw] job_role_arn
@@ -581,12 +870,12 @@ module Aws::Batch
581
870
  #
582
871
  # @!attribute [rw] execution_role_arn
583
872
  # The Amazon Resource Name (ARN) of the execution role that AWS Batch
584
- # can assume. For more information, see [Amazon ECS task execution IAM
585
- # role][1].
873
+ # can assume. For more information, see [AWS Batch execution IAM
874
+ # role][1] in the *AWS Batch User Guide*.
586
875
  #
587
876
  #
588
877
  #
589
- # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_execution_IAM_role.html
878
+ # [1]: https://docs.aws.amazon.com/batch/latest/userguide/execution-IAM-role.html
590
879
  # @return [String]
591
880
  #
592
881
  # @!attribute [rw] volumes
@@ -609,21 +898,55 @@ module Aws::Batch
609
898
  #
610
899
  # @!attribute [rw] readonly_root_filesystem
611
900
  # When this parameter is true, the container is given read-only access
612
- # 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/
613
910
  # @return [Boolean]
614
911
  #
615
912
  # @!attribute [rw] ulimits
616
- # 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/
617
927
  # @return [Array<Types::Ulimit>]
618
928
  #
619
929
  # @!attribute [rw] privileged
620
930
  # When this parameter is true, the container is given elevated
621
- # privileges on the host container instance (similar to the `root`
622
- # 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>
623
938
  # @return [Boolean]
624
939
  #
625
940
  # @!attribute [rw] user
626
- # 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/
627
950
  # @return [String]
628
951
  #
629
952
  # @!attribute [rw] exit_code
@@ -636,12 +959,12 @@ module Aws::Batch
636
959
  # @return [String]
637
960
  #
638
961
  # @!attribute [rw] container_instance_arn
639
- # The Amazon Resource Name (ARN) of the container instance on which
640
- # the container is running.
962
+ # The Amazon Resource Name (ARN) of the container instance that the
963
+ # container is running on.
641
964
  # @return [String]
642
965
  #
643
966
  # @!attribute [rw] task_arn
644
- # 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
645
968
  # associated with the container job. Each container attempt receives a
646
969
  # task ARN when they reach the `STARTING` status.
647
970
  # @return [String]
@@ -656,6 +979,11 @@ module Aws::Batch
656
979
  # @!attribute [rw] instance_type
657
980
  # The instance type of the underlying host infrastructure of a
658
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>
659
987
  # @return [String]
660
988
  #
661
989
  # @!attribute [rw] network_interfaces
@@ -663,8 +991,8 @@ module Aws::Batch
663
991
  # @return [Array<Types::NetworkInterface>]
664
992
  #
665
993
  # @!attribute [rw] resource_requirements
666
- # The type and amount of a resource to assign to a container.
667
- # 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`.
668
996
  # @return [Array<Types::ResourceRequirement>]
669
997
  #
670
998
  # @!attribute [rw] linux_parameters
@@ -678,19 +1006,20 @@ module Aws::Batch
678
1006
  # This parameter maps to `LogConfig` in the [Create a container][1]
679
1007
  # section of the [Docker Remote API][2] and the `--log-driver` option
680
1008
  # to [docker run][3]. By default, containers use the same logging
681
- # driver that the Docker daemon uses. However the container may use a
682
- # different logging driver than the Docker daemon by specifying a log
683
- # 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
684
1012
  # different logging driver for a container, the log system must be
685
- # configured properly on the container instance (or on a different log
686
- # server for remote logging options). For more information on the
687
- # options for different supported log drivers, see [Configure logging
688
- # 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.
689
1018
  #
690
1019
  # <note markdown="1"> AWS Batch currently supports a subset of the logging drivers
691
1020
  # available to the Docker daemon (shown in the LogConfiguration data
692
- # type). Additional log drivers may be available in future releases of
693
- # the Amazon ECS container agent.
1021
+ # type). Additional log drivers might be available in future releases
1022
+ # of the Amazon ECS container agent.
694
1023
  #
695
1024
  # </note>
696
1025
  #
@@ -721,14 +1050,23 @@ module Aws::Batch
721
1050
  #
722
1051
  # @!attribute [rw] secrets
723
1052
  # The secrets to pass to the container. For more information, see
724
- # [Specifying Sensitive Data][1] in the *Amazon Elastic Container
725
- # Service Developer Guide*.
1053
+ # [Specifying sensitive data][1] in the *AWS Batch User Guide*.
726
1054
  #
727
1055
  #
728
1056
  #
729
- # [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
730
1058
  # @return [Array<Types::Secret>]
731
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
+ #
732
1070
  # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/ContainerDetail AWS API Documentation
733
1071
  #
734
1072
  class ContainerDetail < Struct.new(
@@ -755,7 +1093,9 @@ module Aws::Batch
755
1093
  :resource_requirements,
756
1094
  :linux_parameters,
757
1095
  :log_configuration,
758
- :secrets)
1096
+ :secrets,
1097
+ :network_configuration,
1098
+ :fargate_platform_configuration)
759
1099
  SENSITIVE = []
760
1100
  include Aws::Structure
761
1101
  end
@@ -779,19 +1119,43 @@ module Aws::Batch
779
1119
  # resource_requirements: [
780
1120
  # {
781
1121
  # value: "String", # required
782
- # type: "GPU", # required, accepts GPU
1122
+ # type: "GPU", # required, accepts GPU, VCPU, MEMORY
783
1123
  # },
784
1124
  # ],
785
1125
  # }
786
1126
  #
787
1127
  # @!attribute [rw] vcpus
788
- # The number of vCPUs to reserve for the container. This value
789
- # 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/
790
1152
  # @return [Integer]
791
1153
  #
792
1154
  # @!attribute [rw] memory
793
- # The number of MiB of memory reserved for the job. This value
794
- # 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.
795
1159
  # @return [Integer]
796
1160
  #
797
1161
  # @!attribute [rw] command
@@ -800,8 +1164,12 @@ module Aws::Batch
800
1164
  # @return [Array<String>]
801
1165
  #
802
1166
  # @!attribute [rw] instance_type
803
- # The instance type to use for a multi-node parallel job. This
804
- # 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>
805
1173
  # @return [String]
806
1174
  #
807
1175
  # @!attribute [rw] environment
@@ -818,9 +1186,9 @@ module Aws::Batch
818
1186
  # @return [Array<Types::KeyValuePair>]
819
1187
  #
820
1188
  # @!attribute [rw] resource_requirements
821
- # The type and amount of a resource to assign to a container. This
822
- # value overrides the value set in the job definition. Currently, the
823
- # 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`.
824
1192
  # @return [Array<Types::ResourceRequirement>]
825
1193
  #
826
1194
  # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/ContainerOverrides AWS API Documentation
@@ -837,7 +1205,7 @@ module Aws::Batch
837
1205
  end
838
1206
 
839
1207
  # Container properties are used in job definitions to describe the
840
- # container that is launched as part of a job.
1208
+ # container that's launched as part of a job.
841
1209
  #
842
1210
  # @note When making an API call, you may pass ContainerProperties
843
1211
  # data as a hash:
@@ -884,7 +1252,7 @@ module Aws::Batch
884
1252
  # resource_requirements: [
885
1253
  # {
886
1254
  # value: "String", # required
887
- # type: "GPU", # required, accepts GPU
1255
+ # type: "GPU", # required, accepts GPU, VCPU, MEMORY
888
1256
  # },
889
1257
  # ],
890
1258
  # linux_parameters: {
@@ -925,6 +1293,12 @@ module Aws::Batch
925
1293
  # value_from: "String", # required
926
1294
  # },
927
1295
  # ],
1296
+ # network_configuration: {
1297
+ # assign_public_ip: "ENABLED", # accepts ENABLED, DISABLED
1298
+ # },
1299
+ # fargate_platform_configuration: {
1300
+ # platform_version: "String",
1301
+ # },
928
1302
  # }
929
1303
  #
930
1304
  # @!attribute [rw] image
@@ -937,6 +1311,12 @@ module Aws::Batch
937
1311
  # `Image` in the [Create a container][1] section of the [Docker Remote
938
1312
  # API][2] and the `IMAGE` parameter of [docker run][3].
939
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
+ #
940
1320
  # * Images in Amazon ECR repositories use the full registry and
941
1321
  # repository URI (for example,
942
1322
  # `012345678910.dkr.ecr.<region-name>.amazonaws.com/<repository-name>`).
@@ -958,13 +1338,24 @@ module Aws::Batch
958
1338
  # @return [String]
959
1339
  #
960
1340
  # @!attribute [rw] vcpus
961
- # The number of vCPUs reserved for the container. This parameter maps
962
- # to `CpuShares` in the [Create a container][1] section of the [Docker
963
- # Remote API][2] and the `--cpu-shares` option to [docker run][3].
964
- # Each vCPU is equivalent to 1,024 CPU shares. You must specify at
965
- # least one vCPU. This is required but can be specified in several
966
- # places for multi-node parallel (MNP) jobs; it must be specified for
967
- # 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>
968
1359
  #
969
1360
  #
970
1361
  #
@@ -974,16 +1365,19 @@ module Aws::Batch
974
1365
  # @return [Integer]
975
1366
  #
976
1367
  # @!attribute [rw] memory
977
- # The hard limit (in MiB) of memory to present to the container. If
978
- # your container attempts to exceed the memory specified here, the
979
- # container is killed. This parameter maps to `Memory` in the [Create
980
- # a container][1] section of the [Docker Remote API][2] and the
981
- # `--memory` option to [docker run][3]. You must specify at least 4
982
- # MiB of memory for a job. This is required but can be specified in
983
- # 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
984
1378
  # specified for each node at least once.
985
1379
  #
986
- # <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
987
1381
  # your jobs as much memory as possible for a particular instance type,
988
1382
  # see [Memory Management][4] in the *AWS Batch User Guide*.
989
1383
  #
@@ -998,7 +1392,7 @@ module Aws::Batch
998
1392
  # @return [Integer]
999
1393
  #
1000
1394
  # @!attribute [rw] command
1001
- # 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
1002
1396
  # `Cmd` in the [Create a container][1] section of the [Docker Remote
1003
1397
  # API][2] and the `COMMAND` parameter to [docker run][3]. For more
1004
1398
  # information, see
@@ -1014,17 +1408,24 @@ module Aws::Batch
1014
1408
  #
1015
1409
  # @!attribute [rw] job_role_arn
1016
1410
  # The Amazon Resource Name (ARN) of the IAM role that the container
1017
- # 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
1018
1418
  # @return [String]
1019
1419
  #
1020
1420
  # @!attribute [rw] execution_role_arn
1021
1421
  # The Amazon Resource Name (ARN) of the execution role that AWS Batch
1022
- # can assume. For more information, see [Amazon ECS task execution IAM
1023
- # 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*.
1024
1425
  #
1025
1426
  #
1026
1427
  #
1027
- # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/task_execution_IAM_role.html
1428
+ # [1]: https://docs.aws.amazon.com/batch/latest/userguide/execution-IAM-role.html
1028
1429
  # @return [String]
1029
1430
  #
1030
1431
  # @!attribute [rw] volumes
@@ -1036,7 +1437,7 @@ module Aws::Batch
1036
1437
  # maps to `Env` in the [Create a container][1] section of the [Docker
1037
1438
  # Remote API][2] and the `--env` option to [docker run][3].
1038
1439
  #
1039
- # We do not recommend using plaintext environment variables for
1440
+ # We don't recommend using plaintext environment variables for
1040
1441
  # sensitive information, such as credential data.
1041
1442
  #
1042
1443
  # <note markdown="1"> Environment variables must not start with `AWS_BATCH`; this naming
@@ -1078,10 +1479,16 @@ module Aws::Batch
1078
1479
  #
1079
1480
  # @!attribute [rw] privileged
1080
1481
  # When this parameter is true, the container is given elevated
1081
- # privileges on the host container instance (similar to the `root`
1482
+ # permissions on the host container instance (similar to the `root`
1082
1483
  # user). This parameter maps to `Privileged` in the [Create a
1083
1484
  # container][1] section of the [Docker Remote API][2] and the
1084
- # `--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>
1085
1492
  #
1086
1493
  #
1087
1494
  #
@@ -1095,6 +1502,11 @@ module Aws::Batch
1095
1502
  # `Ulimits` in the [Create a container][1] section of the [Docker
1096
1503
  # Remote API][2] and the `--ulimit` option to [docker run][3].
1097
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
+ #
1098
1510
  #
1099
1511
  #
1100
1512
  # [1]: https://docs.docker.com/engine/api/v1.23/#create-a-container
@@ -1115,15 +1527,18 @@ module Aws::Batch
1115
1527
  # @return [String]
1116
1528
  #
1117
1529
  # @!attribute [rw] instance_type
1118
- # The instance type to use for a multi-node parallel job. Currently
1119
- # all node groups in a multi-node parallel job must use the same
1120
- # instance type. This parameter is not valid for single-node container
1121
- # 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>
1122
1537
  # @return [String]
1123
1538
  #
1124
1539
  # @!attribute [rw] resource_requirements
1125
- # The type and amount of a resource to assign to a container.
1126
- # 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`.
1127
1542
  # @return [Array<Types::ResourceRequirement>]
1128
1543
  #
1129
1544
  # @!attribute [rw] linux_parameters
@@ -1137,9 +1552,9 @@ module Aws::Batch
1137
1552
  # This parameter maps to `LogConfig` in the [Create a container][1]
1138
1553
  # section of the [Docker Remote API][2] and the `--log-driver` option
1139
1554
  # to [docker run][3]. By default, containers use the same logging
1140
- # driver that the Docker daemon uses. However the container may use a
1141
- # different logging driver than the Docker daemon by specifying a log
1142
- # 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
1143
1558
  # different logging driver for a container, the log system must be
1144
1559
  # configured properly on the container instance (or on a different log
1145
1560
  # server for remote logging options). For more information on the
@@ -1179,14 +1594,23 @@ module Aws::Batch
1179
1594
  #
1180
1595
  # @!attribute [rw] secrets
1181
1596
  # The secrets for the container. For more information, see [Specifying
1182
- # Sensitive Data][1] in the *Amazon Elastic Container Service
1183
- # Developer Guide*.
1597
+ # sensitive data][1] in the *AWS Batch User Guide*.
1184
1598
  #
1185
1599
  #
1186
1600
  #
1187
- # [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
1188
1602
  # @return [Array<Types::Secret>]
1189
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
+ #
1190
1614
  # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/ContainerProperties AWS API Documentation
1191
1615
  #
1192
1616
  class ContainerProperties < Struct.new(
@@ -1207,7 +1631,9 @@ module Aws::Batch
1207
1631
  :resource_requirements,
1208
1632
  :linux_parameters,
1209
1633
  :log_configuration,
1210
- :secrets)
1634
+ :secrets,
1635
+ :network_configuration,
1636
+ :fargate_platform_configuration)
1211
1637
  SENSITIVE = []
1212
1638
  include Aws::Structure
1213
1639
  end
@@ -1232,6 +1658,8 @@ module Aws::Batch
1232
1658
  include Aws::Structure
1233
1659
  end
1234
1660
 
1661
+ # Contains the parameters for `CreateComputeEnvironment`.
1662
+ #
1235
1663
  # @note When making an API call, you may pass CreateComputeEnvironmentRequest
1236
1664
  # data as a hash:
1237
1665
  #
@@ -1240,17 +1668,17 @@ module Aws::Batch
1240
1668
  # type: "MANAGED", # required, accepts MANAGED, UNMANAGED
1241
1669
  # state: "ENABLED", # accepts ENABLED, DISABLED
1242
1670
  # compute_resources: {
1243
- # type: "EC2", # required, accepts EC2, SPOT
1671
+ # type: "EC2", # required, accepts EC2, SPOT, FARGATE, FARGATE_SPOT
1244
1672
  # allocation_strategy: "BEST_FIT", # accepts BEST_FIT, BEST_FIT_PROGRESSIVE, SPOT_CAPACITY_OPTIMIZED
1245
- # minv_cpus: 1, # required
1673
+ # minv_cpus: 1,
1246
1674
  # maxv_cpus: 1, # required
1247
1675
  # desiredv_cpus: 1,
1248
- # instance_types: ["String"], # required
1676
+ # instance_types: ["String"],
1249
1677
  # image_id: "String",
1250
1678
  # subnets: ["String"], # required
1251
1679
  # security_group_ids: ["String"],
1252
1680
  # ec2_key_pair: "String",
1253
- # instance_role: "String", # required
1681
+ # instance_role: "String",
1254
1682
  # tags: {
1255
1683
  # "String" => "String",
1256
1684
  # },
@@ -1262,8 +1690,17 @@ module Aws::Batch
1262
1690
  # launch_template_name: "String",
1263
1691
  # version: "String",
1264
1692
  # },
1693
+ # ec2_configuration: [
1694
+ # {
1695
+ # image_type: "ImageType", # required
1696
+ # image_id_override: "ImageIdOverride",
1697
+ # },
1698
+ # ],
1265
1699
  # },
1266
1700
  # service_role: "String", # required
1701
+ # tags: {
1702
+ # "TagKey" => "TagValue",
1703
+ # },
1267
1704
  # }
1268
1705
  #
1269
1706
  # @!attribute [rw] compute_environment_name
@@ -1272,8 +1709,9 @@ module Aws::Batch
1272
1709
  # @return [String]
1273
1710
  #
1274
1711
  # @!attribute [rw] type
1275
- # The type of the compute environment. For more information, see
1276
- # [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*.
1277
1715
  #
1278
1716
  #
1279
1717
  #
@@ -1284,13 +1722,25 @@ module Aws::Batch
1284
1722
  # The state of the compute environment. If the state is `ENABLED`,
1285
1723
  # then the compute environment accepts jobs from a queue and can scale
1286
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.
1287
1737
  # @return [String]
1288
1738
  #
1289
1739
  # @!attribute [rw] compute_resources
1290
- # Details of the compute resources managed by the compute environment.
1291
- # This parameter is required for managed compute environments. For
1292
- # more information, see [Compute Environments][1] in the *AWS Batch
1293
- # 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*.
1294
1744
  #
1295
1745
  #
1296
1746
  #
@@ -1299,22 +1749,45 @@ module Aws::Batch
1299
1749
  #
1300
1750
  # @!attribute [rw] service_role
1301
1751
  # The full Amazon Resource Name (ARN) of the IAM role that allows AWS
1302
- # 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*.
1303
1755
  #
1304
1756
  # If your specified role has a path other than `/`, then you must
1305
1757
  # either specify the full role ARN (this is recommended) or prefix the
1306
1758
  # role name with the path.
1307
1759
  #
1308
1760
  # <note markdown="1"> Depending on how you created your AWS Batch service role, its ARN
1309
- # may contain the `service-role` path prefix. When you only specify
1310
- # the name of the service role, AWS Batch assumes that your ARN does
1311
- # 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
1312
1764
  # recommend that you specify the full ARN of your service role when
1313
1765
  # you create compute environments.
1314
1766
  #
1315
1767
  # </note>
1768
+ #
1769
+ #
1770
+ #
1771
+ # [1]: https://docs.aws.amazon.com/batch/latest/userguide/service_IAM_role.html
1316
1772
  # @return [String]
1317
1773
  #
1774
+ # @!attribute [rw] tags
1775
+ # The tags that you apply to the compute environment to help you
1776
+ # categorize and organize your resources. Each tag consists of a key
1777
+ # and an optional value. For more information, see [Tagging AWS
1778
+ # Resources][1] in *AWS General Reference*.
1779
+ #
1780
+ # These tags can be updated or removed using the [TagResource][2] and
1781
+ # [UntagResource][3] API operations. These tags don't propagate to
1782
+ # the underlying compute resources.
1783
+ #
1784
+ #
1785
+ #
1786
+ # [1]: https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html
1787
+ # [2]: https://docs.aws.amazon.com/batch/latest/APIReference/API_TagResource.html
1788
+ # [3]: https://docs.aws.amazon.com/batch/latest/APIReference/API_UntagResource.html
1789
+ # @return [Hash<String,String>]
1790
+ #
1318
1791
  # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/CreateComputeEnvironmentRequest AWS API Documentation
1319
1792
  #
1320
1793
  class CreateComputeEnvironmentRequest < Struct.new(
@@ -1322,13 +1795,15 @@ module Aws::Batch
1322
1795
  :type,
1323
1796
  :state,
1324
1797
  :compute_resources,
1325
- :service_role)
1798
+ :service_role,
1799
+ :tags)
1326
1800
  SENSITIVE = []
1327
1801
  include Aws::Structure
1328
1802
  end
1329
1803
 
1330
1804
  # @!attribute [rw] compute_environment_name
1331
- # 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.
1332
1807
  # @return [String]
1333
1808
  #
1334
1809
  # @!attribute [rw] compute_environment_arn
@@ -1344,6 +1819,8 @@ module Aws::Batch
1344
1819
  include Aws::Structure
1345
1820
  end
1346
1821
 
1822
+ # Contains the parameters for `CreateJobQueue`.
1823
+ #
1347
1824
  # @note When making an API call, you may pass CreateJobQueueRequest
1348
1825
  # data as a hash:
1349
1826
  #
@@ -1357,16 +1834,20 @@ module Aws::Batch
1357
1834
  # compute_environment: "String", # required
1358
1835
  # },
1359
1836
  # ],
1837
+ # tags: {
1838
+ # "TagKey" => "TagValue",
1839
+ # },
1360
1840
  # }
1361
1841
  #
1362
1842
  # @!attribute [rw] job_queue_name
1363
- # 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.
1364
1845
  # @return [String]
1365
1846
  #
1366
1847
  # @!attribute [rw] state
1367
1848
  # The state of the job queue. If the job queue state is `ENABLED`, it
1368
1849
  # is able to accept jobs. If the job queue state is `DISABLED`, new
1369
- # 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
1370
1851
  # finish.
1371
1852
  # @return [String]
1372
1853
  #
@@ -1374,27 +1855,51 @@ module Aws::Batch
1374
1855
  # The priority of the job queue. Job queues with a higher priority (or
1375
1856
  # a higher integer value for the `priority` parameter) are evaluated
1376
1857
  # first when associated with the same compute environment. Priority is
1377
- # determined in descending order, for example, a job queue with a
1858
+ # determined in descending order. For example, a job queue with a
1378
1859
  # priority value of `10` is given scheduling preference over a job
1379
- # 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.
1380
1864
  # @return [Integer]
1381
1865
  #
1382
1866
  # @!attribute [rw] compute_environment_order
1383
1867
  # The set of compute environments mapped to a job queue and their
1384
1868
  # order relative to each other. The job scheduler uses this parameter
1385
- # to determine which compute environment should execute a given job.
1869
+ # to determine which compute environment should run a specific job.
1386
1870
  # Compute environments must be in the `VALID` state before you can
1387
1871
  # associate them with a job queue. You can associate up to three
1388
- # 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>
1389
1882
  # @return [Array<Types::ComputeEnvironmentOrder>]
1390
1883
  #
1884
+ # @!attribute [rw] tags
1885
+ # The tags that you apply to the job queue to help you categorize and
1886
+ # organize your resources. Each tag consists of a key and an optional
1887
+ # value. For more information, see [Tagging your AWS Batch
1888
+ # resources][1] in *AWS Batch User Guide*.
1889
+ #
1890
+ #
1891
+ #
1892
+ # [1]: https://docs.aws.amazon.com/batch/latest/userguide/using-tags.html
1893
+ # @return [Hash<String,String>]
1894
+ #
1391
1895
  # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/CreateJobQueueRequest AWS API Documentation
1392
1896
  #
1393
1897
  class CreateJobQueueRequest < Struct.new(
1394
1898
  :job_queue_name,
1395
1899
  :state,
1396
1900
  :priority,
1397
- :compute_environment_order)
1901
+ :compute_environment_order,
1902
+ :tags)
1398
1903
  SENSITIVE = []
1399
1904
  include Aws::Structure
1400
1905
  end
@@ -1416,6 +1921,8 @@ module Aws::Batch
1416
1921
  include Aws::Structure
1417
1922
  end
1418
1923
 
1924
+ # Contains the parameters for `DeleteComputeEnvironment`.
1925
+ #
1419
1926
  # @note When making an API call, you may pass DeleteComputeEnvironmentRequest
1420
1927
  # data as a hash:
1421
1928
  #
@@ -1440,6 +1947,8 @@ module Aws::Batch
1440
1947
  #
1441
1948
  class DeleteComputeEnvironmentResponse < Aws::EmptyStructure; end
1442
1949
 
1950
+ # Contains the parameters for `DeleteJobQueue`.
1951
+ #
1443
1952
  # @note When making an API call, you may pass DeleteJobQueueRequest
1444
1953
  # data as a hash:
1445
1954
  #
@@ -1488,6 +1997,8 @@ module Aws::Batch
1488
1997
  #
1489
1998
  class DeregisterJobDefinitionResponse < Aws::EmptyStructure; end
1490
1999
 
2000
+ # Contains the parameters for `DescribeComputeEnvironments`.
2001
+ #
1491
2002
  # @note When making an API call, you may pass DescribeComputeEnvironmentsRequest
1492
2003
  # data as a hash:
1493
2004
  #
@@ -1510,7 +2021,7 @@ module Aws::Batch
1510
2021
  # response element. The remaining results of the initial request can
1511
2022
  # be seen by sending another `DescribeComputeEnvironments` request
1512
2023
  # with the returned `nextToken` value. This value can be between 1 and
1513
- # 100. If this parameter is not used, then
2024
+ # 100. If this parameter isn't used, then
1514
2025
  # `DescribeComputeEnvironments` returns up to 100 results and a
1515
2026
  # `nextToken` value if applicable.
1516
2027
  # @return [Integer]
@@ -1523,7 +2034,7 @@ module Aws::Batch
1523
2034
  # `nextToken` value. This value is `null` when there are no more
1524
2035
  # results to return.
1525
2036
  #
1526
- # <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
1527
2038
  # used to retrieve the next items in a list and not for other
1528
2039
  # programmatic purposes.
1529
2040
  #
@@ -1561,6 +2072,8 @@ module Aws::Batch
1561
2072
  include Aws::Structure
1562
2073
  end
1563
2074
 
2075
+ # Contains the parameters for `DescribeJobDefinitions`.
2076
+ #
1564
2077
  # @note When making an API call, you may pass DescribeJobDefinitionsRequest
1565
2078
  # data as a hash:
1566
2079
  #
@@ -1584,7 +2097,7 @@ module Aws::Batch
1584
2097
  # single page along with a `nextToken` response element. The remaining
1585
2098
  # results of the initial request can be seen by sending another
1586
2099
  # `DescribeJobDefinitions` request with the returned `nextToken`
1587
- # 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
1588
2101
  # used, then `DescribeJobDefinitions` returns up to 100 results and a
1589
2102
  # `nextToken` value if applicable.
1590
2103
  # @return [Integer]
@@ -1594,7 +2107,7 @@ module Aws::Batch
1594
2107
  # @return [String]
1595
2108
  #
1596
2109
  # @!attribute [rw] status
1597
- # The status with which to filter job definitions.
2110
+ # The status used to filter job definitions.
1598
2111
  # @return [String]
1599
2112
  #
1600
2113
  # @!attribute [rw] next_token
@@ -1605,7 +2118,7 @@ module Aws::Batch
1605
2118
  # value. This value is `null` when there are no more results to
1606
2119
  # return.
1607
2120
  #
1608
- # <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
1609
2122
  # used to retrieve the next items in a list and not for other
1610
2123
  # programmatic purposes.
1611
2124
  #
@@ -1645,6 +2158,8 @@ module Aws::Batch
1645
2158
  include Aws::Structure
1646
2159
  end
1647
2160
 
2161
+ # Contains the parameters for `DescribeJobQueues`.
2162
+ #
1648
2163
  # @note When making an API call, you may pass DescribeJobQueuesRequest
1649
2164
  # data as a hash:
1650
2165
  #
@@ -1666,7 +2181,7 @@ module Aws::Batch
1666
2181
  # `nextToken` response element. The remaining results of the initial
1667
2182
  # request can be seen by sending another `DescribeJobQueues` request
1668
2183
  # with the returned `nextToken` value. This value can be between 1 and
1669
- # 100. If this parameter is not used, then `DescribeJobQueues` returns
2184
+ # 100. If this parameter isn't used, then `DescribeJobQueues` returns
1670
2185
  # up to 100 results and a `nextToken` value if applicable.
1671
2186
  # @return [Integer]
1672
2187
  #
@@ -1678,7 +2193,7 @@ module Aws::Batch
1678
2193
  # value. This value is `null` when there are no more results to
1679
2194
  # return.
1680
2195
  #
1681
- # <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
1682
2197
  # used to retrieve the next items in a list and not for other
1683
2198
  # programmatic purposes.
1684
2199
  #
@@ -1716,6 +2231,8 @@ module Aws::Batch
1716
2231
  include Aws::Structure
1717
2232
  end
1718
2233
 
2234
+ # Contains the parameters for `DescribeJobs`.
2235
+ #
1719
2236
  # @note When making an API call, you may pass DescribeJobsRequest
1720
2237
  # data as a hash:
1721
2238
  #
@@ -1749,6 +2266,11 @@ module Aws::Batch
1749
2266
 
1750
2267
  # An object representing a container instance host device.
1751
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
+ #
1752
2274
  # @note When making an API call, you may pass Device
1753
2275
  # data as a hash:
1754
2276
  #
@@ -1763,7 +2285,7 @@ module Aws::Batch
1763
2285
  # @return [String]
1764
2286
  #
1765
2287
  # @!attribute [rw] container_path
1766
- # The path inside the container at which to expose the host device. By
2288
+ # The path inside the container used to expose the host device. By
1767
2289
  # default the `hostPath` value is used.
1768
2290
  # @return [String]
1769
2291
  #
@@ -1783,10 +2305,159 @@ module Aws::Batch
1783
2305
  include Aws::Structure
1784
2306
  end
1785
2307
 
2308
+ # Provides information used to select Amazon Machine Images (AMIs) for
2309
+ # instances in the compute environment. If the `Ec2Configuration` isn't
2310
+ # specified, the default is `ECS_AL1`.
2311
+ #
2312
+ # <note markdown="1"> This object isn't applicable to jobs running on Fargate resources.
2313
+ #
2314
+ # </note>
2315
+ #
2316
+ # @note When making an API call, you may pass Ec2Configuration
2317
+ # data as a hash:
2318
+ #
2319
+ # {
2320
+ # image_type: "ImageType", # required
2321
+ # image_id_override: "ImageIdOverride",
2322
+ # }
2323
+ #
2324
+ # @!attribute [rw] image_type
2325
+ # The image type to match with the instance type to select an AMI. If
2326
+ # the `imageIdOverride` parameter isn't specified, then a recent
2327
+ # [Amazon ECS-optimized AMI][1] is used.
2328
+ #
2329
+ # ECS\_AL2
2330
+ #
2331
+ # : [Amazon Linux 2][2]− Default for all AWS Graviton-based instance
2332
+ # families (for example, `C6g`, `M6g`, `R6g`, and `T4g`) and can be
2333
+ # used for all non-GPU instance types.
2334
+ #
2335
+ # ECS\_AL2\_NVIDIA
2336
+ #
2337
+ # : [Amazon Linux 2 (GPU)][3]−Default for all GPU instance families
2338
+ # (for example `P4` and `G4`) and can be used for all non-AWS
2339
+ # Graviton-based instance types.
2340
+ #
2341
+ # ECS\_AL1
2342
+ #
2343
+ # : [Amazon Linux][4]−Default for all non-GPU, non-AWS Graviton
2344
+ # instance families. Amazon Linux is reaching the end-of-life of
2345
+ # standard support. For more information, see [Amazon Linux AMI][5].
2346
+ #
2347
+ #
2348
+ #
2349
+ # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html
2350
+ # [2]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html#al2ami
2351
+ # [3]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html#gpuami
2352
+ # [4]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html#alami
2353
+ # [5]: http://aws.amazon.com/amazon-linux-ami/
2354
+ # @return [String]
2355
+ #
2356
+ # @!attribute [rw] image_id_override
2357
+ # The AMI ID used for instances launched in the compute environment
2358
+ # that match the image type. This setting overrides the `imageId` set
2359
+ # in the `computeResource` object.
2360
+ # @return [String]
2361
+ #
2362
+ # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/Ec2Configuration AWS API Documentation
2363
+ #
2364
+ class Ec2Configuration < Struct.new(
2365
+ :image_type,
2366
+ :image_id_override)
2367
+ SENSITIVE = []
2368
+ include Aws::Structure
2369
+ end
2370
+
2371
+ # Specifies a set of conditions to be met, and an action to take
2372
+ # (`RETRY` or `EXIT`) if all conditions are met.
2373
+ #
2374
+ # @note When making an API call, you may pass EvaluateOnExit
2375
+ # data as a hash:
2376
+ #
2377
+ # {
2378
+ # on_status_reason: "String",
2379
+ # on_reason: "String",
2380
+ # on_exit_code: "String",
2381
+ # action: "RETRY", # required, accepts RETRY, EXIT
2382
+ # }
2383
+ #
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.
2390
+ # @return [String]
2391
+ #
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.
2398
+ # @return [String]
2399
+ #
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]
2407
+ #
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]
2413
+ #
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)
2453
+ SENSITIVE = []
2454
+ include Aws::Structure
2455
+ end
2456
+
1786
2457
  # Determine whether your data volume persists on the host container
1787
2458
  # instance and where it is stored. If this parameter is empty, then the
1788
2459
  # Docker daemon assigns a host path for your data volume, but the data
1789
- # is not guaranteed to persist after the containers associated with it
2460
+ # isn't guaranteed to persist after the containers associated with it
1790
2461
  # stop running.
1791
2462
  #
1792
2463
  # @note When making an API call, you may pass Host
@@ -1797,7 +2468,7 @@ module Aws::Batch
1797
2468
  # }
1798
2469
  #
1799
2470
  # @!attribute [rw] source_path
1800
- # 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
1801
2472
  # container. If this parameter is empty, then the Docker daemon has
1802
2473
  # assigned a host path for you. If this parameter contains a file
1803
2474
  # location, then the data volume persists at the specified location on
@@ -1805,6 +2476,11 @@ module Aws::Batch
1805
2476
  # source path location does not exist on the host container instance,
1806
2477
  # the Docker daemon creates it. If the location does exist, the
1807
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>
1808
2484
  # @return [String]
1809
2485
  #
1810
2486
  # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/Host AWS API Documentation
@@ -1834,7 +2510,14 @@ module Aws::Batch
1834
2510
  # @return [String]
1835
2511
  #
1836
2512
  # @!attribute [rw] type
1837
- # 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
1838
2521
  # @return [String]
1839
2522
  #
1840
2523
  # @!attribute [rw] parameters
@@ -1862,14 +2545,39 @@ module Aws::Batch
1862
2545
  # @!attribute [rw] timeout
1863
2546
  # The timeout configuration for jobs that are submitted with this job
1864
2547
  # definition. You can specify a timeout duration after which AWS Batch
1865
- # terminates your jobs if they have not finished.
2548
+ # terminates your jobs if they haven't finished.
1866
2549
  # @return [Types::JobTimeout]
1867
2550
  #
1868
2551
  # @!attribute [rw] node_properties
1869
2552
  # An object with various properties specific to multi-node parallel
1870
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>
1871
2559
  # @return [Types::NodeProperties]
1872
2560
  #
2561
+ # @!attribute [rw] tags
2562
+ # The tags applied to the job definition.
2563
+ # @return [Hash<String,String>]
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
+ #
1873
2581
  # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/JobDefinition AWS API Documentation
1874
2582
  #
1875
2583
  class JobDefinition < Struct.new(
@@ -1882,7 +2590,10 @@ module Aws::Batch
1882
2590
  :retry_strategy,
1883
2591
  :container_properties,
1884
2592
  :timeout,
1885
- :node_properties)
2593
+ :node_properties,
2594
+ :tags,
2595
+ :propagate_tags,
2596
+ :platform_capabilities)
1886
2597
  SENSITIVE = []
1887
2598
  include Aws::Structure
1888
2599
  end
@@ -1916,6 +2627,10 @@ module Aws::Batch
1916
2627
 
1917
2628
  # An object representing an AWS Batch job.
1918
2629
  #
2630
+ # @!attribute [rw] job_arn
2631
+ # The Amazon Resource Name (ARN) of the job.
2632
+ # @return [String]
2633
+ #
1919
2634
  # @!attribute [rw] job_name
1920
2635
  # The name of the job.
1921
2636
  # @return [String]
@@ -1925,14 +2640,14 @@ module Aws::Batch
1925
2640
  # @return [String]
1926
2641
  #
1927
2642
  # @!attribute [rw] job_queue
1928
- # The Amazon Resource Name (ARN) of the job queue with which the job
1929
- # is associated.
2643
+ # The Amazon Resource Name (ARN) of the job queue that the job is
2644
+ # associated with.
1930
2645
  # @return [String]
1931
2646
  #
1932
2647
  # @!attribute [rw] status
1933
2648
  # The current status for the job.
1934
2649
  #
1935
- # <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
1936
2651
  # RUNNABLE Status][1] in the troubleshooting section of the *AWS Batch
1937
2652
  # User Guide*.
1938
2653
  #
@@ -1967,7 +2682,7 @@ module Aws::Batch
1967
2682
  # @!attribute [rw] started_at
1968
2683
  # The Unix timestamp (in milliseconds) for when the job was started
1969
2684
  # (when the job transitioned from the `STARTING` state to the
1970
- # `RUNNING` state). This parameter is not provided for child jobs of
2685
+ # `RUNNING` state). This parameter isn't provided for child jobs of
1971
2686
  # array jobs or multi-node parallel jobs.
1972
2687
  # @return [Integer]
1973
2688
  #
@@ -1978,11 +2693,11 @@ module Aws::Batch
1978
2693
  # @return [Integer]
1979
2694
  #
1980
2695
  # @!attribute [rw] depends_on
1981
- # A list of job IDs on which this job depends.
2696
+ # A list of job IDs that this job depends on.
1982
2697
  # @return [Array<Types::JobDependency>]
1983
2698
  #
1984
2699
  # @!attribute [rw] job_definition
1985
- # The job definition that is used by this job.
2700
+ # The job definition that's used by this job.
1986
2701
  # @return [String]
1987
2702
  #
1988
2703
  # @!attribute [rw] parameters
@@ -1992,18 +2707,22 @@ module Aws::Batch
1992
2707
  # @return [Hash<String,String>]
1993
2708
  #
1994
2709
  # @!attribute [rw] container
1995
- # An object representing the details of the container that is
2710
+ # An object representing the details of the container that's
1996
2711
  # associated with the job.
1997
2712
  # @return [Types::ContainerDetail]
1998
2713
  #
1999
2714
  # @!attribute [rw] node_details
2000
- # 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
2001
2716
  # a multi-node parallel job.
2002
2717
  # @return [Types::NodeDetails]
2003
2718
  #
2004
2719
  # @!attribute [rw] node_properties
2005
2720
  # An object representing the node properties of a multi-node parallel
2006
2721
  # job.
2722
+ #
2723
+ # <note markdown="1"> This isn't applicable to jobs running on Fargate resources.
2724
+ #
2725
+ # </note>
2007
2726
  # @return [Types::NodeProperties]
2008
2727
  #
2009
2728
  # @!attribute [rw] array_properties
@@ -2014,9 +2733,30 @@ module Aws::Batch
2014
2733
  # The timeout configuration for the job.
2015
2734
  # @return [Types::JobTimeout]
2016
2735
  #
2736
+ # @!attribute [rw] tags
2737
+ # The tags applied to the job.
2738
+ # @return [Hash<String,String>]
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
+ #
2017
2756
  # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/JobDetail AWS API Documentation
2018
2757
  #
2019
2758
  class JobDetail < Struct.new(
2759
+ :job_arn,
2020
2760
  :job_name,
2021
2761
  :job_id,
2022
2762
  :job_queue,
@@ -2034,7 +2774,10 @@ module Aws::Batch
2034
2774
  :node_details,
2035
2775
  :node_properties,
2036
2776
  :array_properties,
2037
- :timeout)
2777
+ :timeout,
2778
+ :tags,
2779
+ :propagate_tags,
2780
+ :platform_capabilities)
2038
2781
  SENSITIVE = []
2039
2782
  include Aws::Structure
2040
2783
  end
@@ -2051,8 +2794,8 @@ module Aws::Batch
2051
2794
  #
2052
2795
  # @!attribute [rw] state
2053
2796
  # Describes the ability of the queue to accept new jobs. If the job
2054
- # queue state is `ENABLED`, it is able to accept jobs. If the job
2055
- # 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,
2056
2799
  # but jobs already in the queue can finish.
2057
2800
  # @return [String]
2058
2801
  #
@@ -2066,15 +2809,32 @@ module Aws::Batch
2066
2809
  # @return [String]
2067
2810
  #
2068
2811
  # @!attribute [rw] priority
2069
- # 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.
2070
2821
  # @return [Integer]
2071
2822
  #
2072
2823
  # @!attribute [rw] compute_environment_order
2073
2824
  # The compute environments that are attached to the job queue and the
2074
- # order in which job placement is preferred. Compute environments are
2825
+ # order that job placement is preferred. Compute environments are
2075
2826
  # selected for job placement in ascending order.
2076
2827
  # @return [Array<Types::ComputeEnvironmentOrder>]
2077
2828
  #
2829
+ # @!attribute [rw] tags
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
2836
+ # @return [Hash<String,String>]
2837
+ #
2078
2838
  # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/JobQueueDetail AWS API Documentation
2079
2839
  #
2080
2840
  class JobQueueDetail < Struct.new(
@@ -2084,13 +2844,18 @@ module Aws::Batch
2084
2844
  :status,
2085
2845
  :status_reason,
2086
2846
  :priority,
2087
- :compute_environment_order)
2847
+ :compute_environment_order,
2848
+ :tags)
2088
2849
  SENSITIVE = []
2089
2850
  include Aws::Structure
2090
2851
  end
2091
2852
 
2092
2853
  # An object representing summary details of a job.
2093
2854
  #
2855
+ # @!attribute [rw] job_arn
2856
+ # The Amazon Resource Name (ARN) of the job.
2857
+ # @return [String]
2858
+ #
2094
2859
  # @!attribute [rw] job_id
2095
2860
  # The ID of the job.
2096
2861
  # @return [String]
@@ -2128,7 +2893,7 @@ module Aws::Batch
2128
2893
  # @return [Integer]
2129
2894
  #
2130
2895
  # @!attribute [rw] container
2131
- # An object representing the details of the container that is
2896
+ # An object representing the details of the container that's
2132
2897
  # associated with the job.
2133
2898
  # @return [Types::ContainerSummary]
2134
2899
  #
@@ -2138,11 +2903,16 @@ module Aws::Batch
2138
2903
  #
2139
2904
  # @!attribute [rw] node_properties
2140
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>
2141
2910
  # @return [Types::NodePropertiesSummary]
2142
2911
  #
2143
2912
  # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/JobSummary AWS API Documentation
2144
2913
  #
2145
2914
  class JobSummary < Struct.new(
2915
+ :job_arn,
2146
2916
  :job_id,
2147
2917
  :job_name,
2148
2918
  :created_at,
@@ -2169,7 +2939,8 @@ module Aws::Batch
2169
2939
  # @!attribute [rw] attempt_duration_seconds
2170
2940
  # The time duration in seconds (measured from the job attempt's
2171
2941
  # `startedAt` timestamp) after which AWS Batch terminates your jobs if
2172
- # they have not finished.
2942
+ # they have not finished. The minimum value for the timeout is 60
2943
+ # seconds.
2173
2944
  # @return [Integer]
2174
2945
  #
2175
2946
  # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/JobTimeout AWS API Documentation
@@ -2213,6 +2984,15 @@ module Aws::Batch
2213
2984
  # resource. You must specify either the launch template ID or launch
2214
2985
  # template name in the request, but not both.
2215
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
+ #
2216
2996
  # @note When making an API call, you may pass LaunchTemplateSpecification
2217
2997
  # data as a hash:
2218
2998
  #
@@ -2282,6 +3062,11 @@ module Aws::Batch
2282
3062
  # `Devices` in the [Create a container][1] section of the [Docker
2283
3063
  # Remote API][2] and the `--device` option to [docker run][3].
2284
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
+ #
2285
3070
  #
2286
3071
  #
2287
3072
  # [1]: https://docs.docker.com/engine/api/v1.23/#create-a-container
@@ -2290,13 +3075,13 @@ module Aws::Batch
2290
3075
  # @return [Array<Types::Device>]
2291
3076
  #
2292
3077
  # @!attribute [rw] init_process_enabled
2293
- # Run an `init` process inside the container that forwards signals and
2294
- # reaps processes. This parameter maps to the `--init` option to
2295
- # [docker run][1]. This parameter requires version 1.25 of the Docker
2296
- # Remote API or greater on your container instance. To check the
2297
- # Docker Remote API version on your container instance, log into your
2298
- # container instance and run the following command: `sudo docker
2299
- # version | grep "Server API version"`
3078
+ # If true, run an `init` process inside the container that forwards
3079
+ # signals and reaps processes. This parameter maps to the `--init`
3080
+ # option to [docker run][1]. This parameter requires version 1.25 of
3081
+ # the Docker Remote API or greater on your container instance. To
3082
+ # check the Docker Remote API version on your container instance, log
3083
+ # into your container instance and run the following command: `sudo
3084
+ # docker version | grep "Server API version"`
2300
3085
  #
2301
3086
  #
2302
3087
  #
@@ -2307,6 +3092,11 @@ module Aws::Batch
2307
3092
  # The value for the size (in MiB) of the `/dev/shm` volume. This
2308
3093
  # parameter maps to the `--shm-size` option to [docker run][1].
2309
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
+ #
2310
3100
  #
2311
3101
  #
2312
3102
  # [1]: https://docs.docker.com/engine/reference/run/
@@ -2317,6 +3107,11 @@ module Aws::Batch
2317
3107
  # mount. This parameter maps to the `--tmpfs` option to [docker
2318
3108
  # run][1].
2319
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
+ #
2320
3115
  #
2321
3116
  #
2322
3117
  # [1]: https://docs.docker.com/engine/reference/run/
@@ -2324,36 +3119,73 @@ module Aws::Batch
2324
3119
  #
2325
3120
  # @!attribute [rw] max_swap
2326
3121
  # The total amount of swap memory (in MiB) a container can use. This
2327
- # parameter will be translated to the `--memory-swap` option to
2328
- # [docker run][1] where the value would be the sum of the container
2329
- # 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.
2330
3126
  #
2331
- # 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
2332
3128
  # swap. Accepted values are `0` or any positive integer. If the
2333
- # `maxSwap` parameter is omitted, the container will use the swap
3129
+ # `maxSwap` parameter is omitted, the container doesn't use the swap
2334
3130
  # configuration for the container instance it is running on. A
2335
3131
  # `maxSwap` value must be set for the `swappiness` parameter to be
2336
3132
  # used.
2337
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
+ #
2338
3139
  #
2339
3140
  #
2340
3141
  # [1]: https://docs.docker.com/engine/reference/run/
3142
+ # [2]: https://docs.docker.com/config/containers/resource_constraints/#--memory-swap-details
2341
3143
  # @return [Integer]
2342
3144
  #
2343
3145
  # @!attribute [rw] swappiness
2344
3146
  # This allows you to tune a container's memory swappiness behavior. A
2345
- # `swappiness` value of `0` will cause swapping to not happen unless
2346
- # absolutely necessary. A `swappiness` value of `100` will cause pages
2347
- # to be swapped very aggressively. Accepted values are whole numbers
2348
- # between `0` and `100`. If the `swappiness` parameter is not
2349
- # specified, a default value of `60` is used. If a value is not
2350
- # specified for `maxSwap` then this parameter is ignored. This
2351
- # parameter maps to the `--memory-swappiness` option to [docker
2352
- # 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>
2353
3183
  #
2354
3184
  #
2355
3185
  #
2356
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/
2357
3189
  # @return [Integer]
2358
3190
  #
2359
3191
  # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/LinuxParameters AWS API Documentation
@@ -2369,6 +3201,8 @@ module Aws::Batch
2369
3201
  include Aws::Structure
2370
3202
  end
2371
3203
 
3204
+ # Contains the parameters for `ListJobs`.
3205
+ #
2372
3206
  # @note When making an API call, you may pass ListJobsRequest
2373
3207
  # data as a hash:
2374
3208
  #
@@ -2382,8 +3216,8 @@ module Aws::Batch
2382
3216
  # }
2383
3217
  #
2384
3218
  # @!attribute [rw] job_queue
2385
- # The name or full Amazon Resource Name (ARN) of the job queue with
2386
- # which to list jobs.
3219
+ # The name or full Amazon Resource Name (ARN) of the job queue used to
3220
+ # list jobs.
2387
3221
  # @return [String]
2388
3222
  #
2389
3223
  # @!attribute [rw] array_job_id
@@ -2398,8 +3232,8 @@ module Aws::Batch
2398
3232
  # @return [String]
2399
3233
  #
2400
3234
  # @!attribute [rw] job_status
2401
- # The job status with which to filter jobs in the specified queue. If
2402
- # 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.
2403
3237
  # @return [String]
2404
3238
  #
2405
3239
  # @!attribute [rw] max_results
@@ -2409,7 +3243,7 @@ module Aws::Batch
2409
3243
  # response element. The remaining results of the initial request can
2410
3244
  # be seen by sending another `ListJobs` request with the returned
2411
3245
  # `nextToken` value. This value can be between 1 and 100. If this
2412
- # 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
2413
3247
  # a `nextToken` value if applicable.
2414
3248
  # @return [Integer]
2415
3249
  #
@@ -2420,7 +3254,7 @@ module Aws::Batch
2420
3254
  # previous results that returned the `nextToken` value. This value is
2421
3255
  # `null` when there are no more results to return.
2422
3256
  #
2423
- # <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
2424
3258
  # used to retrieve the next items in a list and not for other
2425
3259
  # programmatic purposes.
2426
3260
  #
@@ -2460,6 +3294,41 @@ module Aws::Batch
2460
3294
  include Aws::Structure
2461
3295
  end
2462
3296
 
3297
+ # @note When making an API call, you may pass ListTagsForResourceRequest
3298
+ # data as a hash:
3299
+ #
3300
+ # {
3301
+ # resource_arn: "String", # required
3302
+ # }
3303
+ #
3304
+ # @!attribute [rw] resource_arn
3305
+ # The Amazon Resource Name (ARN) that identifies the resource that
3306
+ # tags are listed for. AWS Batch resources that support tags are
3307
+ # compute environments, jobs, job definitions, and job queues. ARNs
3308
+ # for child jobs of array and multi-node parallel (MNP) jobs are not
3309
+ # supported.
3310
+ # @return [String]
3311
+ #
3312
+ # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/ListTagsForResourceRequest AWS API Documentation
3313
+ #
3314
+ class ListTagsForResourceRequest < Struct.new(
3315
+ :resource_arn)
3316
+ SENSITIVE = []
3317
+ include Aws::Structure
3318
+ end
3319
+
3320
+ # @!attribute [rw] tags
3321
+ # The tags for the resource.
3322
+ # @return [Hash<String,String>]
3323
+ #
3324
+ # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/ListTagsForResourceResponse AWS API Documentation
3325
+ #
3326
+ class ListTagsForResourceResponse < Struct.new(
3327
+ :tags)
3328
+ SENSITIVE = []
3329
+ include Aws::Structure
3330
+ end
3331
+
2463
3332
  # Log configuration options to send to a custom log driver for the
2464
3333
  # container.
2465
3334
  #
@@ -2487,17 +3356,61 @@ module Aws::Batch
2487
3356
  # The supported log drivers are `awslogs`, `fluentd`, `gelf`,
2488
3357
  # `json-file`, `journald`, `logentries`, `syslog`, and `splunk`.
2489
3358
  #
2490
- # For more information about using the `awslogs` log driver, see
2491
- # [Using the awslogs Log Driver][1] in the *Amazon Elastic Container
2492
- # Service Developer Guide*.
3359
+ # <note markdown="1"> Jobs running on Fargate resources are restricted to the `awslogs`
3360
+ # and `splunk` log drivers.
3361
+ #
3362
+ # </note>
3363
+ #
3364
+ # awslogs
3365
+ #
3366
+ # : Specifies the Amazon CloudWatch Logs logging driver. For more
3367
+ # information, see [Using the awslogs Log Driver][1] in the *AWS
3368
+ # Batch User Guide* and [Amazon CloudWatch Logs logging driver][2]
3369
+ # in the Docker documentation.
3370
+ #
3371
+ # fluentd
3372
+ #
3373
+ # : Specifies the Fluentd logging driver. For more information,
3374
+ # including usage and options, see [Fluentd logging driver][3] in
3375
+ # the Docker documentation.
3376
+ #
3377
+ # gelf
3378
+ #
3379
+ # : Specifies the Graylog Extended Format (GELF) logging driver. For
3380
+ # more information, including usage and options, see [Graylog
3381
+ # Extended Format logging driver][4] in the Docker documentation.
3382
+ #
3383
+ # journald
3384
+ #
3385
+ # : Specifies the journald logging driver. For more information,
3386
+ # including usage and options, see [Journald logging driver][5] in
3387
+ # the Docker documentation.
3388
+ #
3389
+ # json-file
3390
+ #
3391
+ # : Specifies the JSON file logging driver. For more information,
3392
+ # including usage and options, see [JSON File logging driver][6] in
3393
+ # the Docker documentation.
2493
3394
  #
2494
- # <note markdown="1"> If you have a custom driver that is not listed earlier that you
2495
- # would like to work with the Amazon ECS container agent, you can fork
2496
- # the Amazon ECS container agent project that is [available on
2497
- # GitHub][2] and customize it to work with that driver. We encourage
2498
- # you to submit pull requests for changes that you would like to have
2499
- # included. However, Amazon Web Services does not currently support
2500
- # running modified copies of this software.
3395
+ # splunk
3396
+ #
3397
+ # : Specifies the Splunk logging driver. For more information,
3398
+ # including usage and options, see [Splunk logging driver][7] in the
3399
+ # Docker documentation.
3400
+ #
3401
+ # syslog
3402
+ #
3403
+ # : Specifies the syslog logging driver. For more information,
3404
+ # including usage and options, see [Syslog logging driver][8] in the
3405
+ # Docker documentation.
3406
+ #
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.
2501
3414
  #
2502
3415
  # </note>
2503
3416
  #
@@ -2509,8 +3422,15 @@ module Aws::Batch
2509
3422
  #
2510
3423
  #
2511
3424
  #
2512
- # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/using_awslogs.html
2513
- # [2]: https://github.com/aws/amazon-ecs-agent
3425
+ # [1]: https://docs.aws.amazon.com/batch/latest/userguide/using_awslogs.html
3426
+ # [2]: https://docs.docker.com/config/containers/logging/awslogs/
3427
+ # [3]: https://docs.docker.com/config/containers/logging/fluentd/
3428
+ # [4]: https://docs.docker.com/config/containers/logging/gelf/
3429
+ # [5]: https://docs.docker.com/config/containers/logging/journald/
3430
+ # [6]: https://docs.docker.com/config/containers/logging/json-file/
3431
+ # [7]: https://docs.docker.com/config/containers/logging/splunk/
3432
+ # [8]: https://docs.docker.com/config/containers/logging/syslog/
3433
+ # [9]: https://github.com/aws/amazon-ecs-agent
2514
3434
  # @return [String]
2515
3435
  #
2516
3436
  # @!attribute [rw] options
@@ -2523,12 +3443,11 @@ module Aws::Batch
2523
3443
  #
2524
3444
  # @!attribute [rw] secret_options
2525
3445
  # The secrets to pass to the log configuration. For more information,
2526
- # see [Specifying Sensitive Data][1] in the *Amazon Elastic Container
2527
- # Service Developer Guide*.
3446
+ # see [Specifying Sensitive Data][1] in the *AWS Batch User Guide*.
2528
3447
  #
2529
3448
  #
2530
3449
  #
2531
- # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/specifying-sensitive-data.html
3450
+ # [1]: https://docs.aws.amazon.com/batch/latest/userguide/specifying-sensitive-data.html
2532
3451
  # @return [Array<Types::Secret>]
2533
3452
  #
2534
3453
  # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/LogConfiguration AWS API Documentation
@@ -2541,7 +3460,7 @@ module Aws::Batch
2541
3460
  include Aws::Structure
2542
3461
  end
2543
3462
 
2544
- # 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
2545
3464
  # container properties. This parameter maps to `Volumes` in the [Create
2546
3465
  # a container][1] section of the Docker Remote API and the `--volume`
2547
3466
  # option to docker run.
@@ -2560,12 +3479,12 @@ module Aws::Batch
2560
3479
  # }
2561
3480
  #
2562
3481
  # @!attribute [rw] container_path
2563
- # The path on the container at which to mount the host volume.
3482
+ # The path on the container where the host volume is mounted.
2564
3483
  # @return [String]
2565
3484
  #
2566
3485
  # @!attribute [rw] read_only
2567
3486
  # If this value is `true`, the container has read-only access to the
2568
- # volume; otherwise, the container can write to the volume. The
3487
+ # volume. Otherwise, the container can write to the volume. The
2569
3488
  # default value is `false`.
2570
3489
  # @return [Boolean]
2571
3490
  #
@@ -2583,6 +3502,37 @@ module Aws::Batch
2583
3502
  include Aws::Structure
2584
3503
  end
2585
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
+
2586
3536
  # An object representing the elastic network interface for a multi-node
2587
3537
  # parallel job node.
2588
3538
  #
@@ -2630,9 +3580,14 @@ module Aws::Batch
2630
3580
  include Aws::Structure
2631
3581
  end
2632
3582
 
2633
- # Object representing any node overrides to a job definition that is
3583
+ # Object representing any node overrides to a job definition that's
2634
3584
  # used in a SubmitJob API operation.
2635
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
+ #
2636
3591
  # @note When making an API call, you may pass NodeOverrides
2637
3592
  # data as a hash:
2638
3593
  #
@@ -2655,7 +3610,7 @@ module Aws::Batch
2655
3610
  # resource_requirements: [
2656
3611
  # {
2657
3612
  # value: "String", # required
2658
- # type: "GPU", # required, accepts GPU
3613
+ # type: "GPU", # required, accepts GPU, VCPU, MEMORY
2659
3614
  # },
2660
3615
  # ],
2661
3616
  # },
@@ -2746,7 +3701,7 @@ module Aws::Batch
2746
3701
  # resource_requirements: [
2747
3702
  # {
2748
3703
  # value: "String", # required
2749
- # type: "GPU", # required, accepts GPU
3704
+ # type: "GPU", # required, accepts GPU, VCPU, MEMORY
2750
3705
  # },
2751
3706
  # ],
2752
3707
  # linux_parameters: {
@@ -2787,6 +3742,12 @@ module Aws::Batch
2787
3742
  # value_from: "String", # required
2788
3743
  # },
2789
3744
  # ],
3745
+ # network_configuration: {
3746
+ # assign_public_ip: "ENABLED", # accepts ENABLED, DISABLED
3747
+ # },
3748
+ # fargate_platform_configuration: {
3749
+ # platform_version: "String",
3750
+ # },
2790
3751
  # },
2791
3752
  # },
2792
3753
  # ],
@@ -2816,7 +3777,7 @@ module Aws::Batch
2816
3777
  include Aws::Structure
2817
3778
  end
2818
3779
 
2819
- # An object representing the properties of a node that is associated
3780
+ # An object representing the properties of a node that's associated
2820
3781
  # with a multi-node parallel job.
2821
3782
  #
2822
3783
  # @!attribute [rw] is_main_node
@@ -2844,7 +3805,7 @@ module Aws::Batch
2844
3805
  include Aws::Structure
2845
3806
  end
2846
3807
 
2847
- # Object representing any node overrides to a job definition that is
3808
+ # Object representing any node overrides to a job definition that's
2848
3809
  # used in a SubmitJob API operation.
2849
3810
  #
2850
3811
  # @note When making an API call, you may pass NodePropertyOverride
@@ -2866,18 +3827,19 @@ module Aws::Batch
2866
3827
  # resource_requirements: [
2867
3828
  # {
2868
3829
  # value: "String", # required
2869
- # type: "GPU", # required, accepts GPU
3830
+ # type: "GPU", # required, accepts GPU, VCPU, MEMORY
2870
3831
  # },
2871
3832
  # ],
2872
3833
  # },
2873
3834
  # }
2874
3835
  #
2875
3836
  # @!attribute [rw] target_nodes
2876
- # The range of nodes, using node index values, with which to override.
2877
- # A range of `0:3` indicates nodes with index values of `0` through
2878
- # `3`. If the starting range value is omitted (`:n`), then `0` is used
2879
- # to start the range. If the ending range value is omitted (`n:`),
2880
- # 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.
2881
3843
  # @return [String]
2882
3844
  #
2883
3845
  # @!attribute [rw] container_overrides
@@ -2943,7 +3905,7 @@ module Aws::Batch
2943
3905
  # resource_requirements: [
2944
3906
  # {
2945
3907
  # value: "String", # required
2946
- # type: "GPU", # required, accepts GPU
3908
+ # type: "GPU", # required, accepts GPU, VCPU, MEMORY
2947
3909
  # },
2948
3910
  # ],
2949
3911
  # linux_parameters: {
@@ -2984,6 +3946,12 @@ module Aws::Batch
2984
3946
  # value_from: "String", # required
2985
3947
  # },
2986
3948
  # ],
3949
+ # network_configuration: {
3950
+ # assign_public_ip: "ENABLED", # accepts ENABLED, DISABLED
3951
+ # },
3952
+ # fargate_platform_configuration: {
3953
+ # platform_version: "String",
3954
+ # },
2987
3955
  # },
2988
3956
  # }
2989
3957
  #
@@ -2993,9 +3961,9 @@ module Aws::Batch
2993
3961
  # starting range value is omitted (`:n`), then `0` is used to start
2994
3962
  # the range. If the ending range value is omitted (`n:`), then the
2995
3963
  # highest possible node index is used to end the range. Your
2996
- # accumulative node ranges must account for all nodes (0:n). You may
2997
- # nest node ranges, for example 0:10 and 4:5, in which case the 4:5
2998
- # 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.
2999
3967
  # @return [String]
3000
3968
  #
3001
3969
  # @!attribute [rw] container
@@ -3011,6 +3979,8 @@ module Aws::Batch
3011
3979
  include Aws::Structure
3012
3980
  end
3013
3981
 
3982
+ # Contains the parameters for `RegisterJobDefinition`.
3983
+ #
3014
3984
  # @note When making an API call, you may pass RegisterJobDefinitionRequest
3015
3985
  # data as a hash:
3016
3986
  #
@@ -3062,7 +4032,7 @@ module Aws::Batch
3062
4032
  # resource_requirements: [
3063
4033
  # {
3064
4034
  # value: "String", # required
3065
- # type: "GPU", # required, accepts GPU
4035
+ # type: "GPU", # required, accepts GPU, VCPU, MEMORY
3066
4036
  # },
3067
4037
  # ],
3068
4038
  # linux_parameters: {
@@ -3103,6 +4073,12 @@ module Aws::Batch
3103
4073
  # value_from: "String", # required
3104
4074
  # },
3105
4075
  # ],
4076
+ # network_configuration: {
4077
+ # assign_public_ip: "ENABLED", # accepts ENABLED, DISABLED
4078
+ # },
4079
+ # fargate_platform_configuration: {
4080
+ # platform_version: "String",
4081
+ # },
3106
4082
  # },
3107
4083
  # node_properties: {
3108
4084
  # num_nodes: 1, # required
@@ -3152,7 +4128,7 @@ module Aws::Batch
3152
4128
  # resource_requirements: [
3153
4129
  # {
3154
4130
  # value: "String", # required
3155
- # type: "GPU", # required, accepts GPU
4131
+ # type: "GPU", # required, accepts GPU, VCPU, MEMORY
3156
4132
  # },
3157
4133
  # ],
3158
4134
  # linux_parameters: {
@@ -3193,16 +4169,35 @@ module Aws::Batch
3193
4169
  # value_from: "String", # required
3194
4170
  # },
3195
4171
  # ],
4172
+ # network_configuration: {
4173
+ # assign_public_ip: "ENABLED", # accepts ENABLED, DISABLED
4174
+ # },
4175
+ # fargate_platform_configuration: {
4176
+ # platform_version: "String",
4177
+ # },
3196
4178
  # },
3197
4179
  # },
3198
4180
  # ],
3199
4181
  # },
3200
4182
  # retry_strategy: {
3201
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
+ # ],
3202
4192
  # },
4193
+ # propagate_tags: false,
3203
4194
  # timeout: {
3204
4195
  # attempt_duration_seconds: 1,
3205
4196
  # },
4197
+ # tags: {
4198
+ # "TagKey" => "TagValue",
4199
+ # },
4200
+ # platform_capabilities: ["EC2"], # accepts EC2, FARGATE
3206
4201
  # }
3207
4202
  #
3208
4203
  # @!attribute [rw] job_definition_name
@@ -3212,7 +4207,18 @@ module Aws::Batch
3212
4207
  # @return [String]
3213
4208
  #
3214
4209
  # @!attribute [rw] type
3215
- # 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
3216
4222
  # @return [String]
3217
4223
  #
3218
4224
  # @!attribute [rw] parameters
@@ -3227,6 +4233,11 @@ module Aws::Batch
3227
4233
  # container-based jobs. If the job definition's `type` parameter is
3228
4234
  # `container`, then you must specify either `containerProperties` or
3229
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>
3230
4241
  # @return [Types::ContainerProperties]
3231
4242
  #
3232
4243
  # @!attribute [rw] node_properties
@@ -3237,6 +4248,11 @@ module Aws::Batch
3237
4248
  # definition's `type` parameter is `container`, then you must specify
3238
4249
  # either `containerProperties` or `nodeProperties`.
3239
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
+ #
3240
4256
  #
3241
4257
  #
3242
4258
  # [1]: https://docs.aws.amazon.com/batch/latest/userguide/multi-node-parallel-jobs.html
@@ -3244,26 +4260,52 @@ module Aws::Batch
3244
4260
  #
3245
4261
  # @!attribute [rw] retry_strategy
3246
4262
  # The retry strategy to use for failed jobs that are submitted with
3247
- # this job definition. Any retry strategy that is specified during a
4263
+ # this job definition. Any retry strategy that's specified during a
3248
4264
  # SubmitJob operation overrides the retry strategy defined here. If a
3249
- # job is terminated due to a timeout, it is not retried.
4265
+ # job is terminated due to a timeout, it isn't retried.
3250
4266
  # @return [Types::RetryStrategy]
3251
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
+ #
3252
4278
  # @!attribute [rw] timeout
3253
4279
  # The timeout configuration for jobs that are submitted with this job
3254
4280
  # definition, after which AWS Batch terminates your jobs if they have
3255
- # 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
3256
4282
  # retried. The minimum value for the timeout is 60 seconds. Any
3257
- # timeout configuration that is specified during a SubmitJob operation
4283
+ # timeout configuration that's specified during a SubmitJob operation
3258
4284
  # overrides the timeout configuration defined here. For more
3259
- # information, see [Job Timeouts][1] in the *Amazon Elastic Container
3260
- # Service Developer Guide*.
4285
+ # information, see [Job Timeouts][1] in the *AWS Batch User Guide*.
3261
4286
  #
3262
4287
  #
3263
4288
  #
3264
- # [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
3265
4290
  # @return [Types::JobTimeout]
3266
4291
  #
4292
+ # @!attribute [rw] tags
4293
+ # The tags that you apply to the job definition to help you categorize
4294
+ # and organize your resources. Each tag consists of a key and an
4295
+ # optional value. For more information, see [Tagging AWS Resources][1]
4296
+ # in *AWS Batch User Guide*.
4297
+ #
4298
+ #
4299
+ #
4300
+ # [1]: https://docs.aws.amazon.com/batch/latest/userguide/using-tags.html
4301
+ # @return [Hash<String,String>]
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
+ #
3267
4309
  # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/RegisterJobDefinitionRequest AWS API Documentation
3268
4310
  #
3269
4311
  class RegisterJobDefinitionRequest < Struct.new(
@@ -3273,7 +4315,10 @@ module Aws::Batch
3273
4315
  :container_properties,
3274
4316
  :node_properties,
3275
4317
  :retry_strategy,
3276
- :timeout)
4318
+ :propagate_tags,
4319
+ :timeout,
4320
+ :tags,
4321
+ :platform_capabilities)
3277
4322
  SENSITIVE = []
3278
4323
  include Aws::Structure
3279
4324
  end
@@ -3300,27 +4345,143 @@ module Aws::Batch
3300
4345
  include Aws::Structure
3301
4346
  end
3302
4347
 
3303
- # The type and amount of a resource to assign to a container. Currently,
3304
- # 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`.
3305
4350
  #
3306
4351
  # @note When making an API call, you may pass ResourceRequirement
3307
4352
  # data as a hash:
3308
4353
  #
3309
4354
  # {
3310
4355
  # value: "String", # required
3311
- # type: "GPU", # required, accepts GPU
4356
+ # type: "GPU", # required, accepts GPU, VCPU, MEMORY
3312
4357
  # }
3313
4358
  #
3314
4359
  # @!attribute [rw] value
3315
- # The number of physical GPUs to reserve for the container. The number
3316
- # of GPUs reserved for all containers in a job should not exceed the
3317
- # number of available GPUs on the compute resource that the job is
3318
- # 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
3319
4480
  # @return [String]
3320
4481
  #
3321
4482
  # @!attribute [rw] type
3322
- # The type of resource to assign to a container. Currently, the only
3323
- # supported resource type is `GPU`.
4483
+ # The type of resource to assign to a container. The supported
4484
+ # resources include `GPU`, `MEMORY`, and `VCPU`.
3324
4485
  # @return [String]
3325
4486
  #
3326
4487
  # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/ResourceRequirement AWS API Documentation
@@ -3332,26 +4493,46 @@ module Aws::Batch
3332
4493
  include Aws::Structure
3333
4494
  end
3334
4495
 
3335
- # 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
3336
4502
  #
3337
4503
  # @note When making an API call, you may pass RetryStrategy
3338
4504
  # data as a hash:
3339
4505
  #
3340
4506
  # {
3341
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
+ # ],
3342
4516
  # }
3343
4517
  #
3344
4518
  # @!attribute [rw] attempts
3345
- # 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
3346
4520
  # specify between 1 and 10 attempts. If the value of `attempts` is
3347
4521
  # greater than one, the job is retried on failure the same number of
3348
4522
  # attempts as the value.
3349
4523
  # @return [Integer]
3350
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
+ #
3351
4531
  # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/RetryStrategy AWS API Documentation
3352
4532
  #
3353
4533
  class RetryStrategy < Struct.new(
3354
- :attempts)
4534
+ :attempts,
4535
+ :evaluate_on_exit)
3355
4536
  SENSITIVE = []
3356
4537
  include Aws::Structure
3357
4538
  end
@@ -3365,12 +4546,12 @@ module Aws::Batch
3365
4546
  # * To reference sensitive information in the log configuration of a
3366
4547
  # container, use the `secretOptions` container definition parameter.
3367
4548
  #
3368
- # For more information, see [Specifying Sensitive Data][1] in the
3369
- # *Amazon Elastic Container Service Developer Guide*.
4549
+ # For more information, see [Specifying sensitive data][1] in the *AWS
4550
+ # Batch User Guide*.
3370
4551
  #
3371
4552
  #
3372
4553
  #
3373
- # [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
3374
4555
  #
3375
4556
  # @note When making an API call, you may pass Secret
3376
4557
  # data as a hash:
@@ -3390,7 +4571,7 @@ module Aws::Batch
3390
4571
  # ARN of the parameter in the AWS Systems Manager Parameter Store.
3391
4572
  #
3392
4573
  # <note markdown="1"> If the AWS Systems Manager Parameter Store parameter exists in the
3393
- # 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
3394
4575
  # the full ARN or name of the parameter. If the parameter exists in a
3395
4576
  # different Region, then the full ARN must be specified.
3396
4577
  #
@@ -3419,6 +4600,8 @@ module Aws::Batch
3419
4600
  include Aws::Structure
3420
4601
  end
3421
4602
 
4603
+ # Contains the parameters for `SubmitJob`.
4604
+ #
3422
4605
  # @note When making an API call, you may pass SubmitJobRequest
3423
4606
  # data as a hash:
3424
4607
  #
@@ -3452,7 +4635,7 @@ module Aws::Batch
3452
4635
  # resource_requirements: [
3453
4636
  # {
3454
4637
  # value: "String", # required
3455
- # type: "GPU", # required, accepts GPU
4638
+ # type: "GPU", # required, accepts GPU, VCPU, MEMORY
3456
4639
  # },
3457
4640
  # ],
3458
4641
  # },
@@ -3475,7 +4658,7 @@ module Aws::Batch
3475
4658
  # resource_requirements: [
3476
4659
  # {
3477
4660
  # value: "String", # required
3478
- # type: "GPU", # required, accepts GPU
4661
+ # type: "GPU", # required, accepts GPU, VCPU, MEMORY
3479
4662
  # },
3480
4663
  # ],
3481
4664
  # },
@@ -3484,10 +4667,22 @@ module Aws::Batch
3484
4667
  # },
3485
4668
  # retry_strategy: {
3486
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
+ # ],
3487
4678
  # },
4679
+ # propagate_tags: false,
3488
4680
  # timeout: {
3489
4681
  # attempt_duration_seconds: 1,
3490
4682
  # },
4683
+ # tags: {
4684
+ # "TagKey" => "TagValue",
4685
+ # },
3491
4686
  # }
3492
4687
  #
3493
4688
  # @!attribute [rw] job_name
@@ -3541,7 +4736,7 @@ module Aws::Batch
3541
4736
  # A list of container overrides in JSON format that specify the name
3542
4737
  # of a container in the specified job definition and the overrides it
3543
4738
  # should receive. You can override the default command for a container
3544
- # (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
3545
4740
  # `command` override. You can also override existing environment
3546
4741
  # variables (that are specified in the job definition or Docker image)
3547
4742
  # on a container or add new environment variables to it with an
@@ -3551,6 +4746,11 @@ module Aws::Batch
3551
4746
  # @!attribute [rw] node_overrides
3552
4747
  # A list of node overrides in JSON format that specify the node range
3553
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>
3554
4754
  # @return [Types::NodeOverrides]
3555
4755
  #
3556
4756
  # @!attribute [rw] retry_strategy
@@ -3559,11 +4759,22 @@ module Aws::Batch
3559
4759
  # retry strategy defined in the job definition.
3560
4760
  # @return [Types::RetryStrategy]
3561
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
+ #
3562
4773
  # @!attribute [rw] timeout
3563
4774
  # The timeout configuration for this SubmitJob operation. You can
3564
4775
  # specify a timeout duration after which AWS Batch terminates your
3565
- # jobs if they have not finished. If a job is terminated due to a
3566
- # 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
3567
4778
  # seconds. This configuration overrides any timeout configuration
3568
4779
  # specified in the job definition. For array jobs, child jobs have the
3569
4780
  # same timeout configuration as the parent job. For more information,
@@ -3575,6 +4786,17 @@ module Aws::Batch
3575
4786
  # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/job_timeouts.html
3576
4787
  # @return [Types::JobTimeout]
3577
4788
  #
4789
+ # @!attribute [rw] tags
4790
+ # The tags that you apply to the job request to help you categorize
4791
+ # and organize your resources. Each tag consists of a key and an
4792
+ # optional value. For more information, see [Tagging AWS Resources][1]
4793
+ # in *AWS General Reference*.
4794
+ #
4795
+ #
4796
+ #
4797
+ # [1]: https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html
4798
+ # @return [Hash<String,String>]
4799
+ #
3578
4800
  # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/SubmitJobRequest AWS API Documentation
3579
4801
  #
3580
4802
  class SubmitJobRequest < Struct.new(
@@ -3587,11 +4809,17 @@ module Aws::Batch
3587
4809
  :container_overrides,
3588
4810
  :node_overrides,
3589
4811
  :retry_strategy,
3590
- :timeout)
4812
+ :propagate_tags,
4813
+ :timeout,
4814
+ :tags)
3591
4815
  SENSITIVE = []
3592
4816
  include Aws::Structure
3593
4817
  end
3594
4818
 
4819
+ # @!attribute [rw] job_arn
4820
+ # The Amazon Resource Name (ARN) for the job.
4821
+ # @return [String]
4822
+ #
3595
4823
  # @!attribute [rw] job_name
3596
4824
  # The name of the job.
3597
4825
  # @return [String]
@@ -3603,12 +4831,56 @@ module Aws::Batch
3603
4831
  # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/SubmitJobResponse AWS API Documentation
3604
4832
  #
3605
4833
  class SubmitJobResponse < Struct.new(
4834
+ :job_arn,
3606
4835
  :job_name,
3607
4836
  :job_id)
3608
4837
  SENSITIVE = []
3609
4838
  include Aws::Structure
3610
4839
  end
3611
4840
 
4841
+ # @note When making an API call, you may pass TagResourceRequest
4842
+ # data as a hash:
4843
+ #
4844
+ # {
4845
+ # resource_arn: "String", # required
4846
+ # tags: { # required
4847
+ # "TagKey" => "TagValue",
4848
+ # },
4849
+ # }
4850
+ #
4851
+ # @!attribute [rw] resource_arn
4852
+ # The Amazon Resource Name (ARN) of the resource that tags are added
4853
+ # to. AWS Batch resources that support tags are compute environments,
4854
+ # jobs, job definitions, and job queues. ARNs for child jobs of array
4855
+ # and multi-node parallel (MNP) jobs are not supported.
4856
+ # @return [String]
4857
+ #
4858
+ # @!attribute [rw] tags
4859
+ # The tags that you apply to the resource to help you categorize and
4860
+ # organize your resources. Each tag consists of a key and an optional
4861
+ # value. For more information, see [Tagging AWS Resources][1] in *AWS
4862
+ # General Reference*.
4863
+ #
4864
+ #
4865
+ #
4866
+ # [1]: https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html
4867
+ # @return [Hash<String,String>]
4868
+ #
4869
+ # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/TagResourceRequest AWS API Documentation
4870
+ #
4871
+ class TagResourceRequest < Struct.new(
4872
+ :resource_arn,
4873
+ :tags)
4874
+ SENSITIVE = []
4875
+ include Aws::Structure
4876
+ end
4877
+
4878
+ # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/TagResourceResponse AWS API Documentation
4879
+ #
4880
+ class TagResourceResponse < Aws::EmptyStructure; end
4881
+
4882
+ # Contains the parameters for `TerminateJob`.
4883
+ #
3612
4884
  # @note When making an API call, you may pass TerminateJobRequest
3613
4885
  # data as a hash:
3614
4886
  #
@@ -3643,6 +4915,10 @@ module Aws::Batch
3643
4915
 
3644
4916
  # The container path, mount options, and size of the tmpfs mount.
3645
4917
  #
4918
+ # <note markdown="1"> This object isn't applicable to jobs running on Fargate resources.
4919
+ #
4920
+ # </note>
4921
+ #
3646
4922
  # @note When making an API call, you may pass Tmpfs
3647
4923
  # data as a hash:
3648
4924
  #
@@ -3653,7 +4929,8 @@ module Aws::Batch
3653
4929
  # }
3654
4930
  #
3655
4931
  # @!attribute [rw] container_path
3656
- # The absolute file path where the tmpfs volume is to be mounted.
4932
+ # The absolute file path in the container where the tmpfs volume is
4933
+ # mounted.
3657
4934
  # @return [String]
3658
4935
  #
3659
4936
  # @!attribute [rw] size
@@ -3663,13 +4940,16 @@ module Aws::Batch
3663
4940
  # @!attribute [rw] mount_options
3664
4941
  # The list of tmpfs volume mount options.
3665
4942
  #
3666
- # Valid values: `"defaults" | "ro" | "rw" | "suid" | "nosuid" | "dev"
3667
- # | "nodev" | "exec" | "noexec" | "sync" | "async" | "dirsync" |
3668
- # "remount" | "mand" | "nomand" | "atime" | "noatime" | "diratime" |
3669
- # "nodiratime" | "bind" | "rbind" | "unbindable" | "runbindable" |
3670
- # "private" | "rprivate" | "shared" | "rshared" | "slave" | "rslave" |
3671
- # "relatime" | "norelatime" | "strictatime" | "nostrictatime" | "mode"
3672
- # | "uid" | "gid" | "nr_inodes" | "nr_blocks" | "mpol"`
4943
+ # Valid values: "`defaults`" \| "`ro`" \| "`rw`" \| "`suid`"
4944
+ # \| "`nosuid`" \| "`dev`" \| "`nodev`" \| "`exec`" \|
4945
+ # "`noexec`" \| "`sync`" \| "`async`" \| "`dirsync`" \|
4946
+ # "`remount`" \| "`mand`" \| "`nomand`" \| "`atime`" \|
4947
+ # "`noatime`" \| "`diratime`" \| "`nodiratime`" \| "`bind`" \|
4948
+ # "`rbind" | "unbindable" | "runbindable" | "private" | "rprivate" |
4949
+ # "shared" | "rshared" | "slave" | "rslave" | "relatime`" \|
4950
+ # "`norelatime`" \| "`strictatime`" \| "`nostrictatime`" \|
4951
+ # "`mode`" \| "`uid`" \| "`gid`" \| "`nr_inodes`" \|
4952
+ # "`nr_blocks`" \| "`mpol`"
3673
4953
  # @return [Array<String>]
3674
4954
  #
3675
4955
  # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/Tmpfs AWS API Documentation
@@ -3684,6 +4964,10 @@ module Aws::Batch
3684
4964
 
3685
4965
  # The `ulimit` settings to pass to the container.
3686
4966
  #
4967
+ # <note markdown="1"> This object isn't applicable to jobs running on Fargate resources.
4968
+ #
4969
+ # </note>
4970
+ #
3687
4971
  # @note When making an API call, you may pass Ulimit
3688
4972
  # data as a hash:
3689
4973
  #
@@ -3715,6 +4999,40 @@ module Aws::Batch
3715
4999
  include Aws::Structure
3716
5000
  end
3717
5001
 
5002
+ # @note When making an API call, you may pass UntagResourceRequest
5003
+ # data as a hash:
5004
+ #
5005
+ # {
5006
+ # resource_arn: "String", # required
5007
+ # tag_keys: ["TagKey"], # required
5008
+ # }
5009
+ #
5010
+ # @!attribute [rw] resource_arn
5011
+ # The Amazon Resource Name (ARN) of the resource from which to delete
5012
+ # tags. AWS Batch resources that support tags are compute
5013
+ # environments, jobs, job definitions, and job queues. ARNs for child
5014
+ # jobs of array and multi-node parallel (MNP) jobs are not supported.
5015
+ # @return [String]
5016
+ #
5017
+ # @!attribute [rw] tag_keys
5018
+ # The keys of the tags to be removed.
5019
+ # @return [Array<String>]
5020
+ #
5021
+ # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/UntagResourceRequest AWS API Documentation
5022
+ #
5023
+ class UntagResourceRequest < Struct.new(
5024
+ :resource_arn,
5025
+ :tag_keys)
5026
+ SENSITIVE = []
5027
+ include Aws::Structure
5028
+ end
5029
+
5030
+ # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/UntagResourceResponse AWS API Documentation
5031
+ #
5032
+ class UntagResourceResponse < Aws::EmptyStructure; end
5033
+
5034
+ # Contains the parameters for `UpdateComputeEnvironment`.
5035
+ #
3718
5036
  # @note When making an API call, you may pass UpdateComputeEnvironmentRequest
3719
5037
  # data as a hash:
3720
5038
  #
@@ -3725,6 +5043,8 @@ module Aws::Batch
3725
5043
  # minv_cpus: 1,
3726
5044
  # maxv_cpus: 1,
3727
5045
  # desiredv_cpus: 1,
5046
+ # subnets: ["String"],
5047
+ # security_group_ids: ["String"],
3728
5048
  # },
3729
5049
  # service_role: "String",
3730
5050
  # }
@@ -3738,29 +5058,52 @@ module Aws::Batch
3738
5058
  # The state of the compute environment. Compute environments in the
3739
5059
  # `ENABLED` state can accept jobs from a queue and scale in or out
3740
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.
3741
5073
  # @return [String]
3742
5074
  #
3743
5075
  # @!attribute [rw] compute_resources
3744
5076
  # Details of the compute resources managed by the compute environment.
3745
- # 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
3746
5083
  # @return [Types::ComputeResourceUpdate]
3747
5084
  #
3748
5085
  # @!attribute [rw] service_role
3749
5086
  # The full Amazon Resource Name (ARN) of the IAM role that allows AWS
3750
- # 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*.
3751
5090
  #
3752
5091
  # If your specified role has a path other than `/`, then you must
3753
5092
  # either specify the full role ARN (this is recommended) or prefix the
3754
5093
  # role name with the path.
3755
5094
  #
3756
5095
  # <note markdown="1"> Depending on how you created your AWS Batch service role, its ARN
3757
- # may contain the `service-role` path prefix. When you only specify
5096
+ # might contain the `service-role` path prefix. When you only specify
3758
5097
  # the name of the service role, AWS Batch assumes that your ARN does
3759
5098
  # not use the `service-role` path prefix. Because of this, we
3760
5099
  # recommend that you specify the full ARN of your service role when
3761
5100
  # you create compute environments.
3762
5101
  #
3763
5102
  # </note>
5103
+ #
5104
+ #
5105
+ #
5106
+ # [1]: https://docs.aws.amazon.com/batch/latest/userguide/service_IAM_role.html
3764
5107
  # @return [String]
3765
5108
  #
3766
5109
  # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/UpdateComputeEnvironmentRequest AWS API Documentation
@@ -3775,7 +5118,8 @@ module Aws::Batch
3775
5118
  end
3776
5119
 
3777
5120
  # @!attribute [rw] compute_environment_name
3778
- # 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.
3779
5123
  # @return [String]
3780
5124
  #
3781
5125
  # @!attribute [rw] compute_environment_arn
@@ -3791,6 +5135,8 @@ module Aws::Batch
3791
5135
  include Aws::Structure
3792
5136
  end
3793
5137
 
5138
+ # Contains the parameters for `UpdateJobQueue`.
5139
+ #
3794
5140
  # @note When making an API call, you may pass UpdateJobQueueRequest
3795
5141
  # data as a hash:
3796
5142
  #
@@ -3823,14 +5169,27 @@ module Aws::Batch
3823
5169
  # first when associated with the same compute environment. Priority is
3824
5170
  # determined in descending order, for example, a job queue with a
3825
5171
  # priority value of `10` is given scheduling preference over a job
3826
- # 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.
3827
5176
  # @return [Integer]
3828
5177
  #
3829
5178
  # @!attribute [rw] compute_environment_order
3830
5179
  # Details the set of compute environments mapped to a job queue and
3831
5180
  # their order relative to each other. This is one of the parameters
3832
5181
  # used by the job scheduler to determine which compute environment
3833
- # 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>
3834
5193
  # @return [Array<Types::ComputeEnvironmentOrder>]
3835
5194
  #
3836
5195
  # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/UpdateJobQueueRequest AWS API Documentation
@@ -3877,9 +5236,14 @@ module Aws::Batch
3877
5236
  # The contents of the `host` parameter determine whether your data
3878
5237
  # volume persists on the host container instance and where it is
3879
5238
  # stored. If the host parameter is empty, then the Docker daemon
3880
- # 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
3881
5240
  # guaranteed to persist after the containers associated with it stop
3882
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>
3883
5247
  # @return [Types::Host]
3884
5248
  #
3885
5249
  # @!attribute [rw] name