aws-sdk-batch 1.35.0 → 1.40.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.
@@ -63,6 +63,8 @@ module Aws::Batch
63
63
  DeviceCgroupPermissions = Shapes::ListShape.new(name: 'DeviceCgroupPermissions')
64
64
  DevicesList = Shapes::ListShape.new(name: 'DevicesList')
65
65
  EnvironmentVariables = Shapes::ListShape.new(name: 'EnvironmentVariables')
66
+ EvaluateOnExit = Shapes::StructureShape.new(name: 'EvaluateOnExit')
67
+ EvaluateOnExitList = Shapes::ListShape.new(name: 'EvaluateOnExitList')
66
68
  Host = Shapes::StructureShape.new(name: 'Host')
67
69
  Integer = Shapes::IntegerShape.new(name: 'Integer')
68
70
  JQState = Shapes::StringShape.new(name: 'JQState')
@@ -85,6 +87,11 @@ module Aws::Batch
85
87
  LinuxParameters = Shapes::StructureShape.new(name: 'LinuxParameters')
86
88
  ListJobsRequest = Shapes::StructureShape.new(name: 'ListJobsRequest')
87
89
  ListJobsResponse = Shapes::StructureShape.new(name: 'ListJobsResponse')
90
+ ListTagsForResourceRequest = Shapes::StructureShape.new(name: 'ListTagsForResourceRequest')
91
+ ListTagsForResourceResponse = Shapes::StructureShape.new(name: 'ListTagsForResourceResponse')
92
+ LogConfiguration = Shapes::StructureShape.new(name: 'LogConfiguration')
93
+ LogConfigurationOptionsMap = Shapes::MapShape.new(name: 'LogConfigurationOptionsMap')
94
+ LogDriver = Shapes::StringShape.new(name: 'LogDriver')
88
95
  Long = Shapes::IntegerShape.new(name: 'Long')
89
96
  MountPoint = Shapes::StructureShape.new(name: 'MountPoint')
90
97
  MountPoints = Shapes::ListShape.new(name: 'MountPoints')
@@ -104,17 +111,30 @@ module Aws::Batch
104
111
  ResourceRequirement = Shapes::StructureShape.new(name: 'ResourceRequirement')
105
112
  ResourceRequirements = Shapes::ListShape.new(name: 'ResourceRequirements')
106
113
  ResourceType = Shapes::StringShape.new(name: 'ResourceType')
114
+ RetryAction = Shapes::StringShape.new(name: 'RetryAction')
107
115
  RetryStrategy = Shapes::StructureShape.new(name: 'RetryStrategy')
116
+ Secret = Shapes::StructureShape.new(name: 'Secret')
117
+ SecretList = Shapes::ListShape.new(name: 'SecretList')
108
118
  ServerException = Shapes::StructureShape.new(name: 'ServerException')
109
119
  String = Shapes::StringShape.new(name: 'String')
110
120
  StringList = Shapes::ListShape.new(name: 'StringList')
111
121
  SubmitJobRequest = Shapes::StructureShape.new(name: 'SubmitJobRequest')
112
122
  SubmitJobResponse = Shapes::StructureShape.new(name: 'SubmitJobResponse')
123
+ TagKey = Shapes::StringShape.new(name: 'TagKey')
124
+ TagKeysList = Shapes::ListShape.new(name: 'TagKeysList')
125
+ TagResourceRequest = Shapes::StructureShape.new(name: 'TagResourceRequest')
126
+ TagResourceResponse = Shapes::StructureShape.new(name: 'TagResourceResponse')
127
+ TagValue = Shapes::StringShape.new(name: 'TagValue')
128
+ TagrisTagsMap = Shapes::MapShape.new(name: 'TagrisTagsMap')
113
129
  TagsMap = Shapes::MapShape.new(name: 'TagsMap')
114
130
  TerminateJobRequest = Shapes::StructureShape.new(name: 'TerminateJobRequest')
115
131
  TerminateJobResponse = Shapes::StructureShape.new(name: 'TerminateJobResponse')
132
+ Tmpfs = Shapes::StructureShape.new(name: 'Tmpfs')
133
+ TmpfsList = Shapes::ListShape.new(name: 'TmpfsList')
116
134
  Ulimit = Shapes::StructureShape.new(name: 'Ulimit')
117
135
  Ulimits = Shapes::ListShape.new(name: 'Ulimits')
136
+ UntagResourceRequest = Shapes::StructureShape.new(name: 'UntagResourceRequest')
137
+ UntagResourceResponse = Shapes::StructureShape.new(name: 'UntagResourceResponse')
118
138
  UpdateComputeEnvironmentRequest = Shapes::StructureShape.new(name: 'UpdateComputeEnvironmentRequest')
119
139
  UpdateComputeEnvironmentResponse = Shapes::StructureShape.new(name: 'UpdateComputeEnvironmentResponse')
120
140
  UpdateJobQueueRequest = Shapes::StructureShape.new(name: 'UpdateJobQueueRequest')
@@ -165,6 +185,7 @@ module Aws::Batch
165
185
  ComputeEnvironmentDetail.add_member(:compute_environment_name, Shapes::ShapeRef.new(shape: String, required: true, location_name: "computeEnvironmentName"))
166
186
  ComputeEnvironmentDetail.add_member(:compute_environment_arn, Shapes::ShapeRef.new(shape: String, required: true, location_name: "computeEnvironmentArn"))
167
187
  ComputeEnvironmentDetail.add_member(:ecs_cluster_arn, Shapes::ShapeRef.new(shape: String, required: true, location_name: "ecsClusterArn"))
188
+ ComputeEnvironmentDetail.add_member(:tags, Shapes::ShapeRef.new(shape: TagrisTagsMap, location_name: "tags"))
168
189
  ComputeEnvironmentDetail.add_member(:type, Shapes::ShapeRef.new(shape: CEType, location_name: "type"))
169
190
  ComputeEnvironmentDetail.add_member(:state, Shapes::ShapeRef.new(shape: CEState, location_name: "state"))
170
191
  ComputeEnvironmentDetail.add_member(:status, Shapes::ShapeRef.new(shape: CEStatus, location_name: "status"))
@@ -209,6 +230,7 @@ module Aws::Batch
209
230
  ContainerDetail.add_member(:memory, Shapes::ShapeRef.new(shape: Integer, location_name: "memory"))
210
231
  ContainerDetail.add_member(:command, Shapes::ShapeRef.new(shape: StringList, location_name: "command"))
211
232
  ContainerDetail.add_member(:job_role_arn, Shapes::ShapeRef.new(shape: String, location_name: "jobRoleArn"))
233
+ ContainerDetail.add_member(:execution_role_arn, Shapes::ShapeRef.new(shape: String, location_name: "executionRoleArn"))
212
234
  ContainerDetail.add_member(:volumes, Shapes::ShapeRef.new(shape: Volumes, location_name: "volumes"))
213
235
  ContainerDetail.add_member(:environment, Shapes::ShapeRef.new(shape: EnvironmentVariables, location_name: "environment"))
214
236
  ContainerDetail.add_member(:mount_points, Shapes::ShapeRef.new(shape: MountPoints, location_name: "mountPoints"))
@@ -225,6 +247,8 @@ module Aws::Batch
225
247
  ContainerDetail.add_member(:network_interfaces, Shapes::ShapeRef.new(shape: NetworkInterfaceList, location_name: "networkInterfaces"))
226
248
  ContainerDetail.add_member(:resource_requirements, Shapes::ShapeRef.new(shape: ResourceRequirements, location_name: "resourceRequirements"))
227
249
  ContainerDetail.add_member(:linux_parameters, Shapes::ShapeRef.new(shape: LinuxParameters, location_name: "linuxParameters"))
250
+ ContainerDetail.add_member(:log_configuration, Shapes::ShapeRef.new(shape: LogConfiguration, location_name: "logConfiguration"))
251
+ ContainerDetail.add_member(:secrets, Shapes::ShapeRef.new(shape: SecretList, location_name: "secrets"))
228
252
  ContainerDetail.struct_class = Types::ContainerDetail
229
253
 
230
254
  ContainerOverrides.add_member(:vcpus, Shapes::ShapeRef.new(shape: Integer, location_name: "vcpus"))
@@ -240,6 +264,7 @@ module Aws::Batch
240
264
  ContainerProperties.add_member(:memory, Shapes::ShapeRef.new(shape: Integer, location_name: "memory"))
241
265
  ContainerProperties.add_member(:command, Shapes::ShapeRef.new(shape: StringList, location_name: "command"))
242
266
  ContainerProperties.add_member(:job_role_arn, Shapes::ShapeRef.new(shape: String, location_name: "jobRoleArn"))
267
+ ContainerProperties.add_member(:execution_role_arn, Shapes::ShapeRef.new(shape: String, location_name: "executionRoleArn"))
243
268
  ContainerProperties.add_member(:volumes, Shapes::ShapeRef.new(shape: Volumes, location_name: "volumes"))
244
269
  ContainerProperties.add_member(:environment, Shapes::ShapeRef.new(shape: EnvironmentVariables, location_name: "environment"))
245
270
  ContainerProperties.add_member(:mount_points, Shapes::ShapeRef.new(shape: MountPoints, location_name: "mountPoints"))
@@ -250,6 +275,8 @@ module Aws::Batch
250
275
  ContainerProperties.add_member(:instance_type, Shapes::ShapeRef.new(shape: String, location_name: "instanceType"))
251
276
  ContainerProperties.add_member(:resource_requirements, Shapes::ShapeRef.new(shape: ResourceRequirements, location_name: "resourceRequirements"))
252
277
  ContainerProperties.add_member(:linux_parameters, Shapes::ShapeRef.new(shape: LinuxParameters, location_name: "linuxParameters"))
278
+ ContainerProperties.add_member(:log_configuration, Shapes::ShapeRef.new(shape: LogConfiguration, location_name: "logConfiguration"))
279
+ ContainerProperties.add_member(:secrets, Shapes::ShapeRef.new(shape: SecretList, location_name: "secrets"))
253
280
  ContainerProperties.struct_class = Types::ContainerProperties
254
281
 
255
282
  ContainerSummary.add_member(:exit_code, Shapes::ShapeRef.new(shape: Integer, location_name: "exitCode"))
@@ -261,6 +288,7 @@ module Aws::Batch
261
288
  CreateComputeEnvironmentRequest.add_member(:state, Shapes::ShapeRef.new(shape: CEState, location_name: "state"))
262
289
  CreateComputeEnvironmentRequest.add_member(:compute_resources, Shapes::ShapeRef.new(shape: ComputeResource, location_name: "computeResources"))
263
290
  CreateComputeEnvironmentRequest.add_member(:service_role, Shapes::ShapeRef.new(shape: String, required: true, location_name: "serviceRole"))
291
+ CreateComputeEnvironmentRequest.add_member(:tags, Shapes::ShapeRef.new(shape: TagrisTagsMap, location_name: "tags"))
264
292
  CreateComputeEnvironmentRequest.struct_class = Types::CreateComputeEnvironmentRequest
265
293
 
