aws-sdk-batch 1.58.0 → 1.61.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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
@@ -631,7 +646,7 @@ module Aws::Batch
631
646
  # placement group and associate it with your compute resources. This
632
647
  # keeps your multi-node parallel job on a logical grouping of
633
648
  # instances within a single Availability Zone with high network flow
634
- # potential. For more information, see [Placement Groups][1] in the
649
+ # potential. For more information, see [Placement groups][1] in the
635
650
  # *Amazon EC2 User Guide for Linux Instances*.
636
651
  #
637
652
  # <note markdown="1"> This parameter isn't applicable to jobs that are running on Fargate
@@ -665,7 +680,7 @@ module Aws::Batch
665
680
  # applied to a `SPOT` compute environment. This role is required if
666
681
  # the allocation strategy set to `BEST_FIT` or if the allocation
667
682
  # strategy isn't specified. For more information, see [Amazon EC2
668
- # Spot Fleet Role][1] in the *Batch User Guide*.
683
+ # spot fleet role][1] in the *Batch User Guide*.
669
684
  #
670
685
  # <note markdown="1"> This parameter isn't applicable to jobs that are running on Fargate
671
686
  # resources, and shouldn't be specified.
@@ -677,7 +692,7 @@ module Aws::Batch
677
692
  # managed policy. The previously recommended
678
693
  # **AmazonEC2SpotFleetRole** managed policy doesn't have the required
679
694
  # permissions to tag Spot Instances. For more information, see [Spot
680
- # Instances not tagged on creation][2] in the *Batch User Guide*.
695
+ # instances not tagged on creation][2] in the *Batch User Guide*.
681
696
  #
682
697
  #
683
698
  #
@@ -691,7 +706,7 @@ module Aws::Batch
691
706
  # CreateComputeEnvironment API operation override the same parameters
692
707
  # in the launch template. You must specify either the launch template
693
708
  # ID or launch template name in the request, but not both. For more
694
- # information, see [Launch Template Support][1] in the *Batch User
709
+ # information, see [Launch template support][1] in the *Batch User
695
710
  # Guide*.
696
711
  #
697
712
  # <note markdown="1"> This parameter isn't applicable to jobs that are running on Fargate
@@ -742,12 +757,12 @@ module Aws::Batch
742
757
  end
743
758
 
744
759
  # 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*.
760
+ # can be updated. For more information, see [Updating compute
761
+ # environments][1] in the *Batch User Guide*.
747
762
  #
748
763
  #
749
764
  #
750
- # [1]: https://docs.aws.amazon.com/batch/latest/userguide/compute_environments.html
765
+ # [1]: https://docs.aws.amazon.com/batch/latest/userguide/updating-compute-environments.html
751
766
  #
752
767
  # @note When making an API call, you may pass ComputeResourceUpdate
753
768
  # data as a hash:
@@ -758,11 +773,34 @@ module Aws::Batch
758
773
  # desiredv_cpus: 1,
759
774
  # subnets: ["String"],
760
775
  # security_group_ids: ["String"],
776
+ # allocation_strategy: "BEST_FIT_PROGRESSIVE", # accepts BEST_FIT_PROGRESSIVE, SPOT_CAPACITY_OPTIMIZED
777
+ # instance_types: ["String"],
778
+ # ec2_key_pair: "String",
779
+ # instance_role: "String",
780
+ # tags: {
781
+ # "String" => "String",
782
+ # },
783
+ # placement_group: "String",
784
+ # bid_percentage: 1,
785
+ # launch_template: {
786
+ # launch_template_id: "String",
787
+ # launch_template_name: "String",
788
+ # version: "String",
789
+ # },
790
+ # ec2_configuration: [
791
+ # {
792
+ # image_type: "ImageType", # required
793
+ # image_id_override: "ImageIdOverride",
794
+ # },
795
+ # ],
796
+ # update_to_latest_image_version: false,
797
+ # type: "EC2", # accepts EC2, SPOT, FARGATE, FARGATE_SPOT
798
+ # image_id: "String",
761
799
  # }
762
800
  #
763
801
  # @!attribute [rw] minv_cpus
764
802
  # The minimum number of Amazon EC2 vCPUs that an environment should
765
- # maintain.
803
+ # maintain (even if the compute environment is `DISABLED`).
766
804
  #
767
805
  # <note markdown="1"> This parameter isn't applicable to jobs that are running on Fargate
768
806
  # resources, and shouldn't be specified.
@@ -786,6 +824,8 @@ module Aws::Batch
786
824
  #
787
825
  # @!attribute [rw] desiredv_cpus
788
826
  # The desired number of Amazon EC2 vCPUS in the compute environment.
827
+ # Batch modifies this value between the minimum and maximum values
828
+ # based on job queue demand.
789
829
  #
790
830
  # <note markdown="1"> This parameter isn't applicable to jobs that are running on Fargate
791
831
  # resources, and shouldn't be specified.
@@ -795,26 +835,376 @@ module Aws::Batch
795
835
  #
796
836
  # @!attribute [rw] subnets
797
837
  # 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*.
838
+ # compute resources can contain up to 16 subnets. For Fargate compute
839
+ # resources, providing an empty list will be handled as if this
840
+ # parameter wasn't specified and no change is made. For EC2 compute
841
+ # resources, providing an empty list removes the VPC subnets from the
842
+ # compute resource. For more information, see [VPCs and subnets][1] in
843
+ # the *Amazon VPC User Guide*.
844
+ #
845
+ # When updating a compute environment, changing the VPC subnets
846
+ # requires an infrastructure update of the compute environment. For
847
+ # more information, see [Updating compute environments][2] in the
848
+ # *Batch User Guide*.
803
849
  #
804
850
  #
805
851
  #
806
852
  # [1]: https://docs.aws.amazon.com/vpc/latest/userguide/VPC_Subnets.html
853
+ # [2]: https://docs.aws.amazon.com/batch/latest/userguide/updating-compute-environments.html
807
854
  # @return [Array<String>]
808
855
  #
809
856
  # @!attribute [rw] security_group_ids
810
857
  # The Amazon EC2 security groups associated with instances launched in
811
858
  # 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.
