aws-sdk-batch 1.52.0 → 1.56.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -214,14 +214,20 @@ module Aws::Batch
214
214
  # An object representing an Batch compute environment.
215
215
  #
216
216
  # @!attribute [rw] compute_environment_name
217
- # The name of the compute environment. Up to 128 letters (uppercase
218
- # and lowercase), numbers, hyphens, and underscores are allowed.
217
+ # The name of the compute environment. It can be up to 128 letters
218
+ # long. It can contain uppercase and lowercase letters, numbers,
219
+ # hyphens (-), and underscores (\_).
219
220
  # @return [String]
220
221
  #
221
222
  # @!attribute [rw] compute_environment_arn
222
223
  # The Amazon Resource Name (ARN) of the compute environment.
223
224
  # @return [String]
224
225
  #
226
+ # @!attribute [rw] unmanagedv_cpus
227
+ # The maximum number of VCPUs expected to be used for an unmanaged
228
+ # compute environment.
229
+ # @return [Integer]
230
+ #
225
231
  # @!attribute [rw] ecs_cluster_arn
226
232
  # The Amazon Resource Name (ARN) of the underlying Amazon ECS cluster
227
233
  # used by the compute environment.
@@ -294,6 +300,7 @@ module Aws::Batch
294
300
  class ComputeEnvironmentDetail < Struct.new(
295
301
  :compute_environment_name,
296
302
  :compute_environment_arn,
303
+ :unmanagedv_cpus,
297
304
  :ecs_cluster_arn,
298
305
  :tags,
299
306
  :type,
@@ -606,7 +613,7 @@ module Aws::Batch
606
613
  # is the tag value−for example, `\{ "Name": "Batch Instance -
607
614
  # C4OnDemand" \}`. This is helpful for recognizing your Batch
608
615
  # instances in the Amazon EC2 console. These tags can't be updated or
609
- # removed after the compute environment is created.Aany changes to
616
+ # removed after the compute environment is created. Any changes to
610
617
  # these tags require that you create a new compute environment and
611
618
  # remove the old compute environment. These tags aren't seen when
612
619
  # using the Batch `ListTagsForResource` API operation.
@@ -700,7 +707,9 @@ module Aws::Batch
700
707
  # @!attribute [rw] ec2_configuration
701
708
  # Provides information used to select Amazon Machine Images (AMIs) for
702
709
  # EC2 instances in the compute environment. If `Ec2Configuration`
703
- # isn't specified, the default is `ECS_AL1`.
710
+ # isn't specified, the default is `ECS_AL2`.
711
+ #
712
+ # One or two values can be provided.
704
713
  #
705
714
  # <note markdown="1"> This parameter isn't applicable to jobs that are running on Fargate
706
715
  # resources, and shouldn't be specified.
@@ -829,7 +838,7 @@ module Aws::Batch
829
838
  # The number of vCPUs reserved for the container. For jobs that run on
830
839
  # EC2 resources, you can specify the vCPU requirement for the job
831
840
  # using `resourceRequirements`, but you can't specify the vCPU
832
- # requirements in both the `vcpus` and `resourceRequirement` object.
841
+ # requirements in both the `vcpus` and `resourceRequirements` object.
833
842
  # This parameter maps to `CpuShares` in the [Create a container][1]
834
843
  # section of the [Docker Remote API][2] and the `--cpu-shares` option
835
844
  # to [docker run][3]. Each vCPU is equivalent to 1,024 CPU shares. You
@@ -852,7 +861,7 @@ module Aws::Batch
852
861
  #
853
862
  # @!attribute [rw] memory
854
863
  # For jobs run on EC2 resources that didn't specify memory
855
- # requirements using `ResourceRequirement`, the number of MiB of
864
+ # requirements using `resourceRequirements`, the number of MiB of
856
865
  # memory reserved for the job. For other jobs, including all run on
857
866
  # Fargate resources, see `resourceRequirements`.
858
867
  # @return [Integer]
@@ -1125,48 +1134,41 @@ module Aws::Batch
1125
1134
  # }
1126
1135
  #
1127
1136
  # @!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
1137
+ # This parameter is deprecated, use `resourceRequirements` to override
1138
+ # 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
1140
+ # EC2 resources, it overrides the `vcpus` parameter set in the job
1130
1141
  # definition, but doesn't override any vCPU requirement specified in
1131
- # the `resourceRequirement` structure in the job definition. To
1142
+ # the `resourceRequirements` structure in the job definition. To
1132
1143
  # 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.
1144
+ # `resourceRequirements` structure in the job definition,
1145
+ # `resourceRequirements` must be specified in the `SubmitJob` request,
1146
+ # with `type` set to `VCPU` and `value` set to the new value. For more
1147
+ # information, see [Can't override job definition resource
1148
+ # requirements][1] in the *Batch User Guide*.
1141
1149
  #
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>
1149
1150
  #
1150
1151
  #
1151
- #
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/
1152
+ # [1]: https://docs.aws.amazon.com/batch/latest/userguide/troubleshooting.html#override-resource-requirements
1155
1153
  # @return [Integer]
1156
1154
  #
1157
1155
  # @!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.
1156
+ # This parameter is deprecated, use `resourceRequirements` to override
1157
+ # the memory requirements specified in the job definition. It's not
1158
+ # supported for jobs that run on Fargate resources. For jobs run on
1159
+ # EC2 resources, it overrides the `memory` parameter set in the job
1160
+ # definition, but doesn't override any memory requirement specified
1161
+ # in the `resourceRequirements` structure in the job definition. To
1162
+ # override memory requirements that are specified in the
1163
+ # `resourceRequirements` structure in the job definition,
1164
+ # `resourceRequirements` must be specified in the `SubmitJob` request,
1165
+ # with `type` set to `MEMORY` and `value` set to the new value. For
1166
+ # more information, see [Can't override job definition resource
1167
+ # requirements][1] in the *Batch User Guide*.
1168
+ #
1169
+ #
1170
+ #
1171
+ # [1]: https://docs.aws.amazon.com/batch/latest/userguide/troubleshooting.html#override-resource-requirements
1170
1172
  # @return [Integer]
1171
1173
  #
1172
1174
  # @!attribute [rw] command
@@ -1359,24 +1361,16 @@ module Aws::Batch
1359
1361
  # @return [String]
1360
1362
  #
1361
1363
  # @!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.
1364
+ # This parameter is deprecated, use `resourceRequirements` to specify
1365
+ # the vCPU requirements for the job definition. It's not supported
1366
+ # for jobs that run on Fargate resources. For jobs run on EC2
1367
+ # resources, it specifies the number of vCPUs reserved for the job.
1373
1368
  #
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>
1369
+ # Each vCPU is equivalent to 1,024 CPU shares. This parameter maps to
1370
+ # `CpuShares` in the [Create a container][1] section of the [Docker
1371
+ # Remote API][2] and the `--cpu-shares` option to [docker run][3]. The
1372
+ # number of vCPUs must be specified but can be specified in several
1373
+ # places. You must specify it at least once for each node.
1380
1374
  #
1381
1375
  #
1382
1376
  #
@@ -1386,34 +1380,15 @@ module Aws::Batch
1386
1380
  # @return [Integer]
1387
1381
  #
1388
1382
  # @!attribute [rw] memory
1389
- # This parameter indicates the memory hard limit (in MiB) for a
1383
+ # This parameter is deprecated, use `resourceRequirements` to specify
1384
+ # the memory requirements for the job definition. It's not supported
1385
+ # for jobs that run on Fargate resources. For jobs run on EC2
1386
+ # resources, it specifies the memory hard limit (in MiB) for a
1390
1387
  # container. If your container attempts to exceed the specified
1391
1388
  # number, it's terminated. You must specify at least 4 MiB of memory
1392
1389
  # for a job using this parameter. The memory hard limit can be
1393
1390
  # specified in several places. It must be specified for each node at
1394
1391
  # 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
1392
  # @return [Integer]
1418
1393
  #
1419
1394
  # @!attribute [rw] command
@@ -1693,6 +1668,7 @@ module Aws::Batch
1693
1668
  # compute_environment_name: "String", # required
1694
1669
  # type: "MANAGED", # required, accepts MANAGED, UNMANAGED
1695
1670
  # state: "ENABLED", # accepts ENABLED, DISABLED
1671
+ # unmanagedv_cpus: 1,
1696
1672
  # compute_resources: {
1697
1673
  # type: "EC2", # required, accepts EC2, SPOT, FARGATE, FARGATE_SPOT
1698
1674
  # allocation_strategy: "BEST_FIT", # accepts BEST_FIT, BEST_FIT_PROGRESSIVE, SPOT_CAPACITY_OPTIMIZED
@@ -1730,8 +1706,9 @@ module Aws::Batch
1730
1706
  # }
1731
1707
  #
1732
1708
  # @!attribute [rw] compute_environment_name
1733
- # The name for your compute environment. Up to 128 letters (uppercase
1734
- # and lowercase), numbers, hyphens, and underscores are allowed.
1709
+ # The name for your compute environment. It can be up to 128 letters
1710
+ # long. It can contain uppercase and lowercase letters, numbers,
1711
+ # hyphens (-), and underscores (\_).
1735
1712
  # @return [String]
1736
1713
  #
1737
1714
  # @!attribute [rw] type
@@ -1762,6 +1739,18 @@ module Aws::Batch
1762
1739
  # scale in to `minvCpus` value after instances become idle.
1763
1740
  # @return [String]
1764
1741
  #
1742
+ # @!attribute [rw] unmanagedv_cpus
1743
+ # The maximum number of vCPUs for an unmanaged compute environment.
1744
+ # This parameter is only used for fair share scheduling to reserve
1745
+ # vCPU capacity for new share identifiers. If this parameter isn't
1746
+ # provided for a fair share job queue, no vCPU capacity is reserved.
1747
+ #
1748
+ # <note markdown="1"> This parameter is only supported when the `type` parameter is set to
1749
+ # `UNMANAGED`/
1750
+ #
1751
+ # </note>
1752
+ # @return [Integer]
1753
+ #
1765
1754
  # @!attribute [rw] compute_resources
1766
1755
  # Details about the compute resources managed by the compute
1767
1756
  # environment. This parameter is required for managed compute
@@ -1831,6 +1820,7 @@ module Aws::Batch
1831
1820
  :compute_environment_name,
1832
1821
  :type,
1833
1822
  :state,
1823
+ :unmanagedv_cpus,
1834
1824
  :compute_resources,
1835
1825
  :service_role,
1836
1826
  :tags)