266
294
  CreateComputeEnvironmentResponse.add_member(:compute_environment_name, Shapes::ShapeRef.new(shape: String, location_name: "computeEnvironmentName"))
@@ -271,6 +299,7 @@ module Aws::Batch
271
299
  CreateJobQueueRequest.add_member(:state, Shapes::ShapeRef.new(shape: JQState, location_name: "state"))
272
300
  CreateJobQueueRequest.add_member(:priority, Shapes::ShapeRef.new(shape: Integer, required: true, location_name: "priority"))
273
301
  CreateJobQueueRequest.add_member(:compute_environment_order, Shapes::ShapeRef.new(shape: ComputeEnvironmentOrders, required: true, location_name: "computeEnvironmentOrder"))
302
+ CreateJobQueueRequest.add_member(:tags, Shapes::ShapeRef.new(shape: TagrisTagsMap, location_name: "tags"))
274
303
  CreateJobQueueRequest.struct_class = Types::CreateJobQueueRequest
275
304
 
276
305
  CreateJobQueueResponse.add_member(:job_queue_name, Shapes::ShapeRef.new(shape: String, required: true, location_name: "jobQueueName"))
@@ -338,6 +367,14 @@ module Aws::Batch
338
367
 
339
368
  EnvironmentVariables.member = Shapes::ShapeRef.new(shape: KeyValuePair)
340
369
 
370
+ EvaluateOnExit.add_member(:on_status_reason, Shapes::ShapeRef.new(shape: String, location_name: "onStatusReason"))
371
+ EvaluateOnExit.add_member(:on_reason, Shapes::ShapeRef.new(shape: String, location_name: "onReason"))
372
+ EvaluateOnExit.add_member(:on_exit_code, Shapes::ShapeRef.new(shape: String, location_name: "onExitCode"))
373
+ EvaluateOnExit.add_member(:action, Shapes::ShapeRef.new(shape: RetryAction, required: true, location_name: "action"))
374
+ EvaluateOnExit.struct_class = Types::EvaluateOnExit
375
+
376
+ EvaluateOnExitList.member = Shapes::ShapeRef.new(shape: EvaluateOnExit)
377
+
341
378
  Host.add_member(:source_path, Shapes::ShapeRef.new(shape: String, location_name: "sourcePath"))
342
379
  Host.struct_class = Types::Host
343
380
 
@@ -351,6 +388,7 @@ module Aws::Batch
351
388
  JobDefinition.add_member(:container_properties, Shapes::ShapeRef.new(shape: ContainerProperties, location_name: "containerProperties"))
352
389
  JobDefinition.add_member(:timeout, Shapes::ShapeRef.new(shape: JobTimeout, location_name: "timeout"))
353
390
  JobDefinition.add_member(:node_properties, Shapes::ShapeRef.new(shape: NodeProperties, location_name: "nodeProperties"))
391
+ JobDefinition.add_member(:tags, Shapes::ShapeRef.new(shape: TagrisTagsMap, location_name: "tags"))
354
392
  JobDefinition.struct_class = Types::JobDefinition
355
393
 
356
394
  JobDefinitionList.member = Shapes::ShapeRef.new(shape: JobDefinition)
@@ -361,6 +399,7 @@ module Aws::Batch
361
399
 
362
400
  JobDependencyList.member = Shapes::ShapeRef.new(shape: JobDependency)
363
401
 
402
+ JobDetail.add_member(:job_arn, Shapes::ShapeRef.new(shape: String, location_name: "jobArn"))
364
403
  JobDetail.add_member(:job_name, Shapes::ShapeRef.new(shape: String, required: true, location_name: "jobName"))
365
404
  JobDetail.add_member(:job_id, Shapes::ShapeRef.new(shape: String, required: true, location_name: "jobId"))
366
405
  JobDetail.add_member(:job_queue, Shapes::ShapeRef.new(shape: String, required: true, location_name: "jobQueue"))
@@ -379,6 +418,7 @@ module Aws::Batch
379
418
  JobDetail.add_member(:node_properties, Shapes::ShapeRef.new(shape: NodeProperties, location_name: "nodeProperties"))
380
419
  JobDetail.add_member(:array_properties, Shapes::ShapeRef.new(shape: ArrayPropertiesDetail, location_name: "arrayProperties"))
381
420
  JobDetail.add_member(:timeout, Shapes::ShapeRef.new(shape: JobTimeout, location_name: "timeout"))
421
+ JobDetail.add_member(:tags, Shapes::ShapeRef.new(shape: TagrisTagsMap, location_name: "tags"))
382
422
  JobDetail.struct_class = Types::JobDetail
383
423
 
384
424
  JobDetailList.member = Shapes::ShapeRef.new(shape: JobDetail)
@@ -390,10 +430,12 @@ module Aws::Batch
390
430
  JobQueueDetail.add_member(:status_reason, Shapes::ShapeRef.new(shape: String, location_name: "statusReason"))
391
431
  JobQueueDetail.add_member(:priority, Shapes::ShapeRef.new(shape: Integer, required: true, location_name: "priority"))
392
432
  JobQueueDetail.add_member(:compute_environment_order, Shapes::ShapeRef.new(shape: ComputeEnvironmentOrders, required: true, location_name: "computeEnvironmentOrder"))
433
+ JobQueueDetail.add_member(:tags, Shapes::ShapeRef.new(shape: TagrisTagsMap, location_name: "tags"))
393
434
  JobQueueDetail.struct_class = Types::JobQueueDetail
394
435
 
395
436
  JobQueueDetailList.member = Shapes::ShapeRef.new(shape: JobQueueDetail)
396
437
 
438
+ JobSummary.add_member(:job_arn, Shapes::ShapeRef.new(shape: String, location_name: "jobArn"))
397
439
  JobSummary.add_member(:job_id, Shapes::ShapeRef.new(shape: String, required: true, location_name: "jobId"))
398
440
  JobSummary.add_member(:job_name, Shapes::ShapeRef.new(shape: String, required: true, location_name: "jobName"))
399
441
  JobSummary.add_member(:created_at, Shapes::ShapeRef.new(shape: Long, location_name: "createdAt"))
@@ -421,6 +463,11 @@ module Aws::Batch
421
463
  LaunchTemplateSpecification.struct_class = Types::LaunchTemplateSpecification
422
464
 
423
465
  LinuxParameters.add_member(:devices, Shapes::ShapeRef.new(shape: DevicesList, location_name: "devices"))
466
+ LinuxParameters.add_member(:init_process_enabled, Shapes::ShapeRef.new(shape: Boolean, location_name: "initProcessEnabled"))
467
+ LinuxParameters.add_member(:shared_memory_size, Shapes::ShapeRef.new(shape: Integer, location_name: "sharedMemorySize"))
468
+ LinuxParameters.add_member(:tmpfs, Shapes::ShapeRef.new(shape: TmpfsList, location_name: "tmpfs"))
469
+ LinuxParameters.add_member(:max_swap, Shapes::ShapeRef.new(shape: Integer, location_name: "maxSwap"))
470
+ LinuxParameters.add_member(:swappiness, Shapes::ShapeRef.new(shape: Integer, location_name: "swappiness"))
424
471
  LinuxParameters.struct_class = Types::LinuxParameters
425
472
 
426
473
  ListJobsRequest.add_member(:job_queue, Shapes::ShapeRef.new(shape: String, location_name: "jobQueue"))
@@ -435,6 +482,20 @@ module Aws::Batch
435
482
  ListJobsResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: String, location_name: "nextToken"))
436
483
  ListJobsResponse.struct_class = Types::ListJobsResponse
437
484
 
485
+ ListTagsForResourceRequest.add_member(:resource_arn, Shapes::ShapeRef.new(shape: String, required: true, location: "uri", location_name: "resourceArn"))
486
+ ListTagsForResourceRequest.struct_class = Types::ListTagsForResourceRequest
487
+
488
+ ListTagsForResourceResponse.add_member(:tags, Shapes::ShapeRef.new(shape: TagrisTagsMap, location_name: "tags"))
489
+ ListTagsForResourceResponse.struct_class = Types::ListTagsForResourceResponse
490
+
491
+ LogConfiguration.add_member(:log_driver, Shapes::ShapeRef.new(shape: LogDriver, required: true, location_name: "logDriver"))
492
+ LogConfiguration.add_member(:options, Shapes::ShapeRef.new(shape: LogConfigurationOptionsMap, location_name: "options"))
493
+ LogConfiguration.add_member(:secret_options, Shapes::ShapeRef.new(shape: SecretList, location_name: "secretOptions"))
494
+ LogConfiguration.struct_class = Types::LogConfiguration
495
+
496
+ LogConfigurationOptionsMap.key = Shapes::ShapeRef.new(shape: String)
497
+ LogConfigurationOptionsMap.value = Shapes::ShapeRef.new(shape: String)
498
+
438
499
  MountPoint.add_member(:container_path, Shapes::ShapeRef.new(shape: String, location_name: "containerPath"))
439
500
  MountPoint.add_member(:read_only, Shapes::ShapeRef.new(shape: Boolean, location_name: "readOnly"))
440
501
  MountPoint.add_member(:source_volume, Shapes::ShapeRef.new(shape: String, location_name: "sourceVolume"))
@@ -489,6 +550,7 @@ module Aws::Batch
489
550
  RegisterJobDefinitionRequest.add_member(:node_properties, Shapes::ShapeRef.new(shape: NodeProperties, location_name: "nodeProperties"))
490
551
  RegisterJobDefinitionRequest.add_member(:retry_strategy, Shapes::ShapeRef.new(shape: RetryStrategy, location_name: "retryStrategy"))
491
552
  RegisterJobDefinitionRequest.add_member(:timeout, Shapes::ShapeRef.new(shape: JobTimeout, location_name: "timeout"))
553
+ RegisterJobDefinitionRequest.add_member(:tags, Shapes::ShapeRef.new(shape: TagrisTagsMap, location_name: "tags"))
492
554
  RegisterJobDefinitionRequest.struct_class = Types::RegisterJobDefinitionRequest
493
555
 
494
556
  RegisterJobDefinitionResponse.add_member(:job_definition_name, Shapes::ShapeRef.new(shape: String, required: true, location_name: "jobDefinitionName"))
@@ -503,8 +565,15 @@ module Aws::Batch
503
565
  ResourceRequirements.member = Shapes::ShapeRef.new(shape: ResourceRequirement)
504
566
 
505
567
  RetryStrategy.add_member(:attempts, Shapes::ShapeRef.new(shape: Integer, location_name: "attempts"))
568
+ RetryStrategy.add_member(:evaluate_on_exit, Shapes::ShapeRef.new(shape: EvaluateOnExitList, location_name: "evaluateOnExit"))
506
569
  RetryStrategy.struct_class = Types::RetryStrategy
507
570
 
571
+ Secret.add_member(:name, Shapes::ShapeRef.new(shape: String, required: true, location_name: "name"))
572
+ Secret.add_member(:value_from, Shapes::ShapeRef.new(shape: String, required: true, location_name: "valueFrom"))
573
+ Secret.struct_class = Types::Secret
574
+
575
+ SecretList.member = Shapes::ShapeRef.new(shape: Secret)
576
+
508
577
  ServerException.add_member(:message, Shapes::ShapeRef.new(shape: String, location_name: "message"))
