aws-sdk-batch 1.38.0 → 1.43.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: b7df37b762ca1ed368a2e9a932eb1850fe3ec6b0db8e3842d95cf316d360024a
4
- data.tar.gz: b498928a905b6495c02673df02ed84193243a840380ce9a98f2074507195962d
3
+ metadata.gz: 670e8989f810cdcedfe78e8dda205d78d250d8fa040bc488a9cb49af4ec63d85
4
+ data.tar.gz: 7a45d7ae7ed3f93a41074e799d211c6cb28f1493e4f07ea0831f19c2054dfad6
5
5
  SHA512:
6
- metadata.gz: 7b6c5a92f1ad991cb9df86043a44b1e81e00a0619c72e7ec2beaf87739bd85f4b30c50e6dc44564759ca407c6fd0de249f06ed13f1714e4dae1562db85e0e869
7
- data.tar.gz: ce5d6334f73ebb34449b955c1a6fb8d58b85efac6eb51561c8a58b429d4e5d2eec9590465e374a55a91975adc03b11d3270aeadc3425b26036a778765e76f633
6
+ metadata.gz: fd80a33d7ac7ca4bc3833dc06372340f572b4b6773a95b372a80b93699e134fb26200bcb4acc6237f317da2b19bf229fddebf69864a1c2aa68aed2d1d56ee172
7
+ data.tar.gz: 8791dbaeb9175cc1093c36750f5a1b2589c36fe710c4e30189560b4743e59b07ce6c7da35d1f42de7942a8dee649215b3d61fcb0eacccfc29cab85cf44dc0b2a
@@ -48,6 +48,6 @@ require_relative 'aws-sdk-batch/customizations'
48
48
  # @!group service
49
49
  module Aws::Batch
50
50
 
51
- GEM_VERSION = '1.38.0'
51
+ GEM_VERSION = '1.43.0'
52
52
 
53
53
  end
@@ -328,9 +328,9 @@ module Aws::Batch
328
328
  # @!group API Operations
329
329
 
330
330
  # Cancels a job in an AWS Batch job queue. Jobs that are in the
331
- # `SUBMITTED`, `PENDING`, or `RUNNABLE` state are cancelled. Jobs that
332
- # have progressed to `STARTING` or `RUNNING` are not cancelled (but the
333
- # API operation still succeeds, even if no job is cancelled); these jobs
331
+ # `SUBMITTED`, `PENDING`, or `RUNNABLE` state are canceled. Jobs that
332
+ # have progressed to `STARTING` or `RUNNING` are not canceled (but the
333
+ # API operation still succeeds, even if no job is canceled); these jobs
334
334
  # must be terminated with the TerminateJob operation.
335
335
  #
336
336
  # @option params [required, String] :job_id
@@ -374,49 +374,53 @@ module Aws::Batch
374
374
  end
375
375
 
376
376
  # Creates an AWS Batch compute environment. You can create `MANAGED` or
377
- # `UNMANAGED` compute environments.
377
+ # `UNMANAGED` compute environments. `MANAGED` compute environments can
378
+ # use Amazon EC2 or AWS Fargate resources. `UNMANAGED` compute
379
+ # environments can only use EC2 resources.
378
380
  #
379
381
  # In a managed compute environment, AWS Batch manages the capacity and
380
382
  # instance types of the compute resources within the environment. This
381
383
  # is based on the compute resource specification that you define or the
382
384
  # [launch template][1] that you specify when you create the compute
383
- # environment. You can choose to use Amazon EC2 On-Demand Instances or
384
- # Spot Instances in your managed compute environment. You can optionally
385
- # set a maximum price so that Spot Instances only launch when the Spot
386
- # Instance price is below a specified percentage of the On-Demand price.
385
+ # environment. You can choose either to use EC2 On-Demand Instances and
386
+ # EC2 Spot Instances, or to use Fargate and Fargate Spot capacity in
387
+ # your managed compute environment. You can optionally set a maximum
388
+ # price so that Spot Instances only launch when the Spot Instance price
389
+ # is less than a specified percentage of the On-Demand price.
387
390
  #
388
391
  # <note markdown="1"> Multi-node parallel jobs are not supported on Spot Instances.
389
392
  #
390
393
  # </note>
391
394
  #
392
- # In an unmanaged compute environment, you can manage your own compute
393
- # resources. This provides more compute resource configuration options,
394
- # such as using a custom AMI, but you must ensure that your AMI meets
395
- # the Amazon ECS container instance AMI specification. For more
396
- # information, see [Container Instance AMIs][2] in the *Amazon Elastic
397
- # Container Service Developer Guide*. After you have created your
398
- # unmanaged compute environment, you can use the
399
- # DescribeComputeEnvironments operation to find the Amazon ECS cluster
400
- # that is associated with it. Then, manually launch your container
401
- # instances into that Amazon ECS cluster. For more information, see
402
- # [Launching an Amazon ECS Container Instance][3] in the *Amazon Elastic
403
- # Container Service Developer Guide*.
404
- #
405
- # <note markdown="1"> AWS Batch does not upgrade the AMIs in a compute environment after it
406
- # is created (for example, when a newer version of the Amazon
407
- # ECS-optimized AMI is available). You are responsible for the
408
- # management of the guest operating system (including updates and
409
- # security patches) and any additional application software or utilities
410
- # that you install on the compute resources. To use a new AMI for your
411
- # AWS Batch jobs:
395
+ # In an unmanaged compute environment, you can manage your own EC2
396
+ # compute resources and have a lot of flexibility with how you configure
397
+ # your compute resources. For example, you can use custom AMI. However,
398
+ # you need to verify that your AMI meets the Amazon ECS container
399
+ # instance AMI specification. For more information, see [container
400
+ # instance AMIs][2] in the *Amazon Elastic Container Service Developer
401
+ # Guide*. After you have created your unmanaged compute environment, you
402
+ # can use the DescribeComputeEnvironments operation to find the Amazon
403
+ # ECS cluster that's associated with it. Then, manually launch your
404
+ # container instances into that Amazon ECS cluster. For more
405
+ # information, see [Launching an Amazon ECS container instance][3] in
406
+ # the *Amazon Elastic Container Service Developer Guide*.
407
+ #
408
+ # <note markdown="1"> AWS Batch doesn't upgrade the AMIs in a compute environment after
409
+ # it's created. For example, it doesn't update the AMIs when a newer
410
+ # version of the Amazon ECS-optimized AMI is available. Therefore,
411
+ # you're responsible for the management of the guest operating system
412
+ # (including updates and security patches) and any additional
413
+ # application software or utilities that you install on the compute
414
+ # resources. To use a new AMI for your AWS Batch jobs, complete these
415
+ # steps:
412
416
  #
413
417
  # 1. Create a new compute environment with the new AMI.
414
418
  #
415
419
  # 2. Add the compute environment to an existing job queue.
416
420
  #
417
- # 3. Remove the old compute environment from your job queue.
421
+ # 3. Remove the earlier compute environment from your job queue.
418
422
  #
419
- # 4. Delete the old compute environment.
423
+ # 4. Delete the earlier compute environment.
420
424
  #
421
425
  # </note>
422
426
  #
@@ -431,8 +435,9 @@ module Aws::Batch
431
435
  # and lowercase), numbers, hyphens, and underscores are allowed.
432
436
  #
433
437
  # @option params [required, String] :type
434
- # The type of the compute environment. For more information, see
435
- # [Compute Environments][1] in the *AWS Batch User Guide*.
438
+ # The type of the compute environment: `MANAGED` or `UNMANAGED`. For
439
+ # more information, see [Compute Environments][1] in the *AWS Batch User
440
+ # Guide*.
436
441
  #
437
442
  #
438
443
  #
@@ -443,11 +448,23 @@ module Aws::Batch
443
448
  # the compute environment accepts jobs from a queue and can scale out
444
449
  # automatically based on queues.
445
450
  #
451
+ # If the state is `ENABLED`, then the AWS Batch scheduler can attempt to
452
+ # place jobs from an associated job queue on the compute resources
453
+ # within the environment. If the compute environment is managed, then it
454
+ # can scale its instances out or in automatically, based on the job
455
+ # queue demand.
456
+ #
457
+ # If the state is `DISABLED`, then the AWS Batch scheduler doesn't
458
+ # attempt to place jobs within the environment. Jobs in a `STARTING` or
459
+ # `RUNNING` state continue to progress normally. Managed compute
460
+ # environments in the `DISABLED` state don't scale out. However, they
461
+ # scale in to `minvCpus` value after instances become idle.
462
+ #
446
463
  # @option params [Types::ComputeResource] :compute_resources
