aws-sdk-batch 1.59.0 → 1.62.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.
@@ -239,7 +239,7 @@ module Aws::Batch
239
239
  #
240
240
  # @!attribute [rw] type
241
241
  # The type of the compute environment: `MANAGED` or `UNMANAGED`. For
242
- # more information, see [Compute Environments][1] in the *Batch User
242
+ # more information, see [Compute environments][1] in the *Batch User
243
243
  # Guide*.
244
244
  #
245
245
  #
@@ -276,7 +276,7 @@ module Aws::Batch
276
276
  #
277
277
  # @!attribute [rw] compute_resources
278
278
  # The compute resources defined for the compute environment. For more
279
- # information, see [Compute Environments][1] in the *Batch User
279
+ # information, see [Compute environments][1] in the *Batch User
280
280
  # Guide*.
281
281
  #
282
282
  #
@@ -295,6 +295,16 @@ module Aws::Batch
295
295
  # [1]: https://docs.aws.amazon.com/batch/latest/userguide/service_IAM_role.html
296
296
  # @return [String]
297
297
  #
298
+ # @!attribute [rw] update_policy
299
+ # Specifies the infrastructure update policy for the compute
300
+ # environment. For more information about infrastructure updates, see
301
+ # [Updating compute environments][1] in the *Batch User Guide*.
302
+ #
303
+ #
304
+ #
305
+ # [1]: https://docs.aws.amazon.com/batch/latest/userguide/updating-compute-environments.html
306
+ # @return [Types::UpdatePolicy]
307
+ #
298
308
  # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/ComputeEnvironmentDetail AWS API Documentation
299
309
  #
300
310
  class ComputeEnvironmentDetail < Struct.new(
@@ -308,7 +318,8 @@ module Aws::Batch
308
318
  :status,
309
319
  :status_reason,
310
320
  :compute_resources,
311
- :service_role)
321
+ :service_role,
322
+ :update_policy)
312
323
  SENSITIVE = []
313
324
  include Aws::Structure
314
325
  end
@@ -358,7 +369,7 @@ module Aws::Batch
358
369
  end
359
370
 
360
371
  # An object representing an Batch compute resource. For more
361
- # information, see [Compute Environments][1] in the *Batch User Guide*.
372
+ # information, see [Compute environments][1] in the *Batch User Guide*.
362
373
  #
363
374
  #
364
375
  #
@@ -400,12 +411,12 @@ module Aws::Batch
400
411
  #
401
412
  # @!attribute [rw] type
402
413
  # The type of compute environment: `EC2`, `SPOT`, `FARGATE`, or
403
- # `FARGATE_SPOT`. For more information, see [Compute Environments][1]
414
+ # `FARGATE_SPOT`. For more information, see [Compute environments][1]
404
415
  # in the *Batch User Guide*.
405
416
  #
406
417
  # If you choose `SPOT`, you must also specify an Amazon EC2 Spot Fleet
407
418
  # role with the `spotIamFleetRole` parameter. For more information,
408
- # see [Amazon EC2 Spot Fleet role][2] in the *Batch User Guide*.
419
+ # see [Amazon EC2 spot fleet role][2] in the *Batch User Guide*.
409
420
  #
410
421
  #
411
422
  #
@@ -418,7 +429,7 @@ module Aws::Batch
418
429
  # enough instances of the best fitting instance type can be allocated.
419
430
  # This might be because of availability of the instance type in the
420
431
  # Region or [Amazon EC2 service limits][1]. For more information, see
421
- # [Allocation Strategies][2] in the *Batch User Guide*.
432
+ # [Allocation strategies][2] in the *Batch User Guide*.
422
433
  #
423
434
  # <note markdown="1"> This parameter isn't applicable to jobs that are running on Fargate
424
435
  # resources, and shouldn't be specified.
@@ -436,7 +447,10 @@ module Aws::Batch
436
447
  # jobs aren't run until the currently running jobs have completed.
437
448
  # This allocation strategy keeps costs lower but can limit scaling.
438
449
  # If you are using Spot Fleets with `BEST_FIT` then the Spot Fleet
439
- # IAM Role must be specified.
450
+ # IAM Role must be specified. Compute resources that use a
451
+ # `BEST_FIT` allocation strategy don't support infrastructure
452
+ # updates and can't update some parameters. For more information,
453
+ # see [Updating compute environments][3] in the *Batch User Guide*.
440
454
  #
441
455
  # BEST\_FIT\_PROGRESSIVE
442
456
  #
@@ -463,6 +477,7 @@ module Aws::Batch
463
477
  #
464
478
  # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-resource-limits.html
465
479
  # [2]: https://docs.aws.amazon.com/batch/latest/userguide/allocation-strategies.html
480
+ # [3]: https://docs.aws.amazon.com/batch/latest/userguide/updating-compute-environments.html
466
481
  # @return [String]
467
482
  #
468
483
  # @!attribute [rw] minv_cpus
@@ -558,7 +573,7 @@ module Aws::Batch
558
573
  # The VPC subnets where the compute resources are launched. These
559
574
  # subnets must be within the same VPC. Fargate compute resources can
560
575
  # contain up to 16 subnets. For more information, see [VPCs and
561
- # Subnets][1] in the *Amazon VPC User Guide*.
576
+ # subnets][1] in the *Amazon VPC User Guide*.
562
577
  #
563
578
  #
564
579
  #
@@ -593,7 +608,7 @@ module Aws::Batch
593
608
  # Resource Name (ARN) of an instance profile. For example, `
594
609
  # ecsInstanceRole ` or
595
610
  # `arn:aws:iam::<aws_account_id>:instance-profile/ecsInstanceRole `.
596
- # For more information, see [Amazon ECS Instance Role][1] in the
611
+ # For more information, see [Amazon ECS instance role][1] in the
597
612
  # *Batch User Guide*.
598
613
  #
599
614
  # <note markdown="1"> This parameter isn't applicable to jobs that are running on Fargate
@@ -612,16 +627,20 @@ module Aws::Batch
612
627
  # "String1": "String2", where String1 is the tag key and String2
613
628
  # is the tag value−for example, `\{ "Name": "Batch Instance -
614
629
  # C4OnDemand" \}`. This is helpful for recognizing your Batch
615
- # instances in the Amazon EC2 console. These tags can't be updated or
616
- # removed after the compute environment is created. Any changes to
617
- # these tags require that you create a new compute environment and
618
- # remove the old compute environment. These tags aren't seen when
619
- # using the Batch `ListTagsForResource` API operation.
630
+ # instances in the Amazon EC2 console. Updating these tags requires an
631
+ # infrastructure update to the compute environment. For more
632
+ # information, see [Updating compute environments][1] in the *Batch
633
+ # User Guide*. These tags aren't seen when using the Batch
634
+ # `ListTagsForResource` API operation.
620
635
  #
621
636
  # <note markdown="1"> This parameter isn't applicable to jobs that are running on Fargate
622
637
  # resources, and shouldn't be specified.
623
638
  #
624
639
  # </note>
640
+ #
641
+ #
642
+ #
643
+ # [1]: https://docs.aws.amazon.com/batch/latest/userguide/updating-compute-environments.html
625
644
  # @return [Hash<String,String>]
626
645
  #
627
646
  # @!attribute [rw] placement_group
@@ -631,7 +650,7 @@ module Aws::Batch
631
650
  # placement group and associate it with your compute resources. This
632
651
  # keeps your multi-node parallel job on a logical grouping of
633
652
  # instances within a single Availability Zone with high network flow
634
- # potential. For more information, see [Placement Groups][1] in the
653
+ # potential. For more information, see [Placement groups][1] in the
635
654
  # *Amazon EC2 User Guide for Linux Instances*.