509
578
  ServerException.struct_class = Types::ServerException
510
579
 
@@ -520,12 +589,25 @@ module Aws::Batch
520
589
  SubmitJobRequest.add_member(:node_overrides, Shapes::ShapeRef.new(shape: NodeOverrides, location_name: "nodeOverrides"))
521
590
  SubmitJobRequest.add_member(:retry_strategy, Shapes::ShapeRef.new(shape: RetryStrategy, location_name: "retryStrategy"))
522
591
  SubmitJobRequest.add_member(:timeout, Shapes::ShapeRef.new(shape: JobTimeout, location_name: "timeout"))
592
+ SubmitJobRequest.add_member(:tags, Shapes::ShapeRef.new(shape: TagrisTagsMap, location_name: "tags"))
523
593
  SubmitJobRequest.struct_class = Types::SubmitJobRequest
524
594
 
595
+ SubmitJobResponse.add_member(:job_arn, Shapes::ShapeRef.new(shape: String, location_name: "jobArn"))
525
596
  SubmitJobResponse.add_member(:job_name, Shapes::ShapeRef.new(shape: String, required: true, location_name: "jobName"))
526
597
  SubmitJobResponse.add_member(:job_id, Shapes::ShapeRef.new(shape: String, required: true, location_name: "jobId"))
527
598
  SubmitJobResponse.struct_class = Types::SubmitJobResponse
528
599
 
600
+ TagKeysList.member = Shapes::ShapeRef.new(shape: TagKey)
601
+
602
+ TagResourceRequest.add_member(:resource_arn, Shapes::ShapeRef.new(shape: String, required: true, location: "uri", location_name: "resourceArn"))
603
+ TagResourceRequest.add_member(:tags, Shapes::ShapeRef.new(shape: TagrisTagsMap, required: true, location_name: "tags"))
604
+ TagResourceRequest.struct_class = Types::TagResourceRequest
605
+
606
+ TagResourceResponse.struct_class = Types::TagResourceResponse
607
+
608
+ TagrisTagsMap.key = Shapes::ShapeRef.new(shape: TagKey)
609
+ TagrisTagsMap.value = Shapes::ShapeRef.new(shape: TagValue)
610
+
529
611
  TagsMap.key = Shapes::ShapeRef.new(shape: String)
530
612
  TagsMap.value = Shapes::ShapeRef.new(shape: String)
531
613
 
@@ -535,6 +617,13 @@ module Aws::Batch
535
617
 
536
618
  TerminateJobResponse.struct_class = Types::TerminateJobResponse
537
619
 
620
+ Tmpfs.add_member(:container_path, Shapes::ShapeRef.new(shape: String, required: true, location_name: "containerPath"))
621
+ Tmpfs.add_member(:size, Shapes::ShapeRef.new(shape: Integer, required: true, location_name: "size"))
622
+ Tmpfs.add_member(:mount_options, Shapes::ShapeRef.new(shape: StringList, location_name: "mountOptions"))
623
+ Tmpfs.struct_class = Types::Tmpfs
624
+
625
+ TmpfsList.member = Shapes::ShapeRef.new(shape: Tmpfs)
626
+
538
627
  Ulimit.add_member(:hard_limit, Shapes::ShapeRef.new(shape: Integer, required: true, location_name: "hardLimit"))
539
628
  Ulimit.add_member(:name, Shapes::ShapeRef.new(shape: String, required: true, location_name: "name"))
540
629
  Ulimit.add_member(:soft_limit, Shapes::ShapeRef.new(shape: Integer, required: true, location_name: "softLimit"))
@@ -542,6 +631,12 @@ module Aws::Batch
542
631
 
543
632
  Ulimits.member = Shapes::ShapeRef.new(shape: Ulimit)
544
633
 
634
+ UntagResourceRequest.add_member(:resource_arn, Shapes::ShapeRef.new(shape: String, required: true, location: "uri", location_name: "resourceArn"))
635
+ UntagResourceRequest.add_member(:tag_keys, Shapes::ShapeRef.new(shape: TagKeysList, required: true, location: "querystring", location_name: "tagKeys"))
636
+ UntagResourceRequest.struct_class = Types::UntagResourceRequest
637
+
638
+ UntagResourceResponse.struct_class = Types::UntagResourceResponse
639
+
545
640
  UpdateComputeEnvironmentRequest.add_member(:compute_environment, Shapes::ShapeRef.new(shape: String, required: true, location_name: "computeEnvironment"))
546
641
  UpdateComputeEnvironmentRequest.add_member(:state, Shapes::ShapeRef.new(shape: CEState, location_name: "state"))
547
642
  UpdateComputeEnvironmentRequest.add_member(:compute_resources, Shapes::ShapeRef.new(shape: ComputeResourceUpdate, location_name: "computeResources"))
@@ -720,6 +815,16 @@ module Aws::Batch
720
815
  )
721
816
  end)
722
817
 
818
+ api.add_operation(:list_tags_for_resource, Seahorse::Model::Operation.new.tap do |o|
819
+ o.name = "ListTagsForResource"
820
+ o.http_method = "GET"
821
+ o.http_request_uri = "/v1/tags/{resourceArn}"
822
+ o.input = Shapes::ShapeRef.new(shape: ListTagsForResourceRequest)
823
+ o.output = Shapes::ShapeRef.new(shape: ListTagsForResourceResponse)
824
+ o.errors << Shapes::ShapeRef.new(shape: ClientException)
825
+ o.errors << Shapes::ShapeRef.new(shape: ServerException)
826
+ end)
827
+
723
828
  api.add_operation(:register_job_definition, Seahorse::Model::Operation.new.tap do |o|
724
829
  o.name = "RegisterJobDefinition"
725
830
  o.http_method = "POST"
@@ -740,6 +845,16 @@ module Aws::Batch
740
845
  o.errors << Shapes::ShapeRef.new(shape: ServerException)
741
846
  end)
742
847
 
848
+ api.add_operation(:tag_resource, Seahorse::Model::Operation.new.tap do |o|
849
+ o.name = "TagResource"
850
+ o.http_method = "POST"
851
+ o.http_request_uri = "/v1/tags/{resourceArn}"
852
+ o.input = Shapes::ShapeRef.new(shape: TagResourceRequest)
853
+ o.output = Shapes::ShapeRef.new(shape: TagResourceResponse)
854
+ o.errors << Shapes::ShapeRef.new(shape: ClientException)
855
+ o.errors << Shapes::ShapeRef.new(shape: ServerException)
856
+ end)
857
+
743
858
  api.add_operation(:terminate_job, Seahorse::Model::Operation.new.tap do |o|
744
859
  o.name = "TerminateJob"
745
860
  o.http_method = "POST"
@@ -750,6 +865,16 @@ module Aws::Batch
750
865
  o.errors << Shapes::ShapeRef.new(shape: ServerException)
751
866
  end)
752
867
 
868
+ api.add_operation(:untag_resource, Seahorse::Model::Operation.new.tap do |o|
869
+ o.name = "UntagResource"
870
+ o.http_method = "DELETE"
871
+ o.http_request_uri = "/v1/tags/{resourceArn}"
872
+ o.input = Shapes::ShapeRef.new(shape: UntagResourceRequest)
873
+ o.output = Shapes::ShapeRef.new(shape: UntagResourceResponse)
874
+ o.errors << Shapes::ShapeRef.new(shape: ClientException)
875
+ o.errors << Shapes::ShapeRef.new(shape: ServerException)
876
+ end)
877
+
753
878
  api.add_operation(:update_compute_environment, Seahorse::Model::Operation.new.tap do |o|
754
879
  o.name = "UpdateComputeEnvironment"
755
880
  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,
@@ -442,7 +446,11 @@ module Aws::Batch
442
446
  # the compute environment. For AWS Batch, these take the form of
443
447
  # "String1": "String2", where String1 is the tag key and String2
444
448
  # is the tag value—for example, \\\{ "Name": "AWS Batch Instance -
445
- # C4OnDemand" \\}.
449
+ # C4OnDemand" \\}. These tags can not be updated or removed after the
450
+ # compute environment has been created; any changes require creating a
451
+ # new compute environment and removing the old compute environment.
452
+ # These tags are not seen when using the AWS Batch ListTagsForResource
453
+ # API operation.
446
454
  # @return [Hash<String,String>]
447
455
  #
448
456
  # @!attribute [rw] placement_group
@@ -564,11 +572,13 @@ module Aws::Batch
564
572
  # @return [String]
565
573
  #
566
574
  # @!attribute [rw] vcpus
567
- # The number of VCPUs allocated for the job.
575
+ # The number of VCPUs allocated for the job. This is a required
576
+ # parameter.
568
577
  # @return [Integer]
569
578
  #
570
579
  # @!attribute [rw] memory
571
- # The number of MiB of memory reserved for the job.
580
+ # The number of MiB of memory reserved for the job. This is a required
581
+ # parameter.
572
582
  # @return [Integer]
573
583
  #
574
584
  # @!attribute [rw] command
@@ -580,6 +590,16 @@ module Aws::Batch
580
590
  # execution.
581
591
  # @return [String]
582
592
  #
593
+ # @!attribute [rw] execution_role_arn
594
+ # The Amazon Resource Name (ARN) of the execution role that AWS Batch
595
+ # can assume. For more information, see [AWS Batch execution IAM
596
+ # role][1].
597
+ #
598
+ #
599
+ #
600
+ # [1]: https://docs.aws.amazon.com/batch/latest/userguide/execution-IAM-role.html
601
+ # @return [String]
602
+ #
583
603
  # @!attribute [rw] volumes
584
604
  # A list of volumes associated with the job.
585
605
  # @return [Array<Types::Volume>]
@@ -663,6 +683,63 @@ module Aws::Batch
663
683
  # as details for device mappings.
664
684
  # @return [Types::LinuxParameters]
665
685
  #
686
+ # @!attribute [rw] log_configuration
687
+ # The log configuration specification for the container.
688
+ #
689
+ # This parameter maps to `LogConfig` in the [Create a container][1]
690
+ # section of the [Docker Remote API][2] and the `--log-driver` option
691
+ # to [docker run][3]. By default, containers use the same logging
692
+ # driver that the Docker daemon uses. However the container may use a
693
+ # different logging driver than the Docker daemon by specifying a log
694
+ # driver with this parameter in the container definition. To use a
695
+ # different logging driver for a container, the log system must be
696
+ # configured properly on the container instance (or on a different log
697
+ # server for remote logging options). For more information on the
698
+ # options for different supported log drivers, see [Configure logging
699
+ # drivers][4] in the Docker documentation.
700
+ #
701
+ # <note markdown="1"> AWS Batch currently supports a subset of the logging drivers
702
+ # available to the Docker daemon (shown in the LogConfiguration data
703
+ # type). Additional log drivers may be available in future releases of
704
+ # the Amazon ECS container agent.
705
+ #
706
+ # </note>
707
+ #
708
+ # This parameter requires version 1.18 of the Docker Remote API or
709
+ # greater on your container instance. To check the Docker Remote API
710
+ # version on your container instance, log into your container instance
711
+ # and run the following command: `sudo docker version | grep "Server
712
+ # API version"`
713
+ #
714
+ # <note markdown="1"> The Amazon ECS container agent running on a container instance must
715
+ # register the logging drivers available on that instance with the
716
+ # `ECS_AVAILABLE_LOGGING_DRIVERS` environment variable before
717
+ # containers placed on that instance can use these log configuration
718
+ # options. For more information, see [Amazon ECS Container Agent
719
+ # Configuration][5] in the *Amazon Elastic Container Service Developer
720
+ # Guide*.
721
+ #
722
+ # </note>
723
+ #
724
+ #
725
+ #
726
+ # [1]: https://docs.docker.com/engine/api/v1.23/#create-a-container
727
+ # [2]: https://docs.docker.com/engine/api/v1.23/
728
+ # [3]: https://docs.docker.com/engine/reference/run/
729
+ # [4]: https://docs.docker.com/engine/admin/logging/overview/
730
+ # [5]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-config.html
731
+ # @return [Types::LogConfiguration]
732
+ #
733
+ # @!attribute [rw] secrets
734
+ # The secrets to pass to the container. For more information, see
735
+ # [Specifying Sensitive Data][1] in the *Amazon Elastic Container
736
+ # Service Developer Guide*.
737
+ #
738
+ #
739
+ #
740
+ # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/specifying-sensitive-data.html
741
+ # @return [Array<Types::Secret>]
742
+ #
666
743
  # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/ContainerDetail AWS API Documentation
667
744
  #
668
745
  class ContainerDetail < Struct.new(
@@ -671,6 +748,7 @@ module Aws::Batch
671
748
  :memory,
672
749
  :command,
673
750
  :job_role_arn,
751
+ :execution_role_arn,
674
752
  :volumes,
675
753
  :environment,
676
754
  :mount_points,
@@ -686,7 +764,9 @@ module Aws::Batch
686
764
  :instance_type,
687
765
  :network_interfaces,
688
766
  :resource_requirements,
689
- :linux_parameters)
767
+ :linux_parameters,
768
+ :log_configuration,
769
+ :secrets)
690
770
  SENSITIVE = []
