aws-sdk-batch 1.36.0 → 1.41.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -62,8 +62,14 @@ module Aws::Batch
62
62
  DeviceCgroupPermission = Shapes::StringShape.new(name: 'DeviceCgroupPermission')
63
63
  DeviceCgroupPermissions = Shapes::ListShape.new(name: 'DeviceCgroupPermissions')
64
64
  DevicesList = Shapes::ListShape.new(name: 'DevicesList')
65
+ Ec2Configuration = Shapes::StructureShape.new(name: 'Ec2Configuration')
66
+ Ec2ConfigurationList = Shapes::ListShape.new(name: 'Ec2ConfigurationList')
65
67
  EnvironmentVariables = Shapes::ListShape.new(name: 'EnvironmentVariables')
68
+ EvaluateOnExit = Shapes::StructureShape.new(name: 'EvaluateOnExit')
69
+ EvaluateOnExitList = Shapes::ListShape.new(name: 'EvaluateOnExitList')
66
70
  Host = Shapes::StructureShape.new(name: 'Host')
71
+ ImageIdOverride = Shapes::StringShape.new(name: 'ImageIdOverride')
72
+ ImageType = Shapes::StringShape.new(name: 'ImageType')
67
73
  Integer = Shapes::IntegerShape.new(name: 'Integer')
68
74
  JQState = Shapes::StringShape.new(name: 'JQState')
69
75
  JQStatus = Shapes::StringShape.new(name: 'JQStatus')
@@ -85,6 +91,11 @@ module Aws::Batch
85
91
  LinuxParameters = Shapes::StructureShape.new(name: 'LinuxParameters')
86
92
  ListJobsRequest = Shapes::StructureShape.new(name: 'ListJobsRequest')
87
93
  ListJobsResponse = Shapes::StructureShape.new(name: 'ListJobsResponse')
94
+ ListTagsForResourceRequest = Shapes::StructureShape.new(name: 'ListTagsForResourceRequest')
95
+ ListTagsForResourceResponse = Shapes::StructureShape.new(name: 'ListTagsForResourceResponse')
96
+ LogConfiguration = Shapes::StructureShape.new(name: 'LogConfiguration')
97
+ LogConfigurationOptionsMap = Shapes::MapShape.new(name: 'LogConfigurationOptionsMap')
98
+ LogDriver = Shapes::StringShape.new(name: 'LogDriver')
88
99
  Long = Shapes::IntegerShape.new(name: 'Long')
89
100
  MountPoint = Shapes::StructureShape.new(name: 'MountPoint')
90
101
  MountPoints = Shapes::ListShape.new(name: 'MountPoints')
@@ -104,17 +115,30 @@ module Aws::Batch
104
115
  ResourceRequirement = Shapes::StructureShape.new(name: 'ResourceRequirement')
105
116
  ResourceRequirements = Shapes::ListShape.new(name: 'ResourceRequirements')
106
117
  ResourceType = Shapes::StringShape.new(name: 'ResourceType')
118
+ RetryAction = Shapes::StringShape.new(name: 'RetryAction')
107
119
  RetryStrategy = Shapes::StructureShape.new(name: 'RetryStrategy')
120
+ Secret = Shapes::StructureShape.new(name: 'Secret')
121
+ SecretList = Shapes::ListShape.new(name: 'SecretList')
108
122
  ServerException = Shapes::StructureShape.new(name: 'ServerException')
109
123
  String = Shapes::StringShape.new(name: 'String')
110
124
  StringList = Shapes::ListShape.new(name: 'StringList')
111
125
  SubmitJobRequest = Shapes::StructureShape.new(name: 'SubmitJobRequest')
112
126
  SubmitJobResponse = Shapes::StructureShape.new(name: 'SubmitJobResponse')
127
+ TagKey = Shapes::StringShape.new(name: 'TagKey')
128
+ TagKeysList = Shapes::ListShape.new(name: 'TagKeysList')
129
+ TagResourceRequest = Shapes::StructureShape.new(name: 'TagResourceRequest')
130
+ TagResourceResponse = Shapes::StructureShape.new(name: 'TagResourceResponse')
131
+ TagValue = Shapes::StringShape.new(name: 'TagValue')
132
+ TagrisTagsMap = Shapes::MapShape.new(name: 'TagrisTagsMap')
113
133
  TagsMap = Shapes::MapShape.new(name: 'TagsMap')
114
134
  TerminateJobRequest = Shapes::StructureShape.new(name: 'TerminateJobRequest')
115
135
  TerminateJobResponse = Shapes::StructureShape.new(name: 'TerminateJobResponse')
136
+ Tmpfs = Shapes::StructureShape.new(name: 'Tmpfs')
137
+ TmpfsList = Shapes::ListShape.new(name: 'TmpfsList')
116
138
  Ulimit = Shapes::StructureShape.new(name: 'Ulimit')
117
139
  Ulimits = Shapes::ListShape.new(name: 'Ulimits')
140
+ UntagResourceRequest = Shapes::StructureShape.new(name: 'UntagResourceRequest')
141
+ UntagResourceResponse = Shapes::StructureShape.new(name: 'UntagResourceResponse')
118
142
  UpdateComputeEnvironmentRequest = Shapes::StructureShape.new(name: 'UpdateComputeEnvironmentRequest')
119
143
  UpdateComputeEnvironmentResponse = Shapes::StructureShape.new(name: 'UpdateComputeEnvironmentResponse')
120
144
  UpdateJobQueueRequest = Shapes::StructureShape.new(name: 'UpdateJobQueueRequest')
@@ -165,6 +189,7 @@ module Aws::Batch
165
189
  ComputeEnvironmentDetail.add_member(:compute_environment_name, Shapes::ShapeRef.new(shape: String, required: true, location_name: "computeEnvironmentName"))
166
190
  ComputeEnvironmentDetail.add_member(:compute_environment_arn, Shapes::ShapeRef.new(shape: String, required: true, location_name: "computeEnvironmentArn"))
167
191
  ComputeEnvironmentDetail.add_member(:ecs_cluster_arn, Shapes::ShapeRef.new(shape: String, required: true, location_name: "ecsClusterArn"))
192
+ ComputeEnvironmentDetail.add_member(:tags, Shapes::ShapeRef.new(shape: TagrisTagsMap, location_name: "tags"))
168
193
  ComputeEnvironmentDetail.add_member(:type, Shapes::ShapeRef.new(shape: CEType, location_name: "type"))
169
194
  ComputeEnvironmentDetail.add_member(:state, Shapes::ShapeRef.new(shape: CEState, location_name: "state"))
170
195
  ComputeEnvironmentDetail.add_member(:status, Shapes::ShapeRef.new(shape: CEStatus, location_name: "status"))
@@ -187,7 +212,7 @@ module Aws::Batch
187
212
  ComputeResource.add_member(:maxv_cpus, Shapes::ShapeRef.new(shape: Integer, required: true, location_name: "maxvCpus"))
188
213
  ComputeResource.add_member(:desiredv_cpus, Shapes::ShapeRef.new(shape: Integer, location_name: "desiredvCpus"))
189
214
  ComputeResource.add_member(:instance_types, Shapes::ShapeRef.new(shape: StringList, required: true, location_name: "instanceTypes"))
190
- ComputeResource.add_member(:image_id, Shapes::ShapeRef.new(shape: String, location_name: "imageId"))
215
+ 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."}))
191
216
  ComputeResource.add_member(:subnets, Shapes::ShapeRef.new(shape: StringList, required: true, location_name: "subnets"))
192
217
  ComputeResource.add_member(:security_group_ids, Shapes::ShapeRef.new(shape: StringList, location_name: "securityGroupIds"))
193
218
  ComputeResource.add_member(:ec2_key_pair, Shapes::ShapeRef.new(shape: String, location_name: "ec2KeyPair"))
@@ -197,6 +222,7 @@ module Aws::Batch
197
222
  ComputeResource.add_member(:bid_percentage, Shapes::ShapeRef.new(shape: Integer, location_name: "bidPercentage"))
198
223
  ComputeResource.add_member(:spot_iam_fleet_role, Shapes::ShapeRef.new(shape: String, location_name: "spotIamFleetRole"))
199
224
  ComputeResource.add_member(:launch_template, Shapes::ShapeRef.new(shape: LaunchTemplateSpecification, location_name: "launchTemplate"))
225
+ ComputeResource.add_member(:ec2_configuration, Shapes::ShapeRef.new(shape: Ec2ConfigurationList, location_name: "ec2Configuration"))
200
226
  ComputeResource.struct_class = Types::ComputeResource
201
227
 
202
228
  ComputeResourceUpdate.add_member(:minv_cpus, Shapes::ShapeRef.new(shape: Integer, location_name: "minvCpus"))
@@ -209,6 +235,7 @@ module Aws::Batch
209
235
  ContainerDetail.add_member(:memory, Shapes::ShapeRef.new(shape: Integer, location_name: "memory"))
210
236
  ContainerDetail.add_member(:command, Shapes::ShapeRef.new(shape: StringList, location_name: "command"))
211
237
  ContainerDetail.add_member(:job_role_arn, Shapes::ShapeRef.new(shape: String, location_name: "jobRoleArn"))
238
+ ContainerDetail.add_member(:execution_role_arn, Shapes::ShapeRef.new(shape: String, location_name: "executionRoleArn"))
212
239
  ContainerDetail.add_member(:volumes, Shapes::ShapeRef.new(shape: Volumes, location_name: "volumes"))
213
240
  ContainerDetail.add_member(:environment, Shapes::ShapeRef.new(shape: EnvironmentVariables, location_name: "environment"))
214
241
  ContainerDetail.add_member(:mount_points, Shapes::ShapeRef.new(shape: MountPoints, location_name: "mountPoints"))
@@ -225,6 +252,8 @@ module Aws::Batch
225
252
  ContainerDetail.add_member(:network_interfaces, Shapes::ShapeRef.new(shape: NetworkInterfaceList, location_name: "networkInterfaces"))
226
253
  ContainerDetail.add_member(:resource_requirements, Shapes::ShapeRef.new(shape: ResourceRequirements, location_name: "resourceRequirements"))
227
254
  ContainerDetail.add_member(:linux_parameters, Shapes::ShapeRef.new(shape: LinuxParameters, location_name: "linuxParameters"))
255
+ ContainerDetail.add_member(:log_configuration, Shapes::ShapeRef.new(shape: LogConfiguration, location_name: "logConfiguration"))
256
+ ContainerDetail.add_member(:secrets, Shapes::ShapeRef.new(shape: SecretList, location_name: "secrets"))
228
257
  ContainerDetail.struct_class = Types::ContainerDetail
229
258
 
230
259
  ContainerOverrides.add_member(:vcpus, Shapes::ShapeRef.new(shape: Integer, location_name: "vcpus"))
@@ -240,6 +269,7 @@ module Aws::Batch
240
269
  ContainerProperties.add_member(:memory, Shapes::ShapeRef.new(shape: Integer, location_name: "memory"))
241
270
  ContainerProperties.add_member(:command, Shapes::ShapeRef.new(shape: StringList, location_name: "command"))
242
271
  ContainerProperties.add_member(:job_role_arn, Shapes::ShapeRef.new(shape: String, location_name: "jobRoleArn"))
272
+ ContainerProperties.add_member(:execution_role_arn, Shapes::ShapeRef.new(shape: String, location_name: "executionRoleArn"))
243
273
  ContainerProperties.add_member(:volumes, Shapes::ShapeRef.new(shape: Volumes, location_name: "volumes"))
244
274
  ContainerProperties.add_member(:environment, Shapes::ShapeRef.new(shape: EnvironmentVariables, location_name: "environment"))
245
275
  ContainerProperties.add_member(:mount_points, Shapes::ShapeRef.new(shape: MountPoints, location_name: "mountPoints"))
@@ -250,6 +280,8 @@ module Aws::Batch
250
280
  ContainerProperties.add_member(:instance_type, Shapes::ShapeRef.new(shape: String, location_name: "instanceType"))
251
281
  ContainerProperties.add_member(:resource_requirements, Shapes::ShapeRef.new(shape: ResourceRequirements, location_name: "resourceRequirements"))
252
282
  ContainerProperties.add_member(:linux_parameters, Shapes::ShapeRef.new(shape: LinuxParameters, location_name: "linuxParameters"))