636
655
  #
637
656
  # <note markdown="1"> This parameter isn't applicable to jobs that are running on Fargate
@@ -665,7 +684,7 @@ module Aws::Batch
665
684
  # applied to a `SPOT` compute environment. This role is required if
666
685
  # the allocation strategy set to `BEST_FIT` or if the allocation
667
686
  # strategy isn't specified. For more information, see [Amazon EC2
668
- # Spot Fleet Role][1] in the *Batch User Guide*.
687
+ # spot fleet role][1] in the *Batch User Guide*.
669
688
  #
670
689
  # <note markdown="1"> This parameter isn't applicable to jobs that are running on Fargate
671
690
  # resources, and shouldn't be specified.
@@ -677,7 +696,7 @@ module Aws::Batch
677
696
  # managed policy. The previously recommended
678
697
  # **AmazonEC2SpotFleetRole** managed policy doesn't have the required
679
698
  # permissions to tag Spot Instances. For more information, see [Spot
680
- # Instances not tagged on creation][2] in the *Batch User Guide*.
699
+ # instances not tagged on creation][2] in the *Batch User Guide*.
681
700
  #
682
701
  #
683
702
  #
@@ -691,7 +710,7 @@ module Aws::Batch
691
710
  # CreateComputeEnvironment API operation override the same parameters
692
711
  # in the launch template. You must specify either the launch template
693
712
  # ID or launch template name in the request, but not both. For more
694
- # information, see [Launch Template Support][1] in the *Batch User
713
+ # information, see [Launch template support][1] in the *Batch User
695
714
  # Guide*.
696
715
  #
697
716
  # <note markdown="1"> This parameter isn't applicable to jobs that are running on Fargate
@@ -742,12 +761,12 @@ module Aws::Batch
742
761
  end
743
762
 
744
763
  # An object representing the attributes of a compute environment that
745
- # can be updated. For more information, see [Compute Environments][1] in
746
- # the *Batch User Guide*.
764
+ # can be updated. For more information, see [Updating compute
765
+ # environments][1] in the *Batch User Guide*.
747
766
  #
748
767
  #
749
768
  #
750
- # [1]: https://docs.aws.amazon.com/batch/latest/userguide/compute_environments.html
769
+ # [1]: https://docs.aws.amazon.com/batch/latest/userguide/updating-compute-environments.html
751
770
  #
752
771
  # @note When making an API call, you may pass ComputeResourceUpdate
753
772
  # data as a hash:
@@ -758,11 +777,34 @@ module Aws::Batch
758
777
  # desiredv_cpus: 1,
759
778
  # subnets: ["String"],
760
779
  # security_group_ids: ["String"],
780
+ # allocation_strategy: "BEST_FIT_PROGRESSIVE", # accepts BEST_FIT_PROGRESSIVE, SPOT_CAPACITY_OPTIMIZED
781
+ # instance_types: ["String"],
782
+ # ec2_key_pair: "String",
783
+ # instance_role: "String",
784
+ # tags: {
785
+ # "String" => "String",
786
+ # },
787
+ # placement_group: "String",
788
+ # bid_percentage: 1,
789
+ # launch_template: {
790
+ # launch_template_id: "String",
791
+ # launch_template_name: "String",
792
+ # version: "String",
793
+ # },
794
+ # ec2_configuration: [
795
+ # {
796
+ # image_type: "ImageType", # required
797
+ # image_id_override: "ImageIdOverride",
798
+ # },
799
+ # ],
800
+ # update_to_latest_image_version: false,
801
+ # type: "EC2", # accepts EC2, SPOT, FARGATE, FARGATE_SPOT
802
+ # image_id: "String",
761
803
  # }
762
804
  #
763
805
  # @!attribute [rw] minv_cpus
764
806
  # The minimum number of Amazon EC2 vCPUs that an environment should
765
- # maintain.
807
+ # maintain (even if the compute environment is `DISABLED`).
766
808
  #
767
809
  # <note markdown="1"> This parameter isn't applicable to jobs that are running on Fargate
768
810
  # resources, and shouldn't be specified.
@@ -786,6 +828,8 @@ module Aws::Batch
786
828
  #
787
829
  # @!attribute [rw] desiredv_cpus
788
830
  # The desired number of Amazon EC2 vCPUS in the compute environment.
831
+ # Batch modifies this value between the minimum and maximum values
832
+ # based on job queue demand.
789
833
  #
790
834
  # <note markdown="1"> This parameter isn't applicable to jobs that are running on Fargate
791
835
  # resources, and shouldn't be specified.
@@ -795,26 +839,376 @@ module Aws::Batch
795
839
  #
796
840
  # @!attribute [rw] subnets
797
841
  # The VPC subnets where the compute resources are launched. Fargate
798
- # compute resources can contain up to 16 subnets. Providing an empty
799
- # list will be handled as if this parameter wasn't specified and no
800
- # change is made. This can't be specified for EC2 compute resources.
801
- # For more information, see [VPCs and Subnets][1] in the *Amazon VPC
802
- # User Guide*.
842
+ # compute resources can contain up to 16 subnets. For Fargate compute
843
+ # resources, providing an empty list will be handled as if this
844
+ # parameter wasn't specified and no change is made. For EC2 compute
845
+ # resources, providing an empty list removes the VPC subnets from the
846
+ # compute resource. For more information, see [VPCs and subnets][1] in
847
+ # the *Amazon VPC User Guide*.
848
+ #
849
+ # When updating a compute environment, changing the VPC subnets
850
+ # requires an infrastructure update of the compute environment. For
851
+ # more information, see [Updating compute environments][2] in the
852
+ # *Batch User Guide*.
803
853
  #
804
854
  #
805
855
  #
806
856
  # [1]: https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Subnets.html
857
+ # [2]: https://docs.aws.amazon.com/batch/latest/userguide/updating-compute-environments.html
807
858
  # @return [Array<String>]
808
859
  #
809
860
  # @!attribute [rw] security_group_ids
810
861
  # The Amazon EC2 security groups associated with instances launched in
811
862
  # the compute environment. This parameter is required for Fargate
812
- # compute resources, where it can contain up to 5 security groups.
813
- # This can't be specified for EC2 compute resources. Providing an
814
- # empty list is handled as if this parameter wasn't specified and no
815
- # change is made.
863
+ # compute resources, where it can contain up to 5 security groups. For
864
+ # Fargate compute resources, providing an empty list is handled as if
865
+ # this parameter wasn't specified and no change is made. For EC2
866
+ # compute resources, providing an empty list removes the security
867
+ # groups from the compute resource.
868
+ #
869
+ # When updating a compute environment, changing the EC2 security
870
+ # groups requires an infrastructure update of the compute environment.
871
+ # For more information, see [Updating compute environments][1] in the
872
+ # *Batch User Guide*.
873
+ #
874
+ #
875
+ #
876
+ # [1]: https://docs.aws.amazon.com/batch/latest/userguide/updating-compute-environments.html
816
877
  # @return [Array<String>]
817
878
  #
