aws-sdk-batch 1.35.0 → 1.40.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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