aws-sdk-batch 1.53.0 → 1.54.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -222,6 +222,11 @@ module Aws::Batch
222
222
  # The Amazon Resource Name (ARN) of the compute environment.
223
223
  # @return [String]
224
224
  #
225
+ # @!attribute [rw] unmanagedv_cpus
226
+ # The maximum number of VCPUs expected to be used for an unmanaged
227
+ # compute environment.
228
+ # @return [Integer]
229
+ #
225
230
  # @!attribute [rw] ecs_cluster_arn
226
231
  # The Amazon Resource Name (ARN) of the underlying Amazon ECS cluster
227
232
  # used by the compute environment.
@@ -294,6 +299,7 @@ module Aws::Batch
294
299
  class ComputeEnvironmentDetail < Struct.new(
295
300
  :compute_environment_name,
296
301
  :compute_environment_arn,
302
+ :unmanagedv_cpus,
297
303
  :ecs_cluster_arn,
298
304
  :tags,
299
305
  :type,
@@ -606,7 +612,7 @@ module Aws::Batch
606
612
  # is the tag value−for example, `\{ "Name": "Batch Instance -
607
613
  # C4OnDemand" \}`. This is helpful for recognizing your Batch
608
614
  # instances in the Amazon EC2 console. These tags can't be updated or
609
- # removed after the compute environment is created.Aany changes to
615
+ # removed after the compute environment is created. Any changes to
610
616
  # these tags require that you create a new compute environment and
611
617
  # remove the old compute environment. These tags aren't seen when
612
618
  # using the Batch `ListTagsForResource` API operation.
@@ -700,7 +706,9 @@ module Aws::Batch
700
706
  # @!attribute [rw] ec2_configuration
701
707
  # Provides information used to select Amazon Machine Images (AMIs) for
702
708
  # EC2 instances in the compute environment. If `Ec2Configuration`
703
- # isn't specified, the default is `ECS_AL1`.
709
+ # isn't specified, the default is `ECS_AL2`.
710
+ #
711
+ # One or two values can be provided.
704
712
  #
705
713
  # <note markdown="1"> This parameter isn't applicable to jobs that are running on Fargate
706
714
  # resources, and shouldn't be specified.
@@ -829,7 +837,7 @@ module Aws::Batch
829
837
  # The number of vCPUs reserved for the container. For jobs that run on
830
838
  # EC2 resources, you can specify the vCPU requirement for the job
831
839
  # using `resourceRequirements`, but you can't specify the vCPU
832
- # requirements in both the `vcpus` and `resourceRequirement` object.
840
+ # requirements in both the `vcpus` and `resourceRequirements` object.
833
841
  # This parameter maps to `CpuShares` in the [Create a container][1]
834
842
  # section of the [Docker Remote API][2] and the `--cpu-shares` option
835
843
  # to [docker run][3]. Each vCPU is equivalent to 1,024 CPU shares. You
@@ -852,7 +860,7 @@ module Aws::Batch
852
860
  #
853
861
  # @!attribute [rw] memory
854
862
  # For jobs run on EC2 resources that didn't specify memory
855
- # requirements using `ResourceRequirement`, the number of MiB of
863
+ # requirements using `resourceRequirements`, the number of MiB of
856
864
  # memory reserved for the job. For other jobs, including all run on
857
865
  # Fargate resources, see `resourceRequirements`.
858
866
  # @return [Integer]
@@ -1125,48 +1133,41 @@ module Aws::Batch
1125
1133
  # }
1126
1134
  #
1127
1135
  # @!attribute [rw] vcpus
1128
- # This parameter indicates the number of vCPUs reserved for the
1129
- # container.It overrides the `vcpus` parameter that's set in the job
1136
+ # This parameter is deprecated, use `resourceRequirements` to override
1137
+ # the `vcpus` parameter that's set in the job definition. It's not
1138
+ # supported for jobs that run on Fargate resources. For jobs run on
1139
+ # EC2 resources, it overrides the `vcpus` parameter set in the job
1130
1140
  # definition, but doesn't override any vCPU requirement specified in
1131
- # the `resourceRequirement` structure in the job definition. To
1141
+ # the `resourceRequirements` structure in the job definition. To
1132
1142
  # override vCPU requirements that are specified in the
1133
- # `ResourceRequirement` structure in the job definition,
1134
- # `ResourceRequirement` must be specified in the `SubmitJob` request,
1135
- # with `type` set to `VCPU` and `value` set to the new value.
1136
- #
1137
- # This parameter maps to `CpuShares` in the [Create a container][1]
1138
- # section of the [Docker Remote API][2] and the `--cpu-shares` option
1139
- # to [docker run][3]. Each vCPU is equivalent to 1,024 CPU shares. You
1140
- # must specify at least one vCPU.
1141
- #
1142
- # <note markdown="1"> This parameter is supported for jobs that run on EC2 resources, but
1143
- # isn't supported for jobs that run on Fargate resources. For Fargate
1144
- # resources, you can only use `resourceRequirement`. For EC2
1145
- # resources, you can use either this parameter or
1146
- # `resourceRequirement` but not both.
1147
- #
1148
- # </note>
1143
+ # `resourceRequirements` structure in the job definition,
1144
+ # `resourceRequirements` must be specified in the `SubmitJob` request,
1145
+ # with `type` set to `VCPU` and `value` set to the new value. For more
1146
+ # information, see [Can't override job definition resource
1147
+ # requirements][1] in the *Batch User Guide*.
1149
1148
  #
1150
1149
  #
1151
1150
  #
1152
- # [1]: https://docs.docker.com/engine/api/v1.23/#create-a-container
1153
- # [2]: https://docs.docker.com/engine/api/v1.23/
1154
- # [3]: https://docs.docker.com/engine/reference/run/
1151
+ # [1]: https://docs.aws.amazon.com/batch/latest/userguide/troubleshooting.html#override-resource-requirements
1155
1152
  # @return [Integer]
1156
1153
  #
1157
1154
  # @!attribute [rw] memory
1158
- # This parameter indicates the amount of memory (in MiB) that's
1159
- # reserved for the job. It overrides the `memory` parameter set in the
1160
- # job definition, but doesn't override any memory requirement
1161
- # specified in the `ResourceRequirement` structure in the job
1162
- # definition. To override memory requirements that are specified in
1163
- # the `ResourceRequirement` structure in the job definition,
1164
- # `ResourceRequirement` must be specified in the `SubmitJob` request,
1165
- # with `type` set to `MEMORY` and `value` set to the new value.
1166
- #
1167
- # This parameter is supported for jobs that run on EC2 resources, but
1168
- # isn't supported for jobs that run on Fargate resources. For these
1169
- # resources, use `resourceRequirement` instead.
1155
+ # This parameter is deprecated, use `resourceRequirements` to override
1156
+ # the memory requirements specified in the job definition. It's not
1157
+ # supported for jobs that run on Fargate resources. For jobs run on
1158
+ # EC2 resources, it overrides the `memory` parameter set in the job
1159
+ # definition, but doesn't override any memory requirement specified
1160
+ # in the `resourceRequirements` structure in the job definition. To
1161
+ # override memory requirements that are specified in the
1162
+ # `resourceRequirements` structure in the job definition,
1163
+ # `resourceRequirements` must be specified in the `SubmitJob` request,
1164
+ # with `type` set to `MEMORY` and `value` set to the new value. For
1165
+ # more information, see [Can't override job definition resource
1166
+ # requirements][1] in the *Batch User Guide*.
1167
+ #
1168
+ #
1169
+ #
1170
+ # [1]: https://docs.aws.amazon.com/batch/latest/userguide/troubleshooting.html#override-resource-requirements
1170
1171
  # @return [Integer]
1171
1172
  #
1172
1173
  # @!attribute [rw] command
@@ -1359,24 +1360,16 @@ module Aws::Batch
1359
1360
  # @return [String]
1360
1361
  #
1361
1362
  # @!attribute [rw] vcpus
1362
- # The number of vCPUs reserved for the job. Each vCPU is equivalent to
1363
- # 1,024 CPU shares. This parameter maps to `CpuShares` in the [Create
1364
- # a container][1] section of the [Docker Remote API][2] and the
1365
- # `--cpu-shares` option to [docker run][3]. The number of vCPUs must
1366
- # be specified but can be specified in several places. You must
1367
- # specify it at least once for each node.
1368
- #
1369
- # This parameter is supported on EC2 resources but isn't supported
1370
- # for jobs that run on Fargate resources. For these resources, use
1371
- # `resourceRequirement` instead. You can use this parameter or
1372
- # `resourceRequirements` structure but not both.
1363
+ # This parameter is deprecated, use `resourceRequirements` to specify
1364
+ # the vCPU requirements for the job definition. It's not supported
1365
+ # for jobs that run on Fargate resources. For jobs run on EC2
1366
+ # resources, it specifies the number of vCPUs reserved for the job.
1373
1367
  #
1374
- # <note markdown="1"> This parameter isn't applicable to jobs that are running on Fargate
1375
- # resources and shouldn't be provided. For jobs that run on Fargate
1376
- # resources, you must specify the vCPU requirement for the job using
1377
- # `resourceRequirements`.
1378
- #
1379
- # </note>
1368
+ # Each vCPU is equivalent to 1,024 CPU shares. This parameter maps to
1369
+ # `CpuShares` in the [Create a container][1] section of the [Docker
1370
+ # Remote API][2] and the `--cpu-shares` option to [docker run][3]. The
1371
+ # number of vCPUs must be specified but can be specified in several
1372
+ # places. You must specify it at least once for each node.
1380
1373
  #
1381
1374
  #
1382
1375
  #
@@ -1386,34 +1379,15 @@ module Aws::Batch
1386
1379
  # @return [Integer]
1387
1380
  #
1388
1381
  # @!attribute [rw] memory
1389
- # This parameter indicates the memory hard limit (in MiB) for a
1382
+ # This parameter is deprecated, use `resourceRequirements` to specify
1383
+ # the memory requirements for the job definition. It's not supported
1384
+ # for jobs that run on Fargate resources. For jobs run on EC2
1385
+ # resources, it specifies the memory hard limit (in MiB) for a
1390
1386
  # container. If your container attempts to exceed the specified
1391
1387
  # number, it's terminated. You must specify at least 4 MiB of memory
1392
1388
  # for a job using this parameter. The memory hard limit can be
1393
1389
  # specified in several places. It must be specified for each node at
1394
1390
  # least once.
1395
- #
1396
- # This parameter maps to `Memory` in the [Create a container][1]
1397
- # section of the [Docker Remote API][2] and the `--memory` option to
1398
- # [docker run][3].
1399
- #
1400
- # This parameter is supported on EC2 resources but isn't supported on
1401
- # Fargate resources. For Fargate resources, you should specify the
1402
- # memory requirement using `resourceRequirement`. You can also do this
1403
- # for EC2 resources.
1404
- #
1405
- # <note markdown="1"> If you're trying to maximize your resource utilization by providing
1406
- # your jobs as much memory as possible for a particular instance type,
1407
- # see [Memory Management][4] in the *Batch User Guide*.
1408
- #
1409
- # </note>
1410
- #
1411
- #
1412
- #
1413
- # [1]: https://docs.docker.com/engine/api/v1.23/#create-a-container
1414
- # [2]: https://docs.docker.com/engine/api/v1.23/
1415
- # [3]: https://docs.docker.com/engine/reference/run/
1416
- # [4]: https://docs.aws.amazon.com/batch/latest/userguide/memory-management.html
1417
1391
  # @return [Integer]
1418
1392
  #
1419
1393
  # @!attribute [rw] command
@@ -1693,6 +1667,7 @@ module Aws::Batch
1693
1667
  # compute_environment_name: "String", # required
1694
1668
  # type: "MANAGED", # required, accepts MANAGED, UNMANAGED
1695
1669
  # state: "ENABLED", # accepts ENABLED, DISABLED
1670
+ # unmanagedv_cpus: 1,
1696
1671
  # compute_resources: {
1697
1672
  # type: "EC2", # required, accepts EC2, SPOT, FARGATE, FARGATE_SPOT
1698
1673
  # allocation_strategy: "BEST_FIT", # accepts BEST_FIT, BEST_FIT_PROGRESSIVE, SPOT_CAPACITY_OPTIMIZED
@@ -1762,6 +1737,19 @@ module Aws::Batch
1762
1737
  # scale in to `minvCpus` value after instances become idle.
1763
1738
  # @return [String]
1764
1739
  #
1740
+ # @!attribute [rw] unmanagedv_cpus
1741
+ # The maximum number of vCPUs for an unmanaged compute environment.
1742
+ # This parameter is only used for fair share scheduling to reserve
1743
+ # vCPU capacity for new share identifiers. If this parameter is not
1744
+ # provided for a fair share job queue, no vCPU capacity will be
1745
+ # reserved.
1746
+ #
1747
+ # <note markdown="1"> This parameter is only supported when the `type` parameter is set to
1748
+ # `UNMANAGED`/
1749
+ #
1750
+ # </note>
1751
+ # @return [Integer]
1752
+ #
1765
1753
  # @!attribute [rw] compute_resources
1766
1754
  # Details about the compute resources managed by the compute
1767
1755
  # environment. This parameter is required for managed compute
@@ -1831,6 +1819,7 @@ module Aws::Batch
1831
1819
  :compute_environment_name,
1832
1820
  :type,
1833
1821
  :state,
1822
+ :unmanagedv_cpus,
1834
1823
  :compute_resources,
1835
1824
  :service_role,
1836
1825
  :tags)