879
+ # @!attribute [rw] allocation_strategy
880
+ # The allocation strategy to use for the compute resource if not
881
+ # enough instances of the best fitting instance type can be allocated.
882
+ # This might be because of availability of the instance type in the
883
+ # Region or [Amazon EC2 service limits][1]. For more information, see
884
+ # [Allocation strategies][2] in the *Batch User Guide*.
885
+ #
886
+ # When updating a compute environment, changing the allocation
887
+ # strategy requires an infrastructure update of the compute
888
+ # environment. For more information, see [Updating compute
889
+ # environments][3] in the *Batch User Guide*. `BEST_FIT` isn't
890
+ # supported when updating a compute environment.
891
+ #
892
+ # <note markdown="1"> This parameter isn't applicable to jobs that are running on Fargate
893
+ # resources, and shouldn't be specified.
894
+ #
895
+ # </note>
896
+ #
897
+ # BEST\_FIT\_PROGRESSIVE
898
+ #
899
+ # : Batch will select additional instance types that are large enough
900
+ # to meet the requirements of the jobs in the queue, with a
901
+ # preference for instance types with a lower cost per unit vCPU. If
902
+ # additional instances of the previously selected instance types
903
+ # aren't available, Batch will select new instance types.
904
+ #
905
+ # SPOT\_CAPACITY\_OPTIMIZED
906
+ #
907
+ # : Batch will select one or more instance types that are large enough
908
+ # to meet the requirements of the jobs in the queue, with a
909
+ # preference for instance types that are less likely to be
910
+ # interrupted. This allocation strategy is only available for Spot
911
+ # Instance compute resources.
912
+ #
913
+ # With both `BEST_FIT_PROGRESSIVE` and `SPOT_CAPACITY_OPTIMIZED`
914
+ # strategies, Batch might need to go above `maxvCpus` to meet your
915
+ # capacity requirements. In this event, Batch never exceeds `maxvCpus`
916
+ # by more than a single instance.
917
+ #
918
+ #
919
+ #
920
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-resource-limits.html
921
+ # [2]: https://docs.aws.amazon.com/batch/latest/userguide/allocation-strategies.html
922
+ # [3]: https://docs.aws.amazon.com/batch/latest/userguide/updating-compute-environments.html
923
+ # @return [String]
924
+ #
925
+ # @!attribute [rw] instance_types
926
+ # The instances types that can be launched. You can specify instance
927
+ # families to launch any instance type within those families (for
928
+ # example, `c5` or `p3`), or you can specify specific sizes within a
929
+ # family (such as `c5.8xlarge`). You can also choose `optimal` to
930
+ # select instance types (from the C4, M4, and R4 instance families)
931
+ # that match the demand of your job queues.
932
+ #
933
+ # When updating a compute environment, changing this setting requires
934
+ # an infrastructure update of the compute environment. For more
935
+ # information, see [Updating compute environments][1] in the *Batch
936
+ # User Guide*.
937
+ #
938
+ # <note markdown="1"> This parameter isn't applicable to jobs that are running on Fargate
939
+ # resources, and shouldn't be specified.
940
+ #
941
+ # </note>
942
+ #
943
+ # <note markdown="1"> When you create a compute environment, the instance types that you
944
+ # select for the compute environment must share the same architecture.
945
+ # For example, you can't mix x86 and ARM instances in the same
946
+ # compute environment.
947
+ #
948
+ # </note>
949
+ #
950
+ # <note markdown="1"> Currently, `optimal` uses instance types from the C4, M4, and R4
951
+ # instance families. In Regions that don't have instance types from
952
+ # those instance families, instance types from the C5, M5. and R5
953
+ # instance families are used.
954
+ #
955
+ # </note>
956
+ #
957
+ #
958
+ #
959
+ # [1]: https://docs.aws.amazon.com/batch/latest/userguide/updating-compute-environments.html
960
+ # @return [Array<String>]
961
+ #
962
+ # @!attribute [rw] ec2_key_pair
963
+ # The Amazon EC2 key pair that's used for instances launched in the
964
+ # compute environment. You can use this key pair to log in to your
965
+ # instances with SSH. To remove the Amazon EC2 key pair, set this
966
+ # value to an empty string.
967
+ #
968
+ # When updating a compute environment, changing the EC2 key pair
969
+ # requires an infrastructure update of the compute environment. For
970
+ # more information, see [Updating compute environments][1] in the
971
+ # *Batch User Guide*.
972
+ #
973
+ # <note markdown="1"> This parameter isn't applicable to jobs that are running on Fargate
974
+ # resources, and shouldn't be specified.
975
+ #
976
+ # </note>
977
+ #
978
+ #
979
+ #
980
+ # [1]: https://docs.aws.amazon.com/batch/latest/userguide/updating-compute-environments.html
981
+ # @return [String]
982
+ #
983
+ # @!attribute [rw] instance_role
984
+ # The Amazon ECS instance profile applied to Amazon EC2 instances in a
985
+ # compute environment. You can specify the short name or full Amazon
986
+ # Resource Name (ARN) of an instance profile. For example, `
987
+ # ecsInstanceRole ` or
988
+ # `arn:aws:iam::<aws_account_id>:instance-profile/ecsInstanceRole `.
989
+ # For more information, see [Amazon ECS instance role][1] in the
990
+ # *Batch User Guide*.
991
+ #
992
+ # When updating a compute environment, changing this setting requires
993
+ # an infrastructure update of the compute environment. For more
994
+ # information, see [Updating compute environments][2] in the *Batch
995
+ # User Guide*.
996
+ #
997
+ # <note markdown="1"> This parameter isn't applicable to jobs that are running on Fargate
998
+ # resources, and shouldn't be specified.
999
+ #
1000
+ # </note>
1001
+ #
1002
+ #
1003
+ #
1004
+ # [1]: https://docs.aws.amazon.com/batch/latest/userguide/instance_IAM_role.html
1005
+ # [2]: https://docs.aws.amazon.com/batch/latest/userguide/updating-compute-environments.html
1006
+ # @return [String]
1007
+ #
1008
+ # @!attribute [rw] tags
1009
+ # Key-value pair tags to be applied to EC2 resources that are launched
1010
+ # in the compute environment. For Batch, these take the form of
1011
+ # "String1": "String2", where String1 is the tag key and String2
1012
+ # is the tag value−for example, `\{ "Name": "Batch Instance -
1013
+ # C4OnDemand" \}`. This is helpful for recognizing your Batch
1014
+ # instances in the Amazon EC2 console. These tags aren't seen when
1015
+ # using the Batch `ListTagsForResource` API operation.
1016
+ #
1017
+ # When updating a compute environment, changing this setting requires
1018
+ # an infrastructure update of the compute environment. For more
1019
+ # information, see [Updating compute environments][1] in the *Batch
1020
+ # User Guide*.
1021
+ #
1022
+ # <note markdown="1"> This parameter isn't applicable to jobs that are running on Fargate
1023
+ # resources, and shouldn't be specified.
1024
+ #
1025
+ # </note>
1026
+ #
1027
+ #
1028
+ #
1029
+ # [1]: https://docs.aws.amazon.com/batch/latest/userguide/updating-compute-environments.html
1030
+ # @return [Hash<String,String>]
1031
+ #
1032
+ # @!attribute [rw] placement_group
1033
+ # The Amazon EC2 placement group to associate with your compute
1034
+ # resources. If you intend to submit multi-node parallel jobs to your
1035
+ # compute environment, you should consider creating a cluster
1036
+ # placement group and associate it with your compute resources. This
1037
+ # keeps your multi-node parallel job on a logical grouping of
1038
+ # instances within a single Availability Zone with high network flow
1039
+ # potential. For more information, see [Placement groups][1] in the
1040
+ # *Amazon EC2 User Guide for Linux Instances*.
1041
+ #
1042
+ # When updating a compute environment, changing the placement group
1043
+ # requires an infrastructure update of the compute environment. For
1044
+ # more information, see [Updating compute environments][2] in the
1045
+ # *Batch User Guide*.
1046
+ #
1047
+ # <note markdown="1"> This parameter isn't applicable to jobs that are running on Fargate
1048
+ # resources, and shouldn't be specified.
1049
+ #
1050
+ # </note>
1051
+ #
1052
+ #
1053
+ #
1054
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/placement-groups.html
1055
+ # [2]: https://docs.aws.amazon.com/batch/latest/userguide/updating-compute-environments.html
1056
+ # @return [String]
1057
+ #
1058
+ # @!attribute [rw] bid_percentage
1059
+ # The maximum percentage that a Spot Instance price can be when
1060
+ # compared with the On-Demand price for that instance type before
1061
+ # instances are launched. For example, if your maximum percentage is
1062
+ # 20%, then the Spot price must be less than 20% of the current
1063
+ # On-Demand price for that Amazon EC2 instance. You always pay the
1064
+ # lowest (market) price and never more than your maximum percentage.
1065
+ #
1066
+ # When updating a compute environment, changing the bid percentage
1067
+ # requires an infrastructure update of the compute environment. For
1068
+ # more information, see [Updating compute environments][1] in the
1069
+ # *Batch User Guide*.
1070
+ #
1071
+ # <note markdown="1"> This parameter isn't applicable to jobs that are running on Fargate
1072
+ # resources, and shouldn't be specified.
1073
+ #
1074
+ # </note>
1075
+ #
1076
+ #
1077
+ #
1078
+ # [1]: https://docs.aws.amazon.com/batch/latest/userguide/updating-compute-environments.html
1079
+ # @return [Integer]
1080
+ #
1081
+ # @!attribute [rw] launch_template
1082
+ # The updated launch template to use for your compute resources. You
1083
+ # must specify either the launch template ID or launch template name
1084
+ # in the request, but not both. For more information, see [Launch
1085
+ # template support][1] in the *Batch User Guide*. To remove the custom
1086
+ # launch template and use the default launch template, set
1087
+ # `launchTemplateId` or `launchTemplateName` member of the launch
1088
+ # template specification to an empty string. Removing the launch
1089
+ # template from a compute environment will not remove the AMI
1090
+ # specified in the launch template. In order to update the AMI
1091
+ # specified in a launch template, the `updateToLatestImageVersion`
1092
+ # parameter must be set to `true`.
1093
+ #
1094
+ # When updating a compute environment, changing the launch template
1095
+ # requires an infrastructure update of the compute environment. For
1096
+ # more information, see [Updating compute environments][2] in the
1097
+ # *Batch User Guide*.
1098
+ #
1099
+ # <note markdown="1"> This parameter isn't applicable to jobs that are running on Fargate
1100
+ # resources, and shouldn't be specified.
1101
+ #
1102
+ # </note>
1103
+ #
1104
+ #
1105
+ #
1106
+ # [1]: https://docs.aws.amazon.com/batch/latest/userguide/launch-templates.html
1107
+ # [2]: https://docs.aws.amazon.com/batch/latest/userguide/updating-compute-environments.html
1108
+ # @return [Types::LaunchTemplateSpecification]
1109
+ #
1110
+ # @!attribute [rw] ec2_configuration
1111
+ # Provides information used to select Amazon Machine Images (AMIs) for
1112
+ # EC2 instances in the compute environment. If `Ec2Configuration`
1113
+ # isn't specified, the default is `ECS_AL2`.
1114
+ #
1115
+ # When updating a compute environment, changing this setting requires
1116
+ # an infrastructure update of the compute environment. For more
1117
+ # information, see [Updating compute environments][1] in the *Batch
1118
+ # User Guide*. To remove the EC2 configuration and any custom AMI ID
1119
+ # specified in `imageIdOverride`, set this value to an empty string.
1120
+ #
1121
+ # One or two values can be provided.
1122
+ #
1123
+ # <note markdown="1"> This parameter isn't applicable to jobs that are running on Fargate
1124
+ # resources, and shouldn't be specified.
1125
+ #
1126
+ # </note>
1127
+ #
1128
+ #
1129
+ #
1130
+ # [1]: https://docs.aws.amazon.com/batch/latest/userguide/updating-compute-environments.html
1131
+ # @return [Array<Types::Ec2Configuration>]
1132
+ #
1133
+ # @!attribute [rw] update_to_latest_image_version
1134
+ # Specifies whether the AMI ID is updated to the latest one that's
1135
+ # supported by Batch when the compute environment has an
1136
+ # infrastructure update. The default value is `false`.
1137
+ #
1138
+ # <note markdown="1"> If an AMI ID is specified in the `imageId` or `imageIdOverride`
1139
+ # parameters or by the launch template specified in the
1140
+ # `launchTemplate` parameter, this parameter is ignored. For more
1141
+ # information on updating AMI IDs during an infrastructure update, see
1142
+ # [Updating the AMI ID][1] in the *Batch User Guide*.
1143
+ #
1144
+ # </note>
1145
+ #
1146
+ # When updating a compute environment, changing this setting requires
1147
+ # an infrastructure update of the compute environment. For more
1148
+ # information, see [Updating compute environments][2] in the *Batch
1149
+ # User Guide*.
1150
+ #
1151
+ #
1152
+ #
1153
+ # [1]: https://docs.aws.amazon.com/batch/latest/userguide/updating-compute-environments.html#updating-compute-environments-ami
1154
+ # [2]: https://docs.aws.amazon.com/batch/latest/userguide/updating-compute-environments.html
1155
+ # @return [Boolean]
1156
+ #
1157
+ # @!attribute [rw] type
1158
+ # The type of compute environment: `EC2`, `SPOT`, `FARGATE`, or
1159
+ # `FARGATE_SPOT`. For more information, see [Compute environments][1]
1160
+ # in the *Batch User Guide*.
1161
+ #
1162
+ # If you choose `SPOT`, you must also specify an Amazon EC2 Spot Fleet
1163
+ # role with the `spotIamFleetRole` parameter. For more information,
1164
+ # see [Amazon EC2 spot fleet role][2] in the *Batch User Guide*.
1165
+ #
1166
+ # When updating a compute environment, changing the type of a compute
1167
+ # environment requires an infrastructure update of the compute
1168
+ # environment. For more information, see [Updating compute
1169
+ # environments][3] in the *Batch User Guide*.
1170
+ #
1171
+ #
1172
+ #
1173
+ # [1]: https://docs.aws.amazon.com/batch/latest/userguide/compute_environments.html
1174
+ # [2]: https://docs.aws.amazon.com/batch/latest/userguide/spot_fleet_IAM_role.html
1175
+ # [3]: https://docs.aws.amazon.com/batch/latest/userguide/updating-compute-environments.html
1176
+ # @return [String]
1177
+ #
1178
+ # @!attribute [rw] image_id
1179
+ # The Amazon Machine Image (AMI) ID used for instances launched in the
1180
+ # compute environment. This parameter is overridden by the
1181
+ # `imageIdOverride` member of the `Ec2Configuration` structure. To
1182
+ # remove the custom AMI ID and use the default AMI ID, set this value
1183
+ # to an empty string.
1184
+ #
1185
+ # When updating a compute environment, changing the AMI ID requires an
1186
+ # infrastructure update of the compute environment. For more
1187
+ # information, see [Updating compute environments][1] in the *Batch
1188
+ # User Guide*.
1189
+ #
1190
+ # <note markdown="1"> This parameter isn't applicable to jobs that are running on Fargate
1191
+ # resources, and shouldn't be specified.
1192
+ #
1193
+ # </note>
1194
+ #
1195
+ # <note markdown="1"> The AMI that you choose for a compute environment must match the
1196
+ # architecture of the instance types that you intend to use for that
1197
+ # compute environment. For example, if your compute environment uses
1198
+ # A1 instance types, the compute resource AMI that you choose must
1199
+ # support ARM instances. Amazon ECS vends both x86 and ARM versions of
1200
+ # the Amazon ECS-optimized Amazon Linux 2 AMI. For more information,
1201
+ # see [Amazon ECS-optimized Amazon Linux 2 AMI][2] in the *Amazon
1202
+ # Elastic Container Service Developer Guide*.
1203
+ #
1204
+ # </note>
1205
+ #
1206
+ #
1207
+ #
1208
+ # [1]: https://docs.aws.amazon.com/batch/latest/userguide/updating-compute-environments.html
1209
+ # [2]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html#ecs-optimized-ami-linux-variants.html
1210
+ # @return [String]
1211
+ #
818
1212
  # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/ComputeResourceUpdate AWS API Documentation