859
+ # compute resources, where it can contain up to 5 security groups. For
860
+ # Fargate compute resources, providing an empty list is handled as if
861
+ # this parameter wasn't specified and no change is made. For EC2
862
+ # compute resources, providing an empty list removes the security
863
+ # groups from the compute resource.
864
+ #
865
+ # When updating a compute environment, changing the EC2 security
866
+ # groups requires an infrastructure update of the compute environment.
867
+ # For more information, see [Updating compute environments][1] in the
868
+ # *Batch User Guide*.
869
+ #
870
+ #
871
+ #
872
+ # [1]: https://docs.aws.amazon.com/batch/latest/userguide/updating-compute-environments.html
873
+ # @return [Array<String>]
874
+ #
875
+ # @!attribute [rw] allocation_strategy
876
+ # The allocation strategy to use for the compute resource if not
877
+ # enough instances of the best fitting instance type can be allocated.
878
+ # This might be because of availability of the instance type in the
879
+ # Region or [Amazon EC2 service limits][1]. For more information, see
880
+ # [Allocation strategies][2] in the *Batch User Guide*.
881
+ #
882
+ # When updating a compute environment, changing the allocation
883
+ # strategy requires an infrastructure update of the compute
884
+ # environment. For more information, see [Updating compute
885
+ # environments][3] in the *Batch User Guide*. `BEST_FIT` isn't
886
+ # supported when updating a compute environment.
887
+ #
888
+ # <note markdown="1"> This parameter isn't applicable to jobs that are running on Fargate
889
+ # resources, and shouldn't be specified.
890
+ #
891
+ # </note>
892
+ #
893
+ # BEST\_FIT\_PROGRESSIVE
894
+ #
895
+ # : Batch will select additional instance types that are large enough
896
+ # to meet the requirements of the jobs in the queue, with a
897
+ # preference for instance types with a lower cost per unit vCPU. If
898
+ # additional instances of the previously selected instance types
899
+ # aren't available, Batch will select new instance types.
900
+ #
901
+ # SPOT\_CAPACITY\_OPTIMIZED
902
+ #
903
+ # : Batch will select one or more instance types that are large enough
904
+ # to meet the requirements of the jobs in the queue, with a
905
+ # preference for instance types that are less likely to be
906
+ # interrupted. This allocation strategy is only available for Spot
907
+ # Instance compute resources.
908
+ #
909
+ # With both `BEST_FIT_PROGRESSIVE` and `SPOT_CAPACITY_OPTIMIZED`
910
+ # strategies, Batch might need to go above `maxvCpus` to meet your
911
+ # capacity requirements. In this event, Batch never exceeds `maxvCpus`
912
+ # by more than a single instance.
913
+ #
914
+ #
915
+ #
916
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-resource-limits.html
917
+ # [2]: https://docs.aws.amazon.com/batch/latest/userguide/allocation-strategies.html
918
+ # [3]: https://docs.aws.amazon.com/batch/latest/userguide/updating-compute-environments.html
919
+ # @return [String]
920
+ #
921
+ # @!attribute [rw] instance_types
922
+ # The instances types that can be launched. You can specify instance
923
+ # families to launch any instance type within those families (for
924
+ # example, `c5` or `p3`), or you can specify specific sizes within a
925
+ # family (such as `c5.8xlarge`). You can also choose `optimal` to
926
+ # select instance types (from the C4, M4, and R4 instance families)
927
+ # that match the demand of your job queues.
928
+ #
929
+ # When updating a compute environment, changing this setting requires
930
+ # an infrastructure update of the compute environment. For more
931
+ # information, see [Updating compute environments][1] in the *Batch
932
+ # User Guide*.
933
+ #
934
+ # <note markdown="1"> This parameter isn't applicable to jobs that are running on Fargate
935
+ # resources, and shouldn't be specified.
936
+ #
937
+ # </note>
938
+ #
939
+ # <note markdown="1"> When you create a compute environment, the instance types that you
940
+ # select for the compute environment must share the same architecture.
941
+ # For example, you can't mix x86 and ARM instances in the same
942
+ # compute environment.
943
+ #
944
+ # </note>
945
+ #
946
+ # <note markdown="1"> Currently, `optimal` uses instance types from the C4, M4, and R4
947
+ # instance families. In Regions that don't have instance types from
948
+ # those instance families, instance types from the C5, M5. and R5
949
+ # instance families are used.
950
+ #
951
+ # </note>
952
+ #
953
+ #
954
+ #
955
+ # [1]: https://docs.aws.amazon.com/batch/latest/userguide/updating-compute-environments.html
816
956
  # @return [Array<String>]
817
957
  #