447
- # Details of the compute resources managed by the compute environment.
448
- # This parameter is required for managed compute environments. For more
449
- # information, see [Compute Environments][1] in the *AWS Batch User
450
- # Guide*.
464
+ # Details about the compute resources managed by the compute
465
+ # environment. This parameter is required for managed compute
466
+ # environments. For more information, see [Compute Environments][1] in
467
+ # the *AWS Batch User Guide*.
451
468
  #
452
469
  #
453
470
  #
@@ -455,21 +472,43 @@ module Aws::Batch
455
472
  #
456
473
  # @option params [required, String] :service_role
457
474
  # The full Amazon Resource Name (ARN) of the IAM role that allows AWS
458
- # Batch to make calls to other AWS services on your behalf.
475
+ # Batch to make calls to other AWS services on your behalf. For more
476
+ # information, see [AWS Batch service IAM role][1] in the *AWS Batch
477
+ # User Guide*.
459
478
  #
460
479
  # If your specified role has a path other than `/`, then you must either
461
480
  # specify the full role ARN (this is recommended) or prefix the role
462
481
  # name with the path.
463
482
  #
464
- # <note markdown="1"> Depending on how you created your AWS Batch service role, its ARN may
465
- # contain the `service-role` path prefix. When you only specify the name
466
- # of the service role, AWS Batch assumes that your ARN does not use the
467
- # `service-role` path prefix. Because of this, we recommend that you
468
- # specify the full ARN of your service role when you create compute
483
+ # <note markdown="1"> Depending on how you created your AWS Batch service role, its ARN
484
+ # might contain the `service-role` path prefix. When you only specify
485
+ # the name of the service role, AWS Batch assumes that your ARN doesn't
486
+ # use the `service-role` path prefix. Because of this, we recommend that
487
+ # you specify the full ARN of your service role when you create compute
469
488
  # environments.
470
489
  #
471
490
  # </note>
472
491
  #
492
+ #
493
+ #
494
+ # [1]: https://docs.aws.amazon.com/batch/latest/userguide/service_IAM_role.html
495
+ #
496
+ # @option params [Hash<String,String>] :tags
497
+ # The tags that you apply to the compute environment to help you
498
+ # categorize and organize your resources. Each tag consists of a key and
499
+ # an optional value. For more information, see [Tagging AWS
500
+ # Resources][1] in *AWS General Reference*.
501
+ #
502
+ # These tags can be updated or removed using the [TagResource][2] and
503
+ # [UntagResource][3] API operations. These tags don't propagate to the
504
+ # underlying compute resources.
505
+ #
506
+ #
507
+ #
508
+ # [1]: https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html
509
+ # [2]: https://docs.aws.amazon.com/batch/latest/APIReference/API_TagResource.html
510
+ # [3]: https://docs.aws.amazon.com/batch/latest/APIReference/API_UntagResource.html
511
+ #
473
512
  # @return [Types::CreateComputeEnvironmentResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
474
513
  #
475
514
  # * {Types::CreateComputeEnvironmentResponse#compute_environment_name #compute_environment_name} => String
@@ -569,17 +608,17 @@ module Aws::Batch
569
608
  # type: "MANAGED", # required, accepts MANAGED, UNMANAGED
570
609
  # state: "ENABLED", # accepts ENABLED, DISABLED
571
610
  # compute_resources: {
572
- # type: "EC2", # required, accepts EC2, SPOT
611
+ # type: "EC2", # required, accepts EC2, SPOT, FARGATE, FARGATE_SPOT
573
612
  # allocation_strategy: "BEST_FIT", # accepts BEST_FIT, BEST_FIT_PROGRESSIVE, SPOT_CAPACITY_OPTIMIZED
574
- # minv_cpus: 1, # required
613
+ # minv_cpus: 1,
575
614
  # maxv_cpus: 1, # required
576
615
  # desiredv_cpus: 1,
577
- # instance_types: ["String"], # required
616
+ # instance_types: ["String"],
578
617
  # image_id: "String",
579
618
  # subnets: ["String"], # required
580
619
  # security_group_ids: ["String"],
581
620
  # ec2_key_pair: "String",
582
- # instance_role: "String", # required
621
+ # instance_role: "String",
583
622
  # tags: {
584
623
  # "String" => "String",
585
624
  # },
@@ -591,8 +630,17 @@ module Aws::Batch
591
630
  # launch_template_name: "String",
592
631
  # version: "String",
593
632
  # },
633
+ # ec2_configuration: [
634
+ # {
635
+ # image_type: "ImageType", # required
636
+ # image_id_override: "ImageIdOverride",
637
+ # },
638
+ # ],
594
639
  # },
595
640
  # service_role: "String", # required
641
+ # tags: {
642
+ # "TagKey" => "TagValue",
643
+ # },
596
644
  # })
597
645
  #
598
646
  # @example Response structure
@@ -620,29 +668,50 @@ module Aws::Batch
620
668
  # preference for scheduling jobs to that compute environment.
621
669
  #
622
670
  # @option params [required, String] :job_queue_name
623
- # The name of the job queue.
671
+ # The name of the job queue. Up to 128 letters (uppercase and
672
+ # lowercase), numbers, and underscores are allowed.
624
673
  #
625
674
  # @option params [String] :state
626
675
  # The state of the job queue. If the job queue state is `ENABLED`, it is
627
676
  # able to accept jobs. If the job queue state is `DISABLED`, new jobs
628
- # cannot be added to the queue, but jobs already in the queue can
677
+ # can't be added to the queue, but jobs already in the queue can
629
678
  # finish.
630
679
  #
631
680
  # @option params [required, Integer] :priority
632
681
  # The priority of the job queue. Job queues with a higher priority (or a
633
682
  # higher integer value for the `priority` parameter) are evaluated first
634
683
  # when associated with the same compute environment. Priority is
635
- # determined in descending order, for example, a job queue with a
684
+ # determined in descending order. For example, a job queue with a
636
685
  # priority value of `10` is given scheduling preference over a job queue
637
- # with a priority value of `1`.
686
+ # with a priority value of `1`. All of the compute environments must be
687
+ # either EC2 (`EC2` or `SPOT`) or Fargate (`FARGATE` or `FARGATE_SPOT`);
688
+ # EC2 and Fargate compute environments cannot be mixed.
638
689
  #
639
690
  # @option params [required, Array<Types::ComputeEnvironmentOrder>] :compute_environment_order
640
691
  # The set of compute environments mapped to a job queue and their order
641
692
  # relative to each other. The job scheduler uses this parameter to
642
- # determine which compute environment should execute a given job.
643
- # Compute environments must be in the `VALID` state before you can
644
- # associate them with a job queue. You can associate up to three compute
645
- # environments with a job queue.
693
+ # determine which compute environment should run a specific job. Compute
694
+ # environments must be in the `VALID` state before you can associate
695
+ # them with a job queue. You can associate up to three compute
696
+ # environments with a job queue. All of the compute environments must be
697
+ # either EC2 (`EC2` or `SPOT`) or Fargate (`FARGATE` or `FARGATE_SPOT`);
698
+ # EC2 and Fargate compute environments can't be mixed.
699
+ #
700
+ # <note markdown="1"> All compute environments that are associated with a job queue must
701
+ # share the same architecture. AWS Batch doesn't support mixing compute
702
+ # environment architecture types in a single job queue.
703
+ #
704
+ # </note>
705
+ #
706
+ # @option params [Hash<String,String>] :tags
707
+ # The tags that you apply to the job queue to help you categorize and
708
+ # organize your resources. Each tag consists of a key and an optional
709
+ # value. For more information, see [Tagging your AWS Batch resources][1]
710
+ # in *AWS Batch User Guide*.
711
+ #
712
+ #
713
+ #
714
+ # [1]: https://docs.aws.amazon.com/batch/latest/userguide/using-tags.html
646
715
  #
647
716
  # @return [Types::CreateJobQueueResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
648
717
  #
@@ -711,6 +780,9 @@ module Aws::Batch
711
780
  # compute_environment: "String", # required
712
781
  # },
713
782
  # ],
783
+ # tags: {
784
+ # "TagKey" => "TagValue",
785
+ # },
714
786
  # })
715
787
  #
716
788
  # @example Response structure
@@ -732,7 +804,10 @@ module Aws::Batch
732
804
  # Before you can delete a compute environment, you must set its state to
733
805
  # `DISABLED` with the UpdateComputeEnvironment API operation and