283
+ ContainerProperties.add_member(:log_configuration, Shapes::ShapeRef.new(shape: LogConfiguration, location_name: "logConfiguration"))
284
+ ContainerProperties.add_member(:secrets, Shapes::ShapeRef.new(shape: SecretList, location_name: "secrets"))
253
285
  ContainerProperties.struct_class = Types::ContainerProperties
254
286
 
255
287
  ContainerSummary.add_member(:exit_code, Shapes::ShapeRef.new(shape: Integer, location_name: "exitCode"))
@@ -261,6 +293,7 @@ module Aws::Batch
261
293
  CreateComputeEnvironmentRequest.add_member(:state, Shapes::ShapeRef.new(shape: CEState, location_name: "state"))
262
294
  CreateComputeEnvironmentRequest.add_member(:compute_resources, Shapes::ShapeRef.new(shape: ComputeResource, location_name: "computeResources"))
263
295
  CreateComputeEnvironmentRequest.add_member(:service_role, Shapes::ShapeRef.new(shape: String, required: true, location_name: "serviceRole"))
296
+ CreateComputeEnvironmentRequest.add_member(:tags, Shapes::ShapeRef.new(shape: TagrisTagsMap, location_name: "tags"))
264
297
  CreateComputeEnvironmentRequest.struct_class = Types::CreateComputeEnvironmentRequest
265
298
 
266
299
  CreateComputeEnvironmentResponse.add_member(:compute_environment_name, Shapes::ShapeRef.new(shape: String, location_name: "computeEnvironmentName"))
@@ -271,6 +304,7 @@ module Aws::Batch
271
304
  CreateJobQueueRequest.add_member(:state, Shapes::ShapeRef.new(shape: JQState, location_name: "state"))
272
305
  CreateJobQueueRequest.add_member(:priority, Shapes::ShapeRef.new(shape: Integer, required: true, location_name: "priority"))
273
306
  CreateJobQueueRequest.add_member(:compute_environment_order, Shapes::ShapeRef.new(shape: ComputeEnvironmentOrders, required: true, location_name: "computeEnvironmentOrder"))
307
+ CreateJobQueueRequest.add_member(:tags, Shapes::ShapeRef.new(shape: TagrisTagsMap, location_name: "tags"))
274
308
  CreateJobQueueRequest.struct_class = Types::CreateJobQueueRequest
275
309
 
276
310
  CreateJobQueueResponse.add_member(:job_queue_name, Shapes::ShapeRef.new(shape: String, required: true, location_name: "jobQueueName"))
@@ -336,8 +370,22 @@ module Aws::Batch
336
370
 
337
371
  DevicesList.member = Shapes::ShapeRef.new(shape: Device)
338
372
 
373
+ Ec2Configuration.add_member(:image_type, Shapes::ShapeRef.new(shape: ImageType, required: true, location_name: "imageType"))
374
+ Ec2Configuration.add_member(:image_id_override, Shapes::ShapeRef.new(shape: ImageIdOverride, location_name: "imageIdOverride"))
375
+ Ec2Configuration.struct_class = Types::Ec2Configuration
376
+
377
+ Ec2ConfigurationList.member = Shapes::ShapeRef.new(shape: Ec2Configuration)
378
+
339
379
  EnvironmentVariables.member = Shapes::ShapeRef.new(shape: KeyValuePair)
340
380
 
381
+ EvaluateOnExit.add_member(:on_status_reason, Shapes::ShapeRef.new(shape: String, location_name: "onStatusReason"))
382
+ EvaluateOnExit.add_member(:on_reason, Shapes::ShapeRef.new(shape: String, location_name: "onReason"))
383
+ EvaluateOnExit.add_member(:on_exit_code, Shapes::ShapeRef.new(shape: String, location_name: "onExitCode"))
384
+ EvaluateOnExit.add_member(:action, Shapes::ShapeRef.new(shape: RetryAction, required: true, location_name: "action"))
385
+ EvaluateOnExit.struct_class = Types::EvaluateOnExit
386
+
387
+ EvaluateOnExitList.member = Shapes::ShapeRef.new(shape: EvaluateOnExit)
388
+
341
389
  Host.add_member(:source_path, Shapes::ShapeRef.new(shape: String, location_name: "sourcePath"))
342
390
  Host.struct_class = Types::Host
343
391
 
@@ -351,6 +399,7 @@ module Aws::Batch
351
399
  JobDefinition.add_member(:container_properties, Shapes::ShapeRef.new(shape: ContainerProperties, location_name: "containerProperties"))
352
400
  JobDefinition.add_member(:timeout, Shapes::ShapeRef.new(shape: JobTimeout, location_name: "timeout"))
353
401
  JobDefinition.add_member(:node_properties, Shapes::ShapeRef.new(shape: NodeProperties, location_name: "nodeProperties"))
402
+ JobDefinition.add_member(:tags, Shapes::ShapeRef.new(shape: TagrisTagsMap, location_name: "tags"))
354
403
  JobDefinition.struct_class = Types::JobDefinition
355
404
 
356
405
  JobDefinitionList.member = Shapes::ShapeRef.new(shape: JobDefinition)
@@ -361,6 +410,7 @@ module Aws::Batch
361
410
 
362
411
  JobDependencyList.member = Shapes::ShapeRef.new(shape: JobDependency)
363
412
 
413
+ JobDetail.add_member(:job_arn, Shapes::ShapeRef.new(shape: String, location_name: "jobArn"))
364
414
  JobDetail.add_member(:job_name, Shapes::ShapeRef.new(shape: String, required: true, location_name: "jobName"))
365
415
  JobDetail.add_member(:job_id, Shapes::ShapeRef.new(shape: String, required: true, location_name: "jobId"))
366
416
  JobDetail.add_member(:job_queue, Shapes::ShapeRef.new(shape: String, required: true, location_name: "jobQueue"))
@@ -379,6 +429,7 @@ module Aws::Batch
379
429
  JobDetail.add_member(:node_properties, Shapes::ShapeRef.new(shape: NodeProperties, location_name: "nodeProperties"))
380
430
  JobDetail.add_member(:array_properties, Shapes::ShapeRef.new(shape: ArrayPropertiesDetail, location_name: "arrayProperties"))
381
431
  JobDetail.add_member(:timeout, Shapes::ShapeRef.new(shape: JobTimeout, location_name: "timeout"))
432
+ JobDetail.add_member(:tags, Shapes::ShapeRef.new(shape: TagrisTagsMap, location_name: "tags"))
382
433
  JobDetail.struct_class = Types::JobDetail
383
434
 
384
435
  JobDetailList.member = Shapes::ShapeRef.new(shape: JobDetail)
@@ -390,10 +441,12 @@ module Aws::Batch
390
441
  JobQueueDetail.add_member(:status_reason, Shapes::ShapeRef.new(shape: String, location_name: "statusReason"))
391
442
  JobQueueDetail.add_member(:priority, Shapes::ShapeRef.new(shape: Integer, required: true, location_name: "priority"))
392
443
  JobQueueDetail.add_member(:compute_environment_order, Shapes::ShapeRef.new(shape: ComputeEnvironmentOrders, required: true, location_name: "computeEnvironmentOrder"))
444
+ JobQueueDetail.add_member(:tags, Shapes::ShapeRef.new(shape: TagrisTagsMap, location_name: "tags"))
393
445
  JobQueueDetail.struct_class = Types::JobQueueDetail
394
446
 
395
447
  JobQueueDetailList.member = Shapes::ShapeRef.new(shape: JobQueueDetail)
396
448
 
449
+ JobSummary.add_member(:job_arn, Shapes::ShapeRef.new(shape: String, location_name: "jobArn"))
397
450
  JobSummary.add_member(:job_id, Shapes::ShapeRef.new(shape: String, required: true, location_name: "jobId"))
398
451
  JobSummary.add_member(:job_name, Shapes::ShapeRef.new(shape: String, required: true, location_name: "jobName"))
399
452
  JobSummary.add_member(:created_at, Shapes::ShapeRef.new(shape: Long, location_name: "createdAt"))
@@ -421,6 +474,11 @@ module Aws::Batch
421
474
  LaunchTemplateSpecification.struct_class = Types::LaunchTemplateSpecification
422
475
 
423
476
  LinuxParameters.add_member(:devices, Shapes::ShapeRef.new(shape: DevicesList, location_name: "devices"))
477
+ LinuxParameters.add_member(:init_process_enabled, Shapes::ShapeRef.new(shape: Boolean, location_name: "initProcessEnabled"))
478
+ LinuxParameters.add_member(:shared_memory_size, Shapes::ShapeRef.new(shape: Integer, location_name: "sharedMemorySize"))
479
+ LinuxParameters.add_member(:tmpfs, Shapes::ShapeRef.new(shape: TmpfsList, location_name: "tmpfs"))
480
+ LinuxParameters.add_member(:max_swap, Shapes::ShapeRef.new(shape: Integer, location_name: "maxSwap"))
481
+ LinuxParameters.add_member(:swappiness, Shapes::ShapeRef.new(shape: Integer, location_name: "swappiness"))
424
482
  LinuxParameters.struct_class = Types::LinuxParameters
425
483
 
426
484
  ListJobsRequest.add_member(:job_queue, Shapes::ShapeRef.new(shape: String, location_name: "jobQueue"))
@@ -435,6 +493,20 @@ module Aws::Batch
435
493
  ListJobsResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: String, location_name: "nextToken"))
436
494
  ListJobsResponse.struct_class = Types::ListJobsResponse
437
495
 
496
+ ListTagsForResourceRequest.add_member(:resource_arn, Shapes::ShapeRef.new(shape: String, required: true, location: "uri", location_name: "resourceArn"))
497
+ ListTagsForResourceRequest.struct_class = Types::ListTagsForResourceRequest
498
+
499
+ ListTagsForResourceResponse.add_member(:tags, Shapes::ShapeRef.new(shape: TagrisTagsMap, location_name: "tags"))
500
+ ListTagsForResourceResponse.struct_class = Types::ListTagsForResourceResponse
501
+
502
+ LogConfiguration.add_member(:log_driver, Shapes::ShapeRef.new(shape: LogDriver, required: true, location_name: "logDriver"))
503
+ LogConfiguration.add_member(:options, Shapes::ShapeRef.new(shape: LogConfigurationOptionsMap, location_name: "options"))
504
+ LogConfiguration.add_member(:secret_options, Shapes::ShapeRef.new(shape: SecretList, location_name: "secretOptions"))
505
+ LogConfiguration.struct_class = Types::LogConfiguration
506
+
507
+ LogConfigurationOptionsMap.key = Shapes::ShapeRef.new(shape: String)
508
+ LogConfigurationOptionsMap.value = Shapes::ShapeRef.new(shape: String)
509
+
438
510
  MountPoint.add_member(:container_path, Shapes::ShapeRef.new(shape: String, location_name: "containerPath"))
439
511
  MountPoint.add_member(:read_only, Shapes::ShapeRef.new(shape: Boolean, location_name: "readOnly"))
440
512
  MountPoint.add_member(:source_volume, Shapes::ShapeRef.new(shape: String, location_name: "sourceVolume"))
@@ -489,6 +561,7 @@ module Aws::Batch
489
561
  RegisterJobDefinitionRequest.add_member(:node_properties, Shapes::ShapeRef.new(shape: NodeProperties, location_name: "nodeProperties"))
490
562
  RegisterJobDefinitionRequest.add_member(:retry_strategy, Shapes::ShapeRef.new(shape: RetryStrategy, location_name: "retryStrategy"))
491
563
  RegisterJobDefinitionRequest.add_member(:timeout, Shapes::ShapeRef.new(shape: JobTimeout, location_name: "timeout"))
564
+ RegisterJobDefinitionRequest.add_member(:tags, Shapes::ShapeRef.new(shape: TagrisTagsMap, location_name: "tags"))
492
565
  RegisterJobDefinitionRequest.struct_class = Types::RegisterJobDefinitionRequest
493
566
 
494
567
  RegisterJobDefinitionResponse.add_member(:job_definition_name, Shapes::ShapeRef.new(shape: String, required: true, location_name: "jobDefinitionName"))
@@ -503,8 +576,15 @@ module Aws::Batch
503
576
  ResourceRequirements.member = Shapes::ShapeRef.new(shape: ResourceRequirement)
504
577
 
505
578
  RetryStrategy.add_member(:attempts, Shapes::ShapeRef.new(shape: Integer, location_name: "attempts"))