958
+ # @!attribute [rw] ec2_key_pair
959
+ # The Amazon EC2 key pair that's used for instances launched in the
960
+ # compute environment. You can use this key pair to log in to your
961
+ # instances with SSH. To remove the Amazon EC2 key pair, set this
962
+ # value to an empty string.
963
+ #
964
+ # When updating a compute environment, changing the EC2 key pair
965
+ # requires an infrastructure update of the compute environment. For
966
+ # more information, see [Updating compute environments][1] in the
967
+ # *Batch User Guide*.
968
+ #
969
+ # <note markdown="1"> This parameter isn't applicable to jobs that are running on Fargate
970
+ # resources, and shouldn't be specified.
971
+ #
972
+ # </note>
973
+ #
974
+ #
975
+ #
976
+ # [1]: https://docs.aws.amazon.com/batch/latest/userguide/updating-compute-environments.html
977
+ # @return [String]
978
+ #
979
+ # @!attribute [rw] instance_role
980
+ # The Amazon ECS instance profile applied to Amazon EC2 instances in a
981
+ # compute environment. You can specify the short name or full Amazon
982
+ # Resource Name (ARN) of an instance profile. For example, `
983
+ # ecsInstanceRole ` or
984
+ # `arn:aws:iam::<aws_account_id>:instance-profile/ecsInstanceRole `.
985
+ # For more information, see [Amazon ECS instance role][1] in the
986
+ # *Batch User Guide*.
987
+ #
988
+ # When updating a compute environment, changing this setting requires
989
+ # an infrastructure update of the compute environment. For more
990
+ # information, see [Updating compute environments][2] in the *Batch
991
+ # User Guide*.
992
+ #
993
+ # <note markdown="1"> This parameter isn't applicable to jobs that are running on Fargate
994
+ # resources, and shouldn't be specified.
995
+ #
996
+ # </note>
997
+ #
998
+ #
999
+ #
1000
+ # [1]: https://docs.aws.amazon.com/batch/latest/userguide/instance_IAM_role.html
1001
+ # [2]: https://docs.aws.amazon.com/batch/latest/userguide/updating-compute-environments.html
1002
+ # @return [String]
1003
+ #
1004
+ # @!attribute [rw] tags
1005
+ # Key-value pair tags to be applied to EC2 resources that are launched
1006
+ # in the compute environment. For Batch, these take the form of
1007
+ # "String1": "String2", where String1 is the tag key and String2
1008
+ # is the tag value−for example, `\{ "Name": "Batch Instance -
1009
+ # C4OnDemand" \}`. This is helpful for recognizing your Batch
1010
+ # instances in the Amazon EC2 console. These tags aren't seen when
1011
+ # using the Batch `ListTagsForResource` API operation.
1012
+ #
1013
+ # When updating a compute environment, changing this setting requires
1014
+ # an infrastructure update of the compute environment. For more
1015
+ # information, see [Updating compute environments][1] in the *Batch
1016
+ # User Guide*.
1017
+ #
1018
+ # <note markdown="1"> This parameter isn't applicable to jobs that are running on Fargate
1019
+ # resources, and shouldn't be specified.
1020
+ #
1021
+ # </note>
1022
+ #
1023
+ #
1024
+ #
1025
+ # [1]: https://docs.aws.amazon.com/batch/latest/userguide/updating-compute-environments.html
1026
+ # @return [Hash<String,String>]
1027
+ #
1028
+ # @!attribute [rw] placement_group
1029
+ # The Amazon EC2 placement group to associate with your compute
1030
+ # resources. If you intend to submit multi-node parallel jobs to your
1031
+ # compute environment, you should consider creating a cluster
1032
+ # placement group and associate it with your compute resources. This
1033
+ # keeps your multi-node parallel job on a logical grouping of
1034
+ # instances within a single Availability Zone with high network flow
1035
+ # potential. For more information, see [Placement groups][1] in the
1036
+ # *Amazon EC2 User Guide for Linux Instances*.
1037
+ #
1038
+ # When updating a compute environment, changing the placement group
1039
+ # requires an infrastructure update of the compute environment. For
1040
+ # more information, see [Updating compute environments][2] in the
1041
+ # *Batch User Guide*.
1042
+ #
1043
+ # <note markdown="1"> This parameter isn't applicable to jobs that are running on Fargate
1044
+ # resources, and shouldn't be specified.
1045
+ #
1046
+ # </note>
1047
+ #
1048
+ #
1049
+ #
1050
+ # [1]: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/placement-groups.html
1051
+ # [2]: https://docs.aws.amazon.com/batch/latest/userguide/updating-compute-environments.html
1052
+ # @return [String]
1053
+ #
1054
+ # @!attribute [rw] bid_percentage
1055
+ # The maximum percentage that a Spot Instance price can be when
1056
+ # compared with the On-Demand price for that instance type before
1057
+ # instances are launched. For example, if your maximum percentage is
1058
+ # 20%, then the Spot price must be less than 20% of the current
1059
+ # On-Demand price for that Amazon EC2 instance. You always pay the
1060
+ # lowest (market) price and never more than your maximum percentage.
1061
+ #
1062
+ # When updating a compute environment, changing the bid percentage
1063
+ # requires an infrastructure update of the compute environment. For
1064
+ # more information, see [Updating compute environments][1] in the
1065
+ # *Batch User Guide*.
1066
+ #
1067
+ # <note markdown="1"> This parameter isn't applicable to jobs that are running on Fargate
1068
+ # resources, and shouldn't be specified.
1069
+ #
1070
+ # </note>
1071
+ #
1072
+ #
1073
+ #
1074
+ # [1]: https://docs.aws.amazon.com/batch/latest/userguide/updating-compute-environments.html
1075
+ # @return [Integer]
1076
+ #
1077
+ # @!attribute [rw] launch_template
1078
+ # The updated launch template to use for your compute resources. You
1079
+ # must specify either the launch template ID or launch template name
1080
+ # in the request, but not both. For more information, see [Launch
1081
+ # template support][1] in the *Batch User Guide*. To remove the custom
1082
+ # launch template and use the default launch template, set
1083
+ # `launchTemplateId` or `launchTemplateName` member of the launch
1084
+ # template specification to an empty string. Removing the launch
1085
+ # template from a compute environment will not remove the AMI
1086
+ # specified in the launch template. In order to update the AMI
1087
+ # specified in a launch template, the `updateToLatestImageVersion`
1088
+ # parameter must be set to `true`.
1089
+ #
1090
+ # When updating a compute environment, changing the launch template
1091
+ # requires an infrastructure update of the compute environment. For
1092
+ # more information, see [Updating compute environments][2] in the
1093
+ # *Batch User Guide*.
1094
+ #
1095
+ # <note markdown="1"> This parameter isn't applicable to jobs that are running on Fargate
1096
+ # resources, and shouldn't be specified.
1097
+ #
1098
+ # </note>
1099
+ #
1100
+ #
1101
+ #
1102
+ # [1]: https://docs.aws.amazon.com/batch/latest/userguide/launch-templates.html
1103
+ # [2]: https://docs.aws.amazon.com/batch/latest/userguide/updating-compute-environments.html
1104
+ # @return [Types::LaunchTemplateSpecification]
1105
+ #
1106
+ # @!attribute [rw] ec2_configuration
1107
+ # Provides information used to select Amazon Machine Images (AMIs) for
1108
+ # EC2 instances in the compute environment. If `Ec2Configuration`
1109
+ # isn't specified, the default is `ECS_AL2`.
1110
+ #
1111
+ # When updating a compute environment, changing this setting requires
1112
+ # an infrastructure update of the compute environment. For more
1113
+ # information, see [Updating compute environments][1] in the *Batch
1114
+ # User Guide*. To remove the EC2 configuration and any custom AMI ID
1115
+ # specified in `imageIdOverride`, set this value to an empty string.
1116
+ #
1117
+ # One or two values can be provided.
1118
+ #
1119
+ # <note markdown="1"> This parameter isn't applicable to jobs that are running on Fargate
1120
+ # resources, and shouldn't be specified.
1121
+ #
1122
+ # </note>
1123
+ #
1124
+ #
1125
+ #
1126
+ # [1]: https://docs.aws.amazon.com/batch/latest/userguide/updating-compute-environments.html
1127
+ # @return [Array<Types::Ec2Configuration>]
1128
+ #
1129
+ # @!attribute [rw] update_to_latest_image_version
1130
+ # Specifies whether the AMI ID is updated to the latest one that's
1131
+ # supported by Batch when the compute environment has an
1132
+ # infrastructure update. The default value is `false`.
1133
+ #
1134
+ # <note markdown="1"> If an AMI ID is specified in the `imageId` or `imageIdOverride`
1135
+ # parameters or by the launch template specified in the
1136
+ # `launchTemplate` parameter, this parameter is ignored. For more
1137
+ # information on updating AMI IDs during an infrastructure update, see
1138
+ # [Updating the AMI ID][1] in the *Batch User Guide*.
1139
+ #
1140
+ # </note>
1141
+ #
1142
+ # When updating a compute environment, changing this setting requires
1143
+ # an infrastructure update of the compute environment. For more
1144
+ # information, see [Updating compute environments][2] in the *Batch
1145
+ # User Guide*.
1146
+ #
1147
+ #
1148
+ #
1149
+ # [1]: https://docs.aws.amazon.com/batch/latest/userguide/updating-compute-environments.html#updating-compute-environments-ami
1150
+ # [2]: https://docs.aws.amazon.com/batch/latest/userguide/updating-compute-environments.html
1151
+ # @return [Boolean]
1152
+ #
1153
+ # @!attribute [rw] type
1154
+ # The type of compute environment: `EC2`, `SPOT`, `FARGATE`, or
1155
+ # `FARGATE_SPOT`. For more information, see [Compute environments][1]
1156
+ # in the *Batch User Guide*.
1157
+ #
1158
+ # If you choose `SPOT`, you must also specify an Amazon EC2 Spot Fleet
1159
+ # role with the `spotIamFleetRole` parameter. For more information,
1160
+ # see [Amazon EC2 spot fleet role][2] in the *Batch User Guide*.
1161
+ #
1162
+ # When updating a compute environment, changing the type of a compute
1163
+ # environment requires an infrastructure update of the compute
1164
+ # environment. For more information, see [Updating compute
1165
+ # environments][3] in the *Batch User Guide*.
1166
+ #
1167
+ #
1168
+ #
1169
+ # [1]: https://docs.aws.amazon.com/batch/latest/userguide/compute_environments.html
1170
+ # [2]: https://docs.aws.amazon.com/batch/latest/userguide/spot_fleet_IAM_role.html
1171
+ # [3]: https://docs.aws.amazon.com/batch/latest/userguide/updating-compute-environments.html
1172
+ # @return [String]
1173
+ #
1174
+ # @!attribute [rw] image_id
1175
+ # The Amazon Machine Image (AMI) ID used for instances launched in the
1176
+ # compute environment. This parameter is overridden by the
1177
+ # `imageIdOverride` member of the `Ec2Configuration` structure. To
1178
+ # remove the custom AMI ID and use the default AMI ID, set this value
1179
+ # to an empty string.
1180
+ #
1181
+ # When updating a compute environment, changing the AMI ID requires an
1182
+ # infrastructure update of the compute environment. For more
1183
+ # information, see [Updating compute environments][1] in the *Batch
1184
+ # User Guide*.
1185
+ #
1186
+ # <note markdown="1"> This parameter isn't applicable to jobs that are running on Fargate
1187
+ # resources, and shouldn't be specified.
1188
+ #
1189
+ # </note>
1190
+ #
1191
+ # <note markdown="1"> The AMI that you choose for a compute environment must match the
1192
+ # architecture of the instance types that you intend to use for that
1193
+ # compute environment. For example, if your compute environment uses
1194
+ # A1 instance types, the compute resource AMI that you choose must
1195
+ # support ARM instances. Amazon ECS vends both x86 and ARM versions of
1196
+ # the Amazon ECS-optimized Amazon Linux 2 AMI. For more information,
1197
+ # see [Amazon ECS-optimized Amazon Linux 2 AMI][2] in the *Amazon
1198
+ # Elastic Container Service Developer Guide*.
1199
+ #
1200
+ # </note>
1201
+ #
1202
+ #
1203
+ #
1204
+ # [1]: https://docs.aws.amazon.com/batch/latest/userguide/updating-compute-environments.html
1205
+ # [2]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html#ecs-optimized-ami-linux-variants.html
1206
+ # @return [String]
1207
+ #
818
1208
  # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/ComputeResourceUpdate AWS API Documentation