734
806
  # disassociate it from any job queues with the UpdateJobQueue API
735
- # operation.
807
+ # operation. Compute environments that use AWS Fargate resources must
808
+ # terminate all active jobs on that compute environment before deleting
809
+ # the compute environment. If this isn't done, the compute environment
810
+ # will end up in an invalid state.
736
811
  #
737
812
  # @option params [required, String] :compute_environment
738
813
  # The name or Amazon Resource Name (ARN) of the compute environment to
@@ -770,9 +845,10 @@ module Aws::Batch
770
845
 
771
846
  # Deletes the specified job queue. You must first disable submissions
772
847
  # for a queue with the UpdateJobQueue operation. All jobs in the queue
773
- # are terminated when you delete a job queue.
848
+ # are eventually terminated when you delete a job queue. The jobs are
849
+ # terminated at a rate of about 16 jobs each second.
774
850
  #
775
- # It is not necessary to disassociate compute environments from a queue
851
+ # It's not necessary to disassociate compute environments from a queue
776
852
  # before submitting a `DeleteJobQueue` request.
777
853
  #
778
854
  # @option params [required, String] :job_queue
@@ -809,7 +885,7 @@ module Aws::Batch
809
885
  req.send_request(options)
810
886
  end
811
887
 
812
- # Deregisters an AWS Batch job definition. Job definitions will be
888
+ # Deregisters an AWS Batch job definition. Job definitions are
813
889
  # permanently deleted after 180 days.
814
890
  #
815
891
  # @option params [required, String] :job_definition
@@ -848,7 +924,7 @@ module Aws::Batch
848
924
 
849
925
  # Describes one or more of your compute environments.
850
926
  #
851
- # If you are using an unmanaged compute environment, you can use the
927
+ # If you're using an unmanaged compute environment, you can use the
852
928
  # `DescribeComputeEnvironment` operation to determine the
853
929
  # `ecsClusterArn` that you should launch your Amazon ECS container
854
930
  # instances into.
@@ -865,7 +941,7 @@ module Aws::Batch
865
941
  # The remaining results of the initial request can be seen by sending
866
942
  # another `DescribeComputeEnvironments` request with the returned
867
943
  # `nextToken` value. This value can be between 1 and 100. If this
868
- # parameter is not used, then `DescribeComputeEnvironments` returns up
944
+ # parameter isn't used, then `DescribeComputeEnvironments` returns up
869
945
  # to 100 results and a `nextToken` value if applicable.
870
946
  #
871
947
  # @option params [String] :next_token
@@ -875,7 +951,7 @@ module Aws::Batch
875
951
  # from the end of the previous results that returned the `nextToken`
876
952
  # value. This value is `null` when there are no more results to return.
877
953
  #
878
- # <note markdown="1"> This token should be treated as an opaque identifier that is only used
954
+ # <note markdown="1"> This token should be treated as an opaque identifier that's only used
879
955
  # to retrieve the next items in a list and not for other programmatic
880
956
  # purposes.
881
957
  #
@@ -951,11 +1027,13 @@ module Aws::Batch
951
1027
  # resp.compute_environments[0].compute_environment_name #=> String
952
1028
  # resp.compute_environments[0].compute_environment_arn #=> String
953
1029
  # resp.compute_environments[0].ecs_cluster_arn #=> String
1030
+ # resp.compute_environments[0].tags #=> Hash
1031
+ # resp.compute_environments[0].tags["TagKey"] #=> String
954
1032
  # resp.compute_environments[0].type #=> String, one of "MANAGED", "UNMANAGED"
955
1033
  # resp.compute_environments[0].state #=> String, one of "ENABLED", "DISABLED"
956
1034
  # resp.compute_environments[0].status #=> String, one of "CREATING", "UPDATING", "DELETING", "DELETED", "VALID", "INVALID"
957
1035
  # resp.compute_environments[0].status_reason #=> String
958
- # resp.compute_environments[0].compute_resources.type #=> String, one of "EC2", "SPOT"
1036
+ # resp.compute_environments[0].compute_resources.type #=> String, one of "EC2", "SPOT", "FARGATE", "FARGATE_SPOT"
959
1037
  # resp.compute_environments[0].compute_resources.allocation_strategy #=> String, one of "BEST_FIT", "BEST_FIT_PROGRESSIVE", "SPOT_CAPACITY_OPTIMIZED"
960
1038
  # resp.compute_environments[0].compute_resources.minv_cpus #=> Integer
961
1039
  # resp.compute_environments[0].compute_resources.maxv_cpus #=> Integer
@@ -977,6 +1055,9 @@ module Aws::Batch
977
1055
  # resp.compute_environments[0].compute_resources.launch_template.launch_template_id #=> String
978
1056
  # resp.compute_environments[0].compute_resources.launch_template.launch_template_name #=> String
979
1057
  # resp.compute_environments[0].compute_resources.launch_template.version #=> String
1058
+ # resp.compute_environments[0].compute_resources.ec2_configuration #=> Array
1059
+ # resp.compute_environments[0].compute_resources.ec2_configuration[0].image_type #=> String
1060
+ # resp.compute_environments[0].compute_resources.ec2_configuration[0].image_id_override #=> String
980
1061
  # resp.compute_environments[0].service_role #=> String
981
1062
  # resp.next_token #=> String
982
1063
  #
@@ -1003,7 +1084,7 @@ module Aws::Batch
1003
1084
  # page along with a `nextToken` response element. The remaining results
1004
1085
  # of the initial request can be seen by sending another
1005
1086
  # `DescribeJobDefinitions` request with the returned `nextToken` value.
1006
- # This value can be between 1 and 100. If this parameter is not used,
1087
+ # This value can be between 1 and 100. If this parameter isn't used,
1007
1088
  # then `DescribeJobDefinitions` returns up to 100 results and a
1008
1089
  # `nextToken` value if applicable.
1009
1090
  #
@@ -1011,7 +1092,7 @@ module Aws::Batch
1011
1092
  # The name of the job definition to describe.
1012
1093
  #
1013
1094
  # @option params [String] :status
1014
- # The status with which to filter job definitions.
1095
+ # The status used to filter job definitions.
1015
1096
  #
1016
1097
  # @option params [String] :next_token
1017
1098
  # The `nextToken` value returned from a previous paginated
@@ -1020,7 +1101,7 @@ module Aws::Batch
1020
1101
  # from the end of the previous results that returned the `nextToken`
1021
1102
  # value. This value is `null` when there are no more results to return.
1022
1103
  #
1023
- # <note markdown="1"> This token should be treated as an opaque identifier that is only used
1104
+ # <note markdown="1"> This token should be treated as an opaque identifier that's only used
1024
1105
  # to retrieve the next items in a list and not for other programmatic
1025
1106
  # purposes.
1026
1107
  #
@@ -1093,6 +1174,11 @@ module Aws::Batch
1093
1174
  # resp.job_definitions[0].parameters #=> Hash
1094
1175
  # resp.job_definitions[0].parameters["String"] #=> String
1095
1176
  # resp.job_definitions[0].retry_strategy.attempts #=> Integer
1177
+ # resp.job_definitions[0].retry_strategy.evaluate_on_exit #=> Array
1178
+ # resp.job_definitions[0].retry_strategy.evaluate_on_exit[0].on_status_reason #=> String
1179
+ # resp.job_definitions[0].retry_strategy.evaluate_on_exit[0].on_reason #=> String
1180
+ # resp.job_definitions[0].retry_strategy.evaluate_on_exit[0].on_exit_code #=> String
1181
+ # resp.job_definitions[0].retry_strategy.evaluate_on_exit[0].action #=> String, one of "RETRY", "EXIT"
1096
1182
  # resp.job_definitions[0].container_properties.image #=> String
1097
1183
  # resp.job_definitions[0].container_properties.vcpus #=> Integer
1098
1184
  # resp.job_definitions[0].container_properties.memory #=> Integer
@@ -1120,7 +1206,7 @@ module Aws::Batch
1120
1206
  # resp.job_definitions[0].container_properties.instance_type #=> String
1121
1207
  # resp.job_definitions[0].container_properties.resource_requirements #=> Array
1122
1208
  # resp.job_definitions[0].container_properties.resource_requirements[0].value #=> String
1123
- # resp.job_definitions[0].container_properties.resource_requirements[0].type #=> String, one of "GPU"
1209
+ # resp.job_definitions[0].container_properties.resource_requirements[0].type #=> String, one of "GPU", "VCPU", "MEMORY"
1124
1210
  # resp.job_definitions[0].container_properties.linux_parameters.devices #=> Array