819
1213
  #
820
1214
  class ComputeResourceUpdate < Struct.new(
@@ -822,7 +1216,19 @@ module Aws::Batch
822
1216
  :maxv_cpus,
823
1217
  :desiredv_cpus,
824
1218
  :subnets,
825
- :security_group_ids)
1219
+ :security_group_ids,
1220
+ :allocation_strategy,
1221
+ :instance_types,
1222
+ :ec2_key_pair,
1223
+ :instance_role,
1224
+ :tags,
1225
+ :placement_group,
1226
+ :bid_percentage,
1227
+ :launch_template,
1228
+ :ec2_configuration,
1229
+ :update_to_latest_image_version,
1230
+ :type,
1231
+ :image_id)
826
1232
  SENSITIVE = []
827
1233
  include Aws::Structure
828
1234
  end
@@ -860,7 +1266,7 @@ module Aws::Batch
860
1266
  # @return [Integer]
861
1267
  #
862
1268
  # @!attribute [rw] memory
863
- # For jobs run on EC2 resources that didn't specify memory
1269
+ # For jobs running on EC2 resources that didn't specify memory
864
1270
  # requirements using `resourceRequirements`, the number of MiB of
865
1271
  # memory reserved for the job. For other jobs, including all run on
866
1272
  # Fargate resources, see `resourceRequirements`.