@@ -1839,8 +1829,9 @@ module Aws::Batch
1839
1829
  end
1840
1830
 
1841
1831
  # @!attribute [rw] compute_environment_name
1842
- # The name of the compute environment. Up to 128 letters (uppercase
1843
- # and lowercase), numbers, hyphens, and underscores are allowed.
1832
+ # The name of the compute environment. It can be up to 128 letters
1833
+ # long. It can contain uppercase and lowercase letters, numbers,
1834
+ # hyphens (-), and underscores (\_).
1844
1835
  # @return [String]
1845
1836
  #
1846
1837
  # @!attribute [rw] compute_environment_arn
@@ -1864,6 +1855,7 @@ module Aws::Batch
1864
1855
  # {
1865
1856
  # job_queue_name: "String", # required
1866
1857
  # state: "ENABLED", # accepts ENABLED, DISABLED
1858
+ # scheduling_policy_arn: "String",
1867
1859
  # priority: 1, # required
1868
1860
  # compute_environment_order: [ # required
1869
1861
  # {
@@ -1877,8 +1869,9 @@ module Aws::Batch
1877
1869
  # }
1878
1870
  #
1879
1871
  # @!attribute [rw] job_queue_name
1880
- # The name of the job queue. Up to 128 letters (uppercase and
1881
- # lowercase), numbers, and underscores are allowed.
1872
+ # The name of the job queue. It can be up to 128 letters long. It can
1873
+ # contain uppercase and lowercase letters, numbers, hyphens (-), and
1874
+ # underscores (\_).
1882
1875
  # @return [String]
1883
1876
  #
1884
1877
  # @!attribute [rw] state
@@ -1888,6 +1881,18 @@ module Aws::Batch
1888
1881
  # finish.
1889
1882
  # @return [String]
1890
1883
  #
1884
+ # @!attribute [rw] scheduling_policy_arn
1885
+ # The Amazon Resource Name (ARN) of the fair share scheduling policy.
1886
+ # If this parameter is specified, the job queue uses a fair share
1887
+ # scheduling policy. If this parameter isn't specified, the job queue
1888
+ # uses a first in, first out (FIFO) scheduling policy. After a job
1889
+ # queue is created, you can replace but can't remove the fair share
1890
+ # scheduling policy. The format is
1891
+ # `aws:Partition:batch:Region:Account:scheduling-policy/Name `. An
1892
+ # example is
1893
+ # `aws:aws:batch:us-west-2:012345678910:scheduling-policy/MySchedulingPolicy`.
1894
+ # @return [String]
1895
+ #
1891
1896
  # @!attribute [rw] priority
1892
1897
  # The priority of the job queue. Job queues with a higher priority (or
1893
1898
  # a higher integer value for the `priority` parameter) are evaluated
@@ -1934,6 +1939,7 @@ module Aws::Batch
1934
1939
  class CreateJobQueueRequest < Struct.new(
1935
1940
  :job_queue_name,
1936
1941
  :state,
1942
+ :scheduling_policy_arn,
1937
1943
  :priority,
1938
1944
  :compute_environment_order,
1939
1945
  :tags)
