aws-sdk-batch 1.36.0 → 1.41.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.
@@ -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