819
1209
  #
820
1210
  class ComputeResourceUpdate < Struct.new(
@@ -822,7 +1212,19 @@ module Aws::Batch
822
1212
  :maxv_cpus,
823
1213
  :desiredv_cpus,
824
1214
  :subnets,
825
- :security_group_ids)
1215
+ :security_group_ids,
1216
+ :allocation_strategy,
1217
+ :instance_types,
1218
+ :ec2_key_pair,
1219
+ :instance_role,
1220
+ :tags,
1221
+ :placement_group,
1222
+ :bid_percentage,
1223
+ :launch_template,
1224
+ :ec2_configuration,
1225
+ :update_to_latest_image_version,
1226
+ :type,
1227
+ :image_id)
826
1228
  SENSITIVE = []
827
1229
  include Aws::Structure
828
1230
  end
@@ -860,7 +1262,7 @@ module Aws::Batch
860
1262
  # @return [Integer]
861
1263
  #
862
1264
  # @!attribute [rw] memory
863
- # For jobs run on EC2 resources that didn't specify memory
1265
+ # For jobs running on EC2 resources that didn't specify memory
864
1266
  # requirements using `resourceRequirements`, the number of MiB of
865
1267
  # memory reserved for the job. For other jobs, including all run on
866
1268
  # Fargate resources, see `resourceRequirements`.
@@ -1040,8 +1442,8 @@ module Aws::Batch
1040
1442
  # register the logging drivers available on that instance with the
1041
1443
  # `ECS_AVAILABLE_LOGGING_DRIVERS` environment variable before
1042
1444
  # 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
1445
+ # options. For more information, see [Amazon ECS container agent
1446
+ # configuration][5] in the *Amazon Elastic Container Service Developer
1045
1447
  # Guide*.
1046
1448
  #