@@ -1864,6 +1853,7 @@ module Aws::Batch
1864
1853
  # {
1865
1854
  # job_queue_name: "String", # required
1866
1855
  # state: "ENABLED", # accepts ENABLED, DISABLED
1856
+ # scheduling_policy_arn: "String",
1867
1857
  # priority: 1, # required
1868
1858
  # compute_environment_order: [ # required
1869
1859
  # {
@@ -1888,6 +1878,18 @@ module Aws::Batch
1888
1878
  # finish.
1889
1879
  # @return [String]
1890
1880
  #
1881
+ # @!attribute [rw] scheduling_policy_arn
1882
+ # Amazon Resource Name (ARN) of the fair share scheduling policy. If
1883
+ # this parameter is specified, the job queue will use a fair share
1884
+ # scheduling policy. If this parameter is not specified, the job queue
1885
+ # will use a first in, first out (FIFO) scheduling policy. Once a job
1886
+ # queue is created, the fair share scheduling policy can be replaced
1887
+ # but not removed. The format is
1888
+ # `aws:Partition:batch:Region:Account:scheduling-policy/Name `. For
1889
+ # example,
1890
+ # `aws:aws:batch:us-west-2:012345678910:scheduling-policy/MySchedulingPolicy`.
1891
+ # @return [String]
1892
+ #
1891
1893
  # @!attribute [rw] priority