@@ -1040,8 +1446,8 @@ module Aws::Batch
1040
1446
  # register the logging drivers available on that instance with the
1041
1447
  # `ECS_AVAILABLE_LOGGING_DRIVERS` environment variable before
1042
1448
  # containers placed on that instance can use these log configuration
1043
- # options. For more information, see [Amazon ECS Container Agent
1044
- # Configuration][5] in the *Amazon Elastic Container Service Developer
1449
+ # options. For more information, see [Amazon ECS container agent
1450
+ # configuration][5] in the *Amazon Elastic Container Service Developer
1045
1451
  # Guide*.
1046
1452
  #
1047
1453
  # </note>
@@ -1136,7 +1542,7 @@ module Aws::Batch
1136
1542
  # @!attribute [rw] vcpus
1137
1543
  # This parameter is deprecated, use `resourceRequirements` to override
1138
1544
  # the `vcpus` parameter that's set in the job definition. It's not
1139
- # supported for jobs that run on Fargate resources. For jobs run on
1545
+ # supported for jobs running on Fargate resources. For jobs running on
1140
1546
  # EC2 resources, it overrides the `vcpus` parameter set in the job
1141
1547
  # definition, but doesn't override any vCPU requirement specified in
1142
1548
  # the `resourceRequirements` structure in the job definition. To
@@ -1155,7 +1561,7 @@ module Aws::Batch
1155
1561
  # @!attribute [rw] memory
1156
1562
  # This parameter is deprecated, use `resourceRequirements` to override
1157
1563
  # the memory requirements specified in the job definition. It's not
1158
- # supported for jobs that run on Fargate resources. For jobs run on
1564
+ # supported for jobs running on Fargate resources. For jobs running on
1159
1565
  # EC2 resources, it overrides the `memory` parameter set in the job
1160
1566
  # definition, but doesn't override any memory requirement specified
1161
1567
  # in the `resourceRequirements` structure in the job definition. To
@@ -1340,6 +1746,11 @@ module Aws::Batch
1340
1746
  #
1341
1747
  # </note>
1342
1748
  #
1749
+ # * Images in Amazon ECR Public repositories use the full
1750
+ # `registry/repository[:tag]` or `registry/repository[@digest]`
1751
+ # naming conventions. For example,
1752
+ # `public.ecr.aws/registry_alias/my-web-app:latest `.
1753
+ #
1343
1754
  # * Images in Amazon ECR repositories use the full registry and
1344
1755
  # repository URI (for example,
1345
1756
  # `012345678910.dkr.ecr.<region-name>.amazonaws.com/<repository-name>`).
@@ -1363,7 +1774,7 @@ module Aws::Batch
1363
1774
  # @!attribute [rw] vcpus
1364
1775
  # This parameter is deprecated, use `resourceRequirements` to specify
1365
1776
  # the vCPU requirements for the job definition. It's not supported
1366
- # for jobs that run on Fargate resources. For jobs run on EC2
1777
+ # for jobs running on Fargate resources. For jobs running on EC2
1367
1778
  # resources, it specifies the number of vCPUs reserved for the job.
1368
1779
  #
1369
1780
  # Each vCPU is equivalent to 1,024 CPU shares. This parameter maps to
@@ -1382,7 +1793,7 @@ module Aws::Batch
1382
1793
  # @!attribute [rw] memory
1383
1794
  # This parameter is deprecated, use `resourceRequirements` to specify
1384
1795
  # the memory requirements for the job definition. It's not supported
1385
- # for jobs that run on Fargate resources. For jobs run on EC2
1796
+ # for jobs running on Fargate resources. For jobs running on EC2
1386
1797
  # resources, it specifies the memory hard limit (in MiB) for a
1387
1798
  # container. If your container attempts to exceed the specified
1388
1799
  # number, it's terminated. You must specify at least 4 MiB of memory
@@ -1409,7 +1820,7 @@ module Aws::Batch
1409
1820
  # @!attribute [rw] job_role_arn
1410
1821
  # The Amazon Resource Name (ARN) of the IAM role that the container
1411
1822
  # can assume for Amazon Web Services permissions. For more
1412
- # information, see [IAM Roles for Tasks][1] in the *Amazon Elastic
1823
+ # information, see [IAM roles for tasks][1] in the *Amazon Elastic
1413
1824
  # Container Service Developer Guide*.
1414
1825
  #
1415
1826
  #
@@ -1576,8 +1987,8 @@ module Aws::Batch
1576
1987
  # register the logging drivers available on that instance with the
1577
1988
  # `ECS_AVAILABLE_LOGGING_DRIVERS` environment variable before
1578
1989
  # containers placed on that instance can use these log configuration
1579
- # options. For more information, see [Amazon ECS Container Agent
1580
- # Configuration][5] in the *Amazon Elastic Container Service Developer
1990
+ # options. For more information, see [Amazon ECS container agent
1991
+ # configuration][5] in the *Amazon Elastic Container Service Developer
1581
1992
  # Guide*.
1582
1993
  #
1583
1994
  # </note>
@@ -1746,7 +2157,7 @@ module Aws::Batch
1746
2157
  # provided for a fair share job queue, no vCPU capacity is reserved.
1747
2158
  #
1748
2159
  # <note markdown="1"> This parameter is only supported when the `type` parameter is set to
1749
- # `UNMANAGED`/
2160
+ # `UNMANAGED`.
1750
2161
  #
1751
2162
  # </note>
1752
2163
  # @return [Integer]
@@ -1908,13 +2319,13 @@ module Aws::Batch
1908
2319
  # @!attribute [rw] compute_environment_order
1909
2320
  # The set of compute environments mapped to a job queue and their
1910
2321
  # order relative to each other. The job scheduler uses this parameter
