@aws-sdk/client-batch 3.1012.0 → 3.1013.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (52) hide show
  1. package/README.md +42 -0
  2. package/dist-cjs/index.js +116 -0
  3. package/dist-cjs/schemas/schemas_0.js +244 -25
  4. package/dist-es/Batch.js +14 -0
  5. package/dist-es/commands/CreateQuotaShareCommand.js +16 -0
  6. package/dist-es/commands/DeleteQuotaShareCommand.js +16 -0
  7. package/dist-es/commands/DescribeQuotaShareCommand.js +16 -0
  8. package/dist-es/commands/ListQuotaSharesCommand.js +16 -0
  9. package/dist-es/commands/UpdateQuotaShareCommand.js +16 -0
  10. package/dist-es/commands/UpdateServiceJobCommand.js +16 -0
  11. package/dist-es/commands/index.js +6 -0
  12. package/dist-es/models/enums.js +23 -0
  13. package/dist-es/pagination/ListQuotaSharesPaginator.js +4 -0
  14. package/dist-es/pagination/index.js +1 -0
  15. package/dist-es/schemas/schemas_0.js +238 -20
  16. package/dist-types/Batch.d.ts +49 -0
  17. package/dist-types/BatchClient.d.ts +8 -2
  18. package/dist-types/commands/CreateQuotaShareCommand.d.ts +101 -0
  19. package/dist-types/commands/CreateSchedulingPolicyCommand.d.ts +3 -0
  20. package/dist-types/commands/DeleteJobQueueCommand.d.ts +1 -2
  21. package/dist-types/commands/DeleteQuotaShareCommand.d.ts +82 -0
  22. package/dist-types/commands/DescribeQuotaShareCommand.d.ts +102 -0
  23. package/dist-types/commands/DescribeSchedulingPoliciesCommand.d.ts +3 -0
  24. package/dist-types/commands/DescribeServiceJobCommand.d.ts +15 -0
  25. package/dist-types/commands/GetJobQueueSnapshotCommand.d.ts +28 -2
  26. package/dist-types/commands/ListQuotaSharesCommand.d.ts +106 -0
  27. package/dist-types/commands/ListServiceJobsCommand.d.ts +1 -0
  28. package/dist-types/commands/SubmitServiceJobCommand.d.ts +4 -0
  29. package/dist-types/commands/UpdateQuotaShareCommand.d.ts +97 -0
  30. package/dist-types/commands/UpdateSchedulingPolicyCommand.d.ts +3 -0
  31. package/dist-types/commands/UpdateServiceJobCommand.d.ts +85 -0
  32. package/dist-types/commands/index.d.ts +6 -0
  33. package/dist-types/models/enums.d.ts +63 -0
  34. package/dist-types/models/models_0.d.ts +596 -18
  35. package/dist-types/pagination/ListQuotaSharesPaginator.d.ts +7 -0
  36. package/dist-types/pagination/index.d.ts +1 -0
  37. package/dist-types/schemas/schemas_0.d.ts +31 -0
  38. package/dist-types/ts3.4/Batch.d.ts +109 -0
  39. package/dist-types/ts3.4/BatchClient.d.ts +38 -2
  40. package/dist-types/ts3.4/commands/CreateQuotaShareCommand.d.ts +50 -0
  41. package/dist-types/ts3.4/commands/DeleteQuotaShareCommand.d.ts +50 -0
  42. package/dist-types/ts3.4/commands/DescribeQuotaShareCommand.d.ts +51 -0
  43. package/dist-types/ts3.4/commands/ListQuotaSharesCommand.d.ts +50 -0
  44. package/dist-types/ts3.4/commands/UpdateQuotaShareCommand.d.ts +50 -0
  45. package/dist-types/ts3.4/commands/UpdateServiceJobCommand.d.ts +50 -0
  46. package/dist-types/ts3.4/commands/index.d.ts +6 -0
  47. package/dist-types/ts3.4/models/enums.d.ts +33 -0
  48. package/dist-types/ts3.4/models/models_0.d.ts +142 -0
  49. package/dist-types/ts3.4/pagination/ListQuotaSharesPaginator.d.ts +11 -0
  50. package/dist-types/ts3.4/pagination/index.d.ts +1 -0
  51. package/dist-types/ts3.4/schemas/schemas_0.d.ts +31 -0
  52. package/package.json +5 -5