1892
1894
  # The priority of the job queue. Job queues with a higher priority (or
1893
1895
  # a higher integer value for the `priority` parameter) are evaluated
@@ -1934,6 +1936,7 @@ module Aws::Batch
1934
1936
  class CreateJobQueueRequest < Struct.new(
1935
1937
  :job_queue_name,
1936
1938
  :state,
1939
+ :scheduling_policy_arn,
1937
1940
  :priority,
1938
1941
  :compute_environment_order,
1939
1942
  :tags)
@@ -1958,6 +1961,81 @@ module Aws::Batch
1958
1961
  include Aws::Structure
1959
1962
  end
1960
1963
 
1964
+ # @note When making an API call, you may pass CreateSchedulingPolicyRequest
1965
+ # data as a hash:
1966
+ #
1967
+ # {
1968
+ # name: "String", # required
1969
+ # fairshare_policy: {
1970
+ # share_decay_seconds: 1,
1971
+ # compute_reservation: 1,
1972
+ # share_distribution: [
1973
+ # {
1974
+ # share_identifier: "String", # required
1975
+ # weight_factor: 1.0,
1976
+ # },
1977
+ # ],
1978
+ # },
1979
+ # tags: {
1980
+ # "TagKey" => "TagValue",
1981
+ # },
1982
+ # }
1983
+ #
1984
+ # @!attribute [rw] name
1985
+ # The name of the scheduling policy. Up to 128 letters (uppercase and
1986
+ # lowercase), numbers, hyphens, and underscores are allowed.
1987
+ # @return [String]
1988
+ #
1989
+ # @!attribute [rw] fairshare_policy
1990
+ # The fair share policy of the scheduling policy.
1991
+ # @return [Types::FairsharePolicy]
1992
+ #
1993
+ # @!attribute [rw] tags
1994
+ # The tags that you apply to the scheduling policy to help you
1995
+ # categorize and organize your resources. Each tag consists of a key
1996
+ # and an optional value. For more information, see [Tagging Amazon Web
1997
+ # Services Resources][1] in *Amazon Web Services General Reference*.
1998
+ #
1999
+ # These tags can be updated or removed using the [TagResource][2] and
2000
+ # [UntagResource][3] API operations.
2001
+ #
2002
+ #
2003
+ #
2004
+ # [1]: https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html
2005
+ # [2]: https://docs.aws.amazon.com/batch/latest/APIReference/API_TagResource.html
2006
+ # [3]: https://docs.aws.amazon.com/batch/latest/APIReference/API_UntagResource.html
2007
+ # @return [Hash<String,String>]
2008
+ #
2009
+ # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/CreateSchedulingPolicyRequest AWS API Documentation
2010
+ #
2011
+ class CreateSchedulingPolicyRequest < Struct.new(
2012
+ :name,
2013
+ :fairshare_policy,
2014
+ :tags)
2015
+ SENSITIVE = []
2016
+ include Aws::Structure
2017
+ end
2018
+
2019
+ # @!attribute [rw] name
2020
+ # The name of the scheduling policy.
2021
+ # @return [String]
2022
+ #
2023
+ # @!attribute [rw] arn
2024
+ # The Amazon Resource Name (ARN) of the scheduling policy. The format
2025
+ # is `aws:Partition:batch:Region:Account:scheduling-policy/Name `. For
2026
+ # example,
2027
+ # `aws:aws:batch:us-west-2:012345678910:scheduling-policy/MySchedulingPolicy`.
2028
+ # @return [String]
2029
+ #
2030
+ # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/CreateSchedulingPolicyResponse AWS API Documentation
2031
+ #
2032
+ class CreateSchedulingPolicyResponse < Struct.new(
2033
+ :name,
2034
+ :arn)
2035
+ SENSITIVE = []
2036
+ include Aws::Structure
2037
+ end
2038
+
1961
2039
  # Contains the parameters for `DeleteComputeEnvironment`.
1962
2040
  #
1963
2041
  # @note When making an API call, you may pass DeleteComputeEnvironmentRequest
@@ -2010,6 +2088,29 @@ module Aws::Batch
2010
2088
  #
2011
2089
  class DeleteJobQueueResponse < Aws::EmptyStructure; end
2012
2090
 
2091
+ # @note When making an API call, you may pass DeleteSchedulingPolicyRequest
2092
+ # data as a hash:
2093
+ #
2094
+ # {
2095
+ # arn: "String", # required
2096
+ # }
2097
+ #
2098
+ # @!attribute [rw] arn
2099
+ # The Amazon Resource Name (ARN) of the scheduling policy to delete.
2100
+ # @return [String]
2101
+ #
2102
+ # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/DeleteSchedulingPolicyRequest AWS API Documentation
2103
+ #
2104
+ class DeleteSchedulingPolicyRequest < Struct.new(
2105
+ :arn)
2106
+ SENSITIVE = []
2107
+ include Aws::Structure
2108
+ end
2109
+
2110
+ # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/DeleteSchedulingPolicyResponse AWS API Documentation
2111
+ #
2112
+ class DeleteSchedulingPolicyResponse < Aws::EmptyStructure; end
2113
+
2013
2114
  # @note When making an API call, you may pass DeregisterJobDefinitionRequest
2014
2115
  # data as a hash:
2015
2116
  #