@@ -1958,6 +1964,82 @@ module Aws::Batch
1958
1964
  include Aws::Structure
1959
1965
  end
1960
1966
 
1967
+ # @note When making an API call, you may pass CreateSchedulingPolicyRequest
1968
+ # data as a hash:
1969
+ #
1970
+ # {
1971
+ # name: "String", # required
1972
+ # fairshare_policy: {
1973
+ # share_decay_seconds: 1,
1974
+ # compute_reservation: 1,
1975
+ # share_distribution: [
1976
+ # {
1977
+ # share_identifier: "String", # required
1978
+ # weight_factor: 1.0,
1979
+ # },
1980
+ # ],
1981
+ # },
1982
+ # tags: {
1983
+ # "TagKey" => "TagValue",
1984
+ # },
1985
+ # }
1986
+ #
1987
+ # @!attribute [rw] name
1988
+ # The name of the scheduling policy. It can be up to 128 letters long.
1989
+ # It can contain uppercase and lowercase letters, numbers, hyphens
1990
+ # (-), and underscores (\_).
1991
+ # @return [String]
1992
+ #
1993
+ # @!attribute [rw] fairshare_policy
1994
+ # The fair share policy of the scheduling policy.
1995
+ # @return [Types::FairsharePolicy]
1996
+ #
1997
+ # @!attribute [rw] tags
1998
+ # The tags that you apply to the scheduling policy to help you
1999
+ # categorize and organize your resources. Each tag consists of a key
2000
+ # and an optional value. For more information, see [Tagging Amazon Web
2001
+ # Services Resources][1] in *Amazon Web Services General Reference*.
2002
+ #
2003
+ # These tags can be updated or removed using the [TagResource][2] and
2004
+ # [UntagResource][3] API operations.
2005
+ #
2006
+ #
2007
+ #
2008
+ # [1]: https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html
2009
+ # [2]: https://docs.aws.amazon.com/batch/latest/APIReference/API_TagResource.html
2010
+ # [3]: https://docs.aws.amazon.com/batch/latest/APIReference/API_UntagResource.html
2011
+ # @return [Hash<String,String>]
2012
+ #
2013
+ # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/CreateSchedulingPolicyRequest AWS API Documentation
2014
+ #
2015
+ class CreateSchedulingPolicyRequest < Struct.new(
2016
+ :name,
2017
+ :fairshare_policy,
2018
+ :tags)
2019
+ SENSITIVE = []
2020
+ include Aws::Structure
2021
+ end
2022
+
2023
+ # @!attribute [rw] name
2024
+ # The name of the scheduling policy.
2025
+ # @return [String]
2026
+ #
2027
+ # @!attribute [rw] arn
2028
+ # The Amazon Resource Name (ARN) of the scheduling policy. The format
2029
+ # is `aws:Partition:batch:Region:Account:scheduling-policy/Name `. For
2030
+ # example,
2031
+ # `aws:aws:batch:us-west-2:012345678910:scheduling-policy/MySchedulingPolicy`.
2032
+ # @return [String]
2033
+ #
2034
+ # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/CreateSchedulingPolicyResponse AWS API Documentation
2035
+ #
2036
+ class CreateSchedulingPolicyResponse < Struct.new(
2037
+ :name,
2038
+ :arn)
2039
+ SENSITIVE = []
2040
+ include Aws::Structure
2041
+ end
2042
+
1961
2043
  # Contains the parameters for `DeleteComputeEnvironment`.
1962
2044
  #
1963
2045
  # @note When making an API call, you may pass DeleteComputeEnvironmentRequest
@@ -2010,6 +2092,29 @@ module Aws::Batch
2010
2092
  #
2011
2093
  class DeleteJobQueueResponse < Aws::EmptyStructure; end
2012
2094
 
2095
+ # @note When making an API call, you may pass DeleteSchedulingPolicyRequest
2096
+ # data as a hash:
2097
+ #
2098
+ # {
2099
+ # arn: "String", # required
2100
+ # }
2101
+ #
2102
+ # @!attribute [rw] arn
2103
+ # The Amazon Resource Name (ARN) of the scheduling policy to delete.
2104
+ # @return [String]
2105
+ #
2106
+ # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/DeleteSchedulingPolicyRequest AWS API Documentation
2107
+ #
2108
+ class DeleteSchedulingPolicyRequest < Struct.new(
2109
+ :arn)
2110
+ SENSITIVE = []
2111
+ include Aws::Structure
2112
+ end
2113
+
2114
+ # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/DeleteSchedulingPolicyResponse AWS API Documentation
2115
+ #
2116
+ class DeleteSchedulingPolicyResponse < Aws::EmptyStructure; end
2117
+
2013
2118
  # @note When making an API call, you may pass DeregisterJobDefinitionRequest
2014
2119
  # data as a hash:
2015
2120
  #
@@ -2095,9 +2200,9 @@ module Aws::Batch
2095
2200
  # @!attribute [rw] next_token
2096
2201
  # The `nextToken` value to include in a future
2097
2202
  # `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.
2203
+ # `DescribeComputeEnvironments` request exceed `maxResults`, this
2204
+ # value can be used to retrieve the next page of results. This value
2205
+ # is `null` when there are no more results to return.
2101
2206
  # @return [String]
2102
2207
  #
2103
2208
  # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/DescribeComputeEnvironmentsResponse AWS API Documentation
@@ -2124,7 +2229,7 @@ module Aws::Batch
2124
2229
  #
2125
2230
  # @!attribute [rw] job_definitions
2126
2231
  # A list of up to 100 job definitions. Each entry in the list can
2127
- # either be an ARN of the form
2232
+ # either be an ARN in the format
2128
2233
  # `arn:aws:batch:$\{Region\}:$\{Account\}:job-definition/$\{JobDefinitionName\}:$\{Revision\}`
2129
2234
  # or a short version using the form
2130
2235
  # `$\{JobDefinitionName\}:$\{Revision\}`.
@@ -2304,6 +2409,38 @@ module Aws::Batch
2304
2409
  include Aws::Structure
2305
2410
  end
2306
2411
 
2412
+ # @note When making an API call, you may pass DescribeSchedulingPoliciesRequest
2413
+ # data as a hash:
2414
+ #
2415
+ # {
2416
+ # arns: ["String"], # required
2417
+ # }
2418
+ #
2419
+ # @!attribute [rw] arns
2420
+ # A list of up to 100 scheduling policy Amazon Resource Name (ARN)
2421
+ # entries.
2422
+ # @return [Array<String>]
2423
+ #
2424
+ # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/DescribeSchedulingPoliciesRequest AWS API Documentation
2425
+ #
2426
+ class DescribeSchedulingPoliciesRequest < Struct.new(
2427
+ :arns)
2428
+ SENSITIVE = []
2429
+ include Aws::Structure
2430
+ end
2431
+
2432
+ # @!attribute [rw] scheduling_policies
2433
+ # The list of scheduling policies.
2434
+ # @return [Array<Types::SchedulingPolicyDetail>]
2435
+ #
2436
+ # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/DescribeSchedulingPoliciesResponse AWS API Documentation
2437
+ #
2438
+ class DescribeSchedulingPoliciesResponse < Struct.new(
2439
+ :scheduling_policies)
2440
+ SENSITIVE = []
2441
+ include Aws::Structure
2442
+ end
2443
+
2307
2444
  # An object representing a container instance host device.