@@ -1,4 +1,4 @@
1
- import { ArrayJobDependency, AssignPublicIp, CEState, CEStatus, CEType, CRAllocationStrategy, CRType, CRUpdateAllocationStrategy, DeviceCgroupPermission, EFSAuthorizationConfigIAM, EFSTransitEncryption, FirelensConfigurationType, JobDefinitionType, JobQueueType, JobStateTimeLimitActionsAction, JobStateTimeLimitActionsState, JobStatus, JQState, JQStatus, LogDriver, OrchestrationType, PlatformCapability, ResourceType, RetryAction, ServiceEnvironmentState, ServiceEnvironmentStatus, ServiceEnvironmentType, ServiceJobRetryAction, ServiceJobStatus, ServiceJobType, ServiceResourceIdName, UserdataType } from "./enums";
1
+ import { ArrayJobDependency, AssignPublicIp, CEState, CEStatus, CEType, CRAllocationStrategy, CRType, CRUpdateAllocationStrategy, DeviceCgroupPermission, EFSAuthorizationConfigIAM, EFSTransitEncryption, FirelensConfigurationType, JobDefinitionType, JobQueueType, JobStateTimeLimitActionsAction, JobStateTimeLimitActionsState, JobStatus, JQState, JQStatus, LogDriver, OrchestrationType, PlatformCapability, QuotaShareIdleResourceAssignmentStrategy, QuotaShareInSharePreemptionState, QuotaShareResourceSharingStrategy, QuotaShareState, QuotaShareStatus, ResourceType, RetryAction, ServiceEnvironmentState, ServiceEnvironmentStatus, ServiceEnvironmentType, ServiceJobRetryAction, ServiceJobStatus, ServiceJobType, ServiceResourceIdName, UserdataType } from "./enums";
2
2
  /**
3
3
  * <p>An object that represents an Batch array job.</p>
4
4
  * @public
@@ -1135,7 +1135,8 @@ export interface JobStateTimeLimitAction {
1135
1135
  maxTimeSeconds: number | undefined;
1136
1136
  /**
1137
1137
  * <p>The action to take when a job is at the head of the job queue in the specified state for the specified period of
1138
- * time. The only supported value is <code>CANCEL</code>, which will cancel the job.</p>
1138
+ * time. For job queues connected to a <code>ECS</code>, <code>FARGATE</code> or <code>EKS</code> compute environment, the only supported value is <code>CANCEL</code>, which will cancel the job.
1139
+ * For job queues connected to a <code>SAGEMAKER_TRAINING</code> service environment, the only supported value is <code>TERMINATE</code>, which will terminate the job.</p>
1139
1140
  * @public
1140
1141
  */
1141
1142
  action: JobStateTimeLimitActionsAction | undefined;
@@ -1250,6 +1251,118 @@ export interface CreateJobQueueResponse {
1250
1251
  */
1251
1252
  jobQueueArn: string | undefined;
1252
1253
  }
1254
+ /**
1255
+ * <p>Defines the capacity limit for a quota share, or the type and maximum quantity of a particular resource that can be allocated to jobs in the quota share
1256
+ * without borrowing. </p>
1257
+ * @public
1258
+ */
1259
+ export interface QuotaShareCapacityLimit {
1260
+ /**
1261
+ * <p>The maximum capacity available for the quota share. This value represents the maximum quantity of a resource that can be allocated to jobs in the quota share
1262
+ * without borrowing.</p>
1263
+ * @public
1264
+ */
1265
+ maxCapacity: number | undefined;
1266
+ /**
1267
+ * <p>The unit of compute capacity for the capacityLimit. For example, <code>ml.m5.large</code>.</p>
1268
+ * @public
1269
+ */
1270
+ capacityUnit: string | undefined;
1271
+ }
1272
+ /**
1273
+ * <p>Specifies the preemption behavior for jobs in a quota share.</p>
1274
+ * @public
1275
+ */
1276
+ export interface QuotaSharePreemptionConfiguration {
1277
+ /**
1278
+ * <p>Specifies whether jobs within a quota share can be preempted by another, higher priority job in the same quota share.</p>
1279
+ * @public
1280
+ */
1281
+ inSharePreemption: QuotaShareInSharePreemptionState | undefined;
1282
+ }
1283
+ /**
1284
+ * <p>Specifies whether a quota share reserves, lends, or both lends and borrows idle compute capacity.</p>
1285
+ * @public
1286
+ */
1287
+ export interface QuotaShareResourceSharingConfiguration {
1288
+ /**
1289
+ * <p>The resource sharing strategy for the quota share. The <code>RESERVE</code> strategy allows a quota share to reserve idle capacity for itself.
1290
+ * <code>LEND</code> configures the share to lend its idle capacity to another share in need of capacity.
1291
+ * The <code>LEND_AND_BORROW</code> strategy configures the share to borrow idle capacity from an underutilized share, as well as lend to another share.</p>
1292
+ * @public
1293
+ */
1294
+ strategy: QuotaShareResourceSharingStrategy | undefined;
1295
+ /**
1296
+ * <p>The maximum percentage of additional capacity that the quota share can borrow from other shares. <code>borrowLimit</code> can only be applied to quota shares with a strategy of <code>LEND_AND_BORROW</code>.
1297
+ * This value is expressed as a percentage of the quota share's configured <a href="https://docs.aws.amazon.com/batch/latest/APIReference/API_QuotaShareCapacityLimit.html">CapacityLimits</a>.</p>
1298
+ * <p>The <code>borrowLimit</code> is applied uniformly across all capacity units.
1299
+ * For example, if the <code>borrowLimit</code> is 200, the quota
1300
+ * share can borrow up to 200% of its configured <code>maxCapacity</code> for each capacity unit. The default <code>borrowLimit</code> is -1, which indicates unlimited borrowing.</p>
1301
+ * @public
1302
+ */
1303
+ borrowLimit?: number | undefined;
1304
+ }
1305
+ /**
1306
+ * @public
1307
+ */
1308
+ export interface CreateQuotaShareRequest {
1309
+ /**
1310
+ * <p>The name of the quota share. It can be up to 128 characters long. It can contain uppercase and
1311
+ * lowercase letters, numbers, hyphens (-), and underscores (_).</p>
1312
+ * @public
1313
+ */
1314
+ quotaShareName: string | undefined;
1315
+ /**
1316
+ * <p>The Batch job queue associated with the quota share. This can be the job queue name or ARN.
1317
+ * A job queue must be in the <code>VALID</code> state before you can associate it with a quota share.</p>
1318
+ * @public
1319
+ */
1320
+ jobQueue: string | undefined;
1321
+ /**
1322
+ * <p>A list that specifies the quantity and type of compute capacity allocated to the quota share. </p>
1323
+ * @public
1324
+ */
1325
+ capacityLimits: QuotaShareCapacityLimit[] | undefined;
1326
+ /**
1327
+ * <p>Specifies whether a quota share reserves, lends, or both lends and borrows idle compute capacity.</p>
1328
+ * @public
1329
+ */
1330
+ resourceSharingConfiguration: QuotaShareResourceSharingConfiguration | undefined;
1331
+ /**
1332
+ * <p>Specifies the preemption behavior for jobs in a quota share.</p>
1333
+ * @public
1334
+ */
1335
+ preemptionConfiguration: QuotaSharePreemptionConfiguration | undefined;
1336
+ /**
1337
+ * <p>The state of the quota share. If the quota share is <code>ENABLED</code>, it is able to accept jobs.
1338
+ * If the quota share is <code>DISABLED</code>, new jobs won't be accepted but jobs already submitted can finish.
1339
+ * The default state is <code>ENABLED</code>.</p>
1340
+ * @public
1341
+ */
1342
+ state?: QuotaShareState | undefined;
1343
+ /**
1344
+ * <p>The tags that you apply to the quota share to help you categorize and organize your
1345
+ * resources. Each tag consists of a key and an optional value. For more information, see <a href="https://docs.aws.amazon.com/batch/latest/userguide/using-tags.html">Tagging your Batch resources</a>
1346
+ * in <i>Batch User Guide</i>.</p>
1347
+ * @public
1348
+ */
1349
+ tags?: Record<string, string> | undefined;
1350
+ }
1351
+ /**
1352
+ * @public
1353
+ */
1354
+ export interface CreateQuotaShareResponse {
1355
+ /**
1356
+ * <p>The name of the quota share.</p>
1357
+ * @public
1358
+ */
1359
+ quotaShareName?: string | undefined;
1360
+ /**
1361
+ * <p>The Amazon Resource Name (ARN) of the quota share.</p>
1362
+ * @public
1363
+ */
1364
+ quotaShareArn?: string | undefined;
1365
+ }
1253
1366
  /**
1254
1367
  * <p>Specifies the weights for the share identifiers for the fair-share policy. Share
1255
1368
  * identifiers that aren't included have a default weight of <code>1.0</code>.</p>
@@ -1322,6 +1435,18 @@ export interface FairsharePolicy {
1322
1435
  */