579
+ RetryStrategy.add_member(:evaluate_on_exit, Shapes::ShapeRef.new(shape: EvaluateOnExitList, location_name: "evaluateOnExit"))
506
580
  RetryStrategy.struct_class = Types::RetryStrategy
507
581
 
582
+ Secret.add_member(:name, Shapes::ShapeRef.new(shape: String, required: true, location_name: "name"))
583
+ Secret.add_member(:value_from, Shapes::ShapeRef.new(shape: String, required: true, location_name: "valueFrom"))
584
+ Secret.struct_class = Types::Secret
585
+
586
+ SecretList.member = Shapes::ShapeRef.new(shape: Secret)
587
+
508
588
  ServerException.add_member(:message, Shapes::ShapeRef.new(shape: String, location_name: "message"))
509
589
  ServerException.struct_class = Types::ServerException
510
590
 
@@ -520,12 +600,25 @@ module Aws::Batch
520
600
  SubmitJobRequest.add_member(:node_overrides, Shapes::ShapeRef.new(shape: NodeOverrides, location_name: "nodeOverrides"))
521
601
  SubmitJobRequest.add_member(:retry_strategy, Shapes::ShapeRef.new(shape: RetryStrategy, location_name: "retryStrategy"))
522
602
  SubmitJobRequest.add_member(:timeout, Shapes::ShapeRef.new(shape: JobTimeout, location_name: "timeout"))
603
+ SubmitJobRequest.add_member(:tags, Shapes::ShapeRef.new(shape: TagrisTagsMap, location_name: "tags"))
523
604
  SubmitJobRequest.struct_class = Types::SubmitJobRequest
524
605
 
606
+ SubmitJobResponse.add_member(:job_arn, Shapes::ShapeRef.new(shape: String, location_name: "jobArn"))
525
607
  SubmitJobResponse.add_member(:job_name, Shapes::ShapeRef.new(shape: String, required: true, location_name: "jobName"))
526
608
  SubmitJobResponse.add_member(:job_id, Shapes::ShapeRef.new(shape: String, required: true, location_name: "jobId"))
527
609
  SubmitJobResponse.struct_class = Types::SubmitJobResponse
528
610
 
611
+ TagKeysList.member = Shapes::ShapeRef.new(shape: TagKey)
612
+
613
+ TagResourceRequest.add_member(:resource_arn, Shapes::ShapeRef.new(shape: String, required: true, location: "uri", location_name: "resourceArn"))
614
+ TagResourceRequest.add_member(:tags, Shapes::ShapeRef.new(shape: TagrisTagsMap, required: true, location_name: "tags"))
615
+ TagResourceRequest.struct_class = Types::TagResourceRequest
616
+
617
+ TagResourceResponse.struct_class = Types::TagResourceResponse
618
+
619
+ TagrisTagsMap.key = Shapes::ShapeRef.new(shape: TagKey)
620
+ TagrisTagsMap.value = Shapes::ShapeRef.new(shape: TagValue)
621
+
529
622
  TagsMap.key = Shapes::ShapeRef.new(shape: String)
530
623
  TagsMap.value = Shapes::ShapeRef.new(shape: String)
531
624
 
@@ -535,6 +628,13 @@ module Aws::Batch
535
628
 
536
629
  TerminateJobResponse.struct_class = Types::TerminateJobResponse
537
630
 
631
+ Tmpfs.add_member(:container_path, Shapes::ShapeRef.new(shape: String, required: true, location_name: "containerPath"))
632
+ Tmpfs.add_member(:size, Shapes::ShapeRef.new(shape: Integer, required: true, location_name: "size"))
633
+ Tmpfs.add_member(:mount_options, Shapes::ShapeRef.new(shape: StringList, location_name: "mountOptions"))
634
+ Tmpfs.struct_class = Types::Tmpfs
635
+
636
+ TmpfsList.member = Shapes::ShapeRef.new(shape: Tmpfs)
637
+
538
638
  Ulimit.add_member(:hard_limit, Shapes::ShapeRef.new(shape: Integer, required: true, location_name: "hardLimit"))
539
639
  Ulimit.add_member(:name, Shapes::ShapeRef.new(shape: String, required: true, location_name: "name"))
540
640
  Ulimit.add_member(:soft_limit, Shapes::ShapeRef.new(shape: Integer, required: true, location_name: "softLimit"))
@@ -542,6 +642,12 @@ module Aws::Batch
542
642
 
543
643
  Ulimits.member = Shapes::ShapeRef.new(shape: Ulimit)
544
644
 
645
+ UntagResourceRequest.add_member(:resource_arn, Shapes::ShapeRef.new(shape: String, required: true, location: "uri", location_name: "resourceArn"))
646
+ UntagResourceRequest.add_member(:tag_keys, Shapes::ShapeRef.new(shape: TagKeysList, required: true, location: "querystring", location_name: "tagKeys"))
647
+ UntagResourceRequest.struct_class = Types::UntagResourceRequest
648
+
649
+ UntagResourceResponse.struct_class = Types::UntagResourceResponse
650
+
545
651
  UpdateComputeEnvironmentRequest.add_member(:compute_environment, Shapes::ShapeRef.new(shape: String, required: true, location_name: "computeEnvironment"))
546
652
  UpdateComputeEnvironmentRequest.add_member(:state, Shapes::ShapeRef.new(shape: CEState, location_name: "state"))
547
653
  UpdateComputeEnvironmentRequest.add_member(:compute_resources, Shapes::ShapeRef.new(shape: ComputeResourceUpdate, location_name: "computeResources"))
@@ -720,6 +826,16 @@ module Aws::Batch
720
826
  )
721
827
  end)
722
828
 
829
+ api.add_operation(:list_tags_for_resource, Seahorse::Model::Operation.new.tap do |o|
830
+ o.name = "ListTagsForResource"
831
+ o.http_method = "GET"
832
+ o.http_request_uri = "/v1/tags/{resourceArn}"
833
+ o.input = Shapes::ShapeRef.new(shape: ListTagsForResourceRequest)
834
+ o.output = Shapes::ShapeRef.new(shape: ListTagsForResourceResponse)
835
+ o.errors << Shapes::ShapeRef.new(shape: ClientException)
836
+ o.errors << Shapes::ShapeRef.new(shape: ServerException)
837
+ end)
838
+
723
839
  api.add_operation(:register_job_definition, Seahorse::Model::Operation.new.tap do |o|
724
840
  o.name = "RegisterJobDefinition"
725
841
  o.http_method = "POST"
@@ -740,6 +856,16 @@ module Aws::Batch
740
856
  o.errors << Shapes::ShapeRef.new(shape: ServerException)
741
857
  end)
742
858
 
859
+ api.add_operation(:tag_resource, Seahorse::Model::Operation.new.tap do |o|
860
+ o.name = "TagResource"
861
+ o.http_method = "POST"
862
+ o.http_request_uri = "/v1/tags/{resourceArn}"
863
+ o.input = Shapes::ShapeRef.new(shape: TagResourceRequest)
864
+ o.output = Shapes::ShapeRef.new(shape: TagResourceResponse)
865
+ o.errors << Shapes::ShapeRef.new(shape: ClientException)
866
+ o.errors << Shapes::ShapeRef.new(shape: ServerException)
867
+ end)
868
+
743
869
  api.add_operation(:terminate_job, Seahorse::Model::Operation.new.tap do |o|
744
870
  o.name = "TerminateJob"
745
871
  o.http_method = "POST"
@@ -750,6 +876,16 @@ module Aws::Batch
750
876
  o.errors << Shapes::ShapeRef.new(shape: ServerException)
751
877
  end)
752
878
 
879
+ api.add_operation(:untag_resource, Seahorse::Model::Operation.new.tap do |o|
880
+ o.name = "UntagResource"
881
+ o.http_method = "DELETE"
882
+ o.http_request_uri = "/v1/tags/{resourceArn}"
883
+ o.input = Shapes::ShapeRef.new(shape: UntagResourceRequest)
884
+ o.output = Shapes::ShapeRef.new(shape: UntagResourceResponse)
885
+ o.errors << Shapes::ShapeRef.new(shape: ClientException)
886
+ o.errors << Shapes::ShapeRef.new(shape: ServerException)
887
+ end)
888
+
753
889
  api.add_operation(:update_compute_environment, Seahorse::Model::Operation.new.tap do |o|
754
890
  o.name = "UpdateComputeEnvironment"
755
891
  o.http_method = "POST"
@@ -134,16 +134,15 @@ module Aws::Batch
134
134
  # @return [Types::AttemptContainerDetail]
135
135
  #
136
136
  # @!attribute [rw] started_at
137
- # The Unix timestamp (in seconds and milliseconds) for when the
138
- # attempt was started (when the attempt transitioned from the
139
- # `STARTING` state to the `RUNNING` state).
137
+ # The Unix timestamp (in milliseconds) for when the attempt was
138
+ # started (when the attempt transitioned from the `STARTING` state to
139
+ # the `RUNNING` state).
140
140
  # @return [Integer]
141
141
  #
142
142
  # @!attribute [rw] stopped_at
143
- # The Unix timestamp (in seconds and milliseconds) for when the
144
- # attempt was stopped (when the attempt transitioned from the
145
- # `RUNNING` state to a terminal state, such as `SUCCEEDED` or
146
- # `FAILED`).
143
+ # The Unix timestamp (in milliseconds) for when the attempt was
144
+ # stopped (when the attempt transitioned from the `RUNNING` state to a
145
+ # terminal state, such as `SUCCEEDED` or `FAILED`).
147
146
  # @return [Integer]
148
147
  #
149
148
  # @!attribute [rw] status_reason
@@ -225,6 +224,10 @@ module Aws::Batch
225
224
  # used by the compute environment.
226
225
  # @return [String]
227
226
  #
227
+ # @!attribute [rw] tags
228
+ # The tags applied to the compute environment.
229
+ # @return [Hash<String,String>]
230
+ #
228
231
  # @!attribute [rw] type
229
232
  # The type of the compute environment.
230
233
  # @return [String]
@@ -271,6 +274,7 @@ module Aws::Batch
271
274
  :compute_environment_name,
272
275
  :compute_environment_arn,
273
276
  :ecs_cluster_arn,
277
+ :tags,
274
278
  :type,
275
279
  :state,
276
280
  :status,
@@ -340,6 +344,12 @@ module Aws::Batch
340
344
  # launch_template_name: "String",
341
345
  # version: "String",
342
346
  # },
347
+ # ec2_configuration: [
348
+ # {
349
+ # image_type: "ImageType", # required
350
+ # image_id_override: "ImageIdOverride",
351
+ # },
352
+ # ],
343
353
  # }
344
354
  #
345
355
  # @!attribute [rw] type
@@ -396,7 +406,8 @@ module Aws::Batch
396
406
  #
397
407
  # @!attribute [rw] image_id
398
408
  # The Amazon Machine Image (AMI) ID used for instances launched in the
399
- # compute environment.
409
+ # compute environment. This parameter is overridden by the
410
+ # `imageIdOverride` member of the `Ec2Configuration` structure.
400
411
  # @return [String]
401
412
  #
402
413
  # @!attribute [rw] subnets
@@ -442,7 +453,11 @@ module Aws::Batch
442
453
  # the compute environment. For AWS Batch, these take the form of
443
454
  # "String1": "String2", where String1 is the tag key and String2
444
455
  # is the tag value—for example, \\\{ "Name": "AWS Batch Instance -
445
- # C4OnDemand" \\}.
456
+ # C4OnDemand" \\}. These tags can not be updated or removed after the
457
+ # compute environment has been created; any changes require creating a
458
+ # new compute environment and removing the old compute environment.
459
+ # These tags are not seen when using the AWS Batch ListTagsForResource
460
+ # API operation.
446
461
  # @return [Hash<String,String>]
447
462
  #
448
463
  # @!attribute [rw] placement_group
@@ -497,6 +512,11 @@ module Aws::Batch
497
512
  # [1]: https://docs.aws.amazon.com/batch/latest/userguide/launch-templates.html
498
513
  # @return [Types::LaunchTemplateSpecification]
499
514
  #
515
+ # @!attribute [rw] ec2_configuration
516
+ # Provides additional details used to selecting the AMI to use for
517
+ # instances in a compute environment.
518
+ # @return [Array<Types::Ec2Configuration>]
519
+ #
500
520
  # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/ComputeResource AWS API Documentation
501
521
  #
502
522
  class ComputeResource < Struct.new(
@@ -515,7 +535,8 @@ module Aws::Batch
515
535
  :placement_group,
516
536
  :bid_percentage,
517
537
  :spot_iam_fleet_role,
518
- :launch_template)
538
+ :launch_template,
539
+ :ec2_configuration)
519
540
  SENSITIVE = []