691
771
  include Aws::Structure
692
772
  end
@@ -779,6 +859,7 @@ module Aws::Batch
779
859
  # memory: 1,
780
860
  # command: ["String"],
781
861
  # job_role_arn: "String",
862
+ # execution_role_arn: "String",
782
863
  # volumes: [
783
864
  # {
784
865
  # host: {
@@ -825,7 +906,36 @@ module Aws::Batch
825
906
  # permissions: ["READ"], # accepts READ, WRITE, MKNOD
826
907
  # },
827
908
  # ],
909
+ # init_process_enabled: false,
910
+ # shared_memory_size: 1,
911
+ # tmpfs: [
912
+ # {
913
+ # container_path: "String", # required
914
+ # size: 1, # required
915
+ # mount_options: ["String"],
916
+ # },
917
+ # ],
918
+ # max_swap: 1,
919
+ # swappiness: 1,
920
+ # },
921
+ # log_configuration: {
922
+ # log_driver: "json-file", # required, accepts json-file, syslog, journald, gelf, fluentd, awslogs, splunk
923
+ # options: {
924
+ # "String" => "String",
925
+ # },
926
+ # secret_options: [
927
+ # {
928
+ # name: "String", # required
929
+ # value_from: "String", # required
930
+ # },
931
+ # ],
828
932
  # },
933
+ # secrets: [
934
+ # {
935
+ # name: "String", # required
936
+ # value_from: "String", # required
937
+ # },
938
+ # ],
829
939
  # }
830
940
  #
831
941
  # @!attribute [rw] image
@@ -863,7 +973,9 @@ module Aws::Batch
863
973
  # to `CpuShares` in the [Create a container][1] section of the [Docker
864
974
  # Remote API][2] and the `--cpu-shares` option to [docker run][3].
865
975
  # Each vCPU is equivalent to 1,024 CPU shares. You must specify at
866
- # least one vCPU.
976
+ # least one vCPU. This is required but can be specified in several
977
+ # places for multi-node parallel (MNP) jobs; it must be specified for
978
+ # each node at least once.
867
979
  #
868
980
  #
869
981
  #
@@ -878,7 +990,9 @@ module Aws::Batch
878
990
  # container is killed. This parameter maps to `Memory` in the [Create
879
991
  # a container][1] section of the [Docker Remote API][2] and the
880
992
  # `--memory` option to [docker run][3]. You must specify at least 4
881
- # MiB of memory for a job.
993
+ # MiB of memory for a job. This is required but can be specified in
994
+ # several places for multi-node parallel (MNP) jobs; it must be
995
+ # specified for each node at least once.
882
996
  #
883
997
  # <note markdown="1"> If you are trying to maximize your resource utilization by providing
884
998
  # your jobs as much memory as possible for a particular instance type,
@@ -914,6 +1028,16 @@ module Aws::Batch
914
1028
  # can assume for AWS permissions.
915
1029
  # @return [String]
916
1030
  #
1031
+ # @!attribute [rw] execution_role_arn
1032
+ # The Amazon Resource Name (ARN) of the execution role that AWS Batch
1033
+ # can assume. For more information, see [AWS Batch execution IAM
1034
+ # role][1].
1035
+ #
1036
+ #
1037
+ #
1038
+ # [1]: https://docs.aws.amazon.com/batch/latest/userguide/execution-IAM-role.html
1039
+ # @return [String]
1040
+ #
917
1041
  # @!attribute [rw] volumes
918
1042
  # A list of data volumes used in a job.
919
1043
  # @return [Array<Types::Volume>]
@@ -1018,6 +1142,62 @@ module Aws::Batch
1018
1142
  # as details for device mappings.
1019
1143
  # @return [Types::LinuxParameters]
1020
1144
  #
1145
+ # @!attribute [rw] log_configuration
1146
+ # The log configuration specification for the container.
1147
+ #
1148
+ # This parameter maps to `LogConfig` in the [Create a container][1]
1149
+ # section of the [Docker Remote API][2] and the `--log-driver` option
1150
+ # to [docker run][3]. By default, containers use the same logging
1151
+ # driver that the Docker daemon uses. However the container may use a
1152
+ # different logging driver than the Docker daemon by specifying a log
1153
+ # driver with this parameter in the container definition. To use a
1154
+ # different logging driver for a container, the log system must be
1155
+ # configured properly on the container instance (or on a different log
1156
+ # server for remote logging options). For more information on the
1157
+ # options for different supported log drivers, see [Configure logging
1158
+ # drivers][4] in the Docker documentation.
1159
+ #
1160
+ # <note markdown="1"> AWS Batch currently supports a subset of the logging drivers
1161
+ # available to the Docker daemon (shown in the LogConfiguration data
1162
+ # type).
1163
+ #
1164
+ # </note>
1165
+ #
1166
+ # This parameter requires version 1.18 of the Docker Remote API or
1167
+ # greater on your container instance. To check the Docker Remote API
1168
+ # version on your container instance, log into your container instance
1169
+ # and run the following command: `sudo docker version | grep "Server
1170
+ # API version"`
1171
+ #
1172
+ # <note markdown="1"> The Amazon ECS container agent running on a container instance must
1173
+ # register the logging drivers available on that instance with the
1174
+ # `ECS_AVAILABLE_LOGGING_DRIVERS` environment variable before
1175
+ # containers placed on that instance can use these log configuration
1176
+ # options. For more information, see [Amazon ECS Container Agent
1177
+ # Configuration][5] in the *Amazon Elastic Container Service Developer
1178
+ # Guide*.
1179
+ #
1180
+ # </note>
1181
+ #
1182
+ #
1183
+ #
1184
+ # [1]: https://docs.docker.com/engine/api/v1.23/#create-a-container
1185
+ # [2]: https://docs.docker.com/engine/api/v1.23/
1186
+ # [3]: https://docs.docker.com/engine/reference/run/
1187
+ # [4]: https://docs.docker.com/engine/admin/logging/overview/
1188
+ # [5]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-agent-config.html
1189
+ # @return [Types::LogConfiguration]
1190
+ #
1191
+ # @!attribute [rw] secrets
1192
+ # The secrets for the container. For more information, see [Specifying
1193
+ # Sensitive Data][1] in the *Amazon Elastic Container Service
1194
+ # Developer Guide*.
1195
+ #
1196
+ #
1197
+ #
1198
+ # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/specifying-sensitive-data.html
1199
+ # @return [Array<Types::Secret>]
1200
+ #
1021
1201
  # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/ContainerProperties AWS API Documentation
1022
1202
  #
1023
1203
  class ContainerProperties < Struct.new(
@@ -1026,6 +1206,7 @@ module Aws::Batch
1026
1206
  :memory,
1027
1207
  :command,
1028
1208
  :job_role_arn,
1209
+ :execution_role_arn,
1029
1210
  :volumes,
1030
1211
  :environment,
1031
1212
  :mount_points,
@@ -1035,7 +1216,9 @@ module Aws::Batch
1035
1216
  :user,
1036
1217
  :instance_type,
1037
1218
  :resource_requirements,
1038
- :linux_parameters)
1219
+ :linux_parameters,
1220
+ :log_configuration,
1221
+ :secrets)
1039
1222
  SENSITIVE = []
1040
1223
  include Aws::Structure
1041
1224
  end
@@ -1092,6 +1275,9 @@ module Aws::Batch
1092
1275
  # },
1093
1276
  # },
1094
1277
  # service_role: "String", # required
1278
+ # tags: {
1279
+ # "TagKey" => "TagValue",
1280
+ # },
1095
1281
  # }
1096
1282
  #
1097
1283
  # @!attribute [rw] compute_environment_name
@@ -1143,6 +1329,23 @@ module Aws::Batch
1143
1329
  # </note>
1144
1330
  # @return [String]
1145
1331
  #
1332
+ # @!attribute [rw] tags
1333
+ # The tags that you apply to the compute environment to help you
1334
+ # categorize and organize your resources. Each tag consists of a key
1335
+ # and an optional value. For more information, see [Tagging AWS
1336
+ # Resources][1] in *AWS General Reference*.
1337
+ #
1338
+ # These tags can be updated or removed using the [TagResource][2] and
1339
+ # [UntagResource][3] API operations. These tags do not propagate to
1340
+ # the underlying compute resources.
1341
+ #
1342
+ #
1343
+ #
1344
+ # [1]: https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html
1345
+ # [2]: https://docs.aws.amazon.com/batch/latest/APIReference/API_TagResource.html
1346
+ # [3]: https://docs.aws.amazon.com/batch/latest/APIReference/API_UntagResource.html
1347
+ # @return [Hash<String,String>]
1348
+ #
1146
1349
  # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/CreateComputeEnvironmentRequest AWS API Documentation
1147
1350
  #
1148
1351
  class CreateComputeEnvironmentRequest < Struct.new(
@@ -1150,7 +1353,8 @@ module Aws::Batch
1150
1353
  :type,
1151
1354
  :state,
1152
1355
  :compute_resources,
1153
- :service_role)
1356
+ :service_role,
1357
+ :tags)
1154
1358
  SENSITIVE = []