1323
1436
  shareDistribution?: ShareAttributes[] | undefined;
1324
1437
  }
1438
+ /**
1439
+ * <p>The quota share scheduling policy details for a job queue.</p>
1440
+ * @public
1441
+ */
1442
+ export interface QuotaSharePolicy {
1443
+ /**
1444
+ * <p>The strategy that determines how idle resources are assigned to quota shares
1445
+ * that are borrowing capacity. Currently, only <code>FIFO</code> is supported.</p>
1446
+ * @public
1447
+ */
1448
+ idleResourceAssignmentStrategy: QuotaShareIdleResourceAssignmentStrategy | undefined;
1449
+ }
1325
1450
  /**
1326
1451
  * <p>Contains the parameters for <code>CreateSchedulingPolicy</code>.</p>
1327
1452
  * @public
@@ -1334,7 +1459,14 @@ export interface CreateSchedulingPolicyRequest {
1334
1459
  */
1335
1460
  name: string | undefined;
1336
1461
  /**
1337
- * <p>The fair-share scheduling policy details.</p>
1462
+ * <p>The quota share scheduling policy details. Only one of fairsharePolicy or quotaSharePolicy can be set.
1463
+ * Once set, this policy type cannot be removed or changed to a fairSharePolicy.</p>
1464
+ * @public
1465
+ */
1466
+ quotaSharePolicy?: QuotaSharePolicy | undefined;
1467
+ /**
1468
+ * <p>The fair-share scheduling policy details. Only one of fairsharePolicy or quotaSharePolicy can be set.
1469
+ * Once set, this policy type cannot be removed or changed to a quotaSharePolicy.</p>
1338
1470
  * @public
1339
1471
  */
1340
1472
  fairsharePolicy?: FairsharePolicy | undefined;
@@ -1367,21 +1499,25 @@ export interface CreateSchedulingPolicyResponse {
1367
1499
  arn: string | undefined;
1368
1500
  }
1369
1501
  /**
1370
- * <p>Defines the capacity limit for a service environment. This structure specifies the maximum amount of resources that can be used by service jobs in the environment.</p>
1502
+ * <p>Defines the type and maximum quantity of resources that can be allocated to service jobs in a service environment.</p>
1371
1503
  * @public
1372
1504
  */