520
541
  include Aws::Structure
521
542
  end
@@ -564,11 +585,13 @@ module Aws::Batch
564
585
  # @return [String]
565
586
  #
566
587
  # @!attribute [rw] vcpus
567
- # The number of VCPUs allocated for the job.
588
+ # The number of VCPUs allocated for the job. This is a required
589
+ # parameter.
568
590
  # @return [Integer]
569
591
  #
570
592
  # @!attribute [rw] memory
571
- # The number of MiB of memory reserved for the job.
593
+ # The number of MiB of memory reserved for the job. This is a required
594
+ # parameter.
572
595
  # @return [Integer]
573
596
  #
574
597
  # @!attribute [rw] command
@@ -580,6 +603,16 @@ module Aws::Batch
580
603
  # execution.
581
604
  # @return [String]
582
605
  #
606
+ # @!attribute [rw] execution_role_arn
607
+ # The Amazon Resource Name (ARN) of the execution role that AWS Batch
608
+ # can assume. For more information, see [AWS Batch execution IAM
609
+ # role][1].
610
+ #
611
+ #
612
+ #
613
+ # [1]: https://docs.aws.amazon.com/batch/latest/userguide/execution-IAM-role.html
614
+ # @return [String]
615
+ #
583
616
  # @!attribute [rw] volumes
584
617
  # A list of volumes associated with the job.
585
618
  # @return [Array<Types::Volume>]
@@ -663,6 +696,63 @@ module Aws::Batch
663
696
  # as details for device mappings.
664
697
  # @return [Types::LinuxParameters]
665
698
  #
699
+ # @!attribute [rw] log_configuration
700
+ # The log configuration specification for the container.
701
+ #
702
+ # This parameter maps to `LogConfig` in the [Create a container][1]
703
+ # section of the [Docker Remote API][2] and the `--log-driver` option
704
+ # to [docker run][3]. By default, containers use the same logging
705
+ # driver that the Docker daemon uses. However the container may use a
706
+ # different logging driver than the Docker daemon by specifying a log
707
+ # driver with this parameter in the container definition. To use a
708
+ # different logging driver for a container, the log system must be
709
+ # configured properly on the container instance (or on a different log
710
+ # server for remote logging options). For more information on the
711
+ # options for different supported log drivers, see [Configure logging
712
+ # drivers][4] in the Docker documentation.
713
+ #
714
+ # <note markdown="1"> AWS Batch currently supports a subset of the logging drivers
715
+ # available to the Docker daemon (shown in the LogConfiguration data
716
+ # type). Additional log drivers may be available in future releases of
717
+ # the Amazon ECS container agent.
718
+ #
719
+ # </note>
720
+ #
721
+ # This parameter requires version 1.18 of the Docker Remote API or
722
+ # greater on your container instance. To check the Docker Remote API
723
+ # version on your container instance, log into your container instance
724
+ # and run the following command: `sudo docker version | grep "Server
725
+ # API version"`
726
+ #
727
+ # <note markdown="1"> The Amazon ECS container agent running on a container instance must
728
+ # register the logging drivers available on that instance with the
729
+ # `ECS_AVAILABLE_LOGGING_DRIVERS` environment variable before
730
+ # containers placed on that instance can use these log configuration
731
+ # options. For more information, see [Amazon ECS Container Agent
732
+ # Configuration][5] in the *Amazon Elastic Container Service Developer
733
+ # Guide*.
734
+ #
735
+ # </note>
736
+ #
737
+ #
738
+ #
739
+ # [1]: https://docs.docker.com/engine/api/v1.23/#create-a-container
740
+ # [2]: https://docs.docker.com/engine/api/v1.23/
741
+ # [3]: https://docs.docker.com/engine/reference/run/
742
+ # [4]: https://docs.docker.com/engine/admin/logging/overview/
743
+ # [5]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-config.html
744
+ # @return [Types::LogConfiguration]
745
+ #
746
+ # @!attribute [rw] secrets
747
+ # The secrets to pass to the container. For more information, see
748
+ # [Specifying Sensitive Data][1] in the *Amazon Elastic Container
749
+ # Service Developer Guide*.
750
+ #
751
+ #
752
+ #
753
+ # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/specifying-sensitive-data.html
754
+ # @return [Array<Types::Secret>]
755
+ #
666
756
  # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/ContainerDetail AWS API Documentation
667
757
  #
668
758
  class ContainerDetail < Struct.new(
@@ -671,6 +761,7 @@ module Aws::Batch
671
761
  :memory,
672
762
  :command,
673
763
  :job_role_arn,
764
+ :execution_role_arn,
674
765
  :volumes,
675
766
  :environment,
676
767
  :mount_points,
@@ -686,7 +777,9 @@ module Aws::Batch
686
777
  :instance_type,
687
778
  :network_interfaces,
688
779
  :resource_requirements,
689
- :linux_parameters)
780
+ :linux_parameters,
781
+ :log_configuration,
782
+ :secrets)
690
783
  SENSITIVE = []
691
784
  include Aws::Structure
692
785
  end
@@ -779,6 +872,7 @@ module Aws::Batch
779
872
  # memory: 1,
780
873
  # command: ["String"],
781
874
  # job_role_arn: "String",
875
+ # execution_role_arn: "String",
782
876
  # volumes: [
783
877
  # {
784
878
  # host: {
@@ -825,7 +919,36 @@ module Aws::Batch
825
919
  # permissions: ["READ"], # accepts READ, WRITE, MKNOD
826
920
  # },
827
921
  # ],
922
+ # init_process_enabled: false,
923
+ # shared_memory_size: 1,
924
+ # tmpfs: [
925
+ # {
926
+ # container_path: "String", # required
927
+ # size: 1, # required
928
+ # mount_options: ["String"],
929
+ # },
930
+ # ],
931
+ # max_swap: 1,
932
+ # swappiness: 1,
933
+ # },
934
+ # log_configuration: {
935
+ # log_driver: "json-file", # required, accepts json-file, syslog, journald, gelf, fluentd, awslogs, splunk
936
+ # options: {
937
+ # "String" => "String",
938
+ # },
939
+ # secret_options: [
940
+ # {
941
+ # name: "String", # required
942
+ # value_from: "String", # required
943
+ # },
944
+ # ],
828
945
  # },
946
+ # secrets: [
947
+ # {
948
+ # name: "String", # required
949
+ # value_from: "String", # required
950
+ # },
951
+ # ],
829
952
  # }
830
953
  #
831
954
  # @!attribute [rw] image
@@ -863,7 +986,9 @@ module Aws::Batch
863
986
  # to `CpuShares` in the [Create a container][1] section of the [Docker
864
987
  # Remote API][2] and the `--cpu-shares` option to [docker run][3].
865
988
  # Each vCPU is equivalent to 1,024 CPU shares. You must specify at
866
- # least one vCPU.
989
+ # least one vCPU. This is required but can be specified in several
990
+ # places for multi-node parallel (MNP) jobs; it must be specified for
991
+ # each node at least once.
867
992
  #
868
993
  #
869
994
  #
@@ -878,7 +1003,9 @@ module Aws::Batch
878
1003
  # container is killed. This parameter maps to `Memory` in the [Create
879
1004
  # a container][1] section of the [Docker Remote API][2] and the
880
1005
  # `--memory` option to [docker run][3]. You must specify at least 4
881
- # MiB of memory for a job.
1006
+ # MiB of memory for a job. This is required but can be specified in
1007
+ # several places for multi-node parallel (MNP) jobs; it must be
1008
+ # specified for each node at least once.
882
1009
  #
883
1010
  # <note markdown="1"> If you are trying to maximize your resource utilization by providing
884
1011
  # your jobs as much memory as possible for a particular instance type,
@@ -914,6 +1041,16 @@ module Aws::Batch
914
1041
  # can assume for AWS permissions.
915
1042
  # @return [String]
916
1043
  #
1044
+ # @!attribute [rw] execution_role_arn
1045
+ # The Amazon Resource Name (ARN) of the execution role that AWS Batch
1046
+ # can assume. For more information, see [AWS Batch execution IAM
1047
+ # role][1].
1048
+ #
1049
+ #
1050
+ #
1051
+ # [1]: https://docs.aws.amazon.com/batch/latest/userguide/execution-IAM-role.html
1052
+ # @return [String]
1053
+ #
917
1054
  # @!attribute [rw] volumes
918
1055
  # A list of data volumes used in a job.
919
1056
  # @return [Array<Types::Volume>]
@@ -1018,6 +1155,62 @@ module Aws::Batch
1018
1155
  # as details for device mappings.
1019
1156
  # @return [Types::LinuxParameters]
1020
1157
  #
1158
+ # @!attribute [rw] log_configuration
1159
+ # The log configuration specification for the container.
1160
+ #
1161
+ # This parameter maps to `LogConfig` in the [Create a container][1]
1162
+ # section of the [Docker Remote API][2] and the `--log-driver` option
1163
+ # to [docker run][3]. By default, containers use the same logging
1164
+ # driver that the Docker daemon uses. However the container may use a
1165
+ # different logging driver than the Docker daemon by specifying a log
1166
+ # driver with this parameter in the container definition. To use a
1167
+ # different logging driver for a container, the log system must be
1168
+ # configured properly on the container instance (or on a different log
1169
+ # server for remote logging options). For more information on the
1170
+ # options for different supported log drivers, see [Configure logging
1171
+ # drivers][4] in the Docker documentation.
1172
+ #
1173
+ # <note markdown="1"> AWS Batch currently supports a subset of the logging drivers
1174
+ # available to the Docker daemon (shown in the LogConfiguration data
1175
+ # type).
1176
+ #
1177
+ # </note>
1178
+ #
1179
+ # This parameter requires version 1.18 of the Docker Remote API or
1180
+ # greater on your container instance. To check the Docker Remote API
1181
+ # version on your container instance, log into your container instance
1182
+ # and run the following command: `sudo docker version | grep "Server
1183
+ # API version"`
1184
+ #
1185
+ # <note markdown="1"> The Amazon ECS container agent running on a container instance must
1186
+ # register the logging drivers available on that instance with the
1187
+ # `ECS_AVAILABLE_LOGGING_DRIVERS` environment variable before
1188
+ # containers placed on that instance can use these log configuration
1189
+ # options. For more information, see [Amazon ECS Container Agent
1190
+ # Configuration][5] in the *Amazon Elastic Container Service Developer
1191
+ # Guide*.
1192
+ #
1193
+ # </note>
1194
+ #
1195
+ #
1196
+ #
1197
+ # [1]: https://docs.docker.com/engine/api/v1.23/#create-a-container
1198
+ # [2]: https://docs.docker.com/engine/api/v1.23/
1199
+ # [3]: https://docs.docker.com/engine/reference/run/
1200
+ # [4]: https://docs.docker.com/engine/admin/logging/overview/
1201
+ # [5]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-config.html
1202
+ # @return [Types::LogConfiguration]
1203
+ #
1204
+ # @!attribute [rw] secrets
1205
+ # The secrets for the container. For more information, see [Specifying
1206
+ # Sensitive Data][1] in the *Amazon Elastic Container Service
1207
+ # Developer Guide*.
1208
+ #
1209
+ #
1210
+ #
1211
+ # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/specifying-sensitive-data.html
1212
+ # @return [Array<Types::Secret>]
1213
+ #
1021
1214
  # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/ContainerProperties AWS API Documentation
1022
1215
  #
1023
1216
  class ContainerProperties < Struct.new(
@@ -1026,6 +1219,7 @@ module Aws::Batch
1026
1219
  :memory,
1027
1220
  :command,
1028
1221
  :job_role_arn,
1222
+ :execution_role_arn,
1029
1223
  :volumes,
1030
1224
  :environment,
1031
1225
  :mount_points,
@@ -1035,7 +1229,9 @@ module Aws::Batch
1035
1229
  :user,
1036
1230
  :instance_type,
1037
1231
  :resource_requirements,
1038
- :linux_parameters)
1232
+ :linux_parameters,
1233
+ :log_configuration,
1234
+ :secrets)
1039
1235
  SENSITIVE = []
1040
1236
  include Aws::Structure
1041
1237
  end