1155
1359
  include Aws::Structure
1156
1360
  end
@@ -1185,6 +1389,9 @@ module Aws::Batch
1185
1389
  # compute_environment: "String", # required
1186
1390
  # },
1187
1391
  # ],
1392
+ # tags: {
1393
+ # "TagKey" => "TagValue",
1394
+ # },
1188
1395
  # }
1189
1396
  #
1190
1397
  # @!attribute [rw] job_queue_name
@@ -1193,7 +1400,9 @@ module Aws::Batch
1193
1400
  #
1194
1401
  # @!attribute [rw] state
1195
1402
  # The state of the job queue. If the job queue state is `ENABLED`, it
1196
- # is able to accept jobs.
1403
+ # is able to accept jobs. If the job queue state is `DISABLED`, new
1404
+ # jobs cannot be added to the queue, but jobs already in the queue can
1405
+ # finish.
1197
1406
  # @return [String]
1198
1407
  #
1199
1408
  # @!attribute [rw] priority
@@ -1214,13 +1423,25 @@ module Aws::Batch
1214
1423
  # compute environments with a job queue.
1215
1424
  # @return [Array<Types::ComputeEnvironmentOrder>]
1216
1425
  #
1426
+ # @!attribute [rw] tags
1427
+ # The tags that you apply to the job queue to help you categorize and
1428
+ # organize your resources. Each tag consists of a key and an optional
1429
+ # value. For more information, see [Tagging AWS Resources][1] in *AWS
1430
+ # General Reference*.
1431
+ #
1432
+ #
1433
+ #
1434
+ # [1]: https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html
1435
+ # @return [Hash<String,String>]
1436
+ #
1217
1437
  # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/CreateJobQueueRequest AWS API Documentation
1218
1438
  #
1219
1439
  class CreateJobQueueRequest < Struct.new(
1220
1440
  :job_queue_name,
1221
1441
  :state,
1222
1442
  :priority,
1223
- :compute_environment_order)
1443
+ :compute_environment_order,
1444
+ :tags)
1224
1445
  SENSITIVE = []
1225
1446
  include Aws::Structure
1226
1447
  end
@@ -1609,6 +1830,59 @@ module Aws::Batch
1609
1830
  include Aws::Structure
1610
1831
  end
1611
1832
 
1833
+ # Specifies a set of conditions to be met, and an action to take
1834
+ # (`RETRY` or `EXIT`) if all conditions are met.
1835
+ #
1836
+ # @note When making an API call, you may pass EvaluateOnExit
1837
+ # data as a hash:
1838
+ #
1839
+ # {
1840
+ # on_status_reason: "String",
1841
+ # on_reason: "String",
1842
+ # on_exit_code: "String",
1843
+ # action: "RETRY", # required, accepts RETRY, EXIT
1844
+ # }
1845
+ #
1846
+ # @!attribute [rw] on_status_reason
1847
+ # Contains a glob pattern to match against the `StatusReason` returned
1848
+ # for a job. The patten can be up to 512 characters long, can contain
1849
+ # letters, numbers, periods (.), colons (:), and whitespace (spaces,
1850
+ # tabs). and can optionally end with an asterisk (*) so that only the
1851
+ # start of the string needs to be an exact match.
1852
+ # @return [String]
1853
+ #
1854
+ # @!attribute [rw] on_reason
1855
+ # Contains a glob pattern to match against the `Reason` returned for a
1856
+ # job. The patten can be up to 512 characters long, can contain
1857
+ # letters, numbers, periods (.), colons (:), and whitespace (spaces,
1858
+ # tabs), and can optionally end with an asterisk (*) so that only the
1859
+ # start of the string needs to be an exact match.
1860
+ # @return [String]
1861
+ #
1862
+ # @!attribute [rw] on_exit_code
1863
+ # Contains a glob pattern to match against the decimal representation
1864
+ # of the `ExitCode` returned for a job. The patten can be up to 512
1865
+ # characters long, can contain only numbers, and can optionally end
1866
+ # with an asterisk (*) so that only the start of the string needs to
1867
+ # be an exact match.
1868
+ # @return [String]
1869
+ #
1870
+ # @!attribute [rw] action
1871
+ # Specifies the action to take if all of the specified conditions
1872
+ # (`onStatusReason`, `onReason`, and `onExitCode`) are met.
1873
+ # @return [String]
1874
+ #
1875
+ # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/EvaluateOnExit AWS API Documentation
1876
+ #
1877
+ class EvaluateOnExit < Struct.new(
1878
+ :on_status_reason,
1879
+ :on_reason,
1880
+ :on_exit_code,
1881
+ :action)
1882
+ SENSITIVE = []
1883
+ include Aws::Structure
1884
+ end
1885
+
1612
1886
  # Determine whether your data volume persists on the host container
1613
1887
  # instance and where it is stored. If this parameter is empty, then the
1614
1888
  # Docker daemon assigns a host path for your data volume, but the data
@@ -1696,6 +1970,10 @@ module Aws::Batch
1696
1970
  # jobs.
1697
1971
  # @return [Types::NodeProperties]
1698
1972
  #
1973
+ # @!attribute [rw] tags
1974
+ # The tags applied to the job definition.
1975
+ # @return [Hash<String,String>]
1976
+ #
1699
1977
  # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/JobDefinition AWS API Documentation
1700
1978
  #
1701
1979
  class JobDefinition < Struct.new(
@@ -1708,7 +1986,8 @@ module Aws::Batch
1708
1986
  :retry_strategy,
1709
1987
  :container_properties,
1710
1988
  :timeout,
1711
- :node_properties)
1989
+ :node_properties,
1990
+ :tags)
1712
1991
  SENSITIVE = []
1713
1992
  include Aws::Structure
1714
1993
  end
@@ -1742,6 +2021,10 @@ module Aws::Batch
1742
2021
 
1743
2022
  # An object representing an AWS Batch job.
1744
2023
  #
2024
+ # @!attribute [rw] job_arn
2025
+ # The Amazon Resource Name (ARN) of the job.
2026
+ # @return [String]
2027
+ #
1745
2028
  # @!attribute [rw] job_name
1746
2029
  # The name of the job.
1747
2030
  # @return [String]
@@ -1779,11 +2062,11 @@ module Aws::Batch
1779
2062
  # @return [String]
1780
2063
  #
1781
2064
  # @!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.
2065
+ # The Unix timestamp (in milliseconds) for when the job was created.
2066
+ # For non-array jobs and parent array jobs, this is when the job
2067
+ # entered the `SUBMITTED` state (at the time SubmitJob was called).
2068
+ # For array child jobs, this is when the child job was spawned by its
2069
+ # parent and entered the `PENDING` state.
1787
2070
  # @return [Integer]
1788
2071
  #
1789
2072
  # @!attribute [rw] retry_strategy
@@ -1791,15 +2074,16 @@ module Aws::Batch
1791
2074
  # @return [Types::RetryStrategy]
1792
2075
  #
1793
2076
  # @!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).
2077
+ # The Unix timestamp (in milliseconds) for when the job was started
2078
+ # (when the job transitioned from the `STARTING` state to the
2079
+ # `RUNNING` state). This parameter is not provided for child jobs of
2080
+ # array jobs or multi-node parallel jobs.
1797
2081
  # @return [Integer]
1798
2082
  #
1799
2083
  # @!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`).
2084
+ # The Unix timestamp (in milliseconds) for when the job was stopped
2085
+ # (when the job transitioned from the `RUNNING` state to a terminal
2086
+ # state, such as `SUCCEEDED` or `FAILED`).
1803
2087
  # @return [Integer]
1804
2088
  #
1805
2089
  # @!attribute [rw] depends_on
@@ -1839,9 +2123,14 @@ module Aws::Batch
1839
2123
  # The timeout configuration for the job.
1840
2124
  # @return [Types::JobTimeout]
1841
2125
  #
2126
+ # @!attribute [rw] tags
2127
+ # The tags applied to the job.
2128
+ # @return [Hash<String,String>]
2129
+ #
1842
2130
  # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/JobDetail AWS API Documentation
1843
2131
  #
1844
2132
  class JobDetail < Struct.new(
2133
+ :job_arn,
1845
2134
  :job_name,
1846
2135
  :job_id,
1847
2136
  :job_queue,
@@ -1859,7 +2148,8 @@ module Aws::Batch
1859
2148
  :node_details,
1860
2149
  :node_properties,
1861
2150
  :array_properties,
1862
- :timeout)
2151
+ :timeout,
2152
+ :tags)
1863
2153
  SENSITIVE = []
1864
2154
  include Aws::Structure
1865
2155
  end
@@ -1875,7 +2165,10 @@ module Aws::Batch
1875
2165
  # @return [String]
1876
2166
  #
1877
2167
  # @!attribute [rw] state
1878
- # Describes the ability of the queue to accept new jobs.
2168
+ # Describes the ability of the queue to accept new jobs. If the job
2169
+ # queue state is `ENABLED`, it is able to accept jobs. If the job
2170
+ # queue state is `DISABLED`, new jobs cannot be added to the queue,
2171
+ # but jobs already in the queue can finish.
1879
2172
  # @return [String]
1880
2173
  #
1881
2174
  # @!attribute [rw] status
@@ -1897,6 +2190,10 @@ module Aws::Batch
1897
2190
  # selected for job placement in ascending order.
1898
2191
  # @return [Array<Types::ComputeEnvironmentOrder>]
1899
2192
  #
2193
+ # @!attribute [rw] tags
2194
+ # The tags applied to the job queue.
2195
+ # @return [Hash<String,String>]
2196
+ #
1900
2197
  # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/JobQueueDetail AWS API Documentation
1901
2198
  #
1902
2199
  class JobQueueDetail < Struct.new(
@@ -1906,13 +2203,18 @@ module Aws::Batch
1906
2203
  :status,
1907
2204
  :status_reason,
1908
2205
  :priority,
1909
- :compute_environment_order)
2206
+ :compute_environment_order,
2207
+ :tags)
1910
2208
  SENSITIVE = []
1911
2209
  include Aws::Structure
1912
2210
  end
1913
2211
 
1914
2212
  # An object representing summary details of a job.
1915
2213
  #
2214
+ # @!attribute [rw] job_arn
2215
+ # The Amazon Resource Name (ARN) of the job.
2216
+ # @return [String]
2217
+ #
1916
2218
  # @!attribute [rw] job_id
1917
2219
  # The ID of the job.
1918
2220
  # @return [String]
@@ -1965,6 +2267,7 @@ module Aws::Batch
1965
2267
  # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/JobSummary AWS API Documentation
1966
2268
  #