1373
1505
  export interface CapacityLimit {
1374
1506
  /**
1375
- * <p>The maximum capacity available for the service environment. This value represents the maximum amount of resources that can be allocated to service jobs.</p>
1376
- * <p>For example, <code>maxCapacity=50</code>, <code>capacityUnit=NUM_INSTANCES</code>. This indicates that the
1377
- * maximum number of instances that can be run on this service environment is 50. You could
1378
- * then run 5 SageMaker Training jobs that each use 10 instances. However, if you submit another job that
1379
- * requires 10 instances, it will wait in the queue.</p>
1507
+ * <p>The maximum capacity available for the service environment. For a quota management enabled service environment, this value represents
1508
+ * the maximum quantity of a particular resource type (specified by <code>capacityUnit</code>) that can be allocated to service jobs.
1509
+ * For other service environments, this value represents the maximum quantity of all resources that can be allocated to service jobs.</p>
1510
+ * <p>For example, if <code>maxCapacity=50</code> and <code>capacityUnit=NUM_INSTANCES</code>, you can run up to 50 instances concurrently.
1511
+ * If you run 5 SageMaker Training jobs that each use 10 instances, a subsequent job requiring 10 instances waits in the queue until
1512
+ * capacity is available. In a quota management enabled service environment with <code>capacityUnit=ml.m5.large</code>, only
1513
+ * <code>ml.m5.large</code> instances count against this limit, and jobs requiring other instance types wait until a matching capacity limit is configured.</p>
1380
1514
  * @public
1381
1515
  */
1382
1516
  maxCapacity?: number | undefined;
1383
1517
  /**
1384
- * <p>The unit of measure for the capacity limit. This defines how the maxCapacity value should be interpreted. For <code>SAGEMAKER_TRAINING</code> jobs, use <code>NUM_INSTANCES</code>.</p>
1518
+ * <p>The unit of measure for the capacity limit, which defines how <code>maxCapacity</code> is interpreted. For <code>SAGEMAKER_TRAINING</code> jobs in a quota management
1519
+ * enabled service environment, specify the <a href="https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ResourceConfig.html#sagemaker-Type-ResourceConfig-InstanceType">instance type</a>
1520
+ * (for example, <code>ml.m5.large</code>). Otherwise, use <code>NUM_INSTANCES</code>.</p>
1385
1521
  * @public
1386
1522
  */
1387
1523
  capacityUnit?: string | undefined;
@@ -1478,6 +1614,21 @@ export interface DeleteJobQueueRequest {
1478
1614
  */
1479
1615
  export interface DeleteJobQueueResponse {
1480
1616
  }
1617
+ /**
1618
+ * @public
1619
+ */
1620
+ export interface DeleteQuotaShareRequest {
1621
+ /**
1622
+ * <p>The Amazon Resource Name (ARN) of the quota share.</p>
1623
+ * @public
1624
+ */
1625
+ quotaShareArn: string | undefined;
1626
+ }
1627
+ /**
1628
+ * @public
1629
+ */
1630
+ export interface DeleteQuotaShareResponse {
1631
+ }
1481
1632
  /**
1482
1633
  * <p>Contains the parameters for <code>DeleteSchedulingPolicy</code>.</p>
1483
1634
  * @public
@@ -5494,6 +5645,66 @@ export interface DescribeJobsResponse {
5494
5645
  */
5495
5646
  jobs?: JobDetail[] | undefined;
5496
5647
  }
5648
+ /**
5649
+ * @public
5650
+ */
5651
+ export interface DescribeQuotaShareRequest {
5652
+ /**
5653
+ * <p>The Amazon Resource Name (ARN) of the quota share.</p>
5654
+ * @public
5655
+ */
5656
+ quotaShareArn: string | undefined;
5657
+ }
5658
+ /**
5659
+ * @public
5660
+ */
5661
+ export interface DescribeQuotaShareResponse {
5662
+ /**
5663
+ * <p>The name of the quota share.</p>
5664
+ * @public
5665
+ */
5666
+ quotaShareName?: string | undefined;
5667
+ /**
5668
+ * <p>The Amazon Resource Name (ARN) of the quota share.</p>
5669
+ * @public
5670
+ */
5671
+ quotaShareArn?: string | undefined;
5672
+ /**
5673
+ * <p>The ARN of the job queue associated with the quota share.</p>
5674
+ * @public
5675
+ */
5676
+ jobQueueArn?: string | undefined;
5677
+ /**
5678
+ * <p>A list that specifies the quantity and type of compute capacity allocated to the quota share.</p>
5679
+ * @public
5680
+ */
5681
+ capacityLimits?: QuotaShareCapacityLimit[] | undefined;
5682
+ /**
5683
+ * <p>Specifies whether a quota share reserves, lends, or both lends and borrows idle compute capacity.</p>
5684
+ * @public
5685
+ */
5686
+ resourceSharingConfiguration?: QuotaShareResourceSharingConfiguration | undefined;
5687
+ /**
5688
+ * <p>Specifies the preemption behavior for jobs in a quota share.</p>
5689
+ * @public
5690
+ */
5691
+ preemptionConfiguration?: QuotaSharePreemptionConfiguration | undefined;
5692
+ /**
5693
+ * <p>The state of the quota share.</p>
5694
+ * @public
5695
+ */
5696
+ state?: QuotaShareState | undefined;
5697
+ /**
5698
+ * <p>The current status of the quota share.</p>
5699
+ * @public
5700
+ */
5701
+ status?: QuotaShareStatus | undefined;
5702
+ /**
5703
+ * <p>The tags applied to the quota share.</p>
5704
+ * @public
5705
+ */
5706
+ tags?: Record<string, string> | undefined;
5707
+ }
5497
5708
  /**
5498
5709
  * <p>Contains the parameters for <code>DescribeSchedulingPolicies</code>.</p>
5499
5710
  * @public
@@ -5522,6 +5733,11 @@ export interface SchedulingPolicyDetail {
5522
5733
  * @public
5523
5734
  */
5524
5735
  arn: string | undefined;
5736
+ /**
5737
+ * <p>The quota share scheduling policy details.</p>
5738
+ * @public
5739
+ */
5740
+ quotaSharePolicy?: QuotaSharePolicy | undefined;
5525
5741
  /**
5526
5742
  * <p>The fair-share scheduling policy details.</p>
5527
5743
  * @public
@@ -5707,6 +5923,61 @@ export interface LatestServiceJobAttempt {
5707
5923
  */
5708
5924
  serviceResourceId?: ServiceResourceId | undefined;
5709
5925
  }