@@ -1090,8 +1286,17 @@ module Aws::Batch
1090
1286
  # launch_template_name: "String",
1091
1287
  # version: "String",
1092
1288
  # },
1289
+ # ec2_configuration: [
1290
+ # {
1291
+ # image_type: "ImageType", # required
1292
+ # image_id_override: "ImageIdOverride",
1293
+ # },
1294
+ # ],
1093
1295
  # },
1094
1296
  # service_role: "String", # required
1297
+ # tags: {
1298
+ # "TagKey" => "TagValue",
1299
+ # },
1095
1300
  # }
1096
1301
  #
1097
1302
  # @!attribute [rw] compute_environment_name
@@ -1143,6 +1348,23 @@ module Aws::Batch
1143
1348
  # </note>
1144
1349
  # @return [String]
1145
1350
  #
1351
+ # @!attribute [rw] tags
1352
+ # The tags that you apply to the compute environment to help you
1353
+ # categorize and organize your resources. Each tag consists of a key
1354
+ # and an optional value. For more information, see [Tagging AWS
1355
+ # Resources][1] in *AWS General Reference*.
1356
+ #
1357
+ # These tags can be updated or removed using the [TagResource][2] and
1358
+ # [UntagResource][3] API operations. These tags do not propagate to
1359
+ # the underlying compute resources.
1360
+ #
1361
+ #
1362
+ #
1363
+ # [1]: https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html
1364
+ # [2]: https://docs.aws.amazon.com/batch/latest/APIReference/API_TagResource.html
1365
+ # [3]: https://docs.aws.amazon.com/batch/latest/APIReference/API_UntagResource.html
1366
+ # @return [Hash<String,String>]
1367
+ #
1146
1368
  # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/CreateComputeEnvironmentRequest AWS API Documentation
1147
1369
  #
1148
1370
  class CreateComputeEnvironmentRequest < Struct.new(
@@ -1150,7 +1372,8 @@ module Aws::Batch
1150
1372
  :type,
1151
1373
  :state,
1152
1374
  :compute_resources,
1153
- :service_role)
1375
+ :service_role,
1376
+ :tags)
1154
1377
  SENSITIVE = []
1155
1378
  include Aws::Structure
1156
1379
  end
@@ -1185,6 +1408,9 @@ module Aws::Batch
1185
1408
  # compute_environment: "String", # required
1186
1409
  # },
1187
1410
  # ],
1411
+ # tags: {
1412
+ # "TagKey" => "TagValue",
1413
+ # },
1188
1414
  # }
1189
1415
  #
1190
1416
  # @!attribute [rw] job_queue_name
@@ -1193,7 +1419,9 @@ module Aws::Batch
1193
1419
  #
1194
1420
  # @!attribute [rw] state
1195
1421
  # The state of the job queue. If the job queue state is `ENABLED`, it
1196
- # is able to accept jobs.
1422
+ # is able to accept jobs. If the job queue state is `DISABLED`, new
1423
+ # jobs cannot be added to the queue, but jobs already in the queue can
1424
+ # finish.
1197
1425
  # @return [String]
1198
1426
  #
1199
1427
  # @!attribute [rw] priority
@@ -1214,13 +1442,25 @@ module Aws::Batch
1214
1442
  # compute environments with a job queue.
1215
1443
  # @return [Array<Types::ComputeEnvironmentOrder>]
1216
1444
  #
1445
+ # @!attribute [rw] tags
1446
+ # The tags that you apply to the job queue to help you categorize and
1447
+ # organize your resources. Each tag consists of a key and an optional
1448
+ # value. For more information, see [Tagging AWS Resources][1] in *AWS
1449
+ # General Reference*.
1450
+ #
1451
+ #
1452
+ #
1453
+ # [1]: https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html
1454
+ # @return [Hash<String,String>]
1455
+ #
1217
1456
  # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/CreateJobQueueRequest AWS API Documentation
1218
1457
  #
1219
1458
  class CreateJobQueueRequest < Struct.new(
1220
1459
  :job_queue_name,
1221
1460
  :state,
1222
1461
  :priority,
1223
- :compute_environment_order)
1462
+ :compute_environment_order,
1463
+ :tags)
1224
1464
  SENSITIVE = []
1225
1465
  include Aws::Structure
1226
1466
  end
@@ -1609,6 +1849,118 @@ module Aws::Batch
1609
1849
  include Aws::Structure
1610
1850
  end
1611
1851
 
1852
+ # Provides information used to select Amazon Machine Images (AMIs) for
1853
+ # instances in the compute environment. If the `Ec2Configuration` is not
1854
+ # specified, the default is `ECS_AL1`.
1855
+ #
1856
+ # @note When making an API call, you may pass Ec2Configuration
1857
+ # data as a hash:
1858
+ #
1859
+ # {
1860
+ # image_type: "ImageType", # required
1861
+ # image_id_override: "ImageIdOverride",
1862
+ # }
1863
+ #
1864
+ # @!attribute [rw] image_type
1865
+ # The image type to match with the instance type to pick an AMI. If
1866
+ # the `imageIdOverride` parameter is not specified, then a recent
1867
+ # [Amazon ECS-optimized AMI][1] will be used.
1868
+ #
1869
+ # ECS\_AL2
1870
+ #
1871
+ # : [Amazon Linux 2][2]− Default for all AWS Graviton-based instance
1872
+ # families (for example, `C6g`, `M6g`, `R6g`, and `T4g`) and can be
1873
+ # used for all non-GPU instance types.
1874
+ #
1875
+ # ECS\_AL2\_NVIDIA
1876
+ #
1877
+ # : [Amazon Linux 2 (GPU)][3]−Default for all GPU instance families
1878
+ # (for example `P4` and `G4`) and can be used for all non-AWS
1879
+ # Graviton-based instance types.
1880
+ #
1881
+ # ECS\_AL1
1882
+ #
1883
+ # : [Amazon Linux][4]−Default for all non-GPU, non-AWS-Graviton
1884
+ # instance families. Amazon Linux is reaching the end-of-life of
1885
+ # standard support. For more information, see [Amazon Linux AMI][5].
1886
+ #
1887
+ #
1888
+ #
1889
+ # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html
1890
+ # [2]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html#al2ami
1891
+ # [3]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html#gpuami
1892
+ # [4]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html#alami
1893
+ # [5]: https://aws.amazon.com/amazon-linux-ami/
1894
+ # @return [String]
1895
+ #
1896
+ # @!attribute [rw] image_id_override
1897
+ # The AMI ID used for instances launched in the compute environment
1898
+ # that match the image type. This setting overrides the `imageId` set
1899
+ # in the `computeResource` object.
1900
+ # @return [String]
1901
+ #
1902
+ # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/Ec2Configuration AWS API Documentation
1903
+ #
1904
+ class Ec2Configuration < Struct.new(
1905
+ :image_type,
1906
+ :image_id_override)
1907
+ SENSITIVE = []
1908
+ include Aws::Structure
1909
+ end
1910
+
1911
+ # Specifies a set of conditions to be met, and an action to take
1912
+ # (`RETRY` or `EXIT`) if all conditions are met.
1913
+ #
1914
+ # @note When making an API call, you may pass EvaluateOnExit
1915
+ # data as a hash:
1916
+ #
1917
+ # {
1918
+ # on_status_reason: "String",
1919
+ # on_reason: "String",
1920
+ # on_exit_code: "String",
1921
+ # action: "RETRY", # required, accepts RETRY, EXIT
1922
+ # }
1923
+ #
1924
+ # @!attribute [rw] on_status_reason
1925
+ # Contains a glob pattern to match against the `StatusReason` returned
1926
+ # for a job. The patten can be up to 512 characters long, can contain
1927
+ # letters, numbers, periods (.), colons (:), and whitespace (spaces,
1928
+ # tabs). and can optionally end with an asterisk (*) so that only the
1929
+ # start of the string needs to be an exact match.
1930
+ # @return [String]
1931
+ #
1932
+ # @!attribute [rw] on_reason
1933
+ # Contains a glob pattern to match against the `Reason` returned for a
1934
+ # job. The patten can be up to 512 characters long, can contain
1935
+ # letters, numbers, periods (.), colons (:), and whitespace (spaces,
1936
+ # tabs), and can optionally end with an asterisk (*) so that only the
1937
+ # start of the string needs to be an exact match.
1938
+ # @return [String]
1939
+ #
1940
+ # @!attribute [rw] on_exit_code
1941
+ # Contains a glob pattern to match against the decimal representation
1942
+ # of the `ExitCode` returned for a job. The patten can be up to 512
1943
+ # characters long, can contain only numbers, and can optionally end
1944
+ # with an asterisk (*) so that only the start of the string needs to
1945
+ # be an exact match.
1946
+ # @return [String]
1947
+ #
1948
+ # @!attribute [rw] action
1949
+ # Specifies the action to take if all of the specified conditions
1950
+ # (`onStatusReason`, `onReason`, and `onExitCode`) are met.
1951
+ # @return [String]
1952
+ #
1953
+ # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/EvaluateOnExit AWS API Documentation
1954
+ #
1955
+ class EvaluateOnExit < Struct.new(
1956
+ :on_status_reason,
1957
+ :on_reason,
1958
+ :on_exit_code,
1959
+ :action)
1960
+ SENSITIVE = []
1961
+ include Aws::Structure
1962
+ end
1963
+
1612
1964
  # Determine whether your data volume persists on the host container
1613
1965
  # instance and where it is stored. If this parameter is empty, then the
1614
1966
  # Docker daemon assigns a host path for your data volume, but the data
@@ -1696,6 +2048,10 @@ module Aws::Batch
1696
2048
  # jobs.
1697
2049
  # @return [Types::NodeProperties]
1698
2050
  #
2051
+ # @!attribute [rw] tags
2052
+ # The tags applied to the job definition.
2053
+ # @return [Hash<String,String>]
2054
+ #
1699
2055
  # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/JobDefinition AWS API Documentation
1700
2056
  #
1701
2057
  class JobDefinition < Struct.new(
@@ -1708,7 +2064,8 @@ module Aws::Batch
1708
2064
  :retry_strategy,
1709
2065
  :container_properties,
1710
2066
  :timeout,
1711
- :node_properties)
2067
+ :node_properties,
2068
+ :tags)
1712
2069
  SENSITIVE = []
1713
2070
  include Aws::Structure
1714
2071
  end
@@ -1742,6 +2099,10 @@ module Aws::Batch
1742
2099
 
1743
2100
  # An object representing an AWS Batch job.
1744
2101
  #
2102
+ # @!attribute [rw] job_arn
2103
+ # The Amazon Resource Name (ARN) of the job.
2104
+ # @return [String]
2105
+ #
1745
2106
  # @!attribute [rw] job_name
1746
2107
  # The name of the job.
1747
2108
  # @return [String]
@@ -1779,11 +2140,11 @@ module Aws::Batch
1779
2140
  # @return [String]
1780
2141
  #
1781
2142
  # @!attribute [rw] created_at
1782
- # The Unix timestamp (in seconds and milliseconds) for when the job
1783
- # was created. For non-array jobs and parent array jobs, this is when
1784
- # the job entered the `SUBMITTED` state (at the time SubmitJob was
1785
- # called). For array child jobs, this is when the child job was
1786
- # spawned by its parent and entered the `PENDING` state.
2143
+ # The Unix timestamp (in milliseconds) for when the job was created.
2144
+ # For non-array jobs and parent array jobs, this is when the job
2145
+ # entered the `SUBMITTED` state (at the time SubmitJob was called).
2146
+ # For array child jobs, this is when the child job was spawned by its
2147
+ # parent and entered the `PENDING` state.
1787
2148
  # @return [Integer]
1788
2149
  #
1789
2150
  # @!attribute [rw] retry_strategy
@@ -1791,15 +2152,16 @@ module Aws::Batch
1791
2152
  # @return [Types::RetryStrategy]
1792
2153
  #
1793
2154
  # @!attribute [rw] started_at
1794
- # The Unix timestamp (in seconds and milliseconds) for when the job
1795
- # was started (when the job transitioned from the `STARTING` state to
1796
- # the `RUNNING` state).
2155
+ # The Unix timestamp (in milliseconds) for when the job was started
2156
+ # (when the job transitioned from the `STARTING` state to the
2157
+ # `RUNNING` state). This parameter is not provided for child jobs of
2158
+ # array jobs or multi-node parallel jobs.
1797
2159
  # @return [Integer]