1911
- # to determine which compute environment should run a specific job.
1912
- # Compute environments must be in the `VALID` state before you can
1913
- # associate them with a job queue. You can associate up to three
1914
- # compute environments with a job queue. All of the compute
1915
- # environments must be either EC2 (`EC2` or `SPOT`) or Fargate
1916
- # (`FARGATE` or `FARGATE_SPOT`); EC2 and Fargate compute environments
1917
- # can't be mixed.
2322
+ # to determine which compute environment runs a specific job. Compute
2323
+ # environments must be in the `VALID` state before you can associate
2324
+ # them with a job queue. You can associate up to three compute
2325
+ # environments with a job queue. All of the compute environments must
2326
+ # be either EC2 (`EC2` or `SPOT`) or Fargate (`FARGATE` or
2327
+ # `FARGATE_SPOT`); EC2 and Fargate compute environments can't be
2328
+ # mixed.
1918
2329
  #
1919
2330
  # <note markdown="1"> All compute environments that are associated with a job queue must
1920
2331
  # share the same architecture. Batch doesn't support mixing compute
@@ -1964,6 +2375,8 @@ module Aws::Batch
1964
2375
  include Aws::Structure
1965
2376
  end
1966
2377
 
2378
+ # Contains the parameters for `CreateSchedulingPolicy`.
2379
+ #
1967
2380
  # @note When making an API call, you may pass CreateSchedulingPolicyRequest
1968
2381
  # data as a hash:
1969
2382
  #
@@ -2092,6 +2505,8 @@ module Aws::Batch
2092
2505
  #
2093
2506
  class DeleteJobQueueResponse < Aws::EmptyStructure; end
2094
2507
 
2508
+ # Contains the parameters for `DeleteSchedulingPolicy`.
2509
+ #
2095
2510
  # @note When making an API call, you may pass DeleteSchedulingPolicyRequest
2096
2511
  # data as a hash:
2097
2512
  #
@@ -2409,6 +2824,8 @@ module Aws::Batch
2409
2824
  include Aws::Structure
2410
2825
  end
2411
2826
 
2827
+ # Contains the parameters for `DescribeSchedulingPolicies`.
2828
+ #
2412
2829
  # @note When making an API call, you may pass DescribeSchedulingPoliciesRequest
2413
2830
  # data as a hash:
2414
2831
  #
@@ -2500,7 +2917,7 @@ module Aws::Batch
2500
2917
  # will enforce the path set on the EFS access point. If an access
2501
2918
  # point is used, transit encryption must be enabled in the
2502
2919
  # `EFSVolumeConfiguration`. For more information, see [Working with
2503
- # Amazon EFS Access Points][1] in the *Amazon Elastic File System User
2920
+ # Amazon EFS access points][1] in the *Amazon Elastic File System User
2504
2921
  # Guide*.
2505
2922
  #
2506
2923
  #
@@ -2513,7 +2930,7 @@ module Aws::Batch
2513
2930
  # definition when mounting the Amazon EFS file system. If enabled,
2514
2931
  # transit encryption must be enabled in the `EFSVolumeConfiguration`.
2515
2932
  # If this parameter is omitted, the default value of `DISABLED` is
2516
- # used. For more information, see [Using Amazon EFS Access Points][1]
2933
+ # used. For more information, see [Using Amazon EFS access points][1]
2517
2934
  # in the *Batch User Guide*. EFS IAM authorization requires that
2518
2935
  # `TransitEncryption` be `ENABLED` and that a `JobRoleArn` is
2519
2936
  # specified.
@@ -2588,7 +3005,7 @@ module Aws::Batch
2588
3005
  # host and the Amazon EFS server. If you don't specify a transit
2589
3006
  # encryption port, it uses the port selection strategy that the Amazon
2590
3007
  # EFS mount helper uses. The value must be between 0 and 65,535. For
2591
- # more information, see [EFS Mount Helper][1] in the *Amazon Elastic
3008
+ # more information, see [EFS mount helper][1] in the *Amazon Elastic
2592
3009
  # File System User Guide*.
2593
3010
  #
2594
3011
  #
@@ -2637,7 +3054,11 @@ module Aws::Batch
2637
3054
  # @!attribute [rw] image_type
2638
3055
  # The image type to match with the instance type to select an AMI. If
2639
3056
  # the `imageIdOverride` parameter isn't specified, then a recent
2640
- # [Amazon ECS-optimized Amazon Linux 2 AMI][1] (`ECS_AL2`) is used.
3057
+ # [Amazon ECS-optimized Amazon Linux 2 AMI][1] (`ECS_AL2`) is used. If
3058
+ # a new image type is specified in an update, but neither an `imageId`
3059
+ # nor a `imageIdOverride` parameter is specified, then the latest
3060
+ # Amazon ECS optimized AMI for that image type that's supported by
3061
+ # Batch is used.
2641
3062
  #
2642
3063
  # ECS\_AL2
2643
3064
  #
@@ -2666,6 +3087,21 @@ module Aws::Batch
2666
3087
  # The AMI ID used for instances launched in the compute environment
2667
3088
  # that match the image type. This setting overrides the `imageId` set
2668
3089
  # in the `computeResource` object.
3090
+ #
3091
+ # <note markdown="1"> The AMI that you choose for a compute environment must match the
3092
+ # architecture of the instance types that you intend to use for that
3093
+ # compute environment. For example, if your compute environment uses
3094
+ # A1 instance types, the compute resource AMI that you choose must
3095
+ # support ARM instances. Amazon ECS vends both x86 and ARM versions of
3096
+ # the Amazon ECS-optimized Amazon Linux 2 AMI. For more information,
3097
+ # see [Amazon ECS-optimized Amazon Linux 2 AMI][1] in the *Amazon
3098
+ # Elastic Container Service Developer Guide*.
3099
+ #
3100
+ # </note>
3101
+ #
3102
+ #
3103
+ #
3104
+ # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html#ecs-optimized-ami-linux-variants.html
2669
3105
  # @return [String]
2670
3106
  #
2671
3107
  # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/Ec2Configuration AWS API Documentation
@@ -2911,8 +3347,8 @@ module Aws::Batch
2911
3347
  # set in the job definition. Parameters are specified as a key-value
2912
3348
  # pair mapping. Parameters in a `SubmitJob` request override any
2913
3349
  # corresponding parameter defaults from the job definition. For more
2914
- # information about specifying parameters, see [Job Definition
2915
- # Parameters][1] in the *Batch User Guide*.
3350
+ # information about specifying parameters, see [Job definition
3351
+ # parameters][1] in the *Batch User Guide*.
2916
3352
  #
2917
3353
  #
2918
3354
  #
@@ -3034,8 +3470,8 @@ module Aws::Batch
3034
3470
  # @!attribute [rw] status
3035
3471
  # The current status for the job.
3036
3472
  #
3037
- # <note markdown="1"> If your jobs don't progress to `STARTING`, see [Jobs Stuck in
3038
- # RUNNABLE Status][1] in the troubleshooting section of the *Batch
3473
+ # <note markdown="1"> If your jobs don't progress to `STARTING`, see [Jobs stuck in
3474
+ # RUNNABLE status][1] in the troubleshooting section of the *Batch
3039
3475
  # User Guide*.
3040
3476
  #
3041
3477
  # </note>
@@ -3095,7 +3531,8 @@ module Aws::Batch
3095
3531
  # @return [Array<Types::JobDependency>]
3096
3532
  #
3097
3533
  # @!attribute [rw] job_definition
3098
- # The job definition that's used by this job.
3534
+ # The Amazon Resource Name (ARN) of the job definition that's used by
3535
+ # this job.
3099
3536
  # @return [String]
3100
3537
  #
3101
3538
  # @!attribute [rw] parameters
@@ -3461,15 +3898,24 @@ module Aws::Batch
3461
3898
  # is used. If the value is `$Default`, the default version of the