5926
+ /**
5927
+ * <p>Specifies the service job behavior when preempted.</p>
5928
+ * @public
5929
+ */
5930
+ export interface ServiceJobPreemptionConfiguration {
5931
+ /**
5932
+ * <p>The number of times a service job can be retried after it is preempted. A job will be terminated when preemption retries have been exhausted.
5933
+ * If this field is unset, preempted jobs will be requeued an unlimited number of times. </p>
5934
+ * @public
5935
+ */
5936
+ preemptionRetriesBeforeTermination?: number | undefined;
5937
+ }
5938
+ /**
5939
+ * <p>Detailed information about a preempted attempt of a service job.</p>
5940
+ * @public
5941
+ */
5942
+ export interface ServiceJobPreemptedAttempt {
5943
+ /**
5944
+ * <p>The service resource identifier associated with the service job attempt.</p>
5945
+ * @public
5946
+ */
5947
+ serviceResourceId?: ServiceResourceId | undefined;
5948
+ /**
5949
+ * <p>The Unix timestamp (in milliseconds) for when the service job attempt was started.</p>
5950
+ * @public
5951
+ */
5952
+ startedAt?: number | undefined;
5953
+ /**
5954
+ * <p>The Unix timestamp (in milliseconds) for when the service job attempt stopped running.</p>
5955
+ * @public
5956
+ */
5957
+ stoppedAt?: number | undefined;
5958
+ /**
5959
+ * <p>A string that provides additional details for the current status of the service job attempt.</p>
5960
+ * @public
5961
+ */
5962
+ statusReason?: string | undefined;
5963
+ }
5964
+ /**
5965
+ * <p>Summarizes the preemptions of the service job. This field appears on a service job
5966
+ * when it has been preempted.</p>
5967
+ * @public
5968
+ */
5969
+ export interface ServiceJobPreemptionSummary {
5970
+ /**
5971
+ * <p>The total number of times the service job has been preempted.</p>
5972
+ * @public
5973
+ */
5974
+ preemptedAttemptCount?: number | undefined;
5975
+ /**
5976
+ * <p>A list of the most recent preemption attempts for the service job.</p>
5977
+ * @public
5978
+ */
5979
+ recentPreemptedAttempts?: ServiceJobPreemptedAttempt[] | undefined;
5980
+ }
5710
5981
  /**
5711
5982
  * <p>Specifies conditions for when to exit or retry a service job based on the exit status or status reason.</p>
5712
5983
  * @public
@@ -5833,6 +6104,22 @@ export interface DescribeServiceJobResponse {
5833
6104
  * @public
5834
6105
  */
5835
6106
  shareIdentifier?: string | undefined;
6107
+ /**
6108
+ * <p>The name of the quota share that the service job is associated with.</p>
6109
+ * @public
6110
+ */
6111
+ quotaShareName?: string | undefined;
6112
+ /**
6113
+ * <p>Specifies the service job behavior when preempted.</p>
6114
+ * @public
6115
+ */
6116
+ preemptionConfiguration?: ServiceJobPreemptionConfiguration | undefined;
6117
+ /**
6118
+ * <p>Summarizes the preemptions of the service job. This field appears on a service job
6119
+ * when it has been preempted.</p>
6120
+ * @public
6121
+ */
6122
+ preemptionSummary?: ServiceJobPreemptionSummary | undefined;
5836
6123
  /**
5837
6124
  * <p>The Unix timestamp (in milliseconds) for when the service job was started.</p>
5838
6125
  * @public
@@ -5906,6 +6193,38 @@ export interface FrontOfQueueDetail {
5906
6193
  */
5907
6194
  lastUpdatedAt?: number | undefined;
5908
6195
  }
6196
+ /**
6197
+ * <p>An object that represents summary details for the first <code>RUNNABLE</code> job in a quota share.</p>
6198
+ * @public
6199
+ */
6200
+ export interface FrontOfQuotaShareJobSummary {
6201
+ /**
6202
+ * <p>The ARN for a job in a named quota share.</p>
6203
+ * @public
6204
+ */
6205
+ jobArn?: string | undefined;
6206
+ /**
6207
+ * <p>The Unix timestamp (in milliseconds) for when the job transitioned to its current position in the quota share.</p>
6208
+ * @public
6209
+ */
6210
+ earliestTimeAtPosition?: number | undefined;
6211
+ }
6212
+ /**
6213
+ * <p>An object that represents the details of the first <code>RUNNABLE</code> job in each named quota share associated with a single job queue.</p>
6214
+ * @public
6215
+ */
6216
+ export interface FrontOfQuotaSharesDetail {
6217
+ /**
6218
+ * <p>Contains a list of the first <code>RUNNABLE</code> job in each named quota share.</p>
6219
+ * @public
6220
+ */
6221
+ quotaShares?: Record<string, FrontOfQuotaShareJobSummary[]> | undefined;
6222
+ /**
6223
+ * <p>The Unix timestamp (in milliseconds) for when the first <code>RUNNABLE</code> job per quota share were all last updated.</p>
6224
+ * @public
6225
+ */
6226
+ lastUpdatedAt?: number | undefined;
6227
+ }
5909
6228
  /**
5910
6229
  * <p>The capacity usage for a fairshare scheduling job queue.</p>
5911
6230
  * @public
@@ -5961,6 +6280,49 @@ export interface FairshareUtilizationDetail {
5961
6280
  */