1047
1449
  # </note>
@@ -1136,7 +1538,7 @@ module Aws::Batch
1136
1538
  # @!attribute [rw] vcpus
1137
1539
  # This parameter is deprecated, use `resourceRequirements` to override
1138
1540
  # 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
1541
+ # supported for jobs running on Fargate resources. For jobs running on
1140
1542
  # EC2 resources, it overrides the `vcpus` parameter set in the job
1141
1543
  # definition, but doesn't override any vCPU requirement specified in
1142
1544
  # the `resourceRequirements` structure in the job definition. To
@@ -1155,7 +1557,7 @@ module Aws::Batch
1155
1557
  # @!attribute [rw] memory
1156
1558
  # This parameter is deprecated, use `resourceRequirements` to override
1157
1559
  # the memory requirements specified in the job definition. It's not
1158
- # supported for jobs that run on Fargate resources. For jobs run on
1560
+ # supported for jobs running on Fargate resources. For jobs running on
1159
1561
  # EC2 resources, it overrides the `memory` parameter set in the job
1160
1562
  # definition, but doesn't override any memory requirement specified
1161
1563
  # in the `resourceRequirements` structure in the job definition. To
@@ -1340,6 +1742,11 @@ module Aws::Batch
1340
1742
  #
1341
1743
  # </note>
1342
1744
  #
1745
+ # * Images in Amazon ECR Public repositories use the full
1746
+ # `registry/repository[:tag]` or `registry/repository[@digest]`
1747
+ # naming conventions. For example,
1748
+ # `public.ecr.aws/registry_alias/my-web-app:latest `.
1749
+ #
1343
1750
  # * Images in Amazon ECR repositories use the full registry and
1344
1751
  # repository URI (for example,
1345
1752
  # `012345678910.dkr.ecr.<region-name>.amazonaws.com/<repository-name>`).
@@ -1363,7 +1770,7 @@ module Aws::Batch
1363
1770
  # @!attribute [rw] vcpus
1364
1771
  # This parameter is deprecated, use `resourceRequirements` to specify
1365
1772
  # the vCPU requirements for the job definition. It's not supported
1366
- # for jobs that run on Fargate resources. For jobs run on EC2
1773
+ # for jobs running on Fargate resources. For jobs running on EC2
1367
1774
  # resources, it specifies the number of vCPUs reserved for the job.
1368
1775
  #
1369
1776
  # Each vCPU is equivalent to 1,024 CPU shares. This parameter maps to
@@ -1382,7 +1789,7 @@ module Aws::Batch
1382
1789
  # @!attribute [rw] memory
1383
1790
  # This parameter is deprecated, use `resourceRequirements` to specify
1384
1791
  # the memory requirements for the job definition. It's not supported
1385
- # for jobs that run on Fargate resources. For jobs run on EC2
1792
+ # for jobs running on Fargate resources. For jobs running on EC2
1386
1793
  # resources, it specifies the memory hard limit (in MiB) for a
1387
1794
  # container. If your container attempts to exceed the specified
1388
1795
  # number, it's terminated. You must specify at least 4 MiB of memory
@@ -1409,7 +1816,7 @@ module Aws::Batch
1409
1816
  # @!attribute [rw] job_role_arn
1410
1817
  # The Amazon Resource Name (ARN) of the IAM role that the container
1411
1818
  # can assume for Amazon Web Services permissions. For more
1412
- # information, see [IAM Roles for Tasks][1] in the *Amazon Elastic
1819
+ # information, see [IAM roles for tasks][1] in the *Amazon Elastic
1413
1820
  # Container Service Developer Guide*.
1414
1821
  #
1415
1822
  #
@@ -1576,8 +1983,8 @@ module Aws::Batch
1576
1983
  # register the logging drivers available on that instance with the
1577
1984
  # `ECS_AVAILABLE_LOGGING_DRIVERS` environment variable before
1578
1985
  # 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
1986
+ # options. For more information, see [Amazon ECS container agent
1987
+ # configuration][5] in the *Amazon Elastic Container Service Developer
1581
1988
  # Guide*.
1582
1989
  #
1583
1990
  # </note>
@@ -1746,7 +2153,7 @@ module Aws::Batch
1746
2153
  # provided for a fair share job queue, no vCPU capacity is reserved.
1747
2154
  #
1748
2155
  # <note markdown="1"> This parameter is only supported when the `type` parameter is set to
1749
- # `UNMANAGED`/
2156
+ # `UNMANAGED`.
1750
2157
  #
1751
2158
  # </note>
1752
2159
  # @return [Integer]
@@ -1908,13 +2315,13 @@ module Aws::Batch
1908
2315
  # @!attribute [rw] compute_environment_order
1909
2316
  # The set of compute environments mapped to a job queue and their
1910
2317
  # 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.
2318
+ # to determine which compute environment runs a specific job. Compute
2319
+ # environments must be in the `VALID` state before you can associate
2320
+ # them with a job queue. You can associate up to three compute
2321
+ # environments with a job queue. All of the compute environments must
2322
+ # be either EC2 (`EC2` or `SPOT`) or Fargate (`FARGATE` or
2323
+ # `FARGATE_SPOT`); EC2 and Fargate compute environments can't be
2324
+ # mixed.
1918
2325
  #
1919
2326
  # <note markdown="1"> All compute environments that are associated with a job queue must
1920
2327
  # share the same architecture. Batch doesn't support mixing compute
@@ -1964,6 +2371,8 @@ module Aws::Batch
1964
2371
  include Aws::Structure
1965
2372
  end
1966
2373
 
2374
+ # Contains the parameters for `CreateSchedulingPolicy`.
2375
+ #
1967
2376
  # @note When making an API call, you may pass CreateSchedulingPolicyRequest
1968
2377
  # data as a hash:
1969
2378
  #
@@ -2092,6 +2501,8 @@ module Aws::Batch
2092
2501
  #
2093
2502
  class DeleteJobQueueResponse < Aws::EmptyStructure; end
2094
2503
 
2504
+ # Contains the parameters for `DeleteSchedulingPolicy`.
2505
+ #
2095
2506
  # @note When making an API call, you may pass DeleteSchedulingPolicyRequest
2096
2507
  # data as a hash:
2097
2508
  #
@@ -2409,6 +2820,8 @@ module Aws::Batch
2409
2820
  include Aws::Structure