1125
1211
  # resp.job_definitions[0].container_properties.linux_parameters.devices[0].host_path #=> String
1126
1212
  # resp.job_definitions[0].container_properties.linux_parameters.devices[0].container_path #=> String
@@ -1144,6 +1230,8 @@ module Aws::Batch
1144
1230
  # resp.job_definitions[0].container_properties.secrets #=> Array
1145
1231
  # resp.job_definitions[0].container_properties.secrets[0].name #=> String
1146
1232
  # resp.job_definitions[0].container_properties.secrets[0].value_from #=> String
1233
+ # resp.job_definitions[0].container_properties.network_configuration.assign_public_ip #=> String, one of "ENABLED", "DISABLED"
1234
+ # resp.job_definitions[0].container_properties.fargate_platform_configuration.platform_version #=> String
1147
1235
  # resp.job_definitions[0].timeout.attempt_duration_seconds #=> Integer
1148
1236
  # resp.job_definitions[0].node_properties.num_nodes #=> Integer
1149
1237
  # resp.job_definitions[0].node_properties.main_node #=> Integer
@@ -1176,7 +1264,7 @@ module Aws::Batch
1176
1264
  # resp.job_definitions[0].node_properties.node_range_properties[0].container.instance_type #=> String
1177
1265
  # resp.job_definitions[0].node_properties.node_range_properties[0].container.resource_requirements #=> Array
1178
1266
  # resp.job_definitions[0].node_properties.node_range_properties[0].container.resource_requirements[0].value #=> String
1179
- # resp.job_definitions[0].node_properties.node_range_properties[0].container.resource_requirements[0].type #=> String, one of "GPU"
1267
+ # resp.job_definitions[0].node_properties.node_range_properties[0].container.resource_requirements[0].type #=> String, one of "GPU", "VCPU", "MEMORY"
1180
1268
  # resp.job_definitions[0].node_properties.node_range_properties[0].container.linux_parameters.devices #=> Array
1181
1269
  # resp.job_definitions[0].node_properties.node_range_properties[0].container.linux_parameters.devices[0].host_path #=> String
1182
1270
  # resp.job_definitions[0].node_properties.node_range_properties[0].container.linux_parameters.devices[0].container_path #=> String
@@ -1200,6 +1288,13 @@ module Aws::Batch
1200
1288
  # resp.job_definitions[0].node_properties.node_range_properties[0].container.secrets #=> Array
1201
1289
  # resp.job_definitions[0].node_properties.node_range_properties[0].container.secrets[0].name #=> String
1202
1290
  # resp.job_definitions[0].node_properties.node_range_properties[0].container.secrets[0].value_from #=> String
1291
+ # resp.job_definitions[0].node_properties.node_range_properties[0].container.network_configuration.assign_public_ip #=> String, one of "ENABLED", "DISABLED"
1292
+ # resp.job_definitions[0].node_properties.node_range_properties[0].container.fargate_platform_configuration.platform_version #=> String
1293
+ # resp.job_definitions[0].tags #=> Hash
1294
+ # resp.job_definitions[0].tags["TagKey"] #=> String
1295
+ # resp.job_definitions[0].propagate_tags #=> Boolean
1296
+ # resp.job_definitions[0].platform_capabilities #=> Array
1297
+ # resp.job_definitions[0].platform_capabilities[0] #=> String, one of "EC2", "FARGATE"
1203
1298
  # resp.next_token #=> String
1204
1299
  #
1205
1300
  # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/DescribeJobDefinitions AWS API Documentation
@@ -1224,7 +1319,7 @@ module Aws::Batch
1224
1319
  # `nextToken` response element. The remaining results of the initial
1225
1320
  # request can be seen by sending another `DescribeJobQueues` request
1226
1321
  # with the returned `nextToken` value. This value can be between 1 and
1227
- # 100. If this parameter is not used, then `DescribeJobQueues` returns
1322
+ # 100. If this parameter isn't used, then `DescribeJobQueues` returns
1228
1323
  # up to 100 results and a `nextToken` value if applicable.
1229
1324
  #
1230
1325
  # @option params [String] :next_token
@@ -1234,7 +1329,7 @@ module Aws::Batch
1234
1329
  # from the end of the previous results that returned the `nextToken`
1235
1330
  # value. This value is `null` when there are no more results to return.
1236
1331
  #
1237
- # <note markdown="1"> This token should be treated as an opaque identifier that is only used
1332
+ # <note markdown="1"> This token should be treated as an opaque identifier that's only used
1238
1333
  # to retrieve the next items in a list and not for other programmatic
1239
1334
  # purposes.
1240
1335
  #
@@ -1298,6 +1393,8 @@ module Aws::Batch
1298
1393
  # resp.job_queues[0].compute_environment_order #=> Array
1299
1394
  # resp.job_queues[0].compute_environment_order[0].order #=> Integer
1300
1395
  # resp.job_queues[0].compute_environment_order[0].compute_environment #=> String
1396
+ # resp.job_queues[0].tags #=> Hash
1397
+ # resp.job_queues[0].tags["TagKey"] #=> String
1301
1398
  # resp.next_token #=> String
1302
1399
  #
1303
1400
  # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/DescribeJobQueues AWS API Documentation
@@ -1377,6 +1474,7 @@ module Aws::Batch
1377
1474
  # @example Response structure
1378
1475
  #
1379
1476
  # resp.jobs #=> Array
1477
+ # resp.jobs[0].job_arn #=> String
1380
1478
  # resp.jobs[0].job_name #=> String
1381
1479
  # resp.jobs[0].job_id #=> String
1382
1480
  # resp.jobs[0].job_queue #=> String
@@ -1397,6 +1495,11 @@ module Aws::Batch
1397
1495
  # resp.jobs[0].status_reason #=> String
1398
1496
  # resp.jobs[0].created_at #=> Integer
1399
1497
  # resp.jobs[0].retry_strategy.attempts #=> Integer
1498
+ # resp.jobs[0].retry_strategy.evaluate_on_exit #=> Array
1499
+ # resp.jobs[0].retry_strategy.evaluate_on_exit[0].on_status_reason #=> String
1500
+ # resp.jobs[0].retry_strategy.evaluate_on_exit[0].on_reason #=> String
1501
+ # resp.jobs[0].retry_strategy.evaluate_on_exit[0].on_exit_code #=> String
1502
+ # resp.jobs[0].retry_strategy.evaluate_on_exit[0].action #=> String, one of "RETRY", "EXIT"
1400
1503
  # resp.jobs[0].started_at #=> Integer
1401
1504
  # resp.jobs[0].stopped_at #=> Integer
1402
1505
  # resp.jobs[0].depends_on #=> Array
@@ -1441,7 +1544,7 @@ module Aws::Batch
1441
1544
  # resp.jobs[0].container.network_interfaces[0].private_ipv_4_address #=> String
1442
1545
  # resp.jobs[0].container.resource_requirements #=> Array
1443
1546
  # resp.jobs[0].container.resource_requirements[0].value #=> String
1444
- # resp.jobs[0].container.resource_requirements[0].type #=> String, one of "GPU"
1547
+ # resp.jobs[0].container.resource_requirements[0].type #=> String, one of "GPU", "VCPU", "MEMORY"
1445
1548
  # resp.jobs[0].container.linux_parameters.devices #=> Array
1446
1549
  # resp.jobs[0].container.linux_parameters.devices[0].host_path #=> String
1447
1550
  # resp.jobs[0].container.linux_parameters.devices[0].container_path #=> String
@@ -1465,6 +1568,8 @@ module Aws::Batch
1465
1568
  # resp.jobs[0].container.secrets #=> Array
1466
1569
  # resp.jobs[0].container.secrets[0].name #=> String
1467
1570
  # resp.jobs[0].container.secrets[0].value_from #=> String
1571
+ # resp.jobs[0].container.network_configuration.assign_public_ip #=> String, one of "ENABLED", "DISABLED"
1572
+ # resp.jobs[0].container.fargate_platform_configuration.platform_version #=> String
1468
1573
  # resp.jobs[0].node_details.node_index #=> Integer
1469
1574
  # resp.jobs[0].node_details.is_main_node #=> Boolean
1470
1575
  # resp.jobs[0].node_properties.num_nodes #=> Integer
@@ -1498,7 +1603,7 @@ module Aws::Batch
1498
1603
  # resp.jobs[0].node_properties.node_range_properties[0].container.instance_type #=> String
1499
1604
  # resp.jobs[0].node_properties.node_range_properties[0].container.resource_requirements #=> Array