5962
6281
  topCapacityUtilization?: FairshareCapacityUtilization[] | undefined;
5963
6282
  }
6283
+ /**
6284
+ * <p>The capacity usage for a quota share, including units of compute capacity and quantity of resources being used.</p>
6285
+ * @public
6286
+ */
6287
+ export interface QuotaShareCapacityUsage {
6288
+ /**
6289
+ * <p>The unit of compute capacity for the capacity usage.</p>
6290
+ * @public
6291
+ */
6292
+ capacityUnit?: string | undefined;
6293
+ /**
6294
+ * <p>The quantity of capacity being used.</p>
6295
+ * @public
6296
+ */
6297
+ quantity?: number | undefined;
6298
+ }
6299
+ /**
6300
+ * <p>The capacity utilization for a specific quota share, including the quota share name and its current usage.</p>
6301
+ * @public
6302
+ */
6303
+ export interface QuotaShareCapacityUtilization {
6304
+ /**
6305
+ * <p>The name of the quota share.</p>
6306
+ * @public
6307
+ */
6308
+ quotaShareName?: string | undefined;
6309
+ /**
6310
+ * <p>The capacity usage information for this quota share, including the units of compute capacity and quantity being used.</p>
6311
+ * @public
6312
+ */
6313
+ capacityUsage?: QuotaShareCapacityUsage[] | undefined;
6314
+ }
6315
+ /**
6316
+ * <p>An object that represents the capacity utilization details of all quota shares associated with a single job queue.</p>
6317
+ * @public
6318
+ */
6319
+ export interface QuotaShareUtilizationDetail {
6320
+ /**
6321
+ * <p>A list of the top capacity utilizations across quota shares associated with a job queue.</p>
6322
+ * @public
6323
+ */
6324
+ topCapacityUtilization?: QuotaShareCapacityUtilization[] | undefined;
6325
+ }
5964
6326
  /**
5965
6327
  * <p>The configured capacity usage for a job queue snapshot, including the unit of
5966
6328
  * measure and quantity of resources being used.</p>
@@ -5982,13 +6344,13 @@ export interface QueueSnapshotCapacityUsage {
5982
6344
  }
5983
6345
  /**
5984
6346
  * <p>The job queue utilization at a specific point in time,
5985
- * including total capacity usage and fairshare utilization breakdown.</p>
6347
+ * including total capacity usage, and quota share or fairshare utilization breakdown
6348
+ * depending on the job queue scheduling policy.</p>
5986
6349
  * @public
5987
6350
  */