2308
2445
  #
2309
2446
  # <note markdown="1"> This object isn't applicable to jobs that are running on Fargate
@@ -2478,9 +2615,7 @@ module Aws::Batch
2478
2615
 
2479
2616
  # Provides information used to select Amazon Machine Images (AMIs) for
2480
2617
  # 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]).
2618
+ # specified, the default is `ECS_AL2` ([Amazon Linux 2][1]).
2484
2619
  #
2485
2620
  # <note markdown="1"> This object isn't applicable to jobs that are running on Fargate
2486
2621
  # resources.
@@ -2489,8 +2624,7 @@ module Aws::Batch
2489
2624
  #
2490
2625
  #
2491
2626
  #
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
2627
+ # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html#al2ami
2494
2628
  #
2495
2629
  # @note When making an API call, you may pass Ec2Configuration
2496
2630
  # data as a hash:
@@ -2503,36 +2637,29 @@ module Aws::Batch
2503
2637
  # @!attribute [rw] image_type
2504
2638
  # The image type to match with the instance type to select an AMI. If
2505
2639
  # 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]).
2640
+ # [Amazon ECS-optimized Amazon Linux 2 AMI][1] (`ECS_AL2`) is used.
2509
2641
  #
2510
2642
  # ECS\_AL2
2511
2643
  #
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.
2644
+ # : [Amazon Linux 2][1]− Default for all non-GPU instance families.
2515
2645
  #
2516
2646
  # ECS\_AL2\_NVIDIA
2517
2647
  #
2518
- # : [Amazon Linux 2 (GPU)][3]−Default for all GPU instance families
2648
+ # : [Amazon Linux 2 (GPU)][2]−Default for all GPU instance families
2519
2649
  # (for example `P4` and `G4`) and can be used for all non Amazon Web
2520
2650
  # Services Graviton-based instance types.
2521
2651
  #
2522
2652
  # ECS\_AL1
2523
2653
  #
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].
2654
+ # : [Amazon Linux][3]. Amazon Linux is reaching the end-of-life of
2655
+ # standard support. For more information, see [Amazon Linux AMI][4].
2528
2656
  #
2529
2657
  #
2530
2658
  #
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/
2659
+ # [1]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html#al2ami
2660
+ # [2]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html#gpuami
2661
+ # [3]: https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-optimized_AMI.html#alami
2662
+ # [4]: http://aws.amazon.com/amazon-linux-ami/
2536
2663
  # @return [String]
2537
2664
  #
2538
2665
  # @!attribute [rw] image_id_override
@@ -2570,6 +2697,8 @@ module Aws::Batch
2570
2697
  # (including spaces or tabs). It can optionally end with an asterisk
2571
2698
  # (*) so that only the start of the string needs to be an exact
2572
2699
  # match.
2700
+ #
2701
+ # The string can be between 1 and 512 characters in length.
2573
2702
  # @return [String]
2574
2703
  #
2575
2704
  # @!attribute [rw] on_reason
@@ -2579,6 +2708,8 @@ module Aws::Batch
2579
2708
  # (including spaces and tabs). It can optionally end with an asterisk
2580
2709
  # (*) so that only the start of the string needs to be an exact
2581
2710
  # match.
2711
+ #
2712
+ # The string can be between 1 and 512 characters in length.
2582
2713
  # @return [String]
2583
2714
  #
2584
2715
  # @!attribute [rw] on_exit_code
@@ -2587,6 +2718,8 @@ module Aws::Batch
2587
2718
  # characters in length. It can contain only numbers, and can
2588
2719
  # optionally end with an asterisk (*) so that only the start of the
2589
2720
  # string needs to be an exact match.
2721
+ #
2722
+ # The string can be between 1 and 512 characters in length.
2590
2723
  # @return [String]
2591
2724
  #
2592
2725
  # @!attribute [rw] action
@@ -2606,6 +2739,66 @@ module Aws::Batch
2606
2739
  include Aws::Structure
2607
2740
  end
2608
2741
 
2742
+ # The fair share policy for a scheduling policy.
2743
+ #
2744
+ # @note When making an API call, you may pass FairsharePolicy
2745
+ # data as a hash:
2746
+ #
2747
+ # {
2748
+ # share_decay_seconds: 1,
2749
+ # compute_reservation: 1,
2750
+ # share_distribution: [
2751
+ # {
2752
+ # share_identifier: "String", # required
2753
+ # weight_factor: 1.0,
2754
+ # },
2755
+ # ],
2756
+ # }
2757
+ #
2758
+ # @!attribute [rw] share_decay_seconds
2759
+ # The time period to use to calculate a fair share percentage for each
2760
+ # fair share identifier in use, in seconds. A value of zero (0)
2761
+ # indicates that only current usage should be measured. The decay
2762
+ # allows for more recently run jobs to have more weight than jobs that
2763
+ # ran earlier. The maximum supported value is 604800 (1 week).
2764
+ # @return [Integer]
2765
+ #
2766
+ # @!attribute [rw] compute_reservation
2767
+ # A value used to reserve some of the available maximum vCPU for fair
2768
+ # share identifiers that have not yet been used.
2769
+ #
2770
+ # The reserved ratio is `(computeReservation/100)^ActiveFairShares `
2771
+ # where ` ActiveFairShares ` is the number of active fair share
2772
+ # identifiers.
2773
+ #
2774
+ # For example, a `computeReservation` value of 50 indicates that Batch
2775
+ # should reserve 50% of the maximum available vCPU if there is only
2776
+ # one fair share identifier, 25% if there are two fair share
2777
+ # identifiers, and 12.5% if there are three fair share identifiers. A
2778
+ # `computeReservation` value of 25 indicates that Batch should reserve
2779
+ # 25% of the maximum available vCPU if there is only one fair share
2780
+ # identifier, 6.25% if there are two fair share identifiers, and 1.56%
2781
+ # if there are three fair share identifiers.
2782
+ #
2783
+ # The minimum value is 0 and the maximum value is 99.
2784
+ # @return [Integer]
2785
+ #
2786
+ # @!attribute [rw] share_distribution
2787
+ # An array of `SharedIdentifier` objects that contain the weights for
2788
+ # the fair share identifiers for the fair share policy. Fair share
2789
+ # identifiers that aren't included have a default weight of `1.0`.
2790
+ # @return [Array<Types::ShareAttributes>]
2791
+ #
2792
+ # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/FairsharePolicy AWS API Documentation
2793
+ #
2794
+ class FairsharePolicy < Struct.new(
2795
+ :share_decay_seconds,
2796
+ :compute_reservation,
2797
+ :share_distribution)
2798
+ SENSITIVE = []
2799
+ include Aws::Structure
2800
+ end
2801
+
2609
2802
  # The platform configuration for jobs that are running on Fargate