@@ -2095,9 +2196,9 @@ module Aws::Batch
2095
2196
  # @!attribute [rw] next_token
2096
2197
  # The `nextToken` value to include in a future
2097
2198
  # `DescribeComputeEnvironments` request. When the results of a
2098
- # `DescribeJobDefinitions` request exceed `maxResults`, this value can
2099
- # be used to retrieve the next page of results. This value is `null`
2100
- # when there are no more results to return.
2199
+ # `DescribeComputeEnvironments` request exceed `maxResults`, this
2200
+ # value can be used to retrieve the next page of results. This value
2201
+ # is `null` when there are no more results to return.
2101
2202
  # @return [String]
2102
2203
  #
2103
2204
  # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/DescribeComputeEnvironmentsResponse AWS API Documentation
@@ -2304,6 +2405,38 @@ module Aws::Batch
2304
2405
  include Aws::Structure
2305
2406
  end
2306
2407
 
2408
+ # @note When making an API call, you may pass DescribeSchedulingPoliciesRequest
2409
+ # data as a hash:
2410
+ #
2411
+ # {
2412
+ # arns: ["String"], # required
2413
+ # }
2414
+ #
2415
+ # @!attribute [rw] arns
2416
+ # A list of up to 100 scheduling policy Amazon Resource Name (ARN)
2417
+ # entries.
2418
+ # @return [Array<String>]
2419
+ #
2420
+ # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/DescribeSchedulingPoliciesRequest AWS API Documentation
2421
+ #
2422
+ class DescribeSchedulingPoliciesRequest < Struct.new(
2423
+ :arns)
2424
+ SENSITIVE = []
2425
+ include Aws::Structure
2426
+ end
2427
+
2428
+ # @!attribute [rw] scheduling_policies
2429
+ # The list of scheduling policies.
2430
+ # @return [Array<Types::SchedulingPolicyDetail>]
2431
+ #
2432
+ # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/DescribeSchedulingPoliciesResponse AWS API Documentation
2433
+ #
2434
+ class DescribeSchedulingPoliciesResponse < Struct.new(
2435
+ :scheduling_policies)
2436
+ SENSITIVE = []
2437
+ include Aws::Structure
2438
+ end
2439
+
2307
2440
  # An object representing a container instance host device.
2308
2441
  #
2309
2442
  # <note markdown="1"> This object isn't applicable to jobs that are running on Fargate
@@ -2478,9 +2611,7 @@ module Aws::Batch
2478
2611
 
2479
2612
  # Provides information used to select Amazon Machine Images (AMIs) for
2480
2613
  # instances in the compute environment. If `Ec2Configuration` isn't
2481
- # specified, the default is currently `ECS_AL1` ([Amazon Linux][1]) for
2482
- # non-GPU, non AWSGraviton instances. Starting on March 31, 2021, this
2483
- # default will be changing to `ECS_AL2` ([Amazon Linux 2][2]).
2614
+ # specified, the default is `ECS_AL2` ([Amazon Linux 2][1]).
2484
2615
  #
2485
2616
  # <note markdown="1"> This object isn't applicable to jobs that are running on Fargate
2486
2617
  # resources.
@@ -2489,8 +2620,7 @@ module Aws::Batch
2489
2620
  #
2490
2621
  #
2491
2622
  #
2492
- # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html#alami
2493
- # [2]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html#al2ami
2623
+ # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html#al2ami
2494
2624
  #
2495
2625
  # @note When making an API call, you may pass Ec2Configuration
2496
2626
  # data as a hash:
@@ -2503,36 +2633,29 @@ module Aws::Batch
2503
2633
  # @!attribute [rw] image_type
2504
2634
  # The image type to match with the instance type to select an AMI. If
2505
2635
  # the `imageIdOverride` parameter isn't specified, then a recent
2506
- # [Amazon ECS-optimized AMI][1] (`ECS_AL1`) is used. Starting on March
2507
- # 31, 2021, this default will be changing to `ECS_AL2` ([Amazon Linux
2508
- # 2][2]).
2636
+ # [Amazon ECS-optimized Amazon Linux 2 AMI][1] (`ECS_AL2`) is used.
2509
2637
  #
2510
2638
  # ECS\_AL2
2511
2639
  #
2512
- # : [Amazon Linux 2][2]− Default for all Amazon Web Services
2513
- # Graviton-based instance families (for example, `C6g`, `M6g`,
2514
- # `R6g`, and `T4g`) and can be used for all non-GPU instance types.
2640
+ # : [Amazon Linux 2][1]− Default for all non-GPU instance families.
2515
2641
  #
2516
2642
  # ECS\_AL2\_NVIDIA
2517
2643
  #
2518
- # : [Amazon Linux 2 (GPU)][3]−Default for all GPU instance families
2644
+ # : [Amazon Linux 2 (GPU)][2]−Default for all GPU instance families
2519
2645
  # (for example `P4` and `G4`) and can be used for all non Amazon Web
2520
2646
  # Services Graviton-based instance types.
2521
2647
  #
2522
2648
  # ECS\_AL1
2523
2649
  #
2524
- # : [Amazon Linux][4]−Default for all non-GPU, non Amazon Web Services
2525
- # Graviton instance families. Amazon Linux is reaching the
2526
- # end-of-life of standard support. For more information, see [Amazon
2527
- # Linux AMI][5].
2650
+ # : [Amazon Linux][3]. Amazon Linux is reaching the end-of-life of
2651
+ # standard support. For more information, see [Amazon Linux AMI][4].
2528
2652
  #
2529
2653
  #
2530
2654
  #
2531
- # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html
2532
- # [2]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html#al2ami
2533
- # [3]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html#gpuami
2534
- # [4]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html#alami
2535
- # [5]: http://aws.amazon.com/amazon-linux-ami/
2655
+ # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html#al2ami
2656
+ # [2]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html#gpuami
2657
+ # [3]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html#alami
2658
+ # [4]: http://aws.amazon.com/amazon-linux-ami/
2536
2659
  # @return [String]
2537
2660
  #
2538
2661
  # @!attribute [rw] image_id_override
@@ -2570,6 +2693,8 @@ module Aws::Batch
2570
2693
  # (including spaces or tabs). It can optionally end with an asterisk
2571
2694
  # (*) so that only the start of the string needs to be an exact
2572
2695
  # match.
2696
+ #
2697
+ # The string can be between 1 and 512 characters in length.
2573
2698
  # @return [String]
2574
2699
  #
2575
2700
  # @!attribute [rw] on_reason
@@ -2579,6 +2704,8 @@ module Aws::Batch
2579
2704
  # (including spaces and tabs). It can optionally end with an asterisk
2580
2705
  # (*) so that only the start of the string needs to be an exact
2581
2706
  # match.
