aws-sdk-batch 1.58.0 → 1.61.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
@@ -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
  #