aws-sdk-batch 1.38.0 → 1.43.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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