2610
2803
  # resources. Jobs that run on EC2 resources must not specify this
2611
2804
  # parameter.
@@ -2695,16 +2888,24 @@ module Aws::Batch
2695
2888
  # @return [String]
2696
2889
  #
2697
2890
  # @!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*.
2891
+ # The type of job definition, either `container` or `multinode`. If
2892
+ # the job is run on Fargate resources, then `multinode` isn't
2893
+ # supported. For more information about multi-node parallel jobs, see
2894
+ # [Creating a multi-node parallel job definition][1] in the *Batch
2895
+ # User Guide*.
2702
2896
  #
2703
2897
  #
2704
2898
  #
2705
2899
  # [1]: https://docs.aws.amazon.com/batch/latest/userguide/multi-node-job-def.html
2706
2900
  # @return [String]
2707
2901
  #
2902
+ # @!attribute [rw] scheduling_priority
2903
+ # The scheduling priority of the job definition. This only affects
2904
+ # jobs in job queues with a fair share policy. Jobs with a higher
2905
+ # scheduling priority are scheduled before jobs with a lower
2906
+ # scheduling priority.
2907
+ # @return [Integer]
2908
+ #
2708
2909
  # @!attribute [rw] parameters
2709
2910
  # Default parameters or parameter substitution placeholders that are
2710
2911
  # set in the job definition. Parameters are specified as a key-value
@@ -2771,6 +2972,7 @@ module Aws::Batch
2771
2972
  :revision,
2772
2973
  :status,
2773
2974
  :type,
2975
+ :scheduling_priority,
2774
2976
  :parameters,
2775
2977
  :retry_strategy,
2776
2978
  :container_properties,
@@ -2843,6 +3045,17 @@ module Aws::Batch
2843
3045
  # [1]: https://docs.aws.amazon.com/batch/latest/userguide/troubleshooting.html#job_stuck_in_runnable
2844
3046
  # @return [String]
2845
3047
  #
3048
+ # @!attribute [rw] share_identifier
3049
+ # The share identifier for the job.
3050
+ # @return [String]
3051
+ #
3052
+ # @!attribute [rw] scheduling_priority
3053
+ # The scheduling policy of the job definition. This only affects jobs
3054
+ # in job queues with a fair share policy. Jobs with a higher
3055
+ # scheduling priority are scheduled before jobs with a lower
3056
+ # scheduling priority.
3057
+ # @return [Integer]
3058
+ #
2846
3059
  # @!attribute [rw] attempts
2847
3060
  # A list of job attempts associated with this job.
2848
3061
  # @return [Array<Types::AttemptDetail>]
@@ -2947,6 +3160,8 @@ module Aws::Batch
2947
3160
  :job_id,
2948
3161
  :job_queue,
2949
3162
  :status,
3163
+ :share_identifier,
3164
+ :scheduling_priority,
2950
3165
  :attempts,
2951
3166
  :status_reason,
2952
3167
  :created_at,
@@ -2985,6 +3200,13 @@ module Aws::Batch
2985
3200
  # but jobs already in the queue can finish.
2986
3201
  # @return [String]
2987
3202
  #
3203
+ # @!attribute [rw] scheduling_policy_arn
3204
+ # The Amazon Resource Name (ARN) of the scheduling policy. The format
3205
+ # is `aws:Partition:batch:Region:Account:scheduling-policy/Name `. For
3206
+ # example,
3207
+ # `aws:aws:batch:us-west-2:012345678910:scheduling-policy/MySchedulingPolicy`.
3208
+ # @return [String]
3209
+ #
2988
3210
  # @!attribute [rw] status
2989
3211
  # The status of the job queue (for example, `CREATING` or `VALID`).
2990
3212
  # @return [String]
@@ -3027,6 +3249,7 @@ module Aws::Batch
3027
3249
  :job_queue_name,
3028
3250
  :job_queue_arn,
3029
3251
  :state,
3252
+ :scheduling_policy_arn,
3030
3253
  :status,
3031
3254
  :status_reason,
3032
3255
  :priority,
@@ -3051,11 +3274,11 @@ module Aws::Batch
3051
3274
  # @return [String]
3052
3275
  #
3053
3276
  # @!attribute [rw] created_at
3054
- # The Unix timestamp for when the job was created. For non-array jobs
3055
- # and parent array jobs, this is when the job entered the `SUBMITTED`
3056
- # state (at the time SubmitJob was called). For array child jobs, this
3057
- # is when the child job was spawned by its parent and entered the
3058
- # `PENDING` state.
3277
+ # The Unix timestamp (in milliseconds) for when the job was created.
3278
+ # For non-array jobs and parent array jobs, this is when the job
3279
+ # entered the `SUBMITTED` state (at the time SubmitJob was called).
3280
+ # For array child jobs, this is when the child job was spawned by its
3281
+ # parent and entered the `PENDING` state.
3059
3282
  # @return [Integer]
3060
3283
  #
3061
3284
  # @!attribute [rw] status
@@ -3538,15 +3761,15 @@ module Aws::Batch
3538
3761
  #
3539
3762
  # : The value for the filter is the time that's before the job was
3540
3763
  # created. This corresponds to the `createdAt` value. The value is a
3541
- # string representation of the number of seconds since 00:00:00 UTC
3542
- # (midnight) on January 1, 1970.
3764
+ # string representation of the number of milliseconds since 00:00:00
3765
+ # UTC (midnight) on January 1, 1970.
3543
3766
  #
3544
3767
  # AFTER\_CREATED\_AT
3545
3768
  #
3546
3769
  # : The value for the filter is the time that's after the job was
3547
3770
  # created. This corresponds to the `createdAt` value. The value is a
3548
- # string representation of the number of seconds since 00:00:00 UTC
3549
- # (midnight) on January 1, 1970.
3771
+ # string representation of the number of milliseconds since 00:00:00
3772
+ # UTC (midnight) on January 1, 1970.
3550
3773
  # @return [Array<Types::KeyValuesPair>]
3551
3774
  #
3552
3775
  # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/ListJobsRequest AWS API Documentation
@@ -3583,6 +3806,71 @@ module Aws::Batch
3583
3806
  include Aws::Structure
3584
3807
  end
3585
3808
 