1798
2160
  #
1799
2161
  # @!attribute [rw] stopped_at
1800
- # The Unix timestamp (in seconds and milliseconds) for when the job
1801
- # was stopped (when the job transitioned from the `RUNNING` state to a
1802
- # terminal state, such as `SUCCEEDED` or `FAILED`).
2162
+ # The Unix timestamp (in milliseconds) for when the job was stopped
2163
+ # (when the job transitioned from the `RUNNING` state to a terminal
2164
+ # state, such as `SUCCEEDED` or `FAILED`).
1803
2165
  # @return [Integer]
1804
2166
  #
1805
2167
  # @!attribute [rw] depends_on
@@ -1839,9 +2201,14 @@ module Aws::Batch
1839
2201
  # The timeout configuration for the job.
1840
2202
  # @return [Types::JobTimeout]
1841
2203
  #
2204
+ # @!attribute [rw] tags
2205
+ # The tags applied to the job.
2206
+ # @return [Hash<String,String>]
2207
+ #
1842
2208
  # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/JobDetail AWS API Documentation
1843
2209
  #
1844
2210
  class JobDetail < Struct.new(
2211
+ :job_arn,
1845
2212
  :job_name,
1846
2213
  :job_id,
1847
2214
  :job_queue,
@@ -1859,7 +2226,8 @@ module Aws::Batch
1859
2226
  :node_details,
1860
2227
  :node_properties,
1861
2228
  :array_properties,
1862
- :timeout)
2229
+ :timeout,
2230
+ :tags)
1863
2231
  SENSITIVE = []
1864
2232
  include Aws::Structure
1865
2233
  end
@@ -1875,7 +2243,10 @@ module Aws::Batch
1875
2243
  # @return [String]
1876
2244
  #
1877
2245
  # @!attribute [rw] state
1878
- # Describes the ability of the queue to accept new jobs.
2246
+ # Describes the ability of the queue to accept new jobs. If the job
2247
+ # queue state is `ENABLED`, it is able to accept jobs. If the job
2248
+ # queue state is `DISABLED`, new jobs cannot be added to the queue,
2249
+ # but jobs already in the queue can finish.
1879
2250
  # @return [String]
1880
2251
  #
1881
2252
  # @!attribute [rw] status
@@ -1897,6 +2268,10 @@ module Aws::Batch
1897
2268
  # selected for job placement in ascending order.
1898
2269
  # @return [Array<Types::ComputeEnvironmentOrder>]
1899
2270
  #
2271
+ # @!attribute [rw] tags
2272
+ # The tags applied to the job queue.
2273
+ # @return [Hash<String,String>]
2274
+ #
1900
2275
  # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/JobQueueDetail AWS API Documentation
1901
2276
  #
1902
2277
  class JobQueueDetail < Struct.new(
@@ -1906,13 +2281,18 @@ module Aws::Batch
1906
2281
  :status,
1907
2282
  :status_reason,
1908
2283
  :priority,
1909
- :compute_environment_order)
2284
+ :compute_environment_order,
2285
+ :tags)
1910
2286
  SENSITIVE = []
1911
2287
  include Aws::Structure
1912
2288
  end
1913
2289
 
1914
2290
  # An object representing summary details of a job.
1915
2291
  #
2292
+ # @!attribute [rw] job_arn
2293
+ # The Amazon Resource Name (ARN) of the job.
2294
+ # @return [String]
2295
+ #
1916
2296
  # @!attribute [rw] job_id
1917
2297
  # The ID of the job.
1918
2298
  # @return [String]
@@ -1965,6 +2345,7 @@ module Aws::Batch
1965
2345
  # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/JobSummary AWS API Documentation
1966
2346
  #
1967
2347
  class JobSummary < Struct.new(
2348
+ :job_arn,
1968
2349
  :job_id,
1969
2350
  :job_name,
1970
2351
  :created_at,
@@ -2053,9 +2434,13 @@ module Aws::Batch
2053
2434
  # @return [String]
2054
2435
  #
2055
2436
  # @!attribute [rw] version
2056
- # The version number of the launch template.
2437
+ # The version number of the launch template, `$Latest`, or `$Default`.
2438
+ #
2439
+ # If the value is `$Latest`, the latest version of the launch template
2440
+ # is used. If the value is `$Default`, the default version of the
2441
+ # launch template is used.
2057
2442
  #
2058
- # Default: The default version of the launch template.
2443
+ # Default: `$Default`.
2059
2444
  # @return [String]
2060
2445
  #
2061
2446
  # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/LaunchTemplateSpecification AWS API Documentation
@@ -2082,6 +2467,17 @@ module Aws::Batch
2082
2467
  # permissions: ["READ"], # accepts READ, WRITE, MKNOD
2083
2468
  # },
2084
2469
  # ],
2470
+ # init_process_enabled: false,
2471
+ # shared_memory_size: 1,
2472
+ # tmpfs: [
2473
+ # {
2474
+ # container_path: "String", # required
2475
+ # size: 1, # required
2476
+ # mount_options: ["String"],
2477
+ # },
2478
+ # ],
2479
+ # max_swap: 1,
2480
+ # swappiness: 1,
2085
2481
  # }
2086
2482
  #
2087
2483
  # @!attribute [rw] devices
@@ -2096,10 +2492,84 @@ module Aws::Batch
2096
2492
  # [3]: https://docs.docker.com/engine/reference/run/
2097
2493
  # @return [Array<Types::Device>]
2098
2494
  #
2495
+ # @!attribute [rw] init_process_enabled
2496
+ # If true, run an `init` process inside the container that forwards
2497
+ # signals and reaps processes. This parameter maps to the `--init`
2498
+ # option to [docker run][1]. This parameter requires version 1.25 of
2499
+ # the Docker Remote API or greater on your container instance. To
2500
+ # check the Docker Remote API version on your container instance, log
2501
+ # into your container instance and run the following command: `sudo
2502
+ # docker version | grep "Server API version"`
2503
+ #
2504
+ #
2505
+ #
2506
+ # [1]: https://docs.docker.com/engine/reference/run/
2507
+ # @return [Boolean]
2508
+ #
2509
+ # @!attribute [rw] shared_memory_size
2510
+ # The value for the size (in MiB) of the `/dev/shm` volume. This
2511
+ # parameter maps to the `--shm-size` option to [docker run][1].
2512
+ #
2513
+ #
2514
+ #
2515
+ # [1]: https://docs.docker.com/engine/reference/run/
2516
+ # @return [Integer]
2517
+ #
2518
+ # @!attribute [rw] tmpfs
2519
+ # The container path, mount options, and size (in MiB) of the tmpfs
2520
+ # mount. This parameter maps to the `--tmpfs` option to [docker
2521
+ # run][1].
2522
+ #
2523
+ #
2524
+ #
2525
+ # [1]: https://docs.docker.com/engine/reference/run/
2526
+ # @return [Array<Types::Tmpfs>]
2527
+ #
2528
+ # @!attribute [rw] max_swap
2529
+ # The total amount of swap memory (in MiB) a container can use. This
2530
+ # parameter will be translated to the `--memory-swap` option to
2531
+ # [docker run][1] where the value would be the sum of the container
2532
+ # memory plus the `maxSwap` value. For more information, see [
2533
+ # `--memory-swap` details][2] in the Docker documentation.
2534
+ #
2535
+ # If a `maxSwap` value of `0` is specified, the container will not use
2536
+ # swap. Accepted values are `0` or any positive integer. If the
2537
+ # `maxSwap` parameter is omitted, the container will use the swap
2538
+ # configuration for the container instance it is running on. A
2539
+ # `maxSwap` value must be set for the `swappiness` parameter to be
2540
+ # used.
2541
+ #
2542
+ #
2543
+ #
2544
+ # [1]: https://docs.docker.com/engine/reference/run/
2545
+ # [2]: https://docs.docker.com/config/containers/resource_constraints/#--memory-swap-details
2546
+ # @return [Integer]
2547
+ #
2548
+ # @!attribute [rw] swappiness
2549
+ # This allows you to tune a container's memory swappiness behavior. A
2550
+ # `swappiness` value of `0` will cause swapping to not happen unless
2551
+ # absolutely necessary. A `swappiness` value of `100` will cause pages
2552
+ # to be swapped very aggressively. Accepted values are whole numbers
2553
+ # between `0` and `100`. If the `swappiness` parameter is not
2554
+ # specified, a default value of `60` is used. If a value is not
2555
+ # specified for `maxSwap` then this parameter is ignored. This
2556
+ # parameter maps to the `--memory-swappiness` option to [docker
2557
+ # run][1].
2558
+ #
2559
+ #
2560
+ #
2561
+ # [1]: https://docs.docker.com/engine/reference/run/
2562
+ # @return [Integer]
2563
+ #
2099
2564
  # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/LinuxParameters AWS API Documentation
2100
2565
  #
2101
2566
  class LinuxParameters < Struct.new(
2102
- :devices)
2567
+ :devices,
2568
+ :init_process_enabled,
2569
+ :shared_memory_size,
2570
+ :tmpfs,
2571
+ :max_swap,
2572
+ :swappiness)
2103
2573
  SENSITIVE = []
2104
2574
  include Aws::Structure
2105
2575
  end
@@ -2195,6 +2665,167 @@ module Aws::Batch
2195
2665
  include Aws::Structure
2196
2666
  end
2197
2667
 