2707
+ #
2708
+ # The string can be between 1 and 512 characters in length.
2582
2709
  # @return [String]
2583
2710
  #
2584
2711
  # @!attribute [rw] on_exit_code
@@ -2587,6 +2714,8 @@ module Aws::Batch
2587
2714
  # characters in length. It can contain only numbers, and can
2588
2715
  # optionally end with an asterisk (*) so that only the start of the
2589
2716
  # string needs to be an exact match.
2717
+ #
2718
+ # The string can be between 1 and 512 characters in length.
2590
2719
  # @return [String]
2591
2720
  #
2592
2721
  # @!attribute [rw] action
@@ -2606,6 +2735,69 @@ module Aws::Batch
2606
2735
  include Aws::Structure
2607
2736
  end
2608
2737
 
2738
+ # The fair share policy for a scheduling policy.
2739
+ #
2740
+ # @note When making an API call, you may pass FairsharePolicy
2741
+ # data as a hash:
2742
+ #
2743
+ # {
2744
+ # share_decay_seconds: 1,
2745
+ # compute_reservation: 1,
2746
+ # share_distribution: [
2747
+ # {
2748
+ # share_identifier: "String", # required
2749
+ # weight_factor: 1.0,
2750
+ # },
2751
+ # ],
2752
+ # }
2753
+ #
2754
+ # @!attribute [rw] share_decay_seconds
2755
+ # The time period to use to calculate a fair share percentage for each
2756
+ # fair share identifier in use, in seconds. A value of zero (0)
2757
+ # indicates that only current usage should be measured; if there are
2758
+ # four evenly weighted fair share identifiers then each can only use
2759
+ # up to 25% of the available CPU resources, even if some of the fair
2760
+ # share identifiers have no currently running jobs. The decay allows
2761
+ # for more recently run jobs to have more weight than jobs that ran
2762
+ # earlier. The maximum supported value is 604800 (1 week).
2763
+ # @return [Integer]
2764
+ #
2765
+ # @!attribute [rw] compute_reservation
2766
+ # A value used to reserve some of the available maximum vCPU for fair
2767
+ # share identifiers that have not yet been used.
2768
+ #
2769
+ # The reserved ratio is `(computeReservation/100)^ActiveFairShares `
2770
+ # where ` ActiveFairShares ` is the number of active fair share
2771
+ # identifiers.
2772
+ #
2773
+ # For example, a `computeReservation` value of 50 indicates that Batch
2774
+ # should reserve 50% of the maximum available vCPU if there is only
2775
+ # one fair share identifier, 25% if there are two fair share
2776
+ # identifiers, and 12.5% if there are three fair share identifiers. A
2777
+ # `computeReservation` value of 25 indicates that Batch should reserve
2778
+ # 25% of the maximum available vCPU if there is only one fair share
2779
+ # identifier, 6.25% if there are two fair share identifiers, and 1.56%
2780
+ # if there are three fair share identifiers.
2781
+ #
2782
+ # The minimum value is 0 and the maximum value is 99.
2783
+ # @return [Integer]
2784
+ #
2785
+ # @!attribute [rw] share_distribution
2786
+ # Array of `SharedIdentifier` objects that contain the weights for the
2787
+ # fair share identifiers for the fair share policy. Fair share
2788
+ # identifiers that are not included have a default weight of `1.0`.
2789
+ # @return [Array<Types::ShareAttributes>]
2790
+ #
2791
+ # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/FairsharePolicy AWS API Documentation
2792
+ #
2793
+ class FairsharePolicy < Struct.new(
2794
+ :share_decay_seconds,
2795
+ :compute_reservation,
2796
+ :share_distribution)
2797
+ SENSITIVE = []
2798
+ include Aws::Structure
2799
+ end
2800
+
2609
2801
  # The platform configuration for jobs that are running on Fargate
2610
2802
  # resources. Jobs that run on EC2 resources must not specify this
2611
2803
  # parameter.
@@ -2695,16 +2887,24 @@ module Aws::Batch
2695
2887
  # @return [String]
2696
2888
  #
2697
2889
  # @!attribute [rw] type
2698
- # The type of job definition. If the job is run on Fargate resources,
2699
- # then `multinode` isn't supported. For more information about
2700
- # multi-node parallel jobs, see [Creating a multi-node parallel job
2701
- # definition][1] in the *Batch User Guide*.
2890
+ # The type of job definition, either `container` or `multinode`. If
2891
+ # the job is run on Fargate resources, then `multinode` isn't
2892
+ # supported. For more information about multi-node parallel jobs, see
2893
+ # [Creating a multi-node parallel job definition][1] in the *Batch
2894
+ # User Guide*.
2702
2895
  #
2703
2896
  #
2704
2897
  #
2705
2898
  # [1]: https://docs.aws.amazon.com/batch/latest/userguide/multi-node-job-def.html
2706
2899
  # @return [String]
2707
2900
  #
2901
+ # @!attribute [rw] scheduling_priority
2902
+ # The scheduling priority of the job definition. This will only affect
2903
+ # jobs in job queues with a fair share policy. Jobs with a higher
2904
+ # scheduling priority will be scheduled before jobs with a lower
2905
+ # scheduling priority.
2906
+ # @return [Integer]
2907
+ #
2708
2908
  # @!attribute [rw] parameters
2709
2909
  # Default parameters or parameter substitution placeholders that are
2710
2910
  # set in the job definition. Parameters are specified as a key-value
@@ -2771,6 +2971,7 @@ module Aws::Batch
2771
2971
  :revision,
2772
2972
  :status,
2773
2973
  :type,
2974
+ :scheduling_priority,
2774
2975
  :parameters,
2775
2976
  :retry_strategy,
2776
2977
  :container_properties,
@@ -2843,6 +3044,17 @@ module Aws::Batch
2843
3044
  # [1]: https://docs.aws.amazon.com/batch/latest/userguide/troubleshooting.html#job_stuck_in_runnable
2844
3045
  # @return [String]
2845
3046
  #
3047
+ # @!attribute [rw] share_identifier
3048
+ # The share identifier for the job.
3049
+ # @return [String]
3050
+ #
3051
+ # @!attribute [rw] scheduling_priority
3052
+ # The scheduling policy of the job definition. This will only affect
3053
+ # jobs in job queues with a fair share policy. Jobs with a higher
3054
+ # scheduling priority will be scheduled before jobs with a lower
3055
+ # scheduling priority.
3056
+ # @return [Integer]
3057
+ #
2846
3058
  # @!attribute [rw] attempts
2847
3059
  # A list of job attempts associated with this job.
2848
3060
  # @return [Array<Types::AttemptDetail>]
@@ -2947,6 +3159,8 @@ module Aws::Batch
2947
3159
  :job_id,
2948
3160
  :job_queue,
2949
3161
  :status,