2410
2821
  end
2411
2822
 
2823
+ # Contains the parameters for `DescribeSchedulingPolicies`.
2824
+ #
2412
2825
  # @note When making an API call, you may pass DescribeSchedulingPoliciesRequest
2413
2826
  # data as a hash:
2414
2827
  #
@@ -2500,7 +2913,7 @@ module Aws::Batch
2500
2913
  # will enforce the path set on the EFS access point. If an access
2501
2914
  # point is used, transit encryption must be enabled in the
2502
2915
  # `EFSVolumeConfiguration`. For more information, see [Working with
2503
- # Amazon EFS Access Points][1] in the *Amazon Elastic File System User
2916
+ # Amazon EFS access points][1] in the *Amazon Elastic File System User
2504
2917
  # Guide*.
2505
2918
  #
2506
2919
  #
@@ -2513,7 +2926,7 @@ module Aws::Batch
2513
2926
  # definition when mounting the Amazon EFS file system. If enabled,
2514
2927
  # transit encryption must be enabled in the `EFSVolumeConfiguration`.
2515
2928
  # If this parameter is omitted, the default value of `DISABLED` is
2516
- # used. For more information, see [Using Amazon EFS Access Points][1]
2929
+ # used. For more information, see [Using Amazon EFS access points][1]
2517
2930
  # in the *Batch User Guide*. EFS IAM authorization requires that
2518
2931
  # `TransitEncryption` be `ENABLED` and that a `JobRoleArn` is
2519
2932
  # specified.
@@ -2588,7 +3001,7 @@ module Aws::Batch
2588
3001
  # host and the Amazon EFS server. If you don't specify a transit
2589
3002
  # encryption port, it uses the port selection strategy that the Amazon
2590
3003
  # 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
3004
+ # more information, see [EFS mount helper][1] in the *Amazon Elastic
2592
3005
  # File System User Guide*.
2593
3006
  #
2594
3007
  #
@@ -2637,7 +3050,11 @@ module Aws::Batch
2637
3050
  # @!attribute [rw] image_type
2638
3051
  # The image type to match with the instance type to select an AMI. If
2639
3052
  # the `imageIdOverride` parameter isn't specified, then a recent
2640
- # [Amazon ECS-optimized Amazon Linux 2 AMI][1] (`ECS_AL2`) is used.
3053
+ # [Amazon ECS-optimized Amazon Linux 2 AMI][1] (`ECS_AL2`) is used. If
3054
+ # a new image type is specified in an update, but neither an `imageId`
3055
+ # nor a `imageIdOverride` parameter is specified, then the latest
3056
+ # Amazon ECS optimized AMI for that image type that's supported by
3057
+ # Batch is used.
2641
3058
  #
2642
3059
  # ECS\_AL2
2643
3060
  #
@@ -2666,6 +3083,21 @@ module Aws::Batch
2666
3083
  # The AMI ID used for instances launched in the compute environment
2667
3084
  # that match the image type. This setting overrides the `imageId` set
2668
3085
  # in the `computeResource` object.
3086
+ #
3087
+ # <note markdown="1"> The AMI that you choose for a compute environment must match the
3088
+ # architecture of the instance types that you intend to use for that
3089
+ # compute environment. For example, if your compute environment uses
3090
+ # A1 instance types, the compute resource AMI that you choose must
3091
+ # support ARM instances. Amazon ECS vends both x86 and ARM versions of
3092
+ # the Amazon ECS-optimized Amazon Linux 2 AMI. For more information,
3093
+ # see [Amazon ECS-optimized Amazon Linux 2 AMI][1] in the *Amazon
3094
+ # Elastic Container Service Developer Guide*.
3095
+ #
3096
+ # </note>
3097
+ #
3098
+ #
3099
+ #
3100
+ # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html#ecs-optimized-ami-linux-variants.html
2669
3101
  # @return [String]
2670
3102
  #
2671
3103
  # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/Ec2Configuration AWS API Documentation
@@ -2911,8 +3343,8 @@ module Aws::Batch
2911
3343
  # set in the job definition. Parameters are specified as a key-value
2912
3344
  # pair mapping. Parameters in a `SubmitJob` request override any
2913
3345
  # 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*.
3346
+ # information about specifying parameters, see [Job definition
3347
+ # parameters][1] in the *Batch User Guide*.
2916
3348
  #
2917
3349
  #
2918
3350
  #
@@ -3034,8 +3466,8 @@ module Aws::Batch
3034
3466
  # @!attribute [rw] status
3035
3467
  # The current status for the job.
3036
3468
  #
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
3469
+ # <note markdown="1"> If your jobs don't progress to `STARTING`, see [Jobs stuck in
3470
+ # RUNNABLE status][1] in the troubleshooting section of the *Batch
3039
3471
  # User Guide*.
3040
3472
  #
3041
3473
  # </note>
@@ -3095,7 +3527,8 @@ module Aws::Batch
3095
3527
  # @return [Array<Types::JobDependency>]
3096
3528
  #
3097
3529
  # @!attribute [rw] job_definition
3098
- # The job definition that's used by this job.
3530
+ # The Amazon Resource Name (ARN) of the job definition that's used by
3531
+ # this job.
3099
3532
  # @return [String]
3100
3533
  #
3101
3534
  # @!attribute [rw] parameters
@@ -3461,15 +3894,24 @@ module Aws::Batch
3461
3894
  # is used. If the value is `$Default`, the default version of the
3462
3895
  # launch template is used.
3463
3896
  #
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.
3897
+ # If the AMI ID that's used in a compute environment is from the
3898
+ # launch template, the AMI isn't changed when the compute environment
3899
+ # is updated. It's only changed if the `updateToLatestImageVersion`
3900
+ # parameter for the compute environment is set to `true`. During an
3901
+ # infrastructure update, if either `$Latest` or `$Default` is
3902
+ # specified, Batch re-evaluates the launch template version, and it
3903
+ # might use a different version of the launch template. This is the
3904
+ # case even if the launch template isn't specified in the update.
3905
+ # When updating a compute environment, changing the launch template
3906
+ # requires an infrastructure update of the compute environment. For
3907
+ # more information, see [Updating compute environments][1] in the
3908
+ # *Batch User Guide*.
3471
3909
  #
3472
3910
  # Default: `$Default`.