1500
1605
  # resp.jobs[0].node_properties.node_range_properties[0].container.resource_requirements[0].value #=> String
1501
- # resp.jobs[0].node_properties.node_range_properties[0].container.resource_requirements[0].type #=> String, one of "GPU"
1606
+ # resp.jobs[0].node_properties.node_range_properties[0].container.resource_requirements[0].type #=> String, one of "GPU", "VCPU", "MEMORY"
1502
1607
  # resp.jobs[0].node_properties.node_range_properties[0].container.linux_parameters.devices #=> Array
1503
1608
  # resp.jobs[0].node_properties.node_range_properties[0].container.linux_parameters.devices[0].host_path #=> String
1504
1609
  # resp.jobs[0].node_properties.node_range_properties[0].container.linux_parameters.devices[0].container_path #=> String
@@ -1522,11 +1627,18 @@ module Aws::Batch
1522
1627
  # resp.jobs[0].node_properties.node_range_properties[0].container.secrets #=> Array
1523
1628
  # resp.jobs[0].node_properties.node_range_properties[0].container.secrets[0].name #=> String
1524
1629
  # resp.jobs[0].node_properties.node_range_properties[0].container.secrets[0].value_from #=> String
1630
+ # resp.jobs[0].node_properties.node_range_properties[0].container.network_configuration.assign_public_ip #=> String, one of "ENABLED", "DISABLED"
1631
+ # resp.jobs[0].node_properties.node_range_properties[0].container.fargate_platform_configuration.platform_version #=> String
1525
1632
  # resp.jobs[0].array_properties.status_summary #=> Hash
1526
1633
  # resp.jobs[0].array_properties.status_summary["String"] #=> Integer
1527
1634
  # resp.jobs[0].array_properties.size #=> Integer
1528
1635
  # resp.jobs[0].array_properties.index #=> Integer
1529
1636
  # resp.jobs[0].timeout.attempt_duration_seconds #=> Integer
1637
+ # resp.jobs[0].tags #=> Hash
1638
+ # resp.jobs[0].tags["TagKey"] #=> String
1639
+ # resp.jobs[0].propagate_tags #=> Boolean
1640
+ # resp.jobs[0].platform_capabilities #=> Array
1641
+ # resp.jobs[0].platform_capabilities[0] #=> String, one of "EC2", "FARGATE"
1530
1642
  #
1531
1643
  # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/DescribeJobs AWS API Documentation
1532
1644
  #
@@ -1539,21 +1651,21 @@ module Aws::Batch
1539
1651
 
1540
1652
  # Returns a list of AWS Batch jobs.
1541
1653
  #
1542
- # You must specify only one of the following:
1654
+ # You must specify only one of the following items:
1543
1655
  #
1544
- # * a job queue ID to return a list of jobs in that job queue
1656
+ # * A job queue ID to return a list of jobs in that job queue
1545
1657
  #
1546
- # * a multi-node parallel job ID to return a list of that job's nodes
1658
+ # * A multi-node parallel job ID to return a list of that job's nodes
1547
1659
  #
1548
- # * an array job ID to return a list of that job's children
1660
+ # * An array job ID to return a list of that job's children
1549
1661
  #
1550
1662
  # You can filter the results by job status with the `jobStatus`
1551
- # parameter. If you do not specify a status, only `RUNNING` jobs are
1663
+ # parameter. If you don't specify a status, only `RUNNING` jobs are
1552
1664
  # returned.
1553
1665
  #
1554
1666
  # @option params [String] :job_queue
1555
- # The name or full Amazon Resource Name (ARN) of the job queue with
1556
- # which to list jobs.
1667
+ # The name or full Amazon Resource Name (ARN) of the job queue used to
1668
+ # list jobs.
1557
1669
  #
1558
1670
  # @option params [String] :array_job_id
1559
1671
  # The job ID for an array job. Specifying an array job ID with this
@@ -1565,8 +1677,8 @@ module Aws::Batch
1565
1677
  # associated with the specified job.
1566
1678
  #
1567
1679
  # @option params [String] :job_status
1568
- # The job status with which to filter jobs in the specified queue. If
1569
- # you do not specify a status, only `RUNNING` jobs are returned.
1680
+ # The job status used to filter jobs in the specified queue. If you
1681
+ # don't specify a status, only `RUNNING` jobs are returned.
1570
1682
  #
1571
1683
  # @option params [Integer] :max_results
1572
1684
  # The maximum number of results returned by `ListJobs` in paginated
@@ -1575,7 +1687,7 @@ module Aws::Batch
1575
1687
  # response element. The remaining results of the initial request can be
1576
1688
  # seen by sending another `ListJobs` request with the returned
1577
1689
  # `nextToken` value. This value can be between 1 and 100. If this
1578
- # parameter is not used, then `ListJobs` returns up to 100 results and a
1690
+ # parameter isn't used, then `ListJobs` returns up to 100 results and a
1579
1691
  # `nextToken` value if applicable.
1580
1692
  #
1581
1693
  # @option params [String] :next_token
@@ -1585,7 +1697,7 @@ module Aws::Batch
1585
1697
  # results that returned the `nextToken` value. This value is `null` when
1586
1698
  # there are no more results to return.
1587
1699
  #
1588
- # <note markdown="1"> This token should be treated as an opaque identifier that is only used
1700
+ # <note markdown="1"> This token should be treated as an opaque identifier that's only used
1589
1701
  # to retrieve the next items in a list and not for other programmatic
1590
1702
  # purposes.
1591
1703
  #
@@ -1650,6 +1762,7 @@ module Aws::Batch
1650
1762
  # @example Response structure
1651
1763
  #
1652
1764
  # resp.job_summary_list #=> Array
1765
+ # resp.job_summary_list[0].job_arn #=> String
1653
1766
  # resp.job_summary_list[0].job_id #=> String
1654
1767
  # resp.job_summary_list[0].job_name #=> String
1655
1768
  # resp.job_summary_list[0].created_at #=> Integer
@@ -1675,6 +1788,59 @@ module Aws::Batch
1675
1788
  req.send_request(options)
1676
1789
  end
1677
1790
 
1791
+ # Lists the tags for an AWS Batch resource. AWS Batch resources that
1792
+ # support tags are compute environments, jobs, job definitions, and job
1793
+ # queues. ARNs for child jobs of array and multi-node parallel (MNP)
1794
+ # jobs are not supported.
1795
+ #
1796
+ # @option params [required, String] :resource_arn
1797
+ # The Amazon Resource Name (ARN) that identifies the resource that tags
1798
+ # are listed for. AWS Batch resources that support tags are compute
1799
+ # environments, jobs, job definitions, and job queues. ARNs for child
1800
+ # jobs of array and multi-node parallel (MNP) jobs are not supported.
1801
+ #
1802
+ # @return [Types::ListTagsForResourceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1803
+ #
1804
+ # * {Types::ListTagsForResourceResponse#tags #tags} => Hash&lt;String,String&gt;
1805
+ #
1806
+ #
1807
+ # @example Example: ListTagsForResource Example
1808
+ #
1809
+ # # This demonstrates calling the ListTagsForResource action.
1810
+ #
1811
+ # resp = client.list_tags_for_resource({
1812
+ # resource_arn: "arn:aws:batch:us-east-1:123456789012:job-definition/sleep30:1",
1813
+ # })
1814
+ #
1815
+ # resp.to_h outputs the following:
1816
+ # {
1817
+ # tags: {
1818
+ # "Department" => "Engineering",
1819
+ # "Stage" => "Alpha",
1820
+ # "User" => "JaneDoe",
1821
+ # },
1822
+ # }
1823
+ #
1824
+ # @example Request syntax with placeholder values
1825
+ #
1826
+ # resp = client.list_tags_for_resource({
1827
+ # resource_arn: "String", # required
1828
+ # })
1829
+ #
1830
+ # @example Response structure
1831
+ #
1832
+ # resp.tags #=> Hash
1833
+ # resp.tags["TagKey"] #=> String
1834
+ #
1835
+ # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/ListTagsForResource AWS API Documentation
1836
+ #
1837
+ # @overload list_tags_for_resource(params = {})
1838
+ # @param [Hash] params ({})
1839
+ def list_tags_for_resource(params = {}, options = {})
1840
+ req = build_request(:list_tags_for_resource, params)
1841
+ req.send_request(options)
1842
+ end
1843
+
1678
1844
  # Registers an AWS Batch job definition.
1679
1845
  #
1680
1846
  # @option params [required, String] :job_definition_name