3462
3899
  # launch template is used.
3463
3900
  #
3464
- # After the compute environment is created, the launch template
3465
- # version that's used isn't changed, even if the `$Default` or
3466
- # `$Latest` version for the launch template is updated. To use a new
3467
- # launch template version, create a new compute environment, add the
3468
- # new compute environment to the existing job queue, remove the old
3469
- # compute environment from the job queue, and delete the old compute
3470
- # environment.
3901
+ # If the AMI ID that's used in a compute environment is from the
3902
+ # launch template, the AMI isn't changed when the compute environment
3903
+ # is updated. It's only changed if the `updateToLatestImageVersion`
3904
+ # parameter for the compute environment is set to `true`. During an
3905
+ # infrastructure update, if either `$Latest` or `$Default` is
3906
+ # specified, Batch re-evaluates the launch template version, and it
3907
+ # might use a different version of the launch template. This is the
3908
+ # case even if the launch template isn't specified in the update.
3909
+ # When updating a compute environment, changing the launch template
3910
+ # requires an infrastructure update of the compute environment. For
3911
+ # more information, see [Updating compute environments][1] in the
3912
+ # *Batch User Guide*.
3471
3913
  #
3472
3914
  # Default: `$Default`.
3915
+ #
3916
+ #
3917
+ #
3918
+ # [1]: https://docs.aws.amazon.com/batch/latest/userguide/updating-compute-environments.html
3473
3919
  # @return [String]
3474
3920
  #
3475
3921
  # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/LaunchTemplateSpecification AWS API Documentation
@@ -3614,7 +4060,7 @@ module Aws::Batch
3614
4060
  #
3615
4061
  # <note markdown="1"> The Amazon ECS optimized AMIs don't have swap enabled by default.
3616
4062
  # You must enable swap on the instance to use this feature. For more
3617
- # information, see [Instance Store Swap Volumes][2] in the *Amazon
4063
+ # information, see [Instance store swap volumes][2] in the *Amazon
3618
4064
  # EC2 User Guide for Linux Instances* or [How do I allocate memory
3619
4065
  # to work as swap space in an Amazon EC2 instance by using a swap
3620
4066
  # file?][3]
@@ -3806,6 +4252,8 @@ module Aws::Batch
3806
4252
  include Aws::Structure
3807
4253
  end
3808
4254
 
4255
+ # Contains the parameters for `ListSchedulingPolicies`.
4256
+ #
3809
4257
  # @note When making an API call, you may pass ListSchedulingPoliciesRequest
3810
4258
  # data as a hash:
3811
4259
  #
@@ -3871,6 +4319,8 @@ module Aws::Batch
3871
4319
  include Aws::Structure
3872
4320
  end
3873
4321
 
4322
+ # Contains the parameters for `ListTagsForResource`.
4323
+ #
3874
4324
  # @note When making an API call, you may pass ListTagsForResourceRequest
3875
4325
  # data as a hash:
3876
4326
  #
@@ -3941,7 +4391,7 @@ module Aws::Batch
3941
4391
  # awslogs
3942
4392
  #
3943
4393
  # : Specifies the Amazon CloudWatch Logs logging driver. For more
3944
- # information, see [Using the awslogs Log Driver][1] in the *Batch
4394
+ # information, see [Using the awslogs log driver][1] in the *Batch
3945
4395
  # User Guide* and [Amazon CloudWatch Logs logging driver][2] in the
3946
4396
  # Docker documentation.
3947
4397
  #
@@ -4020,7 +4470,7 @@ module Aws::Batch
4020
4470
  #
4021
4471
  # @!attribute [rw] secret_options
4022
4472
  # The secrets to pass to the log configuration. For more information,
4023
- # see [Specifying Sensitive Data][1] in the *Batch User Guide*.
4473
+ # see [Specifying sensitive data][1] in the *Batch User Guide*.
4024
4474
  #
4025
4475
  #
4026
4476
  #
@@ -5018,7 +5468,7 @@ module Aws::Batch
5018
5468
  #
5019
5469
  # <note markdown="1"> If you're trying to maximize your resource utilization by
5020
5470
  # providing your jobs as much memory as possible for a particular
5021
- # instance type, see [Memory Management][4] in the *Batch User
5471
+ # instance type, see [Memory management][4] in the *Batch User
5022
5472
  # Guide*.
5023
5473
  #
5024
5474
  # </note>
@@ -5189,7 +5639,7 @@ module Aws::Batch
5189
5639
  # The tags that you apply to the scheduling policy to categorize and
5190
5640
  # organize your resources. Each tag consists of a key and an optional
5191
5641
  # value. For more information, see [Tagging Amazon Web Services
5192
- # Resources][1] in *Amazon Web Services General Reference*.
5642
+ # resources][1] in *Amazon Web Services General Reference*.
5193
5643
  #
5194
5644
  #
5195
5645
  #
@@ -5433,7 +5883,10 @@ module Aws::Batch
5433
5883
  # @return [String]
5434
5884
  #
5435
5885
  # @!attribute [rw] share_identifier
5436
- # The share identifier for the job.
5886
+ # The share identifier for the job. If the job queue does not have a
5887
+ # scheduling policy, then this parameter must not be specified. If the
5888
+ # job queue has a scheduling policy, then this parameter must be
5889
+ # specified.
5437
5890
  # @return [String]
5438
5891
  #
5439
5892
  # @!attribute [rw] scheduling_priority_override
@@ -5486,10 +5939,10 @@ module Aws::Batch
5486
5939
  # @!attribute [rw] container_overrides
5487
5940
  # A list of container overrides in the JSON format that specify the
5488
5941
  # name of a container in the specified job definition and the
5489
- # overrides it should receive. You can override the default command
5490
- # for a container, which is specified in the job definition or the
5491
- # Docker image, with a `command` override. You can also override
5492
- # existing environment variables on a container or add new environment
5942
+ # overrides it receives. You can override the default command for a
5943
+ # container, which is specified in the job definition or the Docker
5944
+ # image, with a `command` override. You can also override existing
5945
+ # environment variables on a container or add new environment
5493
5946
  # variables to it with an `environment` override.
5494
5947
  # @return [Types::ContainerOverrides]
5495
5948
  #
@@ -5590,6 +6043,8 @@ module Aws::Batch
5590
6043
  include Aws::Structure
5591
6044
  end
5592
6045
 
6046
+ # Contains the parameters for `TagResource`.
6047
+ #
5593
6048
  # @note When making an API call, you may pass TagResourceRequest
5594
6049
  # data as a hash:
5595
6050
  #
@@ -5754,6 +6209,8 @@ module Aws::Batch
5754
6209
  include Aws::Structure
5755
6210
  end
5756
6211
 
6212
+ # Contains the parameters for `UntagResource`.
6213
+ #
5757
6214
  # @note When making an API call, you may pass UntagResourceRequest
5758
6215
  # data as a hash:
5759
6216
  #
@@ -5802,8 +6259,35 @@ module Aws::Batch
5802
6259
  # desiredv_cpus: 1,
5803
6260
  # subnets: ["String"],
5804
6261
  # security_group_ids: ["String"],
6262
+ # allocation_strategy: "BEST_FIT_PROGRESSIVE", # accepts BEST_FIT_PROGRESSIVE, SPOT_CAPACITY_OPTIMIZED
6263
+ # instance_types: ["String"],
6264
+ # ec2_key_pair: "String",
6265
+ # instance_role: "String",
6266
+ # tags: {
6267
+ # "String" => "String",
6268
+ # },
6269
+ # placement_group: "String",
6270
+ # bid_percentage: 1,
6271
+ # launch_template: {
6272
+ # launch_template_id: "String",
6273
+ # launch_template_name: "String",
6274
+ # version: "String",
6275
+ # },
6276
+ # ec2_configuration: [
6277
+ # {
6278
+ # image_type: "ImageType", # required
6279
+ # image_id_override: "ImageIdOverride",
6280
+ # },
6281
+ # ],
6282
+ # update_to_latest_image_version: false,
6283
+ # type: "EC2", # accepts EC2, SPOT, FARGATE, FARGATE_SPOT
6284
+ # image_id: "String",
5805
6285
  # },