3911
+ #
3912
+ #
3913
+ #
3914
+ # [1]: https://docs.aws.amazon.com/batch/latest/userguide/updating-compute-environments.html
3473
3915
  # @return [String]
3474
3916
  #
3475
3917
  # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/LaunchTemplateSpecification AWS API Documentation
@@ -3614,7 +4056,7 @@ module Aws::Batch
3614
4056
  #
3615
4057
  # <note markdown="1"> The Amazon ECS optimized AMIs don't have swap enabled by default.
3616
4058
  # You must enable swap on the instance to use this feature. For more
3617
- # information, see [Instance Store Swap Volumes][2] in the *Amazon
4059
+ # information, see [Instance store swap volumes][2] in the *Amazon
3618
4060
  # EC2 User Guide for Linux Instances* or [How do I allocate memory
3619
4061
  # to work as swap space in an Amazon EC2 instance by using a swap
3620
4062
  # file?][3]
@@ -3806,6 +4248,8 @@ module Aws::Batch
3806
4248
  include Aws::Structure
3807
4249
  end
3808
4250
 
4251
+ # Contains the parameters for `ListSchedulingPolicies`.
4252
+ #
3809
4253
  # @note When making an API call, you may pass ListSchedulingPoliciesRequest
3810
4254
  # data as a hash:
3811
4255
  #
@@ -3871,6 +4315,8 @@ module Aws::Batch
3871
4315
  include Aws::Structure
3872
4316
  end
3873
4317
 
4318
+ # Contains the parameters for `ListTagsForResource`.
4319
+ #
3874
4320
  # @note When making an API call, you may pass ListTagsForResourceRequest
3875
4321
  # data as a hash:
3876
4322
  #
@@ -3941,7 +4387,7 @@ module Aws::Batch
3941
4387
  # awslogs
3942
4388
  #
3943
4389
  # : Specifies the Amazon CloudWatch Logs logging driver. For more
3944
- # information, see [Using the awslogs Log Driver][1] in the *Batch
4390
+ # information, see [Using the awslogs log driver][1] in the *Batch
3945
4391
  # User Guide* and [Amazon CloudWatch Logs logging driver][2] in the
3946
4392
  # Docker documentation.
3947
4393
  #
@@ -4020,7 +4466,7 @@ module Aws::Batch
4020
4466
  #
4021
4467
  # @!attribute [rw] secret_options
4022
4468
  # The secrets to pass to the log configuration. For more information,
4023
- # see [Specifying Sensitive Data][1] in the *Batch User Guide*.
4469
+ # see [Specifying sensitive data][1] in the *Batch User Guide*.
4024
4470
  #
4025
4471
  #
4026
4472
  #
@@ -5018,7 +5464,7 @@ module Aws::Batch
5018
5464
  #
5019
5465
  # <note markdown="1"> If you're trying to maximize your resource utilization by
5020
5466
  # providing your jobs as much memory as possible for a particular
5021
- # instance type, see [Memory Management][4] in the *Batch User
5467
+ # instance type, see [Memory management][4] in the *Batch User
5022
5468
  # Guide*.
5023
5469
  #
5024
5470
  # </note>
@@ -5189,7 +5635,7 @@ module Aws::Batch
5189
5635
  # The tags that you apply to the scheduling policy to categorize and
5190
5636
  # organize your resources. Each tag consists of a key and an optional
5191
5637
  # value. For more information, see [Tagging Amazon Web Services
5192
- # Resources][1] in *Amazon Web Services General Reference*.
5638
+ # resources][1] in *Amazon Web Services General Reference*.
5193
5639
  #
5194
5640
  #
5195
5641
  #
@@ -5486,10 +5932,10 @@ module Aws::Batch
5486
5932
  # @!attribute [rw] container_overrides
5487
5933
  # A list of container overrides in the JSON format that specify the
5488
5934
  # 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
5935
+ # overrides it receives. You can override the default command for a
5936
+ # container, which is specified in the job definition or the Docker
5937
+ # image, with a `command` override. You can also override existing
5938
+ # environment variables on a container or add new environment
5493
5939
  # variables to it with an `environment` override.
5494
5940
  # @return [Types::ContainerOverrides]
5495
5941
  #
@@ -5590,6 +6036,8 @@ module Aws::Batch
5590
6036
  include Aws::Structure
5591
6037
  end
5592
6038
 
6039
+ # Contains the parameters for `TagResource`.
6040
+ #
5593
6041
  # @note When making an API call, you may pass TagResourceRequest
5594
6042
  # data as a hash:
5595
6043
  #
@@ -5754,6 +6202,8 @@ module Aws::Batch
5754
6202
  include Aws::Structure
5755
6203
  end
5756
6204
 
6205
+ # Contains the parameters for `UntagResource`.
6206
+ #
5757
6207
  # @note When making an API call, you may pass UntagResourceRequest
5758
6208
  # data as a hash:
5759
6209
  #
@@ -5802,8 +6252,35 @@ module Aws::Batch
5802
6252
  # desiredv_cpus: 1,
5803
6253
  # subnets: ["String"],
5804
6254
  # security_group_ids: ["String"],
6255
+ # allocation_strategy: "BEST_FIT_PROGRESSIVE", # accepts BEST_FIT_PROGRESSIVE, SPOT_CAPACITY_OPTIMIZED
6256
+ # instance_types: ["String"],
6257
+ # ec2_key_pair: "String",
6258
+ # instance_role: "String",
6259
+ # tags: {
6260
+ # "String" => "String",
6261
+ # },
6262
+ # placement_group: "String",
6263
+ # bid_percentage: 1,
6264
+ # launch_template: {
6265
+ # launch_template_id: "String",
6266
+ # launch_template_name: "String",
6267
+ # version: "String",
6268
+ # },
6269
+ # ec2_configuration: [
6270
+ # {
6271
+ # image_type: "ImageType", # required
6272
+ # image_id_override: "ImageIdOverride",
6273
+ # },
6274
+ # ],
6275
+ # update_to_latest_image_version: false,
6276
+ # type: "EC2", # accepts EC2, SPOT, FARGATE, FARGATE_SPOT
6277
+ # image_id: "String",
5805
6278
  # },
5806
6279
  # service_role: "String",
6280
+ # update_policy: {
6281
+ # terminate_jobs_on_update: false,
6282
+ # job_execution_timeout_minutes: 1,
6283
+ # },
5807
6284
  # }