3162
+ :share_identifier,
3163
+ :scheduling_priority,
2950
3164
  :attempts,
2951
3165
  :status_reason,
2952
3166
  :created_at,
@@ -2985,6 +3199,13 @@ module Aws::Batch
2985
3199
  # but jobs already in the queue can finish.
2986
3200
  # @return [String]
2987
3201
  #
3202
+ # @!attribute [rw] scheduling_policy_arn
3203
+ # Amazon Resource Name (ARN) of the scheduling policy. The format is
3204
+ # `aws:Partition:batch:Region:Account:scheduling-policy/Name `. For
3205
+ # example,
3206
+ # `aws:aws:batch:us-west-2:012345678910:scheduling-policy/MySchedulingPolicy`.
3207
+ # @return [String]
3208
+ #
2988
3209
  # @!attribute [rw] status
2989
3210
  # The status of the job queue (for example, `CREATING` or `VALID`).
2990
3211
  # @return [String]
@@ -3027,6 +3248,7 @@ module Aws::Batch
3027
3248
  :job_queue_name,
3028
3249
  :job_queue_arn,
3029
3250
  :state,
3251
+ :scheduling_policy_arn,
3030
3252
  :status,
3031
3253
  :status_reason,
3032
3254
  :priority,
@@ -3583,6 +3805,71 @@ module Aws::Batch
3583
3805
  include Aws::Structure
3584
3806
  end
3585
3807
 
3808
+ # @note When making an API call, you may pass ListSchedulingPoliciesRequest
3809
+ # data as a hash:
3810
+ #
3811
+ # {
3812
+ # max_results: 1,
3813
+ # next_token: "String",
3814
+ # }
3815
+ #
3816
+ # @!attribute [rw] max_results
3817
+ # The maximum number of results returned by `ListSchedulingPolicies`
3818
+ # in paginated output. When this parameter is used,
3819
+ # `ListSchedulingPolicies` only returns `maxResults` results in a
3820
+ # single page and a `nextToken` response element. The remaining
3821
+ # results of the initial request can be seen by sending another
3822
+ # `ListSchedulingPolicies` request with the returned `nextToken`
3823
+ # value. This value can be between 1 and 100. If this parameter isn't
3824
+ # used, then `ListSchedulingPolicies` returns up to 100 results and a
3825
+ # `nextToken` value if applicable.
3826
+ # @return [Integer]
3827
+ #
3828
+ # @!attribute [rw] next_token
3829
+ # The `nextToken` value returned from a previous paginated
3830
+ # `ListSchedulingPolicies` request where `maxResults` was used and the
3831
+ # results exceeded the value of that parameter. Pagination continues
3832
+ # from the end of the previous results that returned the `nextToken`
3833
+ # value. This value is `null` when there are no more results to
3834
+ # return.
3835
+ #
3836
+ # <note markdown="1"> This token should be treated as an opaque identifier that's only
3837
+ # used to retrieve the next items in a list and not for other
3838
+ # programmatic purposes.
3839
+ #
3840
+ # </note>
3841
+ # @return [String]
3842
+ #
3843
+ # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/ListSchedulingPoliciesRequest AWS API Documentation
3844
+ #
3845
+ class ListSchedulingPoliciesRequest < Struct.new(
3846
+ :max_results,
3847
+ :next_token)
3848
+ SENSITIVE = []
3849
+ include Aws::Structure
3850
+ end
3851
+
3852
+ # @!attribute [rw] scheduling_policies
3853
+ # A list of scheduling policies that match the request.
3854
+ # @return [Array<Types::SchedulingPolicyListingDetail>]
3855
+ #
3856
+ # @!attribute [rw] next_token
3857
+ # The `nextToken` value to include in a future
3858
+ # `ListSchedulingPolicies` request. When the results of a
3859
+ # `ListSchedulingPolicies` request exceed `maxResults`, this value can
3860
+ # be used to retrieve the next page of results. This value is `null`
3861
+ # when there are no more results to return.
3862
+ # @return [String]
3863
+ #
3864
+ # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/ListSchedulingPoliciesResponse AWS API Documentation
3865
+ #
3866
+ class ListSchedulingPoliciesResponse < Struct.new(
3867
+ :scheduling_policies,
3868
+ :next_token)
3869
+ SENSITIVE = []
3870
+ include Aws::Structure
3871
+ end
3872
+
3586
3873
  # @note When making an API call, you may pass ListTagsForResourceRequest
3587
3874
  # data as a hash:
3588
3875
  #
@@ -3593,8 +3880,9 @@ module Aws::Batch
3593
3880
  # @!attribute [rw] resource_arn
3594
3881
  # The Amazon Resource Name (ARN) that identifies the resource that
3595
3882
  # tags are listed for. Batch resources that support tags are compute
3596
- # environments, jobs, job definitions, and job queues. ARNs for child
3597
- # jobs of array and multi-node parallel (MNP) jobs are not supported.
3883
+ # environments, jobs, job definitions, job queues, and scheduling
3884
+ # policies. ARNs for child jobs of array and multi-node parallel (MNP)
3885
+ # jobs are not supported.
3598
3886
  # @return [String]
3599
3887
  #
3600
3888
  # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/ListTagsForResourceRequest AWS API Documentation
@@ -4299,6 +4587,7 @@ module Aws::Batch
4299
4587
  # parameters: {
4300
4588
  # "String" => "String",
4301
4589
  # },
4590
+ # scheduling_priority: 1,
4302
4591
  # container_properties: {
4303
4592
  # image: "String",
4304
4593
  # vcpus: 1,
@@ -4557,6 +4846,16 @@ module Aws::Batch
4557
4846
  # parameter defaults from the job definition.
4558
4847
  # @return [Hash<String,String>]
4559
4848
  #
4849
+ # @!attribute [rw] scheduling_priority
4850
+ # The scheduling priority for jobs that are submitted with this job
4851
+ # definition. This will only affect jobs in job queues with a fair
4852
+ # share policy. Jobs with a higher scheduling priority will be
4853
+ # scheduled before jobs with a lower scheduling priority.
4854
+ #
4855
+ # The minimum supported value is 0 and the maximum supported value is
4856
+ # 9999.
4857
+ # @return [Integer]
4858
+ #
4560
4859
  # @!attribute [rw] container_properties
4561
4860
  # An object with various properties specific to single-node
4562
4861
  # container-based jobs. If the job definition's `type` parameter is
@@ -4641,6 +4940,7 @@ module Aws::Batch
4641
4940
  :job_definition_name,
4642
4941
  :type,
4643
4942
  :parameters,
4943
+ :scheduling_priority,
4644
4944
  :container_properties,
4645
4945
  :node_properties,
4646
4946
  :retry_strategy,
@@ -4775,7 +5075,7 @@ module Aws::Batch
4775
5075
  #