5806
6286
  # service_role: "String",
6287
+ # update_policy: {
6288
+ # terminate_jobs_on_update: false,
6289
+ # job_execution_timeout_minutes: 1,
6290
+ # },
5807
6291
  # }
5808
6292
  #
5809
6293
  # @!attribute [rw] compute_environment
@@ -5831,11 +6315,11 @@ module Aws::Batch
5831
6315
  #
5832
6316
  # @!attribute [rw] unmanagedv_cpus
5833
6317
  # The maximum number of vCPUs expected to be used for an unmanaged
5834
- # compute environment. This parameter should not be specified for a
5835
- # managed compute environment. This parameter is only used for fair
5836
- # share scheduling to reserve vCPU capacity for new share identifiers.
5837
- # If this parameter is not provided for a fair share job queue, no
5838
- # vCPU capacity will be reserved.
6318
+ # compute environment. Do not specify this parameter for a managed
6319
+ # compute environment. This parameter is only used for fair share
6320
+ # scheduling to reserve vCPU capacity for new share identifiers. If
6321
+ # this parameter is not provided for a fair share job queue, no vCPU
6322
+ # capacity will be reserved.
5839
6323
  # @return [Integer]
5840
6324
  #
5841
6325
  # @!attribute [rw] compute_resources
@@ -5857,11 +6341,15 @@ module Aws::Batch
5857
6341
  # If the compute environment has a service-linked role, it can't be
5858
6342
  # changed to use a regular IAM role. Likewise, if the compute
5859
6343
  # environment has a regular IAM role, it can't be changed to use a
5860
- # service-linked role.
6344
+ # service-linked role. To update the parameters for the compute
6345
+ # environment that require an infrastructure update to change, the
6346
+ # **AWSServiceRoleForBatch** service-linked role must be used. For
6347
+ # more information, see [Updating compute environments][2] in the
6348
+ # *Batch User Guide*.
5861
6349
  #
5862
6350
  # If your specified role has a path other than `/`, then you must
5863
- # either specify the full role ARN (this is recommended) or prefix the
5864
- # role name with the path.
6351
+ # either specify the full role ARN (recommended) or prefix the role
6352
+ # name with the path.
5865
6353
  #
5866
6354
  # <note markdown="1"> Depending on how you created your Batch service role, its ARN might
5867
6355
  # contain the `service-role` path prefix. When you only specify the
@@ -5875,8 +6363,19 @@ module Aws::Batch
5875
6363
  #
5876
6364
  #
5877
6365
  # [1]: https://docs.aws.amazon.com/batch/latest/userguide/service_IAM_role.html
6366
+ # [2]: https://docs.aws.amazon.com/batch/latest/userguide/updating-compute-environments.html
5878
6367
  # @return [String]
5879
6368
  #
6369
+ # @!attribute [rw] update_policy
6370
+ # Specifies the updated infrastructure update policy for the compute
6371
+ # environment. For more information about infrastructure updates, see
6372
+ # [Updating compute environments][1] in the *Batch User Guide*.
6373
+ #
6374
+ #
6375
+ #
6376
+ # [1]: https://docs.aws.amazon.com/batch/latest/userguide/updating-compute-environments.html
6377
+ # @return [Types::UpdatePolicy]
6378
+ #
5880
6379
  # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/UpdateComputeEnvironmentRequest AWS API Documentation
5881
6380
  #
5882
6381
  class UpdateComputeEnvironmentRequest < Struct.new(
@@ -5884,7 +6383,8 @@ module Aws::Batch
5884
6383
  :state,
5885
6384
  :unmanagedv_cpus,
5886
6385
  :compute_resources,
5887
- :service_role)
6386
+ :service_role,
6387
+ :update_policy)
5888
6388
  SENSITIVE = []
5889
6389
  include Aws::Structure
5890
6390
  end
@@ -5950,7 +6450,7 @@ module Aws::Batch
5950
6450
  # The priority of the job queue. Job queues with a higher priority (or
5951
6451
  # a higher integer value for the `priority` parameter) are evaluated
5952
6452
  # first when associated with the same compute environment. Priority is
5953
- # determined in descending order, for example, a job queue with a
6453
+ # determined in descending order. For example, a job queue with a
5954
6454
  # priority value of `10` is given scheduling preference over a job
5955
6455
  # queue with a priority value of `1`. All of the compute environments
5956
6456
  # must be either EC2 (`EC2` or `SPOT`) or Fargate (`FARGATE` or
@@ -5962,9 +6462,9 @@ module Aws::Batch
5962
6462
  # Details the set of compute environments mapped to a job queue and
5963
6463
  # their order relative to each other. This is one of the parameters
5964
6464
  # used by the job scheduler to determine which compute environment
5965
- # should run a given job. Compute environments must be in the `VALID`
5966
- # state before you can associate them with a job queue. All of the
5967
- # compute environments must be either EC2 (`EC2` or `SPOT`) or Fargate
6465
+ # runs a given job. Compute environments must be in the `VALID` state
6466
+ # before you can associate them with a job queue. All of the compute
6467
+ # environments must be either EC2 (`EC2` or `SPOT`) or Fargate
5968
6468
  # (`FARGATE` or `FARGATE_SPOT`). EC2 and Fargate compute environments
5969
6469
  # can't be mixed.
5970
6470
  #
@@ -6004,6 +6504,44 @@ module Aws::Batch
6004
6504
  include Aws::Structure
6005
6505
  end
6006
6506
 
6507
+ # Specifies the infrastructure update policy for the compute
6508
+ # environment. For more information about infrastructure updates, see
6509
+ # [Infrastructure updates][1] in the *Batch User Guide*.
6510
+ #
6511
+ #
6512
+ #
6513
+ # [1]: https://docs.aws.amazon.com/batch/latest/userguide/infrastructure-updates.html
6514
+ #
6515
+ # @note When making an API call, you may pass UpdatePolicy
6516
+ # data as a hash:
6517
+ #
6518
+ # {
6519
+ # terminate_jobs_on_update: false,
6520
+ # job_execution_timeout_minutes: 1,
6521
+ # }
6522
+ #
6523
+ # @!attribute [rw] terminate_jobs_on_update
6524
+ # Specifies whether jobs are automatically terminated when the
6525
+ # computer environment infrastructure is updated. The default value is
6526
+ # `false`.
6527
+ # @return [Boolean]
6528
+ #
6529
+ # @!attribute [rw] job_execution_timeout_minutes
6530
+ # Specifies the job timeout, in minutes, when the compute environment
6531
+ # infrastructure is updated. The default value is 30.
6532
+ # @return [Integer]
6533
+ #
6534
+ # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/UpdatePolicy AWS API Documentation
6535
+ #
6536
+ class UpdatePolicy < Struct.new(
6537
+ :terminate_jobs_on_update,
6538
+ :job_execution_timeout_minutes)
6539
+ SENSITIVE = []
6540
+ include Aws::Structure
6541
+ end
6542
+
6543
+ # Contains the parameters for `UpdateSchedulingPolicy`.
6544
+ #
6007
6545
  # @note When making an API call, you may pass UpdateSchedulingPolicyRequest
6008
6546
  # data as a hash:
6009
6547
  #