1967
2269
  class JobSummary < Struct.new(
2270
+ :job_arn,
1968
2271
  :job_id,
1969
2272
  :job_name,
1970
2273
  :created_at,
@@ -2053,9 +2356,13 @@ module Aws::Batch
2053
2356
  # @return [String]
2054
2357
  #
2055
2358
  # @!attribute [rw] version
2056
- # The version number of the launch template.
2359
+ # The version number of the launch template, `$Latest`, or `$Default`.
2057
2360
  #
2058
- # Default: The default version of the launch template.
2361
+ # If the value is `$Latest`, the latest version of the launch template
2362
+ # is used. If the value is `$Default`, the default version of the
2363
+ # launch template is used.
2364
+ #
2365
+ # Default: `$Default`.
2059
2366
  # @return [String]
2060
2367
  #
2061
2368
  # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/LaunchTemplateSpecification AWS API Documentation
@@ -2082,6 +2389,17 @@ module Aws::Batch
2082
2389
  # permissions: ["READ"], # accepts READ, WRITE, MKNOD
2083
2390
  # },
2084
2391
  # ],
2392
+ # init_process_enabled: false,
2393
+ # shared_memory_size: 1,
2394
+ # tmpfs: [
2395
+ # {
2396
+ # container_path: "String", # required
2397
+ # size: 1, # required
2398
+ # mount_options: ["String"],
2399
+ # },
2400
+ # ],
2401
+ # max_swap: 1,
2402
+ # swappiness: 1,
2085
2403
  # }
2086
2404
  #
2087
2405
  # @!attribute [rw] devices
@@ -2096,10 +2414,84 @@ module Aws::Batch
2096
2414
  # [3]: https://docs.docker.com/engine/reference/run/
2097
2415
  # @return [Array<Types::Device>]
2098
2416
  #
2417
+ # @!attribute [rw] init_process_enabled
2418
+ # If true, run an `init` process inside the container that forwards
2419
+ # signals and reaps processes. This parameter maps to the `--init`
2420
+ # option to [docker run][1]. This parameter requires version 1.25 of
2421
+ # the Docker Remote API or greater on your container instance. To
2422
+ # check the Docker Remote API version on your container instance, log
2423
+ # into your container instance and run the following command: `sudo
2424
+ # docker version | grep "Server API version"`
2425
+ #
2426
+ #
2427
+ #
2428
+ # [1]: https://docs.docker.com/engine/reference/run/
2429
+ # @return [Boolean]
2430
+ #
2431
+ # @!attribute [rw] shared_memory_size
2432
+ # The value for the size (in MiB) of the `/dev/shm` volume. This
2433
+ # parameter maps to the `--shm-size` option to [docker run][1].
2434
+ #
2435
+ #
2436
+ #
2437
+ # [1]: https://docs.docker.com/engine/reference/run/
2438
+ # @return [Integer]
2439
+ #
2440
+ # @!attribute [rw] tmpfs
2441
+ # The container path, mount options, and size (in MiB) of the tmpfs
2442
+ # mount. This parameter maps to the `--tmpfs` option to [docker
2443
+ # run][1].
2444
+ #
2445
+ #
2446
+ #
2447
+ # [1]: https://docs.docker.com/engine/reference/run/
2448
+ # @return [Array<Types::Tmpfs>]
2449
+ #
2450
+ # @!attribute [rw] max_swap
2451
+ # The total amount of swap memory (in MiB) a container can use. This
2452
+ # parameter will be translated to the `--memory-swap` option to
2453
+ # [docker run][1] where the value would be the sum of the container
2454
+ # memory plus the `maxSwap` value. For more information, see [
2455
+ # `--memory-swap` details][2] in the Docker documentation.
2456
+ #
2457
+ # If a `maxSwap` value of `0` is specified, the container will not use
2458
+ # swap. Accepted values are `0` or any positive integer. If the
2459
+ # `maxSwap` parameter is omitted, the container will use the swap
2460
+ # configuration for the container instance it is running on. A
2461
+ # `maxSwap` value must be set for the `swappiness` parameter to be
2462
+ # used.
2463
+ #
2464
+ #
2465
+ #
2466
+ # [1]: https://docs.docker.com/engine/reference/run/
2467
+ # [2]: https://docs.docker.com/config/containers/resource_constraints/#--memory-swap-details
2468
+ # @return [Integer]
2469
+ #
2470
+ # @!attribute [rw] swappiness
2471
+ # This allows you to tune a container's memory swappiness behavior. A
2472
+ # `swappiness` value of `0` will cause swapping to not happen unless
2473
+ # absolutely necessary. A `swappiness` value of `100` will cause pages
2474
+ # to be swapped very aggressively. Accepted values are whole numbers
2475
+ # between `0` and `100`. If the `swappiness` parameter is not
2476
+ # specified, a default value of `60` is used. If a value is not
2477
+ # specified for `maxSwap` then this parameter is ignored. This
2478
+ # parameter maps to the `--memory-swappiness` option to [docker
2479
+ # run][1].
2480
+ #
2481
+ #
2482
+ #
2483
+ # [1]: https://docs.docker.com/engine/reference/run/
2484
+ # @return [Integer]
2485
+ #
2099
2486
  # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/LinuxParameters AWS API Documentation
2100
2487
  #
2101
2488
  class LinuxParameters < Struct.new(
2102
- :devices)
2489
+ :devices,
2490
+ :init_process_enabled,
2491
+ :shared_memory_size,
2492
+ :tmpfs,
2493
+ :max_swap,
2494
+ :swappiness)
2103
2495
  SENSITIVE = []
2104
2496
  include Aws::Structure
2105
2497
  end
@@ -2195,6 +2587,167 @@ module Aws::Batch
2195
2587
  include Aws::Structure
2196
2588
  end
2197
2589
 
2590
+ # @note When making an API call, you may pass ListTagsForResourceRequest
2591
+ # data as a hash:
2592
+ #
2593
+ # {
2594
+ # resource_arn: "String", # required
2595
+ # }
2596
+ #
2597
+ # @!attribute [rw] resource_arn
2598
+ # The Amazon Resource Name (ARN) that identifies the resource for
2599
+ # which to list the tags. AWS Batch resources that support tags are
2600
+ # compute environments, jobs, job definitions, and job queues. ARNs
2601
+ # for child jobs of array and multi-node parallel (MNP) jobs are not
2602
+ # supported.
2603
+ # @return [String]
2604
+ #
2605
+ # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/ListTagsForResourceRequest AWS API Documentation
2606
+ #
2607
+ class ListTagsForResourceRequest < Struct.new(
2608
+ :resource_arn)
2609
+ SENSITIVE = []
2610
+ include Aws::Structure
2611
+ end
2612
+
2613
+ # @!attribute [rw] tags
2614
+ # The tags for the resource.
2615
+ # @return [Hash<String,String>]
2616
+ #
2617
+ # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/ListTagsForResourceResponse AWS API Documentation
2618
+ #
2619
+ class ListTagsForResourceResponse < Struct.new(
2620
+ :tags)
2621
+ SENSITIVE = []
2622
+ include Aws::Structure
2623
+ end
2624
+
2625
+ # Log configuration options to send to a custom log driver for the
2626
+ # container.
2627
+ #
2628
+ # @note When making an API call, you may pass LogConfiguration
2629
+ # data as a hash:
2630
+ #
2631
+ # {
2632
+ # log_driver: "json-file", # required, accepts json-file, syslog, journald, gelf, fluentd, awslogs, splunk
2633
+ # options: {
2634
+ # "String" => "String",
2635
+ # },
2636
+ # secret_options: [
2637
+ # {
2638
+ # name: "String", # required
2639
+ # value_from: "String", # required
2640
+ # },
2641
+ # ],
2642
+ # }
2643
+ #
2644
+ # @!attribute [rw] log_driver
2645
+ # The log driver to use for the container. The valid values listed for
2646
+ # this parameter are log drivers that the Amazon ECS container agent
2647
+ # can communicate with by default.
2648
+ #
2649
+ # The supported log drivers are `awslogs`, `fluentd`, `gelf`,
2650
+ # `json-file`, `journald`, `logentries`, `syslog`, and `splunk`.
2651
+ #
2652
+ # awslogs
2653
+ #
2654
+ # : Specifies the Amazon CloudWatch Logs logging driver. For more
2655
+ # information, see [Using the awslogs Log Driver][1] in the *AWS
2656
+ # Batch User Guide* and [Amazon CloudWatch Logs logging driver][2]
2657
+ # in the Docker documentation.
2658
+ #
2659
+ # fluentd
2660
+ #
2661
+ # : Specifies the Fluentd logging driver. For more information,
2662
+ # including usage and options, see [Fluentd logging driver][3] in
2663
+ # the Docker documentation.
2664
+ #
2665
+ # gelf
2666
+ #
2667
+ # : Specifies the Graylog Extended Format (GELF) logging driver. For
2668
+ # more information, including usage and options, see [Graylog
2669
+ # Extended Format logging driver][4] in the Docker documentation.
2670
+ #
2671
+ # journald
2672
+ #
2673
+ # : Specifies the journald logging driver. For more information,
2674
+ # including usage and options, see [Journald logging driver][5] in
2675
+ # the Docker documentation.
2676
+ #
2677
+ # json-file
2678
+ #
2679
+ # : Specifies the JSON file logging driver. For more information,
2680
+ # including usage and options, see [JSON File logging driver][6] in
2681
+ # the Docker documentation.
2682
+ #
2683
+ # splunk
2684
+ #
2685
+ # : Specifies the Splunk logging driver. For more information,
2686
+ # including usage and options, see [Splunk logging driver][7] in the
2687
+ # Docker documentation.
2688
+ #
2689
+ # syslog
2690
+ #
2691
+ # : Specifies the syslog logging driver. For more information,
2692
+ # including usage and options, see [Syslog logging driver][8] in the
2693
+ # Docker documentation.
2694
+ #
2695
+ # <note markdown="1"> If you have a custom driver that is not listed earlier that you
2696
+ # would like to work with the Amazon ECS container agent, you can fork
2697
+ # the Amazon ECS container agent project that is [available on
2698
+ # GitHub][9] and customize it to work with that driver. We encourage
2699
+ # you to submit pull requests for changes that you would like to have
2700
+ # included. However, Amazon Web Services does not currently support
2701
+ # running modified copies of this software.
2702
+ #
2703
+ # </note>
2704
+ #
2705
+ # This parameter requires version 1.18 of the Docker Remote API or
2706
+ # greater on your container instance. To check the Docker Remote API
2707
+ # version on your container instance, log into your container instance
2708
+ # and run the following command: `sudo docker version | grep "Server
2709
+ # API version"`
2710
+ #
2711
+ #
2712
+ #
2713
+ # [1]: https://docs.aws.amazon.com/batch/latest/userguide/using_awslogs.html
2714
+ # [2]: https://docs.docker.com/config/containers/logging/awslogs/
2715
+ # [3]: https://docs.docker.com/config/containers/logging/fluentd/
2716
+ # [4]: https://docs.docker.com/config/containers/logging/gelf/
2717
+ # [5]: https://docs.docker.com/config/containers/logging/journald/
2718
+ # [6]: https://docs.docker.com/config/containers/logging/json-file/
2719
+ # [7]: https://docs.docker.com/config/containers/logging/splunk/
2720
+ # [8]: https://docs.docker.com/config/containers/logging/syslog/
2721
+ # [9]: https://github.com/aws/amazon-ecs-agent
2722
+ # @return [String]
2723
+ #
2724
+ # @!attribute [rw] options
2725
+ # The configuration options to send to the log driver. This parameter
2726
+ # requires version 1.19 of the Docker Remote API or greater on your
2727
+ # container instance. To check the Docker Remote API version on your
2728
+ # container instance, log into your container instance and run the
2729
+ # following command: `sudo docker version | grep "Server API version"`
2730
+ # @return [Hash<String,String>]
2731
+ #
2732
+ # @!attribute [rw] secret_options
2733
+ # The secrets to pass to the log configuration. For more information,
2734
+ # see [Specifying Sensitive Data][1] in the *AWS Batch User Guide*.
2735
+ #
2736
+ #
2737
+ #
2738
+ # [1]: https://docs.aws.amazon.com/batch/latest/userguide/specifying-sensitive-data.html
2739
+ # @return [Array<Types::Secret>]
2740
+ #
2741
+ # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/LogConfiguration AWS API Documentation
2742
+ #
2743
+ class LogConfiguration < Struct.new(
2744
+ :log_driver,
2745
+ :options,
2746
+ :secret_options)
2747
+ SENSITIVE = []
2748
+ include Aws::Structure
2749
+ end
2750
+
2198
2751
  # Details on a Docker volume mount point that is used in a job's