3809
+ # @note When making an API call, you may pass ListSchedulingPoliciesRequest
3810
+ # data as a hash:
3811
+ #
3812
+ # {
3813
+ # max_results: 1,
3814
+ # next_token: "String",
3815
+ # }
3816
+ #
3817
+ # @!attribute [rw] max_results
3818
+ # The maximum number of results that's returned by
3819
+ # `ListSchedulingPolicies` in paginated output. When this parameter is
3820
+ # used, `ListSchedulingPolicies` only returns `maxResults` results in
3821
+ # a single page and a `nextToken` response element. You can see the
3822
+ # remaining results of the initial request by sending another
3823
+ # `ListSchedulingPolicies` request with the returned `nextToken`
3824
+ # value. This value can be between 1 and 100. If this parameter isn't
3825
+ # used, `ListSchedulingPolicies` returns up to 100 results and a
3826
+ # `nextToken` value if applicable.
3827
+ # @return [Integer]
3828
+ #
3829
+ # @!attribute [rw] next_token
3830
+ # The `nextToken` value that's returned from a previous paginated
3831
+ # `ListSchedulingPolicies` request where `maxResults` was used and the
3832
+ # results exceeded the value of that parameter. Pagination continues
3833
+ # from the end of the previous results that returned the `nextToken`
3834
+ # value. This value is `null` when there are no more results to
3835
+ # return.
3836
+ #
3837
+ # <note markdown="1"> This token should be treated as an opaque identifier that's only
3838
+ # used to retrieve the next items in a list and not for other
3839
+ # programmatic purposes.
3840
+ #
3841
+ # </note>
3842
+ # @return [String]
3843
+ #
3844
+ # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/ListSchedulingPoliciesRequest AWS API Documentation
3845
+ #
3846
+ class ListSchedulingPoliciesRequest < Struct.new(
3847
+ :max_results,
3848
+ :next_token)
3849
+ SENSITIVE = []
3850
+ include Aws::Structure
3851
+ end
3852
+
3853
+ # @!attribute [rw] scheduling_policies
3854
+ # A list of scheduling policies that match the request.
3855
+ # @return [Array<Types::SchedulingPolicyListingDetail>]
3856
+ #
3857
+ # @!attribute [rw] next_token
3858
+ # The `nextToken` value to include in a future
3859
+ # `ListSchedulingPolicies` request. When the results of a
3860
+ # `ListSchedulingPolicies` request exceed `maxResults`, this value can
3861
+ # be used to retrieve the next page of results. This value is `null`
3862
+ # when there are no more results to return.
3863
+ # @return [String]
3864
+ #
3865
+ # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/ListSchedulingPoliciesResponse AWS API Documentation
3866
+ #
3867
+ class ListSchedulingPoliciesResponse < Struct.new(
3868
+ :scheduling_policies,
3869
+ :next_token)
3870
+ SENSITIVE = []
3871
+ include Aws::Structure
3872
+ end
3873
+
3586
3874
  # @note When making an API call, you may pass ListTagsForResourceRequest
3587
3875
  # data as a hash:
3588
3876
  #
@@ -3593,8 +3881,9 @@ module Aws::Batch
3593
3881
  # @!attribute [rw] resource_arn
3594
3882
  # The Amazon Resource Name (ARN) that identifies the resource that
3595
3883
  # 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.
3884
+ # environments, jobs, job definitions, job queues, and scheduling
3885
+ # policies. ARNs for child jobs of array and multi-node parallel (MNP)
3886
+ # jobs are not supported.
3598
3887
  # @return [String]
3599
3888
  #
3600
3889
  # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/ListTagsForResourceRequest AWS API Documentation
@@ -4299,6 +4588,7 @@ module Aws::Batch
4299
4588
  # parameters: {
4300
4589
  # "String" => "String",
4301
4590
  # },
4591
+ # scheduling_priority: 1,
4302
4592
  # container_properties: {
4303
4593
  # image: "String",
4304
4594
  # vcpus: 1,
@@ -4530,9 +4820,9 @@ module Aws::Batch
4530
4820
  # }
4531
4821
  #
4532
4822
  # @!attribute [rw] job_definition_name
4533
- # The name of the job definition to register. Up to 128 letters
4534
- # (uppercase and lowercase), numbers, hyphens, and underscores are
4535
- # allowed.
4823
+ # The name of the job definition to register. It can be up to 128
4824
+ # letters long. It can contain uppercase and lowercase letters,
4825
+ # numbers, hyphens (-), and underscores (\_).
4536
4826
  # @return [String]
4537
4827
  #
4538
4828
  # @!attribute [rw] type
@@ -4557,6 +4847,16 @@ module Aws::Batch
4557
4847
  # parameter defaults from the job definition.
4558
4848
  # @return [Hash<String,String>]
4559
4849
  #
4850
+ # @!attribute [rw] scheduling_priority
4851
+ # The scheduling priority for jobs that are submitted with this job
4852
+ # definition. This will only affect jobs in job queues with a fair
4853
+ # share policy. Jobs with a higher scheduling priority will be
4854
+ # scheduled before jobs with a lower scheduling priority.
4855
+ #
4856
+ # The minimum supported value is 0 and the maximum supported value is
4857
+ # 9999.
4858
+ # @return [Integer]
4859
+ #
4560
4860
  # @!attribute [rw] container_properties
4561
4861
  # An object with various properties specific to single-node
4562
4862
  # container-based jobs. If the job definition's `type` parameter is
@@ -4641,6 +4941,7 @@ module Aws::Batch
4641
4941
  :job_definition_name,
4642
4942
  :type,
4643
4943
  :parameters,
4944
+ :scheduling_priority,
4644
4945
  :container_properties,
4645
4946
  :node_properties,
4646
4947
  :retry_strategy,
@@ -4775,7 +5076,7 @@ module Aws::Batch
4775
5076
  #
4776
5077
  # For jobs that are running on Fargate resources, then `value` must
4777
5078
  # match one of the supported values and the `MEMORY` values must be
4778
- # one of the values supported for that VCPU value. The supported
5079
+ # one of the values supported for that `VCPU` value. The supported
4779
5080
  # values are 0.25, 0.5, 1, 2, and 4
4780
5081
  #
4781
5082
  # value = 0.25
@@ -4867,6 +5168,60 @@ module Aws::Batch
4867
5168
  include Aws::Structure
4868
5169
  end
4869
5170
 