5988
6351
  export interface QueueSnapshotUtilizationDetail {
5989
6352
  /**
5990
- * <p>The total capacity usage for the entire job queue, for both first-in,
5991
- * first-out (FIFO) and fairshare scheduling job queue.</p>
6353
+ * <p>The total capacity usage for the entire job queue.</p>
5992
6354
  * @public
5993
6355
  */
5994
6356
  totalCapacityUsage?: QueueSnapshotCapacityUsage[] | undefined;
@@ -5998,6 +6360,11 @@ export interface QueueSnapshotUtilizationDetail {
5998
6360
  * @public
5999
6361
  */
6000
6362
  fairshareUtilization?: FairshareUtilizationDetail | undefined;
6363
+ /**
6364
+ * <p>The utilization information for a job queue with a quota share scheduling policy.</p>
6365
+ * @public
6366
+ */
6367
+ quotaShareUtilization?: QuotaShareUtilizationDetail | undefined;
6001
6368
  /**
6002
6369
  * <p>The Unix timestamp (in milliseconds) for when the queue utilization information was
6003
6370
  * last updated.</p>
@@ -6011,15 +6378,20 @@ export interface QueueSnapshotUtilizationDetail {
6011
6378
  export interface GetJobQueueSnapshotResponse {
6012
6379
  /**
6013
6380
  * <p>The list of the first 100 <code>RUNNABLE</code> jobs in each job queue. For
6014
- * first-in-first-out (FIFO) job queues, jobs are ordered based on their submission time. For
6015
- * fair-share scheduling (FSS) job queues, jobs are ordered based on their job priority and share
6381
+ * first-in-first-out (FIFO) job queues, jobs are ordered based on their submission time. For job queues with an attached
6382
+ * fair-share scheduling (FSS) or quota-share policy, jobs are ordered based on their job priority and share
6016
6383
  * usage.</p>
6017
6384
  * @public
6018
6385
  */
6019
6386
  frontOfQueue?: FrontOfQueueDetail | undefined;
6387
+ /**
6388
+ * <p>The first <code>RUNNABLE</code> job in each quota share. Jobs are ordered based on their job priority and share usage.</p>
6389
+ * @public
6390
+ */
6391
+ frontOfQuotaShares?: FrontOfQuotaSharesDetail | undefined;
6020
6392
  /**
6021
6393
  * <p>The job queue's capacity utilization, including total usage and
6022
- * breakdown by fairshare scheduling queue.</p>
6394
+ * breakdown per given share.</p>
6023
6395
  * @public
6024
6396
  */
6025
6397
  queueUtilization?: QueueSnapshotUtilizationDetail | undefined;
@@ -6617,6 +6989,106 @@ export interface ListJobsByConsumableResourceResponse {
6617
6989
  */
6618
6990
  nextToken?: string | undefined;
6619
6991
  }
6992
+ /**
6993
+ * @public
6994
+ */
6995
+ export interface ListQuotaSharesRequest {
6996
+ /**
6997
+ * <p>The name or full Amazon Resource Name (ARN) of the job queue used to list quota shares.</p>
6998
+ * @public
6999
+ */
7000
+ jobQueue: string | undefined;
7001
+ /**
7002
+ * <p>The maximum number of results returned by <code>ListQuotaShares</code> in
7003
+ * paginated output. When this parameter is used, <code>ListQuotaShares</code> only
7004
+ * returns <code>maxResults</code> results in a single page and a <code>nextToken</code> response
7005
+ * element. You can see the remaining results of the initial request by sending another
7006
+ * <code>ListQuotaShares</code> request with the returned <code>nextToken</code> value.
7007
+ * This value can be between 1 and 100. If this parameter isn't
7008
+ * used, <code>ListQuotaShares</code> returns up to 100 results and a
7009
+ * <code>nextToken</code> value if applicable.</p>
7010
+ * @public
7011
+ */
7012
+ maxResults?: number | undefined;
7013
+ /**
7014
+ * <p>The <code>nextToken</code> value that's returned from a previous paginated
7015
+ * <code>ListQuotaShares</code> request where <code>maxResults</code> was used and the
7016
+ * results exceeded the value of that parameter. Pagination continues from the end of the
7017
+ * previous results that returned the <code>nextToken</code> value. This value is
7018
+ * <code>null</code> when there are no more results to return.</p>
7019
+ * <note>
7020
+ * <p>Treat this token as an opaque identifier that's only used to
7021
+ * retrieve the next items in a list and not for other programmatic purposes.</p>
7022
+ * </note>
7023
+ * @public
7024
+ */
7025
+ nextToken?: string | undefined;
7026
+ }
7027
+ /**
7028
+ * <p>Detailed information about a quota share, including its configuration, state, and capacity limits.</p>
7029
+ * @public
7030
+ */
7031
+ export interface QuotaShareDetail {
7032
+ /**
7033
+ * <p>The name of the quota share.</p>
7034
+ * @public
7035
+ */
7036
+ quotaShareName?: string | undefined;
7037
+ /**
7038
+ * <p>The Amazon Resource Name (ARN) of the quota share.</p>
7039
+ * @public
7040
+ */
7041
+ quotaShareArn?: string | undefined;
7042
+ /**
7043
+ * <p>The Amazon Resource Name (ARN) of the job queue associated with the quota share.</p>
7044
+ * @public
7045
+ */
7046
+ jobQueueArn?: string | undefined;
7047
+ /**
7048
+ * <p>A list that specifies the quantity and type of compute capacity allocated to the quota share.</p>
7049
+ * @public
7050
+ */
7051
+ capacityLimits?: QuotaShareCapacityLimit[] | undefined;
7052
+ /**
7053
+ * <p>Specifies whether a quota share reserves, lends, or both lends and borrows idle compute capacity.</p>
7054
+ * @public
7055
+ */
7056
+ resourceSharingConfiguration?: QuotaShareResourceSharingConfiguration | undefined;
7057
+ /**
7058
+ * <p>Specifies the preemption behavior for jobs in a quota share.</p>
7059
+ * @public
7060
+ */
7061
+ preemptionConfiguration?: QuotaSharePreemptionConfiguration | undefined;
7062
+ /**
7063
+ * <p>The state of the quota share.</p>
7064
+ * @public
7065
+ */
7066
+ state?: QuotaShareState | undefined;
7067
+ /**
7068
+ * <p>The current status of the quota share.</p>
7069
+ * @public
7070
+ */
7071
+ status?: QuotaShareStatus | undefined;
7072
+ }
7073
+ /**
7074
+ * @public
7075
+ */
7076
+ export interface ListQuotaSharesResponse {
7077
+ /**
7078
+ * <p>A list of quota shares that match the request.</p>
7079
+ * @public
7080
+ */
7081
+ quotaShares?: QuotaShareDetail[] | undefined;
7082
+ /**
7083
+ * <p>The <code>nextToken</code> value to include in a future
7084
+ * <code>ListQuotaShares</code> request. When the results of a
7085
+ * <code>ListQuotaShares</code> request exceed <code>maxResults</code>, this value can
7086
+ * be used to retrieve the next page of results. This value is <code>null</code> when there are
7087
+ * no more results to return.</p>
7088
+ * @public
7089
+ */
7090
+ nextToken?: string | undefined;
7091
+ }
6620
7092
  /**
6621
7093
  * <p>Contains the parameters for <code>ListSchedulingPolicies</code>.</p>
6622
7094
  * @public
@@ -6823,6 +7295,11 @@ export interface ServiceJobSummary {
6823
7295
  * @public
6824
7296
  */
6825
7297
  shareIdentifier?: string | undefined;
7298
+ /**
7299
+ * <p>The quota share for the service job.</p>
7300
+ * @public
7301
+ */
7302
+ quotaShareName?: string | undefined;
6826
7303
  /**
6827
7304
  * <p>The current status of the service job. </p>
6828
7305
  * @public
@@ -7554,6 +8031,18 @@ export interface SubmitServiceJobRequest {
7554
8031
  * @public
7555
8032
  */
7556
8033
  shareIdentifier?: string | undefined;
8034
+ /**
8035
+ * <p>The quota share for the service job. Don't specify this parameter if the job queue
8036
+ * doesn't have a quota share scheduling policy. If the job queue has a quota share scheduling policy,
8037
+ * then this parameter must be specified.</p>
8038
+ * @public
8039
+ */
8040
+ quotaShareName?: string | undefined;
8041
+ /**
8042
+ * <p>Specifies the service job behavior when preempted.</p>
8043
+ * @public
8044
+ */
8045
+ preemptionConfiguration?: ServiceJobPreemptionConfiguration | undefined;
7557
8046
  /**
7558
8047
  * <p>The timeout configuration for the service job. If none is specified, Batch defers to the default timeout of the underlying service handling the job.</p>
7559
8048
  * @public
@@ -8291,7 +8780,53 @@ export interface UpdateJobQueueResponse {
8291
8780
  jobQueueArn?: string | undefined;
8292
8781
  }
8293
8782
  /**
8294
- * <p>Contains the parameters for <code>UpdateSchedulingPolicy</code>.</p>
8783
+ * @public
8784
+ */
8785
+ export interface UpdateQuotaShareRequest {
8786
+ /**
8787
+ * <p>The Amazon Resource Name (ARN) of the quota share to update.</p>
8788
+ * @public
8789
+ */
8790
+ quotaShareArn: string | undefined;
8791
+ /**
8792
+ * <p>A list that specifies the quantity and type of compute capacity allocated to the quota share.</p>
8793
+ * @public
8794
+ */
8795
+ capacityLimits?: QuotaShareCapacityLimit[] | undefined;
8796
+ /**
8797
+ * <p>Specifies whether a quota share reserves, lends, or both lends and borrows idle compute capacity.</p>
8798
+ * @public
8799
+ */
8800
+ resourceSharingConfiguration?: QuotaShareResourceSharingConfiguration | undefined;
8801
+ /**
8802
+ * <p>Specifies the preemption behavior for jobs in a quota share.</p>
8803
+ * @public
8804
+ */
8805
+ preemptionConfiguration?: QuotaSharePreemptionConfiguration | undefined;
8806
+ /**
8807
+ * <p>The state of the quota share. If the quota share is <code>ENABLED</code>, it is able to accept jobs.
8808
+ * If the quota share is <code>DISABLED</code>, new jobs won't be accepted but jobs already submitted can finish.</p>
8809
+ * @public
8810
+ */
8811
+ state?: QuotaShareState | undefined;
8812
+ }
8813
+ /**
8814
+ * @public
8815
+ */
8816
+ export interface UpdateQuotaShareResponse {
8817
+ /**
8818
+ * <p>The name of the quota share.</p>
8819
+ * @public
8820
+ */
8821
+ quotaShareName?: string | undefined;
8822
+ /**
8823
+ * <p>The Amazon Resource Name (ARN) of the quota share.</p>
8824
+ * @public
8825
+ */
8826
+ quotaShareArn?: string | undefined;
8827
+ }
8828
+ /**
8829
+ * <p>Contains the parameters for <code>UpdateSchedulingPolicy</code>. </p>
8295
8830
  * @public
8296
8831
  */
8297
8832
  export interface UpdateSchedulingPolicyRequest {
@@ -8301,7 +8836,12 @@ export interface UpdateSchedulingPolicyRequest {
8301
8836
  */
8302
8837
  arn: string | undefined;
8303
8838
  /**
8304
- * <p>The fair-share policy scheduling details.</p>
8839
+ * <p>The quota share scheduling policy details. Once set during creation, a quotaSharePolicy cannot be removed or changed to a fairsharePolicy.</p>
8840
+ * @public
8841
+ */
8842
+ quotaSharePolicy?: QuotaSharePolicy | undefined;
8843
+ /**
8844
+ * <p>The fair-share policy scheduling details. Once set during creation, a fairsharePolicy cannot be removed or changed to a quotaSharePolicy.</p>
8305
8845
  * @public
8306
8846
  */
8307
8847
  fairsharePolicy?: FairsharePolicy | undefined;
@@ -8346,3 +8886,41 @@ export interface UpdateServiceEnvironmentResponse {
8346
8886
  */
8347
8887
  serviceEnvironmentArn: string | undefined;
8348
8888
  }
8889
+ /**
8890
+ * @public
8891
+ */
8892
+ export interface UpdateServiceJobRequest {
8893
+ /**
8894
+ * <p>The Batch job ID of the job to update.</p>
8895
+ * @public
8896
+ */
8897
+ jobId: string | undefined;
8898
+ /**
8899
+ * <p>The scheduling priority for the job. This only affects jobs in job queues with a
8900
+ * quota-share or fair-share scheduling policy. Jobs with a higher scheduling priority are scheduled before jobs with a lower
8901
+ * scheduling priority within a share.</p>
8902
+ * <p>The minimum supported value is 0 and the maximum supported value is 9999.</p>
8903
+ * @public
8904
+ */
8905
+ schedulingPriority: number | undefined;
8906
+ }
8907
+ /**
8908
+ * @public
8909
+ */
8910
+ export interface UpdateServiceJobResponse {
8911
+ /**
8912
+ * <p>The Amazon Resource Name (ARN) for the job.</p>
8913
+ * @public
8914
+ */
8915
+ jobArn?: string | undefined;
8916
+ /**
8917
+ * <p>The name of the job.</p>
8918
+ * @public
8919
+ */
8920
+ jobName?: string | undefined;
8921
+ /**
8922
+ * <p>The unique identifier for the job.</p>
8923
+ * @public
8924
+ */
8925
+ jobId?: string | undefined;
8926
+ }