2199
2752
  # container properties. This parameter maps to `Volumes` in the [Create
2200
2753
  # a container][1] section of the Docker Remote API and the `--volume`
@@ -2364,6 +2917,7 @@ module Aws::Batch
2364
2917
  # memory: 1,
2365
2918
  # command: ["String"],
2366
2919
  # job_role_arn: "String",
2920
+ # execution_role_arn: "String",
2367
2921
  # volumes: [
2368
2922
  # {
2369
2923
  # host: {
@@ -2410,7 +2964,36 @@ module Aws::Batch
2410
2964
  # permissions: ["READ"], # accepts READ, WRITE, MKNOD
2411
2965
  # },
2412
2966
  # ],
2967
+ # init_process_enabled: false,
2968
+ # shared_memory_size: 1,
2969
+ # tmpfs: [
2970
+ # {
2971
+ # container_path: "String", # required
2972
+ # size: 1, # required
2973
+ # mount_options: ["String"],
2974
+ # },
2975
+ # ],
2976
+ # max_swap: 1,
2977
+ # swappiness: 1,
2978
+ # },
2979
+ # log_configuration: {
2980
+ # log_driver: "json-file", # required, accepts json-file, syslog, journald, gelf, fluentd, awslogs, splunk
2981
+ # options: {
2982
+ # "String" => "String",
2983
+ # },
2984
+ # secret_options: [
2985
+ # {
2986
+ # name: "String", # required
2987
+ # value_from: "String", # required
2988
+ # },
2989
+ # ],
2413
2990
  # },
2991
+ # secrets: [
2992
+ # {
2993
+ # name: "String", # required
2994
+ # value_from: "String", # required
2995
+ # },
2996
+ # ],
2414
2997
  # },
2415
2998
  # },
2416
2999
  # ],
@@ -2531,6 +3114,7 @@ module Aws::Batch
2531
3114
  # memory: 1,
2532
3115
  # command: ["String"],
2533
3116
  # job_role_arn: "String",
3117
+ # execution_role_arn: "String",
2534
3118
  # volumes: [
2535
3119
  # {
2536
3120
  # host: {
@@ -2577,7 +3161,36 @@ module Aws::Batch
2577
3161
  # permissions: ["READ"], # accepts READ, WRITE, MKNOD
2578
3162
  # },
2579
3163
  # ],
3164
+ # init_process_enabled: false,
3165
+ # shared_memory_size: 1,
3166
+ # tmpfs: [
3167
+ # {
3168
+ # container_path: "String", # required
3169
+ # size: 1, # required
3170
+ # mount_options: ["String"],
3171
+ # },
3172
+ # ],
3173
+ # max_swap: 1,
3174
+ # swappiness: 1,
3175
+ # },
3176
+ # log_configuration: {
3177
+ # log_driver: "json-file", # required, accepts json-file, syslog, journald, gelf, fluentd, awslogs, splunk
3178
+ # options: {
3179
+ # "String" => "String",
3180
+ # },
3181
+ # secret_options: [
3182
+ # {
3183
+ # name: "String", # required
3184
+ # value_from: "String", # required
3185
+ # },
3186
+ # ],
2580
3187
  # },
3188
+ # secrets: [
3189
+ # {
3190
+ # name: "String", # required
3191
+ # value_from: "String", # required
3192
+ # },
3193
+ # ],
2581
3194
  # },
2582
3195
  # }
2583
3196
  #
@@ -2620,6 +3233,7 @@ module Aws::Batch
2620
3233
  # memory: 1,
2621
3234
  # command: ["String"],
2622
3235
  # job_role_arn: "String",
3236
+ # execution_role_arn: "String",
2623
3237
  # volumes: [
2624
3238
  # {
2625
3239
  # host: {
@@ -2666,7 +3280,36 @@ module Aws::Batch
2666
3280
  # permissions: ["READ"], # accepts READ, WRITE, MKNOD
2667
3281
  # },
2668
3282
  # ],
3283
+ # init_process_enabled: false,
3284
+ # shared_memory_size: 1,
3285
+ # tmpfs: [
3286
+ # {
3287
+ # container_path: "String", # required
3288
+ # size: 1, # required
3289
+ # mount_options: ["String"],
3290
+ # },
3291
+ # ],
3292
+ # max_swap: 1,
3293
+ # swappiness: 1,
3294
+ # },
3295
+ # log_configuration: {
3296
+ # log_driver: "json-file", # required, accepts json-file, syslog, journald, gelf, fluentd, awslogs, splunk
3297
+ # options: {
3298
+ # "String" => "String",
3299
+ # },
3300
+ # secret_options: [
3301
+ # {
3302
+ # name: "String", # required
3303
+ # value_from: "String", # required
3304
+ # },
3305
+ # ],
2669
3306
  # },
3307
+ # secrets: [
3308
+ # {
3309
+ # name: "String", # required
3310
+ # value_from: "String", # required
3311
+ # },
3312
+ # ],
2670
3313
  # },
2671
3314
  # node_properties: {
2672
3315
  # num_nodes: 1, # required
@@ -2680,6 +3323,7 @@ module Aws::Batch
2680
3323
  # memory: 1,
2681
3324
  # command: ["String"],
2682
3325
  # job_role_arn: "String",
3326
+ # execution_role_arn: "String",
2683
3327
  # volumes: [
2684
3328
  # {
2685
3329
  # host: {
@@ -2726,17 +3370,57 @@ module Aws::Batch
2726
3370
  # permissions: ["READ"], # accepts READ, WRITE, MKNOD
2727
3371
  # },
2728
3372
  # ],
3373
+ # init_process_enabled: false,
3374
+ # shared_memory_size: 1,
3375
+ # tmpfs: [
3376
+ # {
3377
+ # container_path: "String", # required
3378
+ # size: 1, # required
3379
+ # mount_options: ["String"],
3380
+ # },
3381
+ # ],
3382
+ # max_swap: 1,
3383
+ # swappiness: 1,
3384
+ # },
3385
+ # log_configuration: {
3386
+ # log_driver: "json-file", # required, accepts json-file, syslog, journald, gelf, fluentd, awslogs, splunk
3387
+ # options: {
3388
+ # "String" => "String",
3389
+ # },
3390
+ # secret_options: [
3391
+ # {
3392
+ # name: "String", # required
3393
+ # value_from: "String", # required
3394
+ # },
3395
+ # ],
2729
3396
  # },
3397
+ # secrets: [
3398
+ # {
3399
+ # name: "String", # required
3400
+ # value_from: "String", # required
3401
+ # },
3402
+ # ],
2730
3403
  # },
2731
3404
  # },
2732
3405
  # ],
2733
3406
  # },
2734
3407
  # retry_strategy: {
2735
3408
  # attempts: 1,
3409
+ # evaluate_on_exit: [
3410
+ # {
3411
+ # on_status_reason: "String",
3412
+ # on_reason: "String",
3413
+ # on_exit_code: "String",
3414
+ # action: "RETRY", # required, accepts RETRY, EXIT
3415
+ # },
3416
+ # ],
2736
3417
  # },
2737
3418
  # timeout: {
2738
3419
  # attempt_duration_seconds: 1,
2739
3420
  # },
3421
+ # tags: {
3422
+ # "TagKey" => "TagValue",
3423
+ # },
2740
3424
  # }
2741
3425
  #
2742
3426
  # @!attribute [rw] job_definition_name
@@ -2798,6 +3482,17 @@ module Aws::Batch
2798
3482
  # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/job_timeouts.html
2799
3483
  # @return [Types::JobTimeout]
2800
3484
  #
3485
+ # @!attribute [rw] tags
3486
+ # The tags that you apply to the job definition to help you categorize
3487
+ # and organize your resources. Each tag consists of a key and an
3488
+ # optional value. For more information, see [Tagging AWS Resources][1]
3489
+ # in *AWS General Reference*.
3490
+ #
3491
+ #
3492
+ #
3493
+ # [1]: https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html
3494
+ # @return [Hash<String,String>]
3495
+ #
2801
3496
  # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/RegisterJobDefinitionRequest AWS API Documentation
2802
3497
  #
2803
3498
  class RegisterJobDefinitionRequest < Struct.new(
@@ -2807,7 +3502,8 @@ module Aws::Batch
2807
3502
  :container_properties,
2808
3503
  :node_properties,
2809
3504
  :retry_strategy,
2810
- :timeout)
3505
+ :timeout,
3506
+ :tags)
2811
3507
  SENSITIVE = []
2812
3508
  include Aws::Structure
2813
3509
  end
@@ -2873,6 +3569,14 @@ module Aws::Batch
2873
3569
  #
2874
3570
  # {
2875
3571
  # attempts: 1,
3572
+ # evaluate_on_exit: [
3573
+ # {
3574
+ # on_status_reason: "String",
3575
+ # on_reason: "String",
3576
+ # on_exit_code: "String",
3577
+ # action: "RETRY", # required, accepts RETRY, EXIT
3578
+ # },
3579
+ # ],
2876
3580
  # }
2877
3581
  #
2878
3582
  # @!attribute [rw] attempts
@@ -2882,10 +3586,67 @@ module Aws::Batch
2882
3586
  # attempts as the value.
2883
3587
  # @return [Integer]
2884
3588
  #
3589
+ # @!attribute [rw] evaluate_on_exit
3590
+ # Array of up to 5 objects that specify conditions under which the job
3591
+ # should be retried or failed. If this parameter is specified, then
3592
+ # the `attempts` parameter must also be specified.
3593
+ # @return [Array<Types::EvaluateOnExit>]
3594
+ #
2885
3595
  # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/RetryStrategy AWS API Documentation
2886
3596
  #