@@ -1683,7 +1849,18 @@ module Aws::Batch
1683
1849
  # allowed.
1684
1850
  #
1685
1851
  # @option params [required, String] :type
1686
- # The type of job definition.
1852
+ # The type of job definition. For more information about multi-node
1853
+ # parallel jobs, see [Creating a multi-node parallel job definition][1]
1854
+ # in the *AWS Batch User Guide*.
1855
+ #
1856
+ # <note markdown="1"> If the job is run on Fargate resources, then `multinode` isn't
1857
+ # supported.
1858
+ #
1859
+ # </note>
1860
+ #
1861
+ #
1862
+ #
1863
+ # [1]: https://docs.aws.amazon.com/batch/latest/userguide/multi-node-job-def.html
1687
1864
  #
1688
1865
  # @option params [Hash<String,String>] :parameters
1689
1866
  # Default parameter substitution placeholders to set in the job
@@ -1697,6 +1874,11 @@ module Aws::Batch
1697
1874
  # `container`, then you must specify either `containerProperties` or
1698
1875
  # `nodeProperties`.
1699
1876
  #
1877
+ # <note markdown="1"> If the job runs on Fargate resources, then you must not specify
1878
+ # `nodeProperties`; use only `containerProperties`.
1879
+ #
1880
+ # </note>
1881
+ #
1700
1882
  # @option params [Types::NodeProperties] :node_properties
1701
1883
  # An object with various properties specific to multi-node parallel
1702
1884
  # jobs. If you specify node properties for a job, it becomes a
@@ -1705,29 +1887,57 @@ module Aws::Batch
1705
1887
  # definition's `type` parameter is `container`, then you must specify
1706
1888
  # either `containerProperties` or `nodeProperties`.
1707
1889
  #
1890
+ # <note markdown="1"> If the job runs on Fargate resources, then you must not specify
1891
+ # `nodeProperties`; use `containerProperties` instead.
1892
+ #
1893
+ # </note>
1894
+ #
1708
1895
  #
1709
1896
  #
1710
1897
  # [1]: https://docs.aws.amazon.com/batch/latest/userguide/multi-node-parallel-jobs.html
1711
1898
  #
1712
1899
  # @option params [Types::RetryStrategy] :retry_strategy
1713
1900
  # The retry strategy to use for failed jobs that are submitted with this
1714
- # job definition. Any retry strategy that is specified during a
1901
+ # job definition. Any retry strategy that's specified during a
1715
1902
  # SubmitJob operation overrides the retry strategy defined here. If a
1716
- # job is terminated due to a timeout, it is not retried.
1903
+ # job is terminated due to a timeout, it isn't retried.
1904
+ #
1905
+ # @option params [Boolean] :propagate_tags
1906
+ # Specifies whether to propagate the tags from the job or job definition
1907
+ # to the corresponding Amazon ECS task. If no value is specified, the
1908
+ # tags are not propagated. Tags can only be propagated to the tasks
1909
+ # during task creation. For tags with the same name, job tags are given
1910
+ # priority over job definitions tags. If the total number of combined
1911
+ # tags from the job and job definition is over 50, the job is moved to
1912
+ # the `FAILED` state.
1717
1913
  #
1718
1914
  # @option params [Types::JobTimeout] :timeout
1719
1915
  # The timeout configuration for jobs that are submitted with this job
1720
1916
  # definition, after which AWS Batch terminates your jobs if they have
1721
- # not finished. If a job is terminated due to a timeout, it is not
1917
+ # not finished. If a job is terminated due to a timeout, it isn't
1722
1918
  # retried. The minimum value for the timeout is 60 seconds. Any timeout
1723
- # configuration that is specified during a SubmitJob operation overrides
1919
+ # configuration that's specified during a SubmitJob operation overrides
1724
1920
  # the timeout configuration defined here. For more information, see [Job
1725
- # Timeouts][1] in the *Amazon Elastic Container Service Developer
1726
- # Guide*.
1921
+ # Timeouts][1] in the *AWS Batch User Guide*.
1727
1922
  #
1728
1923
  #
1729
1924
  #
1730
- # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/job_timeouts.html
1925
+ # [1]: https://docs.aws.amazon.com/batch/latest/userguide/job_timeouts.html
1926
+ #
1927
+ # @option params [Hash<String,String>] :tags
1928
+ # The tags that you apply to the job definition to help you categorize
1929
+ # and organize your resources. Each tag consists of a key and an
1930
+ # optional value. For more information, see [Tagging AWS Resources][1]
1931
+ # in *AWS Batch User Guide*.
1932
+ #
1933
+ #
1934
+ #
1935
+ # [1]: https://docs.aws.amazon.com/batch/latest/userguide/using-tags.html
1936
+ #
1937
+ # @option params [Array<String>] :platform_capabilities
1938
+ # The platform capabilities required by the job definition. If no value
1939
+ # is specified, it defaults to `EC2`. To run the job on Fargate
1940
+ # resources, specify `FARGATE`.
1731
1941
  #
1732
1942
  # @return [Types::RegisterJobDefinitionResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1733
1943
  #
@@ -1761,6 +1971,35 @@ module Aws::Batch
1761
1971
  # revision: 1,
1762
1972
  # }
1763
1973
  #
1974
+ # @example Example: RegisterJobDefinition with tags
1975
+ #
1976
+ # # This demonstrates calling the RegisterJobDefinition action, including tags.
1977
+ #
1978
+ # resp = client.register_job_definition({
1979
+ # type: "container",
1980
+ # container_properties: {
1981
+ # command: [
1982
+ # "sleep",
1983
+ # "30",
1984
+ # ],
1985
+ # image: "busybox",
1986
+ # memory: 128,
1987
+ # vcpus: 1,
1988
+ # },
1989
+ # job_definition_name: "sleep30",
1990
+ # tags: {
1991
+ # "Department" => "Engineering",
1992
+ # "User" => "JaneDoe",
1993
+ # },
1994
+ # })
1995
+ #
1996
+ # resp.to_h outputs the following:
1997
+ # {
1998
+ # job_definition_arn: "arn:aws:batch:us-east-1:012345678910:job-definition/sleep30:1",
1999
+ # job_definition_name: "sleep30",
2000
+ # revision: 1,
2001
+ # }
2002
+ #
1764
2003
  # @example Request syntax with placeholder values
1765
2004
  #
1766
2005
  # resp = client.register_job_definition({
@@ -1811,7 +2050,7 @@ module Aws::Batch
1811
2050
  # resource_requirements: [
1812
2051
  # {
1813
2052
  # value: "String", # required
1814
- # type: "GPU", # required, accepts GPU
2053
+ # type: "GPU", # required, accepts GPU, VCPU, MEMORY
1815
2054
  # },
1816
2055
  # ],
1817
2056
  # linux_parameters: {
@@ -1852,6 +2091,12 @@ module Aws::Batch
1852
2091
  # value_from: "String", # required
1853
2092
  # },
1854
2093
  # ],
2094
+ # network_configuration: {
2095
+ # assign_public_ip: "ENABLED", # accepts ENABLED, DISABLED
2096
+ # },
2097
+ # fargate_platform_configuration: {
2098
+ # platform_version: "String",
2099
+ # },
1855
2100
  # },
1856
2101
  # node_properties: {
1857
2102
  # num_nodes: 1, # required
@@ -1901,7 +2146,7 @@ module Aws::Batch
1901
2146
  # resource_requirements: [
1902
2147
  # {
1903
2148
  # value: "String", # required
1904
- # type: "GPU", # required, accepts GPU
2149
+ # type: "GPU", # required, accepts GPU, VCPU, MEMORY
1905
2150
  # },
1906
2151
  # ],
1907
2152
  # linux_parameters: {
@@ -1942,16 +2187,35 @@ module Aws::Batch
1942
2187
  # value_from: "String", # required
1943
2188
  # },
1944
2189
  # ],
2190
+ # network_configuration: {
2191
+ # assign_public_ip: "ENABLED", # accepts ENABLED, DISABLED
2192
+ # },
2193
+ # fargate_platform_configuration: {
2194
+ # platform_version: "String",
2195
+ # },
1945
2196
  # },
1946
2197
  # },
1947
2198
  # ],
1948
2199
  # },
1949
2200
  # retry_strategy: {
1950
2201
  # attempts: 1,
2202
+ # evaluate_on_exit: [
2203
+ # {
2204
+ # on_status_reason: "String",
2205
+ # on_reason: "String",
2206
+ # on_exit_code: "String",
2207
+ # action: "RETRY", # required, accepts RETRY, EXIT
2208
+ # },
2209
+ # ],
1951
2210
  # },