2668
+ # @note When making an API call, you may pass ListTagsForResourceRequest
2669
+ # data as a hash:
2670
+ #
2671
+ # {
2672
+ # resource_arn: "String", # required
2673
+ # }
2674
+ #
2675
+ # @!attribute [rw] resource_arn
2676
+ # The Amazon Resource Name (ARN) that identifies the resource for
2677
+ # which to list the tags. AWS Batch resources that support tags are
2678
+ # compute environments, jobs, job definitions, and job queues. ARNs
2679
+ # for child jobs of array and multi-node parallel (MNP) jobs are not
2680
+ # supported.
2681
+ # @return [String]
2682
+ #
2683
+ # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/ListTagsForResourceRequest AWS API Documentation
2684
+ #
2685
+ class ListTagsForResourceRequest < Struct.new(
2686
+ :resource_arn)
2687
+ SENSITIVE = []
2688
+ include Aws::Structure
2689
+ end
2690
+
2691
+ # @!attribute [rw] tags
2692
+ # The tags for the resource.
2693
+ # @return [Hash<String,String>]
2694
+ #
2695
+ # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/ListTagsForResourceResponse AWS API Documentation
2696
+ #
2697
+ class ListTagsForResourceResponse < Struct.new(
2698
+ :tags)
2699
+ SENSITIVE = []
2700
+ include Aws::Structure
2701
+ end
2702
+
2703
+ # Log configuration options to send to a custom log driver for the
2704
+ # container.
2705
+ #
2706
+ # @note When making an API call, you may pass LogConfiguration
2707
+ # data as a hash:
2708
+ #
2709
+ # {
2710
+ # log_driver: "json-file", # required, accepts json-file, syslog, journald, gelf, fluentd, awslogs, splunk
2711
+ # options: {
2712
+ # "String" => "String",
2713
+ # },
2714
+ # secret_options: [
2715
+ # {
2716
+ # name: "String", # required
2717
+ # value_from: "String", # required
2718
+ # },
2719
+ # ],
2720
+ # }
2721
+ #
2722
+ # @!attribute [rw] log_driver
2723
+ # The log driver to use for the container. The valid values listed for
2724
+ # this parameter are log drivers that the Amazon ECS container agent
2725
+ # can communicate with by default.
2726
+ #
2727
+ # The supported log drivers are `awslogs`, `fluentd`, `gelf`,
2728
+ # `json-file`, `journald`, `logentries`, `syslog`, and `splunk`.
2729
+ #
2730
+ # awslogs
2731
+ #
2732
+ # : Specifies the Amazon CloudWatch Logs logging driver. For more
2733
+ # information, see [Using the awslogs Log Driver][1] in the *AWS
2734
+ # Batch User Guide* and [Amazon CloudWatch Logs logging driver][2]
2735
+ # in the Docker documentation.
2736
+ #
2737
+ # fluentd
2738
+ #
2739
+ # : Specifies the Fluentd logging driver. For more information,
2740
+ # including usage and options, see [Fluentd logging driver][3] in
2741
+ # the Docker documentation.
2742
+ #
2743
+ # gelf
2744
+ #
2745
+ # : Specifies the Graylog Extended Format (GELF) logging driver. For
2746
+ # more information, including usage and options, see [Graylog
2747
+ # Extended Format logging driver][4] in the Docker documentation.
2748
+ #
2749
+ # journald
2750
+ #
2751
+ # : Specifies the journald logging driver. For more information,
2752
+ # including usage and options, see [Journald logging driver][5] in
2753
+ # the Docker documentation.
2754
+ #
2755
+ # json-file
2756
+ #
2757
+ # : Specifies the JSON file logging driver. For more information,
2758
+ # including usage and options, see [JSON File logging driver][6] in
2759
+ # the Docker documentation.
2760
+ #
2761
+ # splunk
2762
+ #
2763
+ # : Specifies the Splunk logging driver. For more information,
2764
+ # including usage and options, see [Splunk logging driver][7] in the
2765
+ # Docker documentation.
2766
+ #
2767
+ # syslog
2768
+ #
2769
+ # : Specifies the syslog logging driver. For more information,
2770
+ # including usage and options, see [Syslog logging driver][8] in the
2771
+ # Docker documentation.
2772
+ #
2773
+ # <note markdown="1"> If you have a custom driver that is not listed earlier that you
2774
+ # would like to work with the Amazon ECS container agent, you can fork
2775
+ # the Amazon ECS container agent project that is [available on
2776
+ # GitHub][9] and customize it to work with that driver. We encourage
2777
+ # you to submit pull requests for changes that you would like to have
2778
+ # included. However, Amazon Web Services does not currently support
2779
+ # running modified copies of this software.
2780
+ #
2781
+ # </note>
2782
+ #
2783
+ # This parameter requires version 1.18 of the Docker Remote API or
2784
+ # greater on your container instance. To check the Docker Remote API
2785
+ # version on your container instance, log into your container instance
2786
+ # and run the following command: `sudo docker version | grep "Server
2787
+ # API version"`
2788
+ #
2789
+ #
2790
+ #
2791
+ # [1]: https://docs.aws.amazon.com/batch/latest/userguide/using_awslogs.html
2792
+ # [2]: https://docs.docker.com/config/containers/logging/awslogs/
2793
+ # [3]: https://docs.docker.com/config/containers/logging/fluentd/
2794
+ # [4]: https://docs.docker.com/config/containers/logging/gelf/
2795
+ # [5]: https://docs.docker.com/config/containers/logging/journald/
2796
+ # [6]: https://docs.docker.com/config/containers/logging/json-file/
2797
+ # [7]: https://docs.docker.com/config/containers/logging/splunk/
2798
+ # [8]: https://docs.docker.com/config/containers/logging/syslog/
2799
+ # [9]: https://github.com/aws/amazon-ecs-agent
2800
+ # @return [String]
2801
+ #
2802
+ # @!attribute [rw] options
2803
+ # The configuration options to send to the log driver. This parameter
2804
+ # requires version 1.19 of the Docker Remote API or greater on your
2805
+ # container instance. To check the Docker Remote API version on your
2806
+ # container instance, log into your container instance and run the
2807
+ # following command: `sudo docker version | grep "Server API version"`
2808
+ # @return [Hash<String,String>]
2809
+ #
2810
+ # @!attribute [rw] secret_options
2811
+ # The secrets to pass to the log configuration. For more information,
2812
+ # see [Specifying Sensitive Data][1] in the *AWS Batch User Guide*.
2813
+ #
2814
+ #
2815
+ #
2816
+ # [1]: https://docs.aws.amazon.com/batch/latest/userguide/specifying-sensitive-data.html
2817
+ # @return [Array<Types::Secret>]
2818
+ #
2819
+ # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/LogConfiguration AWS API Documentation
2820
+ #
2821
+ class LogConfiguration < Struct.new(
2822
+ :log_driver,
2823
+ :options,
2824
+ :secret_options)
2825
+ SENSITIVE = []
2826
+ include Aws::Structure
2827
+ end
2828
+
2198
2829
  # Details on a Docker volume mount point that is used in a job's
2199
2830
  # container properties. This parameter maps to `Volumes` in the [Create
2200
2831
  # a container][1] section of the Docker Remote API and the `--volume`
@@ -2364,6 +2995,7 @@ module Aws::Batch
2364
2995
  # memory: 1,
2365
2996
  # command: ["String"],
2366
2997
  # job_role_arn: "String",
2998
+ # execution_role_arn: "String",
2367
2999
  # volumes: [
2368
3000
  # {
2369
3001
  # host: {
@@ -2410,7 +3042,36 @@ module Aws::Batch
2410
3042
  # permissions: ["READ"], # accepts READ, WRITE, MKNOD
2411
3043
  # },
2412
3044
  # ],
3045
+ # init_process_enabled: false,
3046
+ # shared_memory_size: 1,
3047
+ # tmpfs: [
3048
+ # {
3049
+ # container_path: "String", # required
3050
+ # size: 1, # required
3051
+ # mount_options: ["String"],
3052
+ # },
3053
+ # ],
3054
+ # max_swap: 1,
3055
+ # swappiness: 1,
3056
+ # },
3057
+ # log_configuration: {
3058
+ # log_driver: "json-file", # required, accepts json-file, syslog, journald, gelf, fluentd, awslogs, splunk
3059
+ # options: {
3060
+ # "String" => "String",
3061
+ # },
3062
+ # secret_options: [
3063
+ # {
3064
+ # name: "String", # required
3065
+ # value_from: "String", # required
3066
+ # },
3067
+ # ],
2413
3068
  # },
3069
+ # secrets: [
3070
+ # {
3071
+ # name: "String", # required
3072
+ # value_from: "String", # required
3073
+ # },
3074
+ # ],
2414
3075
  # },
2415
3076
  # },
2416
3077
  # ],
@@ -2531,6 +3192,7 @@ module Aws::Batch
2531
3192
  # memory: 1,
2532
3193
  # command: ["String"],
2533
3194
  # job_role_arn: "String",
3195
+ # execution_role_arn: "String",
2534
3196
  # volumes: [
2535
3197
  # {
2536
3198
  # host: {
@@ -2577,7 +3239,36 @@ module Aws::Batch
2577
3239
  # permissions: ["READ"], # accepts READ, WRITE, MKNOD
2578
3240
  # },
2579
3241
  # ],
3242
+ # init_process_enabled: false,
3243
+ # shared_memory_size: 1,
3244
+ # tmpfs: [
3245
+ # {
3246
+ # container_path: "String", # required
3247
+ # size: 1, # required
3248
+ # mount_options: ["String"],
3249
+ # },
3250
+ # ],
3251
+ # max_swap: 1,
3252
+ # swappiness: 1,
2580
3253
  # },
3254
+ # log_configuration: {
3255
+ # log_driver: "json-file", # required, accepts json-file, syslog, journald, gelf, fluentd, awslogs, splunk
3256
+ # options: {
3257
+ # "String" => "String",
3258
+ # },
3259
+ # secret_options: [
3260
+ # {
3261
+ # name: "String", # required
3262
+ # value_from: "String", # required
3263
+ # },
3264
+ # ],
3265
+ # },
3266
+ # secrets: [
3267
+ # {
3268
+ # name: "String", # required
3269
+ # value_from: "String", # required
3270
+ # },
3271
+ # ],
2581
3272
  # },
2582
3273
  # }
2583
3274
  #
@@ -2620,6 +3311,7 @@ module Aws::Batch
2620
3311
  # memory: 1,
2621
3312
  # command: ["String"],
2622
3313
  # job_role_arn: "String",
3314
+ # execution_role_arn: "String",
2623
3315
  # volumes: [
2624
3316
  # {
2625
3317
  # host: {
@@ -2666,7 +3358,36 @@ module Aws::Batch
2666
3358
  # permissions: ["READ"], # accepts READ, WRITE, MKNOD
2667
3359
  # },
2668
3360
  # ],
3361
+ # init_process_enabled: false,
3362
+ # shared_memory_size: 1,
3363
+ # tmpfs: [
3364
+ # {
3365
+ # container_path: "String", # required
3366
+ # size: 1, # required
3367
+ # mount_options: ["String"],
3368
+ # },
3369
+ # ],
3370
+ # max_swap: 1,
3371
+ # swappiness: 1,
2669
3372
  # },
3373
+ # log_configuration: {
3374
+ # log_driver: "json-file", # required, accepts json-file, syslog, journald, gelf, fluentd, awslogs, splunk
3375
+ # options: {
3376
+ # "String" => "String",
3377
+ # },
3378
+ # secret_options: [
3379
+ # {
3380
+ # name: "String", # required
3381
+ # value_from: "String", # required
3382
+ # },
3383
+ # ],
3384
+ # },
3385
+ # secrets: [
3386
+ # {
3387
+ # name: "String", # required
3388
+ # value_from: "String", # required
3389
+ # },
3390
+ # ],
2670
3391
  # },
2671
3392
  # node_properties: {
2672
3393
  # num_nodes: 1, # required
@@ -2680,6 +3401,7 @@ module Aws::Batch
2680
3401
  # memory: 1,
2681
3402
  # command: ["String"],
2682
3403
  # job_role_arn: "String",
3404
+ # execution_role_arn: "String",
2683
3405
  # volumes: [
2684
3406
  # {
2685
3407
  # host: {
@@ -2726,17 +3448,57 @@ module Aws::Batch
2726
3448
  # permissions: ["READ"], # accepts READ, WRITE, MKNOD
2727
3449
  # },
2728
3450
  # ],
3451
+ # init_process_enabled: false,
3452
+ # shared_memory_size: 1,
3453
+ # tmpfs: [
3454
+ # {
3455
+ # container_path: "String", # required
3456
+ # size: 1, # required
3457
+ # mount_options: ["String"],
3458
+ # },
3459
+ # ],
3460
+ # max_swap: 1,
3461
+ # swappiness: 1,
2729
3462
  # },
3463
+ # log_configuration: {
3464
+ # log_driver: "json-file", # required, accepts json-file, syslog, journald, gelf, fluentd, awslogs, splunk
3465
+ # options: {
3466
+ # "String" => "String",
3467
+ # },
3468
+ # secret_options: [
3469
+ # {
3470
+ # name: "String", # required
3471
+ # value_from: "String", # required
3472
+ # },
3473
+ # ],
3474
+ # },
3475
+ # secrets: [
3476
+ # {
3477
+ # name: "String", # required
3478
+ # value_from: "String", # required
3479
+ # },
3480
+ # ],
2730
3481
  # },
2731
3482
  # },
2732
3483
  # ],
2733
3484
  # },
2734
3485
  # retry_strategy: {
2735
3486
  # attempts: 1,
3487
+ # evaluate_on_exit: [
3488
+ # {
3489
+ # on_status_reason: "String",
3490
+ # on_reason: "String",
3491
+ # on_exit_code: "String",
3492
+ # action: "RETRY", # required, accepts RETRY, EXIT
3493
+ # },
3494
+ # ],
2736
3495
  # },
2737
3496
  # timeout: {
2738
3497
  # attempt_duration_seconds: 1,
2739
3498
  # },
3499
+ # tags: {
3500
+ # "TagKey" => "TagValue",
3501
+ # },
2740
3502
  # }
2741
3503
  #
2742
3504
  # @!attribute [rw] job_definition_name
@@ -2798,6 +3560,17 @@ module Aws::Batch
2798
3560
  # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/job_timeouts.html
2799
3561
  # @return [Types::JobTimeout]
2800
3562
  #
3563
+ # @!attribute [rw] tags
3564
+ # The tags that you apply to the job definition to help you categorize
3565
+ # and organize your resources. Each tag consists of a key and an
3566
+ # optional value. For more information, see [Tagging AWS Resources][1]
3567
+ # in *AWS General Reference*.
3568
+ #
3569
+ #
3570
+ #
3571
+ # [1]: https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html
3572
+ # @return [Hash<String,String>]
3573
+ #
2801
3574
  # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/RegisterJobDefinitionRequest AWS API Documentation
2802
3575
  #
2803
3576
  class RegisterJobDefinitionRequest < Struct.new(
@@ -2807,7 +3580,8 @@ module Aws::Batch
2807
3580
  :container_properties,
2808
3581
  :node_properties,
2809
3582
  :retry_strategy,
2810
- :timeout)
3583
+ :timeout,
3584
+ :tags)
2811
3585
  SENSITIVE = []
2812
3586
  include Aws::Structure
2813
3587
  end