5171
+ # An object that represents a scheduling policy.
5172
+ #
5173
+ # @!attribute [rw] name
5174
+ # The name of the scheduling policy.
5175
+ # @return [String]
5176
+ #
5177
+ # @!attribute [rw] arn
5178
+ # The Amazon Resource Name (ARN) of the scheduling policy. An example
5179
+ # is
5180
+ # `arn:aws:batch:us-east-1:123456789012:scheduling-policy/HighPriority
5181
+ # `.
5182
+ # @return [String]
5183
+ #
5184
+ # @!attribute [rw] fairshare_policy
5185
+ # The fair share policy for the scheduling policy.
5186
+ # @return [Types::FairsharePolicy]
5187
+ #
5188
+ # @!attribute [rw] tags
5189
+ # The tags that you apply to the scheduling policy to categorize and
5190
+ # organize your resources. Each tag consists of a key and an optional
5191
+ # value. For more information, see [Tagging Amazon Web Services
5192
+ # Resources][1] in *Amazon Web Services General Reference*.
5193
+ #
5194
+ #
5195
+ #
5196
+ # [1]: https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html
5197
+ # @return [Hash<String,String>]
5198
+ #
5199
+ # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/SchedulingPolicyDetail AWS API Documentation
5200
+ #
5201
+ class SchedulingPolicyDetail < Struct.new(
5202
+ :name,
5203
+ :arn,
5204
+ :fairshare_policy,
5205
+ :tags)
5206
+ SENSITIVE = []
5207
+ include Aws::Structure
5208
+ end
5209
+
5210
+ # An object that contains the details of a scheduling policy that's
5211
+ # returned in a `ListSchedulingPolicy` action.
5212
+ #
5213
+ # @!attribute [rw] arn
5214
+ # Amazon Resource Name (ARN) of the scheduling policy.
5215
+ # @return [String]
5216
+ #
5217
+ # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/SchedulingPolicyListingDetail AWS API Documentation
5218
+ #
5219
+ class SchedulingPolicyListingDetail < Struct.new(
5220
+ :arn)
5221
+ SENSITIVE = []
5222
+ include Aws::Structure
5223
+ end
5224
+
4870
5225
  # An object representing the secret to expose to your container. Secrets
4871
5226
  # can be exposed to a container in the following ways:
4872
5227
  #
@@ -4931,6 +5286,54 @@ module Aws::Batch
4931
5286
  include Aws::Structure
4932
5287
  end
4933
5288
 
5289
+ # Specifies the weights for the fair share identifiers for the fair
5290
+ # share policy. Fair share identifiers that aren't included have a
5291
+ # default weight of `1.0`.
5292
+ #
5293
+ # @note When making an API call, you may pass ShareAttributes
5294
+ # data as a hash:
5295
+ #
5296
+ # {
5297
+ # share_identifier: "String", # required
5298
+ # weight_factor: 1.0,
5299
+ # }
5300
+ #
5301
+ # @!attribute [rw] share_identifier
5302
+ # A fair share identifier or fair share identifier prefix. If the
5303
+ # string ends with an asterisk (*), this entry specifies the weight
5304
+ # factor to use for fair share identifiers that start with that
5305
+ # prefix. The list of fair share identifiers in a fair share policy
5306
+ # cannot overlap. For example, you can't have one that specifies a
5307
+ # `shareIdentifier` of `UserA*` and another that specifies a
5308
+ # `shareIdentifier` of `UserA-1`.
5309
+ #
5310
+ # There can be no more than 500 fair share identifiers active in a job
5311
+ # queue.
5312
+ #
5313
+ # The string is limited to 255 alphanumeric characters, optionally
5314
+ # followed by an asterisk (*).
5315
+ # @return [String]
5316
+ #
5317
+ # @!attribute [rw] weight_factor
5318
+ # The weight factor for the fair share identifier. The default value
5319
+ # is 1.0. A lower value has a higher priority for compute resources.
5320
+ # For example, jobs that use a share identifier with a weight factor
5321
+ # of 0.125 (1/8) get 8 times the compute resources of jobs that use a
5322
+ # share identifier with a weight factor of 1.
5323
+ #
5324
+ # The smallest supported value is 0.0001, and the largest supported
5325
+ # value is 999.9999.
5326
+ # @return [Float]
5327
+ #
5328
+ # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/ShareAttributes AWS API Documentation
5329
+ #
5330
+ class ShareAttributes < Struct.new(
5331
+ :share_identifier,
5332
+ :weight_factor)
5333
+ SENSITIVE = []
5334
+ include Aws::Structure
5335
+ end
5336
+
4934
5337
  # Contains the parameters for `SubmitJob`.
4935
5338
  #
4936
5339
  # @note When making an API call, you may pass SubmitJobRequest
@@ -4939,6 +5342,8 @@ module Aws::Batch
4939
5342
  # {
4940
5343
  # job_name: "String", # required
4941
5344
  # job_queue: "String", # required
5345
+ # share_identifier: "String",
5346
+ # scheduling_priority_override: 1,
4942
5347
  # array_properties: {
4943
5348
  # size: 1,
4944
5349
  # },
@@ -5017,9 +5422,9 @@ module Aws::Batch
5017
5422
  # }
5018
5423
  #
5019
5424
  # @!attribute [rw] job_name
5020
- # The name of the job. The first character must be alphanumeric, and
5021
- # up to 128 letters (uppercase and lowercase), numbers, hyphens, and
5022
- # underscores are allowed.
5425
+ # The name of the job. It can be up to 128 letters long. The first
5426
+ # character must be alphanumeric, can contain uppercase and lowercase
5427
+ # letters, numbers, hyphens (-), and underscores (\_).
5023
5428
  # @return [String]
5024
5429
  #
5025
5430
  # @!attribute [rw] job_queue
@@ -5027,6 +5432,21 @@ module Aws::Batch
5027
5432
  # name or the Amazon Resource Name (ARN) of the queue.
5028
5433
  # @return [String]
5029
5434
  #
5435
+ # @!attribute [rw] share_identifier
5436
+ # The share identifier for the job.
5437
+ # @return [String]
5438
+ #
5439
+ # @!attribute [rw] scheduling_priority_override
5440
+ # The scheduling priority for the job. This will only affect jobs in
5441
+ # job queues with a fair share policy. Jobs with a higher scheduling
5442
+ # priority will be scheduled before jobs with a lower scheduling
5443
+ # priority. This will override any scheduling priority in the job
5444
+ # definition.
5445
+ #
5446
+ # The minimum supported value is 0 and the maximum supported value is
5447
+ # 9999.
5448
+ # @return [Integer]
5449
+ #
5030
5450
  # @!attribute [rw] array_properties
5031
5451
  # The array properties for the submitted job, such as the size of the
5032
5452
  # array. The array size can be between 2 and 10,000. If you specify