4776
5076
  # For jobs that are running on Fargate resources, then `value` must
4777
5077
  # match one of the supported values and the `MEMORY` values must be
4778
- # one of the values supported for that VCPU value. The supported
5078
+ # one of the values supported for that `VCPU` value. The supported
4779
5079
  # values are 0.25, 0.5, 1, 2, and 4
4780
5080
  #
4781
5081
  # value = 0.25
@@ -4867,6 +5167,60 @@ module Aws::Batch
4867
5167
  include Aws::Structure
4868
5168
  end
4869
5169
 
5170
+ # An object representing a scheduling policy.
5171
+ #
5172
+ # @!attribute [rw] name
5173
+ # The name of the scheduling policy.
5174
+ # @return [String]
5175
+ #
5176
+ # @!attribute [rw] arn
5177
+ # Amazon Resource Name (ARN) of the scheduling policy. An example
5178
+ # would be
5179
+ # `arn:aws:batch:us-east-1:123456789012:scheduling-policy/HighPriority
5180
+ # `
5181
+ # @return [String]
5182
+ #
5183
+ # @!attribute [rw] fairshare_policy
5184
+ # The fair share policy for the scheduling policy.
5185
+ # @return [Types::FairsharePolicy]
5186
+ #
5187
+ # @!attribute [rw] tags
5188
+ # The tags that you apply to the scheduling policy to help you
5189
+ # categorize and organize your resources. Each tag consists of a key
5190
+ # and an optional value. For more information, see [Tagging Amazon Web
5191
+ # Services Resources][1] in *Amazon Web Services General Reference*.
5192
+ #
5193
+ #
5194
+ #
5195
+ # [1]: https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html
5196
+ # @return [Hash<String,String>]
5197
+ #
5198
+ # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/SchedulingPolicyDetail AWS API Documentation
5199
+ #
5200
+ class SchedulingPolicyDetail < Struct.new(
5201
+ :name,
5202
+ :arn,
5203
+ :fairshare_policy,
5204
+ :tags)
5205
+ SENSITIVE = []
5206
+ include Aws::Structure
5207
+ end
5208
+
5209
+ # An object containing the details of a scheduling policy returned in a
5210
+ # `ListSchedulingPolicy` action.
5211
+ #
5212
+ # @!attribute [rw] arn
5213
+ # Amazon Resource Name (ARN) of the scheduling policy.
5214
+ # @return [String]
5215
+ #
5216
+ # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/SchedulingPolicyListingDetail AWS API Documentation
5217
+ #
5218
+ class SchedulingPolicyListingDetail < Struct.new(
5219
+ :arn)
5220
+ SENSITIVE = []
5221
+ include Aws::Structure
5222
+ end
5223
+
4870
5224
  # An object representing the secret to expose to your container. Secrets
4871
5225
  # can be exposed to a container in the following ways:
4872
5226
  #
@@ -4931,6 +5285,54 @@ module Aws::Batch
4931
5285
  include Aws::Structure
4932
5286
  end
4933
5287
 
5288
+ # Specifies the weights for the fair share identifiers for the fair
5289
+ # share policy. Fair share identifiers that are not included have a
5290
+ # default weight of `1.0`.
5291
+ #
5292
+ # @note When making an API call, you may pass ShareAttributes
5293
+ # data as a hash:
5294
+ #
5295
+ # {
5296
+ # share_identifier: "String", # required
5297
+ # weight_factor: 1.0,
5298
+ # }
5299
+ #
5300
+ # @!attribute [rw] share_identifier
5301
+ # A fair share identifier or fair share identifier prefix. If the
5302
+ # string ends with '*' then this entry specifies the weight factor
5303
+ # to use for fair share identifiers that begin with that prefix. The
5304
+ # list of fair share identifiers in a fair share policy cannot
5305
+ # overlap. For example you cannot have one that specifies a
5306
+ # `shareIdentifier` of `UserA*` and another that specifies a
5307
+ # `shareIdentifier` of `UserA-1`.
5308
+ #
5309
+ # There can be no more than 500 fair share identifiers active in a job
5310
+ # queue.
5311
+ #
5312
+ # The string is limited to 255 alphanumeric characters, optionally
5313
+ # followed by '*'.
5314
+ # @return [String]
5315
+ #
5316
+ # @!attribute [rw] weight_factor
5317
+ # The weight factor for the fair share identifier. The default value
5318
+ # is 1.0. A lower value has a higher priority for compute resources.
5319
+ # For example, jobs using a share identifier with a weight factor of
5320
+ # 0.125 (1/8) will get 8 times the compute resources of jobs using a
5321
+ # share identifier with a weight factor of 1.
5322
+ #
5323
+ # The smallest supported value is 0.0001 and the largest supported
5324
+ # value is 999.9999.
5325
+ # @return [Float]
5326
+ #
5327
+ # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/ShareAttributes AWS API Documentation
5328
+ #
5329
+ class ShareAttributes < Struct.new(
5330
+ :share_identifier,
5331
+ :weight_factor)
5332
+ SENSITIVE = []
5333
+ include Aws::Structure
5334
+ end
5335
+
4934
5336
  # Contains the parameters for `SubmitJob`.
4935
5337
  #
4936
5338
  # @note When making an API call, you may pass SubmitJobRequest
@@ -4939,6 +5341,8 @@ module Aws::Batch
4939
5341
  # {
4940
5342
  # job_name: "String", # required
4941
5343
  # job_queue: "String", # required
5344
+ # share_identifier: "String",
5345
+ # scheduling_priority_override: 1,
4942
5346
  # array_properties: {
4943
5347
  # size: 1,
4944
5348
  # },
@@ -5027,6 +5431,21 @@ module Aws::Batch
5027
5431
  # name or the Amazon Resource Name (ARN) of the queue.
5028
5432
  # @return [String]
5029
5433
  #
5434
+ # @!attribute [rw] share_identifier
5435
+ # The share identifier for the job.
5436
+ # @return [String]
5437
+ #
5438
+ # @!attribute [rw] scheduling_priority_override
5439
+ # The scheduling priority for the job. This will only affect jobs in
5440
+ # job queues with a fair share policy. Jobs with a higher scheduling
5441
+ # priority will be scheduled before jobs with a lower scheduling
5442
+ # priority. This will override any scheduling priority in the job
5443
+ # definition.
5444
+ #
5445
+ # The minimum supported value is 0 and the maximum supported value is
5446
+ # 9999.
5447
+ # @return [Integer]
5448
+ #
5030
5449
  # @!attribute [rw] array_properties
5031
5450
  # The array properties for the submitted job, such as the size of the
5032
5451
  # array. The array size can be between 2 and 10,000. If you specify