@@ -2873,6 +3647,14 @@ module Aws::Batch
2873
3647
  #
2874
3648
  # {
2875
3649
  # attempts: 1,
3650
+ # evaluate_on_exit: [
3651
+ # {
3652
+ # on_status_reason: "String",
3653
+ # on_reason: "String",
3654
+ # on_exit_code: "String",
3655
+ # action: "RETRY", # required, accepts RETRY, EXIT
3656
+ # },
3657
+ # ],
2876
3658
  # }
2877
3659
  #
2878
3660
  # @!attribute [rw] attempts
@@ -2882,10 +3664,67 @@ module Aws::Batch
2882
3664
  # attempts as the value.
2883
3665
  # @return [Integer]
2884
3666
  #
3667
+ # @!attribute [rw] evaluate_on_exit
3668
+ # Array of up to 5 objects that specify conditions under which the job
3669
+ # should be retried or failed. If this parameter is specified, then
3670
+ # the `attempts` parameter must also be specified.
3671
+ # @return [Array<Types::EvaluateOnExit>]
3672
+ #
2885
3673
  # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/RetryStrategy AWS API Documentation
2886
3674
  #
2887
3675
  class RetryStrategy < Struct.new(
2888
- :attempts)
3676
+ :attempts,
3677
+ :evaluate_on_exit)
3678
+ SENSITIVE = []
3679
+ include Aws::Structure
3680
+ end
3681
+
3682
+ # An object representing the secret to expose to your container. Secrets
3683
+ # can be exposed to a container in the following ways:
3684
+ #
3685
+ # * To inject sensitive data into your containers as environment
3686
+ # variables, use the `secrets` container definition parameter.
3687
+ #
3688
+ # * To reference sensitive information in the log configuration of a
3689
+ # container, use the `secretOptions` container definition parameter.
3690
+ #
3691
+ # For more information, see [Specifying Sensitive Data][1] in the
3692
+ # *Amazon Elastic Container Service Developer Guide*.
3693
+ #
3694
+ #
3695
+ #
3696
+ # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/specifying-sensitive-data.html
3697
+ #
3698
+ # @note When making an API call, you may pass Secret
3699
+ # data as a hash:
3700
+ #
3701
+ # {
3702
+ # name: "String", # required
3703
+ # value_from: "String", # required
3704
+ # }
3705
+ #
3706
+ # @!attribute [rw] name
3707
+ # The name of the secret.
3708
+ # @return [String]
3709
+ #
3710
+ # @!attribute [rw] value_from
3711
+ # The secret to expose to the container. The supported values are
3712
+ # either the full ARN of the AWS Secrets Manager secret or the full
3713
+ # ARN of the parameter in the AWS Systems Manager Parameter Store.
3714
+ #
3715
+ # <note markdown="1"> If the AWS Systems Manager Parameter Store parameter exists in the
3716
+ # same Region as the task you are launching, then you can use either
3717
+ # the full ARN or name of the parameter. If the parameter exists in a
3718
+ # different Region, then the full ARN must be specified.
3719
+ #
3720
+ # </note>
3721
+ # @return [String]
3722
+ #
3723
+ # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/Secret AWS API Documentation
3724
+ #
3725
+ class Secret < Struct.new(
3726
+ :name,
3727
+ :value_from)
2889
3728
  SENSITIVE = []
2890
3729
  include Aws::Structure
2891
3730
  end
@@ -2968,10 +3807,21 @@ module Aws::Batch
2968
3807
  # },
2969
3808
  # retry_strategy: {
2970
3809
  # attempts: 1,
3810
+ # evaluate_on_exit: [
3811
+ # {
3812
+ # on_status_reason: "String",
3813
+ # on_reason: "String",
3814
+ # on_exit_code: "String",
3815
+ # action: "RETRY", # required, accepts RETRY, EXIT
3816
+ # },
3817
+ # ],
2971
3818
  # },
2972
3819
  # timeout: {
2973
3820
  # attempt_duration_seconds: 1,
2974
3821
  # },
3822
+ # tags: {
3823
+ # "TagKey" => "TagValue",
3824
+ # },
2975
3825
  # }
2976
3826
  #
2977
3827
  # @!attribute [rw] job_name
@@ -3059,6 +3909,17 @@ module Aws::Batch
3059
3909
  # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/job_timeouts.html
3060
3910
  # @return [Types::JobTimeout]
3061
3911
  #
3912
+ # @!attribute [rw] tags
3913
+ # The tags that you apply to the job request to help you categorize
3914
+ # and organize your resources. Each tag consists of a key and an
3915
+ # optional value. For more information, see [Tagging AWS Resources][1]
3916
+ # in *AWS General Reference*.
3917
+ #
3918
+ #
3919
+ #
3920
+ # [1]: https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html
3921
+ # @return [Hash<String,String>]
3922
+ #
3062
3923
  # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/SubmitJobRequest AWS API Documentation
3063
3924
  #
3064
3925
  class SubmitJobRequest < Struct.new(
@@ -3071,11 +3932,16 @@ module Aws::Batch
3071
3932
  :container_overrides,
3072
3933
  :node_overrides,
3073
3934
  :retry_strategy,
3074
- :timeout)
3935
+ :timeout,
3936
+ :tags)
3075
3937
  SENSITIVE = []
3076
3938
  include Aws::Structure
3077
3939
  end
3078
3940
 
3941
+ # @!attribute [rw] job_arn
3942
+ # The Amazon Resource Name (ARN) for the job.
3943
+ # @return [String]
3944
+ #
3079
3945
  # @!attribute [rw] job_name
3080
3946
  # The name of the job.
3081
3947
  # @return [String]
@@ -3087,12 +3953,54 @@ module Aws::Batch
3087
3953
  # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/SubmitJobResponse AWS API Documentation
3088
3954
  #
3089
3955
  class SubmitJobResponse < Struct.new(
3956
+ :job_arn,
3090
3957
  :job_name,
3091
3958
  :job_id)
3092
3959
  SENSITIVE = []
3093
3960
  include Aws::Structure
3094
3961
  end
3095
3962
 
3963
+ # @note When making an API call, you may pass TagResourceRequest
3964
+ # data as a hash:
3965
+ #
3966
+ # {
3967
+ # resource_arn: "String", # required
3968
+ # tags: { # required
3969
+ # "TagKey" => "TagValue",
3970
+ # },
3971
+ # }
3972
+ #
3973
+ # @!attribute [rw] resource_arn
3974
+ # The Amazon Resource Name (ARN) of the resource to which to add tags.
3975
+ # AWS Batch resources that support tags are compute environments,
3976
+ # jobs, job definitions, and job queues. ARNs for child jobs of array
3977
+ # and multi-node parallel (MNP) jobs are not supported.
3978
+ # @return [String]
3979
+ #
3980
+ # @!attribute [rw] tags
3981
+ # The tags that you apply to the resource to help you categorize and
3982
+ # organize your resources. Each tag consists of a key and an optional
3983
+ # value. For more information, see [Tagging AWS Resources][1] in *AWS
3984
+ # General Reference*.
3985
+ #
3986
+ #
3987
+ #
3988
+ # [1]: https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html
3989
+ # @return [Hash<String,String>]
3990
+ #
3991
+ # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/TagResourceRequest AWS API Documentation
3992
+ #
3993
+ class TagResourceRequest < Struct.new(
3994
+ :resource_arn,
3995
+ :tags)
3996
+ SENSITIVE = []
3997
+ include Aws::Structure
3998
+ end
3999
+
4000
+ # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/TagResourceResponse AWS API Documentation
4001
+ #
4002
+ class TagResourceResponse < Aws::EmptyStructure; end
4003
+
3096
4004
  # @note When making an API call, you may pass TerminateJobRequest
3097
4005
  # data as a hash:
3098
4006
  #
@@ -3125,6 +4033,51 @@ module Aws::Batch
3125
4033
  #
3126
4034
  class TerminateJobResponse < Aws::EmptyStructure; end
3127
4035
 
4036
+ # The container path, mount options, and size of the tmpfs mount.
4037
+ #
4038
+ # @note When making an API call, you may pass Tmpfs
4039
+ # data as a hash:
4040
+ #
4041
+ # {
4042
+ # container_path: "String", # required
4043
+ # size: 1, # required
4044
+ # mount_options: ["String"],
4045
+ # }
4046
+ #
4047
+ # @!attribute [rw] container_path
4048
+ # The absolute file path in the container where the tmpfs volume is to
4049
+ # be mounted.
4050
+ # @return [String]
4051
+ #
4052
+ # @!attribute [rw] size
4053
+ # The size (in MiB) of the tmpfs volume.
4054
+ # @return [Integer]
4055
+ #
4056
+ # @!attribute [rw] mount_options
4057
+ # The list of tmpfs volume mount options.
4058
+ #
4059
+ # Valid values: "`defaults`" \| "`ro`" \| "`rw`" \| "`suid`"
4060
+ # \| "`nosuid`" \| "`dev`" \| "`nodev`" \| "`exec`" \|
4061
+ # "`noexec`" \| "`sync`" \| "`async`" \| "`dirsync`" \|
4062
+ # "`remount`" \| "`mand`" \| "`nomand`" \| "`atime`" \|
4063
+ # "`noatime`" \| "`diratime`" \| "`nodiratime`" \| "`bind`" \|
4064
+ # "`rbind" | "unbindable" | "runbindable" | "private" | "rprivate" |
4065
+ # "shared" | "rshared" | "slave" | "rslave" | "relatime`" \|
4066
+ # "`norelatime`" \| "`strictatime`" \| "`nostrictatime`" \|
4067
+ # "`mode`" \| "`uid`" \| "`gid`" \| "`nr_inodes`" \|
4068
+ # "`nr_blocks`" \| "`mpol`"
4069
+ # @return [Array<String>]
4070
+ #
4071
+ # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/Tmpfs AWS API Documentation
4072
+ #
4073
+ class Tmpfs < Struct.new(
4074
+ :container_path,
4075
+ :size,
4076
+ :mount_options)
4077
+ SENSITIVE = []
4078
+ include Aws::Structure
4079
+ end
4080
+
3128
4081
  # The `ulimit` settings to pass to the container.
3129
4082
  #
3130
4083
  # @note When making an API call, you may pass Ulimit
@@ -3158,6 +4111,38 @@ module Aws::Batch
3158
4111
  include Aws::Structure
3159
4112
  end
3160
4113
 
4114
+ # @note When making an API call, you may pass UntagResourceRequest
4115
+ # data as a hash:
4116
+ #
4117
+ # {
4118
+ # resource_arn: "String", # required
4119
+ # tag_keys: ["TagKey"], # required
4120
+ # }
4121
+ #
4122
+ # @!attribute [rw] resource_arn
4123
+ # The Amazon Resource Name (ARN) of the resource from which to delete
4124
+ # tags. AWS Batch resources that support tags are compute
4125
+ # environments, jobs, job definitions, and job queues. ARNs for child
4126
+ # jobs of array and multi-node parallel (MNP) jobs are not supported.
4127
+ # @return [String]
4128
+ #
4129
+ # @!attribute [rw] tag_keys
4130
+ # The keys of the tags to be removed.
4131
+ # @return [Array<String>]
4132
+ #
4133
+ # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/UntagResourceRequest AWS API Documentation
4134
+ #
4135
+ class UntagResourceRequest < Struct.new(
4136
+ :resource_arn,
4137
+ :tag_keys)
4138
+ SENSITIVE = []
4139
+ include Aws::Structure
4140
+ end
4141
+
4142
+ # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/UntagResourceResponse AWS API Documentation
4143
+ #
4144
+ class UntagResourceResponse < Aws::EmptyStructure; end
4145
+
3161
4146
  # @note When making an API call, you may pass UpdateComputeEnvironmentRequest
3162
4147
  # data as a hash:
3163
4148
  #
@@ -3254,7 +4239,10 @@ module Aws::Batch
3254
4239
  # @return [String]
3255
4240
  #
3256
4241
  # @!attribute [rw] state
3257
- # Describes the queue's ability to accept new jobs.
4242
+ # Describes the queue's ability to accept new jobs. If the job queue
4243
+ # state is `ENABLED`, it is able to accept jobs. If the job queue
4244
+ # state is `DISABLED`, new jobs cannot be added to the queue, but jobs
4245
+ # already in the queue can finish.
3258
4246
  # @return [String]
3259
4247
  #
3260
4248
  # @!attribute [rw] priority