aws-sdk-batch 1.38.0 → 1.43.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -18,6 +18,7 @@ module Aws::Batch
18
18
  ArrayProperties = Shapes::StructureShape.new(name: 'ArrayProperties')
19
19
  ArrayPropertiesDetail = Shapes::StructureShape.new(name: 'ArrayPropertiesDetail')
20
20
  ArrayPropertiesSummary = Shapes::StructureShape.new(name: 'ArrayPropertiesSummary')
21
+ AssignPublicIp = Shapes::StringShape.new(name: 'AssignPublicIp')
21
22
  AttemptContainerDetail = Shapes::StructureShape.new(name: 'AttemptContainerDetail')
22
23
  AttemptDetail = Shapes::StructureShape.new(name: 'AttemptDetail')
23
24
  AttemptDetails = Shapes::ListShape.new(name: 'AttemptDetails')
@@ -62,8 +63,15 @@ module Aws::Batch
62
63
  DeviceCgroupPermission = Shapes::StringShape.new(name: 'DeviceCgroupPermission')
63
64
  DeviceCgroupPermissions = Shapes::ListShape.new(name: 'DeviceCgroupPermissions')
64
65
  DevicesList = Shapes::ListShape.new(name: 'DevicesList')
66
+ Ec2Configuration = Shapes::StructureShape.new(name: 'Ec2Configuration')
67
+ Ec2ConfigurationList = Shapes::ListShape.new(name: 'Ec2ConfigurationList')
65
68
  EnvironmentVariables = Shapes::ListShape.new(name: 'EnvironmentVariables')
69
+ EvaluateOnExit = Shapes::StructureShape.new(name: 'EvaluateOnExit')
70
+ EvaluateOnExitList = Shapes::ListShape.new(name: 'EvaluateOnExitList')
71
+ FargatePlatformConfiguration = Shapes::StructureShape.new(name: 'FargatePlatformConfiguration')
66
72
  Host = Shapes::StructureShape.new(name: 'Host')
73
+ ImageIdOverride = Shapes::StringShape.new(name: 'ImageIdOverride')
74
+ ImageType = Shapes::StringShape.new(name: 'ImageType')
67
75
  Integer = Shapes::IntegerShape.new(name: 'Integer')
68
76
  JQState = Shapes::StringShape.new(name: 'JQState')
69
77
  JQStatus = Shapes::StringShape.new(name: 'JQStatus')
@@ -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