2887
3597
  class RetryStrategy < Struct.new(
2888
- :attempts)
3598
+ :attempts,
3599
+ :evaluate_on_exit)
3600
+ SENSITIVE = []
3601
+ include Aws::Structure
3602
+ end
3603
+
3604
+ # An object representing the secret to expose to your container. Secrets
3605
+ # can be exposed to a container in the following ways:
3606
+ #
3607
+ # * To inject sensitive data into your containers as environment
3608
+ # variables, use the `secrets` container definition parameter.
3609
+ #
3610
+ # * To reference sensitive information in the log configuration of a
3611
+ # container, use the `secretOptions` container definition parameter.
3612
+ #
3613
+ # For more information, see [Specifying Sensitive Data][1] in the
3614
+ # *Amazon Elastic Container Service Developer Guide*.
3615
+ #
3616
+ #
3617
+ #
3618
+ # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/specifying-sensitive-data.html
3619
+ #
3620
+ # @note When making an API call, you may pass Secret
3621
+ # data as a hash:
3622
+ #
3623
+ # {
3624
+ # name: "String", # required
3625
+ # value_from: "String", # required
3626
+ # }
3627
+ #
3628
+ # @!attribute [rw] name
3629
+ # The name of the secret.
3630
+ # @return [String]
3631
+ #
3632
+ # @!attribute [rw] value_from
3633
+ # The secret to expose to the container. The supported values are
3634
+ # either the full ARN of the AWS Secrets Manager secret or the full
3635
+ # ARN of the parameter in the AWS Systems Manager Parameter Store.
3636
+ #
3637
+ # <note markdown="1"> If the AWS Systems Manager Parameter Store parameter exists in the
3638
+ # same Region as the task you are launching, then you can use either
3639
+ # the full ARN or name of the parameter. If the parameter exists in a
3640
+ # different Region, then the full ARN must be specified.
3641
+ #
3642
+ # </note>
3643
+ # @return [String]
3644
+ #
3645
+ # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/Secret AWS API Documentation
3646
+ #
3647
+ class Secret < Struct.new(
3648
+ :name,
3649
+ :value_from)
2889
3650
  SENSITIVE = []
2890
3651
  include Aws::Structure
2891
3652
  end
@@ -2968,10 +3729,21 @@ module Aws::Batch
2968
3729
  # },
2969
3730
  # retry_strategy: {
2970
3731
  # attempts: 1,
3732
+ # evaluate_on_exit: [
3733
+ # {
3734
+ # on_status_reason: "String",
3735
+ # on_reason: "String",
3736
+ # on_exit_code: "String",
3737
+ # action: "RETRY", # required, accepts RETRY, EXIT
3738
+ # },
3739
+ # ],
2971
3740
  # },
2972
3741
  # timeout: {
2973
3742
  # attempt_duration_seconds: 1,
2974
3743
  # },
3744
+ # tags: {
3745
+ # "TagKey" => "TagValue",
3746
+ # },
2975
3747
  # }
2976
3748
  #
2977
3749
  # @!attribute [rw] job_name
@@ -3059,6 +3831,17 @@ module Aws::Batch
3059
3831
  # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/job_timeouts.html
3060
3832
  # @return [Types::JobTimeout]
3061
3833
  #
3834
+ # @!attribute [rw] tags
3835
+ # The tags that you apply to the job request to help you categorize
3836
+ # and organize your resources. Each tag consists of a key and an
3837
+ # optional value. For more information, see [Tagging AWS Resources][1]
3838
+ # in *AWS General Reference*.
3839
+ #
3840
+ #
3841
+ #
3842
+ # [1]: https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html
3843
+ # @return [Hash<String,String>]
3844
+ #
3062
3845
  # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/SubmitJobRequest AWS API Documentation
3063
3846
  #
3064
3847
  class SubmitJobRequest < Struct.new(
@@ -3071,11 +3854,16 @@ module Aws::Batch
3071
3854
  :container_overrides,
3072
3855
  :node_overrides,
3073
3856
  :retry_strategy,
3074
- :timeout)
3857
+ :timeout,
3858
+ :tags)
3075
3859
  SENSITIVE = []
3076
3860
  include Aws::Structure
3077
3861
  end
3078
3862
 
3863
+ # @!attribute [rw] job_arn
3864
+ # The Amazon Resource Name (ARN) for the job.
3865
+ # @return [String]
3866
+ #
3079
3867
  # @!attribute [rw] job_name
3080
3868
  # The name of the job.
3081
3869
  # @return [String]
@@ -3087,12 +3875,54 @@ module Aws::Batch
3087
3875
  # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/SubmitJobResponse AWS API Documentation
3088
3876
  #
3089
3877
  class SubmitJobResponse < Struct.new(
3878
+ :job_arn,
3090
3879
  :job_name,
3091
3880
  :job_id)
3092
3881
  SENSITIVE = []
3093
3882
  include Aws::Structure
3094
3883
  end
3095
3884
 
3885
+ # @note When making an API call, you may pass TagResourceRequest
3886
+ # data as a hash:
3887
+ #
3888
+ # {
3889
+ # resource_arn: "String", # required
3890
+ # tags: { # required
3891
+ # "TagKey" => "TagValue",
3892
+ # },
3893
+ # }
3894
+ #
3895
+ # @!attribute [rw] resource_arn
3896
+ # The Amazon Resource Name (ARN) of the resource to which to add tags.
3897
+ # AWS Batch resources that support tags are compute environments,
3898
+ # jobs, job definitions, and job queues. ARNs for child jobs of array
3899
+ # and multi-node parallel (MNP) jobs are not supported.
3900
+ # @return [String]
3901
+ #
3902
+ # @!attribute [rw] tags
3903
+ # The tags that you apply to the resource to help you categorize and
3904
+ # organize your resources. Each tag consists of a key and an optional
3905
+ # value. For more information, see [Tagging AWS Resources][1] in *AWS
3906
+ # General Reference*.
3907
+ #
3908
+ #
3909
+ #
3910
+ # [1]: https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html
3911
+ # @return [Hash<String,String>]
3912
+ #
3913
+ # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/TagResourceRequest AWS API Documentation
3914
+ #
3915
+ class TagResourceRequest < Struct.new(
3916
+ :resource_arn,
3917
+ :tags)
3918
+ SENSITIVE = []
3919
+ include Aws::Structure
3920
+ end
3921
+
3922
+ # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/TagResourceResponse AWS API Documentation
3923
+ #
3924
+ class TagResourceResponse < Aws::EmptyStructure; end
3925
+
3096
3926
  # @note When making an API call, you may pass TerminateJobRequest
3097
3927
  # data as a hash:
3098
3928
  #
@@ -3125,6 +3955,51 @@ module Aws::Batch
3125
3955
  #
3126
3956
  class TerminateJobResponse < Aws::EmptyStructure; end
3127
3957
 
3958
+ # The container path, mount options, and size of the tmpfs mount.
3959
+ #
3960
+ # @note When making an API call, you may pass Tmpfs
3961
+ # data as a hash:
3962
+ #
3963
+ # {
3964
+ # container_path: "String", # required
3965
+ # size: 1, # required
3966
+ # mount_options: ["String"],
3967
+ # }
3968
+ #
3969
+ # @!attribute [rw] container_path
3970
+ # The absolute file path in the container where the tmpfs volume is to
3971
+ # be mounted.
3972
+ # @return [String]
3973
+ #
3974
+ # @!attribute [rw] size
3975
+ # The size (in MiB) of the tmpfs volume.
3976
+ # @return [Integer]
3977
+ #
3978
+ # @!attribute [rw] mount_options
3979
+ # The list of tmpfs volume mount options.
3980
+ #
3981
+ # Valid values: "`defaults`" \| "`ro`" \| "`rw`" \| "`suid`"
3982
+ # \| "`nosuid`" \| "`dev`" \| "`nodev`" \| "`exec`" \|
3983
+ # "`noexec`" \| "`sync`" \| "`async`" \| "`dirsync`" \|
3984
+ # "`remount`" \| "`mand`" \| "`nomand`" \| "`atime`" \|
3985
+ # "`noatime`" \| "`diratime`" \| "`nodiratime`" \| "`bind`" \|
3986
+ # "`rbind" | "unbindable" | "runbindable" | "private" | "rprivate" |
3987
+ # "shared" | "rshared" | "slave" | "rslave" | "relatime`" \|
3988
+ # "`norelatime`" \| "`strictatime`" \| "`nostrictatime`" \|
3989
+ # "`mode`" \| "`uid`" \| "`gid`" \| "`nr_inodes`" \|
3990
+ # "`nr_blocks`" \| "`mpol`"
3991
+ # @return [Array<String>]
3992
+ #
3993
+ # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/Tmpfs AWS API Documentation
3994
+ #
3995
+ class Tmpfs < Struct.new(
3996
+ :container_path,
3997
+ :size,
3998
+ :mount_options)
3999
+ SENSITIVE = []
4000
+ include Aws::Structure
4001
+ end
4002
+
3128
4003
  # The `ulimit` settings to pass to the container.
3129
4004
  #
3130
4005
  # @note When making an API call, you may pass Ulimit
@@ -3158,6 +4033,38 @@ module Aws::Batch
3158
4033
  include Aws::Structure
3159
4034
  end
3160
4035
 
4036
+ # @note When making an API call, you may pass UntagResourceRequest
4037
+ # data as a hash:
4038
+ #
4039
+ # {
4040
+ # resource_arn: "String", # required
4041
+ # tag_keys: ["TagKey"], # required
4042
+ # }
4043
+ #
4044
+ # @!attribute [rw] resource_arn
4045
+ # The Amazon Resource Name (ARN) of the resource from which to delete
4046
+ # tags. AWS Batch resources that support tags are compute
4047
+ # environments, jobs, job definitions, and job queues. ARNs for child
4048
+ # jobs of array and multi-node parallel (MNP) jobs are not supported.
4049
+ # @return [String]
4050
+ #
4051
+ # @!attribute [rw] tag_keys
4052
+ # The keys of the tags to be removed.
4053
+ # @return [Array<String>]
4054
+ #
4055
+ # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/UntagResourceRequest AWS API Documentation
4056
+ #
4057
+ class UntagResourceRequest < Struct.new(
4058
+ :resource_arn,
4059
+ :tag_keys)
4060
+ SENSITIVE = []
4061
+ include Aws::Structure
4062
+ end
4063
+
4064
+ # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/UntagResourceResponse AWS API Documentation
4065
+ #
4066
+ class UntagResourceResponse < Aws::EmptyStructure; end
4067
+
3161
4068
  # @note When making an API call, you may pass UpdateComputeEnvironmentRequest
3162
4069
  # data as a hash:
3163
4070
  #
@@ -3254,7 +4161,10 @@ module Aws::Batch
3254
4161
  # @return [String]
3255
4162
  #
3256
4163
  # @!attribute [rw] state
3257
- # Describes the queue's ability to accept new jobs.
4164
+ # Describes the queue's ability to accept new jobs. If the job queue
4165
+ # state is `ENABLED`, it is able to accept jobs. If the job queue
4166
+ # state is `DISABLED`, new jobs cannot be added to the queue, but jobs
4167
+ # already in the queue can finish.
3258
4168
  # @return [String]
3259
4169
  #
3260
4170
  # @!attribute [rw] priority