5808
6285
  #
5809
6286
  # @!attribute [rw] compute_environment
@@ -5831,11 +6308,11 @@ module Aws::Batch
5831
6308
  #
5832
6309
  # @!attribute [rw] unmanagedv_cpus
5833
6310
  # 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.
6311
+ # compute environment. Do not specify this parameter for a managed
6312
+ # compute environment. This parameter is only used for fair share
6313
+ # scheduling to reserve vCPU capacity for new share identifiers. If
6314
+ # this parameter is not provided for a fair share job queue, no vCPU
6315
+ # capacity will be reserved.
5839
6316
  # @return [Integer]
5840
6317
  #
5841
6318
  # @!attribute [rw] compute_resources
@@ -5857,11 +6334,15 @@ module Aws::Batch
5857
6334
  # If the compute environment has a service-linked role, it can't be
5858
6335
  # changed to use a regular IAM role. Likewise, if the compute
5859
6336
  # environment has a regular IAM role, it can't be changed to use a
5860
- # service-linked role.
6337
+ # service-linked role. To update the parameters for the compute
6338
+ # environment that require an infrastructure update to change, the
6339
+ # **AWSServiceRoleForBatch** service-linked role must be used. For
6340
+ # more information, see [Updating compute environments][2] in the
6341
+ # *Batch User Guide*.
5861
6342
  #
5862
6343
  # 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.
6344
+ # either specify the full role ARN (recommended) or prefix the role
6345
+ # name with the path.
5865
6346
  #
5866
6347
  # <note markdown="1"> Depending on how you created your Batch service role, its ARN might
5867
6348
  # contain the `service-role` path prefix. When you only specify the
@@ -5875,8 +6356,19 @@ module Aws::Batch
5875
6356
  #
5876
6357
  #
5877
6358
  # [1]: https://docs.aws.amazon.com/batch/latest/userguide/service_IAM_role.html
6359
+ # [2]: https://docs.aws.amazon.com/batch/latest/userguide/updating-compute-environments.html
5878
6360
  # @return [String]
5879
6361
  #
6362
+ # @!attribute [rw] update_policy
6363
+ # Specifies the updated infrastructure update policy for the compute
6364
+ # environment. For more information about infrastructure updates, see
6365
+ # [Updating compute environments][1] in the *Batch User Guide*.
6366
+ #
6367
+ #
6368
+ #
6369
+ # [1]: https://docs.aws.amazon.com/batch/latest/userguide/updating-compute-environments.html
6370
+ # @return [Types::UpdatePolicy]
6371
+ #
5880
6372
  # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/UpdateComputeEnvironmentRequest AWS API Documentation
5881
6373
  #
5882
6374
  class UpdateComputeEnvironmentRequest < Struct.new(
@@ -5884,7 +6376,8 @@ module Aws::Batch
5884
6376
  :state,
5885
6377
  :unmanagedv_cpus,
5886
6378
  :compute_resources,
5887
- :service_role)
6379
+ :service_role,
6380
+ :update_policy)
5888
6381
  SENSITIVE = []
5889
6382
  include Aws::Structure
5890
6383
  end
@@ -5950,7 +6443,7 @@ module Aws::Batch
5950
6443
  # The priority of the job queue. Job queues with a higher priority (or
5951
6444
  # a higher integer value for the `priority` parameter) are evaluated
5952
6445
  # first when associated with the same compute environment. Priority is
5953
- # determined in descending order, for example, a job queue with a
6446
+ # determined in descending order. For example, a job queue with a
5954
6447
  # priority value of `10` is given scheduling preference over a job
5955
6448
  # queue with a priority value of `1`. All of the compute environments
5956
6449
  # must be either EC2 (`EC2` or `SPOT`) or Fargate (`FARGATE` or
@@ -5962,9 +6455,9 @@ module Aws::Batch
5962
6455
  # Details the set of compute environments mapped to a job queue and
5963
6456
  # their order relative to each other. This is one of the parameters
5964
6457
  # 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
6458
+ # runs a given job. Compute environments must be in the `VALID` state
6459
+ # before you can associate them with a job queue. All of the compute
6460
+ # environments must be either EC2 (`EC2` or `SPOT`) or Fargate
5968
6461
  # (`FARGATE` or `FARGATE_SPOT`). EC2 and Fargate compute environments
5969
6462
  # can't be mixed.
5970
6463
  #
@@ -6004,6 +6497,44 @@ module Aws::Batch
6004
6497
  include Aws::Structure
6005
6498
  end
6006
6499
 
6500
+ # Specifies the infrastructure update policy for the compute
6501
+ # environment. For more information about infrastructure updates, see
6502
+ # [Infrastructure updates][1] in the *Batch User Guide*.
6503
+ #
6504
+ #
6505
+ #
6506
+ # [1]: https://docs.aws.amazon.com/batch/latest/userguide/infrastructure-updates.html
6507
+ #
6508
+ # @note When making an API call, you may pass UpdatePolicy
6509
+ # data as a hash:
6510
+ #
6511
+ # {
6512
+ # terminate_jobs_on_update: false,
6513
+ # job_execution_timeout_minutes: 1,
6514
+ # }
6515
+ #
6516
+ # @!attribute [rw] terminate_jobs_on_update
6517
+ # Specifies whether jobs are automatically terminated when the
6518
+ # computer environment infrastructure is updated. The default value is
6519
+ # `false`.
6520
+ # @return [Boolean]
6521
+ #
6522
+ # @!attribute [rw] job_execution_timeout_minutes
6523
+ # Specifies the job timeout, in minutes, when the compute environment
6524
+ # infrastructure is updated. The default value is 30.
6525
+ # @return [Integer]
6526
+ #
6527
+ # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/UpdatePolicy AWS API Documentation
6528
+ #
6529
+ class UpdatePolicy < Struct.new(
6530
+ :terminate_jobs_on_update,
6531
+ :job_execution_timeout_minutes)
6532
+ SENSITIVE = []
6533
+ include Aws::Structure
6534
+ end
6535
+
6536
+ # Contains the parameters for `UpdateSchedulingPolicy`.
6537
+ #
6007
6538
  # @note When making an API call, you may pass UpdateSchedulingPolicyRequest
6008
6539
  # data as a hash:
6009
6540
  #