2211
+ # propagate_tags: false,
1952
2212
  # timeout: {
1953
2213
  # attempt_duration_seconds: 1,
1954
2214
  # },
2215
+ # tags: {
2216
+ # "TagKey" => "TagValue",
2217
+ # },
2218
+ # platform_capabilities: ["EC2"], # accepts EC2, FARGATE
1955
2219
  # })
1956
2220
  #
1957
2221
  # @example Response structure
@@ -1972,6 +2236,10 @@ module Aws::Batch
1972
2236
  # Submits an AWS Batch job from a job definition. Parameters specified
1973
2237
  # during SubmitJob override parameters defined in the job definition.
1974
2238
  #
2239
+ # Jobs run on Fargate resources don't run for more than 14 days. After
2240
+ # 14 days, the Fargate resources might no longer be available and the
2241
+ # job is terminated.
2242
+ #
1975
2243
  # @option params [required, String] :job_name
1976
2244
  # The name of the job. The first character must be alphanumeric, and up
1977
2245
  # to 128 letters (uppercase and lowercase), numbers, hyphens, and
@@ -2017,7 +2285,7 @@ module Aws::Batch
2017
2285
  # A list of container overrides in JSON format that specify the name of
2018
2286
  # a container in the specified job definition and the overrides it
2019
2287
  # should receive. You can override the default command for a container
2020
- # (that is specified in the job definition or the Docker image) with a
2288
+ # (that's specified in the job definition or the Docker image) with a
2021
2289
  # `command` override. You can also override existing environment
2022
2290
  # variables (that are specified in the job definition or Docker image)
2023
2291
  # on a container or add new environment variables to it with an
@@ -2027,16 +2295,31 @@ module Aws::Batch
2027
2295
  # A list of node overrides in JSON format that specify the node range to
2028
2296
  # target and the container overrides for that node range.
2029
2297
  #
2298
+ # <note markdown="1"> This parameter isn't applicable to jobs running on Fargate resources;
2299
+ # use `containerOverrides` instead.
2300
+ #
2301
+ # </note>
2302
+ #
2030
2303
  # @option params [Types::RetryStrategy] :retry_strategy
2031
2304
  # The retry strategy to use for failed jobs from this SubmitJob
2032
2305
  # operation. When a retry strategy is specified here, it overrides the
2033
2306
  # retry strategy defined in the job definition.
2034
2307
  #
2308
+ # @option params [Boolean] :propagate_tags
2309
+ # Specifies whether to propagate the tags from the job or job definition
2310
+ # to the corresponding Amazon ECS task. If no value is specified, the
2311
+ # tags aren't propagated. Tags can only be propagated to the tasks
2312
+ # during task creation. For tags with the same name, job tags are given
2313
+ # priority over job definitions tags. If the total number of combined
2314
+ # tags from the job and job definition is over 50, the job is moved to
2315
+ # the `FAILED` state. When specified, this overrides the tag propagation
2316
+ # setting in the job definition.
2317
+ #
2035
2318
  # @option params [Types::JobTimeout] :timeout
2036
2319
  # The timeout configuration for this SubmitJob operation. You can
2037
2320
  # specify a timeout duration after which AWS Batch terminates your jobs
2038
- # if they have not finished. If a job is terminated due to a timeout, it
2039
- # is not retried. The minimum value for the timeout is 60 seconds. This
2321
+ # if they haven't finished. If a job is terminated due to a timeout, it
2322
+ # isn't retried. The minimum value for the timeout is 60 seconds. This
2040
2323
  # configuration overrides any timeout configuration specified in the job
2041
2324
  # definition. For array jobs, child jobs have the same timeout
2042
2325
  # configuration as the parent job. For more information, see [Job
@@ -2047,8 +2330,19 @@ module Aws::Batch
2047
2330
  #
2048
2331
  # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/job_timeouts.html
2049
2332
  #
2333
+ # @option params [Hash<String,String>] :tags
2334
+ # The tags that you apply to the job request to help you categorize and
2335
+ # organize your resources. Each tag consists of a key and an optional
2336
+ # value. For more information, see [Tagging AWS Resources][1] in *AWS
2337
+ # General Reference*.
2338
+ #
2339
+ #
2340
+ #
2341
+ # [1]: https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html
2342
+ #
2050
2343
  # @return [Types::SubmitJobResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2051
2344
  #
2345
+ # * {Types::SubmitJobResponse#job_arn #job_arn} => String
2052
2346
  # * {Types::SubmitJobResponse#job_name #job_name} => String
2053
2347
  # * {Types::SubmitJobResponse#job_id #job_id} => String
2054
2348
  #
@@ -2101,7 +2395,7 @@ module Aws::Batch
2101
2395
  # resource_requirements: [
2102
2396
  # {
2103
2397
  # value: "String", # required
2104
- # type: "GPU", # required, accepts GPU
2398
+ # type: "GPU", # required, accepts GPU, VCPU, MEMORY
2105
2399
  # },
2106
2400
  # ],
2107
2401
  # },
@@ -2124,7 +2418,7 @@ module Aws::Batch
2124
2418
  # resource_requirements: [
2125
2419
  # {
2126
2420
  # value: "String", # required
2127
- # type: "GPU", # required, accepts GPU
2421
+ # type: "GPU", # required, accepts GPU, VCPU, MEMORY
2128
2422
  # },
2129
2423
  # ],
2130
2424
  # },
@@ -2133,14 +2427,27 @@ module Aws::Batch
2133
2427
  # },
2134
2428
  # retry_strategy: {
2135
2429
  # attempts: 1,
2430
+ # evaluate_on_exit: [
2431
+ # {
2432
+ # on_status_reason: "String",
2433
+ # on_reason: "String",
2434
+ # on_exit_code: "String",
2435
+ # action: "RETRY", # required, accepts RETRY, EXIT
2436
+ # },
2437
+ # ],
2136
2438
  # },
2439
+ # propagate_tags: false,
2137
2440
  # timeout: {
2138
2441
  # attempt_duration_seconds: 1,
2139
2442
  # },
2443
+ # tags: {
2444
+ # "TagKey" => "TagValue",
2445
+ # },
2140
2446
  # })
2141
2447
  #
2142
2448
  # @example Response structure
2143
2449
  #
2450
+ # resp.job_arn #=> String
2144
2451
  # resp.job_name #=> String
2145
2452
  # resp.job_id #=> String
2146
2453
  #
@@ -2153,6 +2460,66 @@ module Aws::Batch
2153
2460
  req.send_request(options)
2154
2461
  end
2155
2462
 
2463
+ # Associates the specified tags to a resource with the specified
2464
+ # `resourceArn`. If existing tags on a resource aren't specified in the
2465
+ # request parameters, they aren't changed. When a resource is deleted,
2466
+ # the tags associated with that resource are deleted as well. AWS Batch
2467
+ # resources that support tags are compute environments, jobs, job
2468
+ # definitions, and job queues. ARNs for child jobs of array and
2469
+ # multi-node parallel (MNP) jobs are not supported.
2470
+ #
2471
+ # @option params [required, String] :resource_arn
2472
+ # The Amazon Resource Name (ARN) of the resource that tags are added to.
2473
+ # AWS Batch resources that support tags are compute environments, jobs,
2474
+ # job definitions, and job queues. ARNs for child jobs of array and
2475
+ # multi-node parallel (MNP) jobs are not supported.
2476
+ #
2477
+ # @option params [required, Hash<String,String>] :tags
2478
+ # The tags that you apply to the resource to help you categorize and
2479
+ # organize your resources. Each tag consists of a key and an optional
2480
+ # value. For more information, see [Tagging AWS Resources][1] in *AWS
2481
+ # General Reference*.
2482
+ #
2483
+ #
2484
+ #
2485
+ # [1]: https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html
2486
+ #
2487
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2488
+ #
2489
+ #
2490
+ # @example Example: TagResource Example
2491
+ #
2492
+ # # This demonstrates calling the TagResource action.
2493
+ #
2494
+ # resp = client.tag_resource({
2495
+ # resource_arn: "arn:aws:batch:us-east-1:123456789012:job-definition/sleep30:1",
2496
+ # tags: {
2497
+ # "Stage" => "Alpha",
2498
+ # },
2499
+ # })
2500
+ #
2501
+ # resp.to_h outputs the following:
2502
+ # {
2503
+ # }
2504
+ #
2505
+ # @example Request syntax with placeholder values
2506
+ #
2507
+ # resp = client.tag_resource({
2508
+ # resource_arn: "String", # required
2509
+ # tags: { # required
2510
+ # "TagKey" => "TagValue",
2511
+ # },
2512
+ # })
2513
+ #
2514
+ # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/TagResource AWS API Documentation
2515
+ #
2516
+ # @overload tag_resource(params = {})
2517
+ # @param [Hash] params ({})
2518
+ def tag_resource(params = {}, options = {})
2519
+ req = build_request(:tag_resource, params)
2520
+ req.send_request(options)
2521
+ end
2522
+
2156
2523
  # Terminates a job in a job queue. Jobs that are in the `STARTING` or