@@ -5132,6 +5552,8 @@ module Aws::Batch
5132
5552
  class SubmitJobRequest < Struct.new(
5133
5553
  :job_name,
5134
5554
  :job_queue,
5555
+ :share_identifier,
5556
+ :scheduling_priority_override,
5135
5557
  :array_properties,
5136
5558
  :depends_on,
5137
5559
  :job_definition,
@@ -5181,8 +5603,9 @@ module Aws::Batch
5181
5603
  # @!attribute [rw] resource_arn
5182
5604
  # The Amazon Resource Name (ARN) of the resource that tags are added
5183
5605
  # 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.
5606
+ # jobs, job definitions, job queues, and scheduling policies. ARNs for
5607
+ # child jobs of array and multi-node parallel (MNP) jobs are not
5608
+ # supported.
5186
5609
  # @return [String]
5187
5610
  #
5188
5611
  # @!attribute [rw] tags
@@ -5342,8 +5765,9 @@ module Aws::Batch
5342
5765
  # @!attribute [rw] resource_arn
5343
5766
  # The Amazon Resource Name (ARN) of the resource from which to delete
5344
5767
  # 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.
5768
+ # jobs, job definitions, job queues, and scheduling policies. ARNs for
5769
+ # child jobs of array and multi-node parallel (MNP) jobs are not
5770
+ # supported.
5347
5771
  # @return [String]
5348
5772
  #
5349
5773
  # @!attribute [rw] tag_keys
@@ -5371,6 +5795,7 @@ module Aws::Batch
5371
5795
  # {
5372
5796
  # compute_environment: "String", # required
5373
5797
  # state: "ENABLED", # accepts ENABLED, DISABLED
5798
+ # unmanagedv_cpus: 1,
5374
5799
  # compute_resources: {
5375
5800
  # minv_cpus: 1,
5376
5801
  # maxv_cpus: 1,
@@ -5404,6 +5829,15 @@ module Aws::Batch
5404
5829
  # scale in to `minvCpus` value after instances become idle.
5405
5830
  # @return [String]
5406
5831
  #
5832
+ # @!attribute [rw] unmanagedv_cpus
5833
+ # 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.
5839
+ # @return [Integer]
5840
+ #
5407
5841
  # @!attribute [rw] compute_resources
5408
5842
  # Details of the compute resources managed by the compute environment.
5409
5843
  # Required for a managed compute environment. For more information,
@@ -5448,6 +5882,7 @@ module Aws::Batch
5448
5882
  class UpdateComputeEnvironmentRequest < Struct.new(
5449
5883
  :compute_environment,
5450
5884
  :state,
5885
+ :unmanagedv_cpus,
5451
5886
  :compute_resources,
5452
5887
  :service_role)
5453
5888
  SENSITIVE = []
@@ -5455,8 +5890,9 @@ module Aws::Batch
5455
5890
  end
5456
5891
 
5457
5892
  # @!attribute [rw] compute_environment_name
5458
- # The name of the compute environment. Up to 128 letters (uppercase
5459
- # and lowercase), numbers, hyphens, and underscores are allowed.
5893
+ # The name of the compute environment. It can be up to 128 letters
5894
+ # long. It can contain uppercase and lowercase letters, numbers,
5895
+ # hyphens (-), and underscores (\_).
5460
5896
  # @return [String]
5461
5897
  #
5462
5898
  # @!attribute [rw] compute_environment_arn
@@ -5480,6 +5916,7 @@ module Aws::Batch
5480
5916
  # {
5481
5917
  # job_queue: "String", # required
5482
5918
  # state: "ENABLED", # accepts ENABLED, DISABLED
5919
+ # scheduling_policy_arn: "String",
5483
5920
  # priority: 1,
5484
5921
  # compute_environment_order: [
5485
5922
  # {
@@ -5500,6 +5937,15 @@ module Aws::Batch
5500
5937
  # in the queue can finish.
5501
5938
  # @return [String]
5502
5939
  #
5940
+ # @!attribute [rw] scheduling_policy_arn
5941
+ # Amazon Resource Name (ARN) of the fair share scheduling policy. Once
5942
+ # a job queue is created, the fair share scheduling policy can be
5943
+ # replaced but not removed. The format is
5944
+ # `aws:Partition:batch:Region:Account:scheduling-policy/Name `. For
5945
+ # example,
5946
+ # `aws:aws:batch:us-west-2:012345678910:scheduling-policy/MySchedulingPolicy`.
5947
+ # @return [String]
5948
+ #
5503
5949
  # @!attribute [rw] priority
5504
5950
  # The priority of the job queue. Job queues with a higher priority (or
5505
5951
  # a higher integer value for the `priority` parameter) are evaluated
@@ -5534,6 +5980,7 @@ module Aws::Batch
5534
5980
  class UpdateJobQueueRequest < Struct.new(
5535
5981
  :job_queue,
5536
5982
  :state,
5983
+ :scheduling_policy_arn,
5537
5984
  :priority,
5538
5985
  :compute_environment_order)
5539
5986
  SENSITIVE = []
@@ -5557,6 +6004,44 @@ module Aws::Batch
5557
6004
  include Aws::Structure
5558
6005
  end
5559
6006
 
6007
+ # @note When making an API call, you may pass UpdateSchedulingPolicyRequest
6008
+ # data as a hash:
6009
+ #
6010
+ # {
6011
+ # arn: "String", # required
6012
+ # fairshare_policy: {
6013
+ # share_decay_seconds: 1,
6014
+ # compute_reservation: 1,
6015
+ # share_distribution: [
6016
+ # {
6017
+ # share_identifier: "String", # required
6018
+ # weight_factor: 1.0,
6019
+ # },
6020
+ # ],
6021
+ # },
6022
+ # }
6023
+ #
6024
+ # @!attribute [rw] arn
6025
+ # The Amazon Resource Name (ARN) of the scheduling policy to update.
6026
+ # @return [String]
6027
+ #
6028
+ # @!attribute [rw] fairshare_policy
6029
+ # The fair share policy.
6030
+ # @return [Types::FairsharePolicy]
6031
+ #
6032
+ # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/UpdateSchedulingPolicyRequest AWS API Documentation
6033
+ #
6034
+ class UpdateSchedulingPolicyRequest < Struct.new(
6035
+ :arn,
6036
+ :fairshare_policy)
6037
+ SENSITIVE = []
6038
+ include Aws::Structure
6039
+ end
6040
+
6041
+ # @see http://docs.aws.amazon.com/goto/WebAPI/batch-2016-08-10/UpdateSchedulingPolicyResponse AWS API Documentation
6042
+ #
6043
+ class UpdateSchedulingPolicyResponse < Aws::EmptyStructure; end
6044
+
5560
6045
  # A data volume used in a job's container properties.
5561
6046
  #
5562
6047
  # @note When making an API call, you may pass Volume
@@ -5594,10 +6079,10 @@ module Aws::Batch
5594
6079
  # @return [Types::Host]
5595
6080
  #
5596
6081
  # @!attribute [rw] name
5597
- # The name of the volume. Up to 255 letters (uppercase and lowercase),
5598
- # numbers, hyphens, and underscores are allowed. This name is
5599
- # referenced in the `sourceVolume` parameter of container definition
5600
- # `mountPoints`.
6082
+ # The name of the volume. It can be up to 255 letters long. It can
6083
+ # contain uppercase and lowercase letters, numbers, hyphens (-), and
6084
+ # underscores (\_). This name is referenced in the `sourceVolume`
6085
+ # parameter of container definition `mountPoints`.
5601
6086
  # @return [String]
5602
6087
  #
5603
6088
  # @!attribute [rw] efs_volume_configuration