@@ -5132,6 +5551,8 @@ module Aws::Batch
5132
5551
  class SubmitJobRequest < Struct.new(
5133
5552
  :job_name,
5134
5553
  :job_queue,
5554
+ :share_identifier,
5555
+ :scheduling_priority_override,
5135
5556
  :array_properties,
5136
5557
  :depends_on,
5137
5558
  :job_definition,
@@ -5181,8 +5602,9 @@ module Aws::Batch
5181
5602
  # @!attribute [rw] resource_arn
5182
5603
  # The Amazon Resource Name (ARN) of the resource that tags are added
5183
5604
  # to. Batch resources that support tags are compute environments,
5184
- # jobs, job definitions, and job queues. ARNs for child jobs of array
5185
- # and multi-node parallel (MNP) jobs are not supported.
5605
+ # jobs, job definitions, job queues, and scheduling policies. ARNs for
5606
+ # child jobs of array and multi-node parallel (MNP) jobs are not
5607
+ # supported.
5186
5608
  # @return [String]
5187
5609
  #
5188
5610
  # @!attribute [rw] tags
@@ -5342,8 +5764,9 @@ module Aws::Batch
5342
5764
  # @!attribute [rw] resource_arn
5343
5765
  # The Amazon Resource Name (ARN) of the resource from which to delete
5344
5766
  # tags. Batch resources that support tags are compute environments,
5345
- # jobs, job definitions, and job queues. ARNs for child jobs of array
5346
- # and multi-node parallel (MNP) jobs are not supported.
5767
+ # jobs, job definitions, job queues, and scheduling policies. ARNs for
5768
+ # child jobs of array and multi-node parallel (MNP) jobs are not
5769
+ # supported.
5347
5770
  # @return [String]
5348
5771
  #
5349
5772
  # @!attribute [rw] tag_keys
@@ -5371,6 +5794,7 @@ module Aws::Batch
5371
5794
  # {
5372
5795
  # compute_environment: "String", # required
5373
5796
  # state: "ENABLED", # accepts ENABLED, DISABLED
5797
+ # unmanagedv_cpus: 1,
5374
5798
  # compute_resources: {
5375
5799
  # minv_cpus: 1,
5376
5800
  # maxv_cpus: 1,
@@ -5404,6 +5828,15 @@ module Aws::Batch
5404
5828
  # scale in to `minvCpus` value after instances become idle.
5405
5829
  # @return [String]
5406
5830
  #
5831
+ # @!attribute [rw] unmanagedv_cpus
5832
+ # The maximum number of vCPUs expected to be used for an unmanaged
5833
+ # compute environment. This parameter should not be specified for a
5834
+ # managed compute environment. This parameter is only used for fair
5835
+ # share scheduling to reserve vCPU capacity for new share identifiers.
5836
+ # If this parameter is not provided for a fair share job queue, no
5837
+ # vCPU capacity will be reserved.
5838
+ # @return [Integer]
5839
+ #
5407
5840
  # @!attribute [rw] compute_resources
5408
5841
  # Details of the compute resources managed by the compute environment.
5409
5842
  # Required for a managed compute environment. For more information,
@@ -5448,6 +5881,7 @@ module Aws::Batch
5448
5881
  class UpdateComputeEnvironmentRequest < Struct.new(
5449
5882
  :compute_environment,
5450
5883
  :state,
5884
+ :unmanagedv_cpus,
5451
5885
  :compute_resources,
5452
5886
  :service_role)
5453
5887
  SENSITIVE = []
@@ -5480,6 +5914,7 @@ module Aws::Batch
5480
5914
  # {
5481
5915
  # job_queue: "String", # required
5482
5916
  # state: "ENABLED", # accepts ENABLED, DISABLED
5917
+ # scheduling_policy_arn: "String",
5483
5918
  # priority: 1,
5484
5919
  # compute_environment_order: [
5485
5920
  # {
@@ -5500,6 +5935,15 @@ module Aws::Batch
5500
5935
  # in the queue can finish.
5501
5936
  # @return [String]
5502
5937
  #
5938
+ # @!attribute [rw] scheduling_policy_arn
5939
+ # Amazon Resource Name (ARN) of the fair share scheduling policy. Once
5940
+ # a job queue is created, the fair share scheduling policy can be
5941
+ # replaced but not removed. The format is
5942
+ # `aws:Partition:batch:Region:Account:scheduling-policy/Name `. For
5943
+ # example,
5944
+ # `aws:aws:batch:us-west-2:012345678910:scheduling-policy/MySchedulingPolicy`.
5945
+ # @return [String]
5946
+ #
5503
5947
  # @!attribute [rw] priority
5504
5948
  # The priority of the job queue. Job queues with a higher priority (or
5505
5949
  # a higher integer value for the `priority` parameter) are evaluated
@@ -5534,6 +5978,7 @@ module Aws::Batch
5534
5978
  class UpdateJobQueueRequest < Struct.new(
5535
5979
  :job_queue,
5536
5980
  :state,
5981
+ :scheduling_policy_arn,
5537
5982
  :priority,
5538
5983
  :compute_environment_order)
5539
5984
  SENSITIVE = []
@@ -5557,6 +6002,44 @@ module Aws::Batch
5557
6002
  include Aws::Structure
5558
6003
  end
5559
6004
 
6005
+ # @note When making an API call, you may pass UpdateSchedulingPolicyRequest
6006
+ # data as a hash:
6007
+ #
6008
+ # {
6009
+ # arn: "String", # required
6010
+ # fairshare_policy: {
6011
+ # share_decay_seconds: 1,
6012
+ # compute_reservation: 1,
6013
+ # share_distribution: [
6014
+ # {
6015
+ # share_identifier: "String", # required
6016
+ # weight_factor: 1.0,
6017
+ # },
6018
+ # ],
6019
+ # },
6020
+ # }
6021
+ #
6022
+ # @!attribute [rw] arn
6023
+ # The Amazon Resource Name (ARN) of the scheduling policy to update.
6024
+ # @return [String]
6025
+ #
6026
+ # @!attribute [rw] fairshare_policy
6027
+ # The fair share policy.
6028
+ # @return [Types::FairsharePolicy]
6029
+ #
6030
+ # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/UpdateSchedulingPolicyRequest AWS API Documentation
6031
+ #
6032
+ class UpdateSchedulingPolicyRequest < Struct.new(
6033
+ :arn,
6034
+ :fairshare_policy)
6035
+ SENSITIVE = []
6036
+ include Aws::Structure
6037
+ end
6038
+
6039
+ # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/UpdateSchedulingPolicyResponse AWS API Documentation
6040
+ #
6041
+ class UpdateSchedulingPolicyResponse < Aws::EmptyStructure; end
6042
+
5560
6043
  # A data volume used in a job's container properties.
5561
6044
  #
5562
6045
  # @note When making an API call, you may pass Volume