2157
2524
  # `RUNNING` state are terminated, which causes them to transition to
2158
2525
  # `FAILED`. Jobs that have not progressed to the `STARTING` state are
@@ -2198,6 +2565,51 @@ module Aws::Batch
2198
2565
  req.send_request(options)
2199
2566
  end
2200
2567
 
2568
+ # Deletes specified tags from an AWS Batch resource.
2569
+ #
2570
+ # @option params [required, String] :resource_arn
2571
+ # The Amazon Resource Name (ARN) of the resource from which to delete
2572
+ # tags. AWS Batch resources that support tags are compute environments,
2573
+ # jobs, job definitions, and job queues. ARNs for child jobs of array
2574
+ # and multi-node parallel (MNP) jobs are not supported.
2575
+ #
2576
+ # @option params [required, Array<String>] :tag_keys
2577
+ # The keys of the tags to be removed.
2578
+ #
2579
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2580
+ #
2581
+ #
2582
+ # @example Example: UntagResource Example
2583
+ #
2584
+ # # This demonstrates calling the UntagResource action.
2585
+ #
2586
+ # resp = client.untag_resource({
2587
+ # resource_arn: "arn:aws:batch:us-east-1:123456789012:job-definition/sleep30:1",
2588
+ # tag_keys: [
2589
+ # "Stage",
2590
+ # ],
2591
+ # })
2592
+ #
2593
+ # resp.to_h outputs the following:
2594
+ # {
2595
+ # }
2596
+ #
2597
+ # @example Request syntax with placeholder values
2598
+ #
2599
+ # resp = client.untag_resource({
2600
+ # resource_arn: "String", # required
2601
+ # tag_keys: ["TagKey"], # required
2602
+ # })
2603
+ #
2604
+ # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/UntagResource AWS API Documentation
2605
+ #
2606
+ # @overload untag_resource(params = {})
2607
+ # @param [Hash] params ({})
2608
+ def untag_resource(params = {}, options = {})
2609
+ req = build_request(:untag_resource, params)
2610
+ req.send_request(options)
2611
+ end
2612
+
2201
2613
  # Updates an AWS Batch compute environment.
2202
2614
  #
2203
2615
  # @option params [required, String] :compute_environment
@@ -2209,27 +2621,50 @@ module Aws::Batch
2209
2621
  # `ENABLED` state can accept jobs from a queue and scale in or out
2210
2622
  # automatically based on the workload demand of its associated queues.
2211
2623
  #
2624
+ # If the state is `ENABLED`, then the AWS Batch scheduler can attempt to
2625
+ # place jobs from an associated job queue on the compute resources
2626
+ # within the environment. If the compute environment is managed, then it
2627
+ # can scale its instances out or in automatically, based on the job
2628
+ # queue demand.
2629
+ #
2630
+ # If the state is `DISABLED`, then the AWS Batch scheduler doesn't
2631
+ # attempt to place jobs within the environment. Jobs in a `STARTING` or
2632
+ # `RUNNING` state continue to progress normally. Managed compute
2633
+ # environments in the `DISABLED` state don't scale out. However, they
2634
+ # scale in to `minvCpus` value after instances become idle.
2635
+ #
2212
2636
  # @option params [Types::ComputeResourceUpdate] :compute_resources
2213
2637
  # Details of the compute resources managed by the compute environment.
2214
- # Required for a managed compute environment.
2638
+ # Required for a managed compute environment. For more information, see
2639
+ # [Compute Environments][1] in the *AWS Batch User Guide*.
2640
+ #
2641
+ #
2642
+ #
2643
+ # [1]: https://docs.aws.amazon.com/batch/latest/userguide/compute_environments.html
2215
2644
  #
2216
2645
  # @option params [String] :service_role
2217
2646
  # The full Amazon Resource Name (ARN) of the IAM role that allows AWS
2218
- # Batch to make calls to other AWS services on your behalf.
2647
+ # Batch to make calls to other AWS services on your behalf. For more
2648
+ # information, see [AWS Batch service IAM role][1] in the *AWS Batch
2649
+ # User Guide*.
2219
2650
  #
2220
2651
  # If your specified role has a path other than `/`, then you must either
2221
2652
  # specify the full role ARN (this is recommended) or prefix the role
2222
2653
  # name with the path.
2223
2654
  #
2224
- # <note markdown="1"> Depending on how you created your AWS Batch service role, its ARN may
2225
- # contain the `service-role` path prefix. When you only specify the name
2226
- # of the service role, AWS Batch assumes that your ARN does not use the
2227
- # `service-role` path prefix. Because of this, we recommend that you
2228
- # specify the full ARN of your service role when you create compute
2655
+ # <note markdown="1"> Depending on how you created your AWS Batch service role, its ARN
2656
+ # might contain the `service-role` path prefix. When you only specify
2657
+ # the name of the service role, AWS Batch assumes that your ARN does not
2658
+ # use the `service-role` path prefix. Because of this, we recommend that
2659
+ # you specify the full ARN of your service role when you create compute
2229
2660
  # environments.
2230
2661
  #
2231
2662
  # </note>
2232
2663
  #
2664
+ #
2665
+ #
2666
+ # [1]: https://docs.aws.amazon.com/batch/latest/userguide/service_IAM_role.html
2667
+ #
2233
2668
  # @return [Types::UpdateComputeEnvironmentResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2234
2669
  #
2235
2670
  # * {Types::UpdateComputeEnvironmentResponse#compute_environment_name #compute_environment_name} => String
@@ -2260,6 +2695,8 @@ module Aws::Batch
2260
2695
  # minv_cpus: 1,
2261
2696
  # maxv_cpus: 1,
2262
2697
  # desiredv_cpus: 1,
2698
+ # subnets: ["String"],
2699
+ # security_group_ids: ["String"],
2263
2700
  # },
2264
2701
  # service_role: "String",
2265
2702
  # })
@@ -2295,13 +2732,25 @@ module Aws::Batch
2295
2732
  # when associated with the same compute environment. Priority is
2296
2733
  # determined in descending order, for example, a job queue with a
2297
2734
  # priority value of `10` is given scheduling preference over a job queue
2298
- # with a priority value of `1`.
2735
+ # with a priority value of `1`. All of the compute environments must be
2736
+ # either EC2 (`EC2` or `SPOT`) or Fargate (`FARGATE` or `FARGATE_SPOT`);
2737
+ # EC2 and Fargate compute environments cannot be mixed.
2299
2738
  #
2300
2739
  # @option params [Array<Types::ComputeEnvironmentOrder>] :compute_environment_order
2301
2740
  # Details the set of compute environments mapped to a job queue and
2302
2741
  # their order relative to each other. This is one of the parameters used
2303
- # by the job scheduler to determine which compute environment should
2304
- # execute a given job.
2742
+ # by the job scheduler to determine which compute environment should run
2743
+ # a given job. Compute environments must be in the `VALID` state before
2744
+ # you can associate them with a job queue. All of the compute
2745
+ # environments must be either EC2 (`EC2` or `SPOT`) or Fargate
2746
+ # (`FARGATE` or `FARGATE_SPOT`); EC2 and Fargate compute environments
2747
+ # can't be mixed.
2748
+ #
2749
+ # <note markdown="1"> All compute environments that are associated with a job queue must
2750
+ # share the same architecture. AWS Batch doesn't support mixing compute
2751
+ # environment architecture types in a single job queue.
2752
+ #
2753
+ # </note>
2305
2754
  #
2306
2755
  # @return [Types::UpdateJobQueueResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2307
2756
  #
@@ -2365,7 +2814,7 @@ module Aws::Batch
2365
2814
  params: params,
2366
2815
  config: config)
2367
2816
  context[:gem_name] = 'aws-sdk-batch'
2368
- context[:gem_version] = '1.38.0'
2817
+ context[:gem_version] = '1.43.0'
2369
2818
  Seahorse::Client::Request.new(handlers, context)
2370
2819
  end
2371
2820