diff --git a/clients/client-deadline/README.md b/clients/client-deadline/README.md index fa14a33ec43f..7a4d139cd27f 100644 --- a/clients/client-deadline/README.md +++ b/clients/client-deadline/README.md @@ -337,6 +337,14 @@ CreateLicenseEndpoint [Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/deadline/command/CreateLicenseEndpointCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-deadline/Interface/CreateLicenseEndpointCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-deadline/Interface/CreateLicenseEndpointCommandOutput/) + +
+ +CreateLimit + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/deadline/command/CreateLimitCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-deadline/Interface/CreateLimitCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-deadline/Interface/CreateLimitCommandOutput/) +
@@ -369,6 +377,14 @@ CreateQueueFleetAssociation [Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/deadline/command/CreateQueueFleetAssociationCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-deadline/Interface/CreateQueueFleetAssociationCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-deadline/Interface/CreateQueueFleetAssociationCommandOutput/) +
+
+ +CreateQueueLimitAssociation + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/deadline/command/CreateQueueLimitAssociationCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-deadline/Interface/CreateQueueLimitAssociationCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-deadline/Interface/CreateQueueLimitAssociationCommandOutput/) +
@@ -417,6 +433,14 @@ DeleteLicenseEndpoint [Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/deadline/command/DeleteLicenseEndpointCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-deadline/Interface/DeleteLicenseEndpointCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-deadline/Interface/DeleteLicenseEndpointCommandOutput/) +
+
+ +DeleteLimit + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/deadline/command/DeleteLimitCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-deadline/Interface/DeleteLimitCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-deadline/Interface/DeleteLimitCommandOutput/) +
@@ -457,6 +481,14 @@ DeleteQueueFleetAssociation [Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/deadline/command/DeleteQueueFleetAssociationCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-deadline/Interface/DeleteQueueFleetAssociationCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-deadline/Interface/DeleteQueueFleetAssociationCommandOutput/) +
+
+ +DeleteQueueLimitAssociation + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/deadline/command/DeleteQueueLimitAssociationCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-deadline/Interface/DeleteQueueLimitAssociationCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-deadline/Interface/DeleteQueueLimitAssociationCommandOutput/) +
@@ -545,6 +577,14 @@ GetLicenseEndpoint [Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/deadline/command/GetLicenseEndpointCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-deadline/Interface/GetLicenseEndpointCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-deadline/Interface/GetLicenseEndpointCommandOutput/) +
+
+ +GetLimit + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/deadline/command/GetLimitCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-deadline/Interface/GetLimitCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-deadline/Interface/GetLimitCommandOutput/) +
@@ -577,6 +617,14 @@ GetQueueFleetAssociation [Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/deadline/command/GetQueueFleetAssociationCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-deadline/Interface/GetQueueFleetAssociationCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-deadline/Interface/GetQueueFleetAssociationCommandOutput/) +
+
+ +GetQueueLimitAssociation + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/deadline/command/GetQueueLimitAssociationCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-deadline/Interface/GetQueueLimitAssociationCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-deadline/Interface/GetQueueLimitAssociationCommandOutput/) +
@@ -721,6 +769,14 @@ ListLicenseEndpoints [Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/deadline/command/ListLicenseEndpointsCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-deadline/Interface/ListLicenseEndpointsCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-deadline/Interface/ListLicenseEndpointsCommandOutput/) +
+
+ +ListLimits + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/deadline/command/ListLimitsCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-deadline/Interface/ListLimitsCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-deadline/Interface/ListLimitsCommandOutput/) +
@@ -753,6 +809,14 @@ ListQueueFleetAssociations [Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/deadline/command/ListQueueFleetAssociationsCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-deadline/Interface/ListQueueFleetAssociationsCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-deadline/Interface/ListQueueFleetAssociationsCommandOutput/) +
+
+ +ListQueueLimitAssociations + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/deadline/command/ListQueueLimitAssociationsCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-deadline/Interface/ListQueueLimitAssociationsCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-deadline/Interface/ListQueueLimitAssociationsCommandOutput/) +
@@ -953,6 +1017,14 @@ UpdateJob [Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/deadline/command/UpdateJobCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-deadline/Interface/UpdateJobCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-deadline/Interface/UpdateJobCommandOutput/) +
+
+ +UpdateLimit + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/deadline/command/UpdateLimitCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-deadline/Interface/UpdateLimitCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-deadline/Interface/UpdateLimitCommandOutput/) +
@@ -985,6 +1057,14 @@ UpdateQueueFleetAssociation [Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/deadline/command/UpdateQueueFleetAssociationCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-deadline/Interface/UpdateQueueFleetAssociationCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-deadline/Interface/UpdateQueueFleetAssociationCommandOutput/) +
+
+ +UpdateQueueLimitAssociation + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/client/deadline/command/UpdateQueueLimitAssociationCommand/) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-deadline/Interface/UpdateQueueLimitAssociationCommandInput/) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/Package/-aws-sdk-client-deadline/Interface/UpdateQueueLimitAssociationCommandOutput/) +
diff --git a/clients/client-deadline/src/Deadline.ts b/clients/client-deadline/src/Deadline.ts index 55a91f2792ce..50f6eb176122 100644 --- a/clients/client-deadline/src/Deadline.ts +++ b/clients/client-deadline/src/Deadline.ts @@ -70,6 +70,7 @@ import { CreateLicenseEndpointCommandInput, CreateLicenseEndpointCommandOutput, } from "./commands/CreateLicenseEndpointCommand"; +import { CreateLimitCommand, CreateLimitCommandInput, CreateLimitCommandOutput } from "./commands/CreateLimitCommand"; import { CreateMonitorCommand, CreateMonitorCommandInput, @@ -86,6 +87,11 @@ import { CreateQueueFleetAssociationCommandInput, CreateQueueFleetAssociationCommandOutput, } from "./commands/CreateQueueFleetAssociationCommand"; +import { + CreateQueueLimitAssociationCommand, + CreateQueueLimitAssociationCommandInput, + CreateQueueLimitAssociationCommandOutput, +} from "./commands/CreateQueueLimitAssociationCommand"; import { CreateStorageProfileCommand, CreateStorageProfileCommandInput, @@ -108,6 +114,7 @@ import { DeleteLicenseEndpointCommandInput, DeleteLicenseEndpointCommandOutput, } from "./commands/DeleteLicenseEndpointCommand"; +import { DeleteLimitCommand, DeleteLimitCommandInput, DeleteLimitCommandOutput } from "./commands/DeleteLimitCommand"; import { DeleteMeteredProductCommand, DeleteMeteredProductCommandInput, @@ -129,6 +136,11 @@ import { DeleteQueueFleetAssociationCommandInput, DeleteQueueFleetAssociationCommandOutput, } from "./commands/DeleteQueueFleetAssociationCommand"; +import { + DeleteQueueLimitAssociationCommand, + DeleteQueueLimitAssociationCommandInput, + DeleteQueueLimitAssociationCommandOutput, +} from "./commands/DeleteQueueLimitAssociationCommand"; import { DeleteStorageProfileCommand, DeleteStorageProfileCommandInput, @@ -168,6 +180,7 @@ import { GetLicenseEndpointCommandInput, GetLicenseEndpointCommandOutput, } from "./commands/GetLicenseEndpointCommand"; +import { GetLimitCommand, GetLimitCommandInput, GetLimitCommandOutput } from "./commands/GetLimitCommand"; import { GetMonitorCommand, GetMonitorCommandInput, GetMonitorCommandOutput } from "./commands/GetMonitorCommand"; import { GetQueueCommand, GetQueueCommandInput, GetQueueCommandOutput } from "./commands/GetQueueCommand"; import { @@ -180,6 +193,11 @@ import { GetQueueFleetAssociationCommandInput, GetQueueFleetAssociationCommandOutput, } from "./commands/GetQueueFleetAssociationCommand"; +import { + GetQueueLimitAssociationCommand, + GetQueueLimitAssociationCommandInput, + GetQueueLimitAssociationCommandOutput, +} from "./commands/GetQueueLimitAssociationCommand"; import { GetSessionActionCommand, GetSessionActionCommandInput, @@ -238,6 +256,7 @@ import { ListLicenseEndpointsCommandInput, ListLicenseEndpointsCommandOutput, } from "./commands/ListLicenseEndpointsCommand"; +import { ListLimitsCommand, ListLimitsCommandInput, ListLimitsCommandOutput } from "./commands/ListLimitsCommand"; import { ListMeteredProductsCommand, ListMeteredProductsCommandInput, @@ -258,6 +277,11 @@ import { ListQueueFleetAssociationsCommandInput, ListQueueFleetAssociationsCommandOutput, } from "./commands/ListQueueFleetAssociationsCommand"; +import { + ListQueueLimitAssociationsCommand, + ListQueueLimitAssociationsCommandInput, + ListQueueLimitAssociationsCommandOutput, +} from "./commands/ListQueueLimitAssociationsCommand"; import { ListQueueMembersCommand, ListQueueMembersCommandInput, @@ -339,6 +363,7 @@ import { import { UpdateFarmCommand, UpdateFarmCommandInput, UpdateFarmCommandOutput } from "./commands/UpdateFarmCommand"; import { UpdateFleetCommand, UpdateFleetCommandInput, UpdateFleetCommandOutput } from "./commands/UpdateFleetCommand"; import { UpdateJobCommand, UpdateJobCommandInput, UpdateJobCommandOutput } from "./commands/UpdateJobCommand"; +import { UpdateLimitCommand, UpdateLimitCommandInput, UpdateLimitCommandOutput } from "./commands/UpdateLimitCommand"; import { UpdateMonitorCommand, UpdateMonitorCommandInput, @@ -355,6 +380,11 @@ import { UpdateQueueFleetAssociationCommandInput, UpdateQueueFleetAssociationCommandOutput, } from "./commands/UpdateQueueFleetAssociationCommand"; +import { + UpdateQueueLimitAssociationCommand, + UpdateQueueLimitAssociationCommandInput, + UpdateQueueLimitAssociationCommandOutput, +} from "./commands/UpdateQueueLimitAssociationCommand"; import { UpdateSessionCommand, UpdateSessionCommandInput, @@ -396,21 +426,25 @@ const commands = { CreateFleetCommand, CreateJobCommand, CreateLicenseEndpointCommand, + CreateLimitCommand, CreateMonitorCommand, CreateQueueCommand, CreateQueueEnvironmentCommand, CreateQueueFleetAssociationCommand, + CreateQueueLimitAssociationCommand, CreateStorageProfileCommand, CreateWorkerCommand, DeleteBudgetCommand, DeleteFarmCommand, DeleteFleetCommand, DeleteLicenseEndpointCommand, + DeleteLimitCommand, DeleteMeteredProductCommand, DeleteMonitorCommand, DeleteQueueCommand, DeleteQueueEnvironmentCommand, DeleteQueueFleetAssociationCommand, + DeleteQueueLimitAssociationCommand, DeleteStorageProfileCommand, DeleteWorkerCommand, DisassociateMemberFromFarmCommand, @@ -422,10 +456,12 @@ const commands = { GetFleetCommand, GetJobCommand, GetLicenseEndpointCommand, + GetLimitCommand, GetMonitorCommand, GetQueueCommand, GetQueueEnvironmentCommand, GetQueueFleetAssociationCommand, + GetQueueLimitAssociationCommand, GetSessionCommand, GetSessionActionCommand, GetSessionsStatisticsAggregationCommand, @@ -444,10 +480,12 @@ const commands = { ListJobParameterDefinitionsCommand, ListJobsCommand, ListLicenseEndpointsCommand, + ListLimitsCommand, ListMeteredProductsCommand, ListMonitorsCommand, ListQueueEnvironmentsCommand, ListQueueFleetAssociationsCommand, + ListQueueLimitAssociationsCommand, ListQueueMembersCommand, ListQueuesCommand, ListSessionActionsCommand, @@ -473,10 +511,12 @@ const commands = { UpdateFarmCommand, UpdateFleetCommand, UpdateJobCommand, + UpdateLimitCommand, UpdateMonitorCommand, UpdateQueueCommand, UpdateQueueEnvironmentCommand, UpdateQueueFleetAssociationCommand, + UpdateQueueLimitAssociationCommand, UpdateSessionCommand, UpdateStepCommand, UpdateStorageProfileCommand, @@ -731,6 +771,17 @@ export interface Deadline { cb: (err: any, data?: CreateLicenseEndpointCommandOutput) => void ): void; + /** + * @see {@link CreateLimitCommand} + */ + createLimit(args: CreateLimitCommandInput, options?: __HttpHandlerOptions): Promise; + createLimit(args: CreateLimitCommandInput, cb: (err: any, data?: CreateLimitCommandOutput) => void): void; + createLimit( + args: CreateLimitCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: CreateLimitCommandOutput) => void + ): void; + /** * @see {@link CreateMonitorCommand} */ @@ -787,6 +838,23 @@ export interface Deadline { cb: (err: any, data?: CreateQueueFleetAssociationCommandOutput) => void ): void; + /** + * @see {@link CreateQueueLimitAssociationCommand} + */ + createQueueLimitAssociation( + args: CreateQueueLimitAssociationCommandInput, + options?: __HttpHandlerOptions + ): Promise; + createQueueLimitAssociation( + args: CreateQueueLimitAssociationCommandInput, + cb: (err: any, data?: CreateQueueLimitAssociationCommandOutput) => void + ): void; + createQueueLimitAssociation( + args: CreateQueueLimitAssociationCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: CreateQueueLimitAssociationCommandOutput) => void + ): void; + /** * @see {@link CreateStorageProfileCommand} */ @@ -865,6 +933,17 @@ export interface Deadline { cb: (err: any, data?: DeleteLicenseEndpointCommandOutput) => void ): void; + /** + * @see {@link DeleteLimitCommand} + */ + deleteLimit(args: DeleteLimitCommandInput, options?: __HttpHandlerOptions): Promise; + deleteLimit(args: DeleteLimitCommandInput, cb: (err: any, data?: DeleteLimitCommandOutput) => void): void; + deleteLimit( + args: DeleteLimitCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DeleteLimitCommandOutput) => void + ): void; + /** * @see {@link DeleteMeteredProductCommand} */ @@ -938,6 +1017,23 @@ export interface Deadline { cb: (err: any, data?: DeleteQueueFleetAssociationCommandOutput) => void ): void; + /** + * @see {@link DeleteQueueLimitAssociationCommand} + */ + deleteQueueLimitAssociation( + args: DeleteQueueLimitAssociationCommandInput, + options?: __HttpHandlerOptions + ): Promise; + deleteQueueLimitAssociation( + args: DeleteQueueLimitAssociationCommandInput, + cb: (err: any, data?: DeleteQueueLimitAssociationCommandOutput) => void + ): void; + deleteQueueLimitAssociation( + args: DeleteQueueLimitAssociationCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DeleteQueueLimitAssociationCommandOutput) => void + ): void; + /** * @see {@link DeleteStorageProfileCommand} */ @@ -1095,6 +1191,17 @@ export interface Deadline { cb: (err: any, data?: GetLicenseEndpointCommandOutput) => void ): void; + /** + * @see {@link GetLimitCommand} + */ + getLimit(args: GetLimitCommandInput, options?: __HttpHandlerOptions): Promise; + getLimit(args: GetLimitCommandInput, cb: (err: any, data?: GetLimitCommandOutput) => void): void; + getLimit( + args: GetLimitCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: GetLimitCommandOutput) => void + ): void; + /** * @see {@link GetMonitorCommand} */ @@ -1151,6 +1258,23 @@ export interface Deadline { cb: (err: any, data?: GetQueueFleetAssociationCommandOutput) => void ): void; + /** + * @see {@link GetQueueLimitAssociationCommand} + */ + getQueueLimitAssociation( + args: GetQueueLimitAssociationCommandInput, + options?: __HttpHandlerOptions + ): Promise; + getQueueLimitAssociation( + args: GetQueueLimitAssociationCommandInput, + cb: (err: any, data?: GetQueueLimitAssociationCommandOutput) => void + ): void; + getQueueLimitAssociation( + args: GetQueueLimitAssociationCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: GetQueueLimitAssociationCommandOutput) => void + ): void; + /** * @see {@link GetSessionCommand} */ @@ -1406,6 +1530,17 @@ export interface Deadline { cb: (err: any, data?: ListLicenseEndpointsCommandOutput) => void ): void; + /** + * @see {@link ListLimitsCommand} + */ + listLimits(args: ListLimitsCommandInput, options?: __HttpHandlerOptions): Promise; + listLimits(args: ListLimitsCommandInput, cb: (err: any, data?: ListLimitsCommandOutput) => void): void; + listLimits( + args: ListLimitsCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: ListLimitsCommandOutput) => void + ): void; + /** * @see {@link ListMeteredProductsCommand} */ @@ -1469,6 +1604,23 @@ export interface Deadline { cb: (err: any, data?: ListQueueFleetAssociationsCommandOutput) => void ): void; + /** + * @see {@link ListQueueLimitAssociationsCommand} + */ + listQueueLimitAssociations( + args: ListQueueLimitAssociationsCommandInput, + options?: __HttpHandlerOptions + ): Promise; + listQueueLimitAssociations( + args: ListQueueLimitAssociationsCommandInput, + cb: (err: any, data?: ListQueueLimitAssociationsCommandOutput) => void + ): void; + listQueueLimitAssociations( + args: ListQueueLimitAssociationsCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: ListQueueLimitAssociationsCommandOutput) => void + ): void; + /** * @see {@link ListQueueMembersCommand} */ @@ -1804,6 +1956,17 @@ export interface Deadline { cb: (err: any, data?: UpdateJobCommandOutput) => void ): void; + /** + * @see {@link UpdateLimitCommand} + */ + updateLimit(args: UpdateLimitCommandInput, options?: __HttpHandlerOptions): Promise; + updateLimit(args: UpdateLimitCommandInput, cb: (err: any, data?: UpdateLimitCommandOutput) => void): void; + updateLimit( + args: UpdateLimitCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: UpdateLimitCommandOutput) => void + ): void; + /** * @see {@link UpdateMonitorCommand} */ @@ -1860,6 +2023,23 @@ export interface Deadline { cb: (err: any, data?: UpdateQueueFleetAssociationCommandOutput) => void ): void; + /** + * @see {@link UpdateQueueLimitAssociationCommand} + */ + updateQueueLimitAssociation( + args: UpdateQueueLimitAssociationCommandInput, + options?: __HttpHandlerOptions + ): Promise; + updateQueueLimitAssociation( + args: UpdateQueueLimitAssociationCommandInput, + cb: (err: any, data?: UpdateQueueLimitAssociationCommandOutput) => void + ): void; + updateQueueLimitAssociation( + args: UpdateQueueLimitAssociationCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: UpdateQueueLimitAssociationCommandOutput) => void + ): void; + /** * @see {@link UpdateSessionCommand} */ diff --git a/clients/client-deadline/src/DeadlineClient.ts b/clients/client-deadline/src/DeadlineClient.ts index 9366553bcdf4..db325be49ad3 100644 --- a/clients/client-deadline/src/DeadlineClient.ts +++ b/clients/client-deadline/src/DeadlineClient.ts @@ -99,6 +99,7 @@ import { CreateLicenseEndpointCommandInput, CreateLicenseEndpointCommandOutput, } from "./commands/CreateLicenseEndpointCommand"; +import { CreateLimitCommandInput, CreateLimitCommandOutput } from "./commands/CreateLimitCommand"; import { CreateMonitorCommandInput, CreateMonitorCommandOutput } from "./commands/CreateMonitorCommand"; import { CreateQueueCommandInput, CreateQueueCommandOutput } from "./commands/CreateQueueCommand"; import { @@ -109,6 +110,10 @@ import { CreateQueueFleetAssociationCommandInput, CreateQueueFleetAssociationCommandOutput, } from "./commands/CreateQueueFleetAssociationCommand"; +import { + CreateQueueLimitAssociationCommandInput, + CreateQueueLimitAssociationCommandOutput, +} from "./commands/CreateQueueLimitAssociationCommand"; import { CreateStorageProfileCommandInput, CreateStorageProfileCommandOutput, @@ -121,6 +126,7 @@ import { DeleteLicenseEndpointCommandInput, DeleteLicenseEndpointCommandOutput, } from "./commands/DeleteLicenseEndpointCommand"; +import { DeleteLimitCommandInput, DeleteLimitCommandOutput } from "./commands/DeleteLimitCommand"; import { DeleteMeteredProductCommandInput, DeleteMeteredProductCommandOutput, @@ -135,6 +141,10 @@ import { DeleteQueueFleetAssociationCommandInput, DeleteQueueFleetAssociationCommandOutput, } from "./commands/DeleteQueueFleetAssociationCommand"; +import { + DeleteQueueLimitAssociationCommandInput, + DeleteQueueLimitAssociationCommandOutput, +} from "./commands/DeleteQueueLimitAssociationCommand"; import { DeleteStorageProfileCommandInput, DeleteStorageProfileCommandOutput, @@ -161,6 +171,7 @@ import { GetFarmCommandInput, GetFarmCommandOutput } from "./commands/GetFarmCom import { GetFleetCommandInput, GetFleetCommandOutput } from "./commands/GetFleetCommand"; import { GetJobCommandInput, GetJobCommandOutput } from "./commands/GetJobCommand"; import { GetLicenseEndpointCommandInput, GetLicenseEndpointCommandOutput } from "./commands/GetLicenseEndpointCommand"; +import { GetLimitCommandInput, GetLimitCommandOutput } from "./commands/GetLimitCommand"; import { GetMonitorCommandInput, GetMonitorCommandOutput } from "./commands/GetMonitorCommand"; import { GetQueueCommandInput, GetQueueCommandOutput } from "./commands/GetQueueCommand"; import { @@ -171,6 +182,10 @@ import { GetQueueFleetAssociationCommandInput, GetQueueFleetAssociationCommandOutput, } from "./commands/GetQueueFleetAssociationCommand"; +import { + GetQueueLimitAssociationCommandInput, + GetQueueLimitAssociationCommandOutput, +} from "./commands/GetQueueLimitAssociationCommand"; import { GetSessionActionCommandInput, GetSessionActionCommandOutput } from "./commands/GetSessionActionCommand"; import { GetSessionCommandInput, GetSessionCommandOutput } from "./commands/GetSessionCommand"; import { @@ -204,6 +219,7 @@ import { ListLicenseEndpointsCommandInput, ListLicenseEndpointsCommandOutput, } from "./commands/ListLicenseEndpointsCommand"; +import { ListLimitsCommandInput, ListLimitsCommandOutput } from "./commands/ListLimitsCommand"; import { ListMeteredProductsCommandInput, ListMeteredProductsCommandOutput, @@ -217,6 +233,10 @@ import { ListQueueFleetAssociationsCommandInput, ListQueueFleetAssociationsCommandOutput, } from "./commands/ListQueueFleetAssociationsCommand"; +import { + ListQueueLimitAssociationsCommandInput, + ListQueueLimitAssociationsCommandOutput, +} from "./commands/ListQueueLimitAssociationsCommand"; import { ListQueueMembersCommandInput, ListQueueMembersCommandOutput } from "./commands/ListQueueMembersCommand"; import { ListQueuesCommandInput, ListQueuesCommandOutput } from "./commands/ListQueuesCommand"; import { ListSessionActionsCommandInput, ListSessionActionsCommandOutput } from "./commands/ListSessionActionsCommand"; @@ -260,6 +280,7 @@ import { UpdateBudgetCommandInput, UpdateBudgetCommandOutput } from "./commands/ import { UpdateFarmCommandInput, UpdateFarmCommandOutput } from "./commands/UpdateFarmCommand"; import { UpdateFleetCommandInput, UpdateFleetCommandOutput } from "./commands/UpdateFleetCommand"; import { UpdateJobCommandInput, UpdateJobCommandOutput } from "./commands/UpdateJobCommand"; +import { UpdateLimitCommandInput, UpdateLimitCommandOutput } from "./commands/UpdateLimitCommand"; import { UpdateMonitorCommandInput, UpdateMonitorCommandOutput } from "./commands/UpdateMonitorCommand"; import { UpdateQueueCommandInput, UpdateQueueCommandOutput } from "./commands/UpdateQueueCommand"; import { @@ -270,6 +291,10 @@ import { UpdateQueueFleetAssociationCommandInput, UpdateQueueFleetAssociationCommandOutput, } from "./commands/UpdateQueueFleetAssociationCommand"; +import { + UpdateQueueLimitAssociationCommandInput, + UpdateQueueLimitAssociationCommandOutput, +} from "./commands/UpdateQueueLimitAssociationCommand"; import { UpdateSessionCommandInput, UpdateSessionCommandOutput } from "./commands/UpdateSessionCommand"; import { UpdateStepCommandInput, UpdateStepCommandOutput } from "./commands/UpdateStepCommand"; import { @@ -313,21 +338,25 @@ export type ServiceInputTypes = | CreateFleetCommandInput | CreateJobCommandInput | CreateLicenseEndpointCommandInput + | CreateLimitCommandInput | CreateMonitorCommandInput | CreateQueueCommandInput | CreateQueueEnvironmentCommandInput | CreateQueueFleetAssociationCommandInput + | CreateQueueLimitAssociationCommandInput | CreateStorageProfileCommandInput | CreateWorkerCommandInput | DeleteBudgetCommandInput | DeleteFarmCommandInput | DeleteFleetCommandInput | DeleteLicenseEndpointCommandInput + | DeleteLimitCommandInput | DeleteMeteredProductCommandInput | DeleteMonitorCommandInput | DeleteQueueCommandInput | DeleteQueueEnvironmentCommandInput | DeleteQueueFleetAssociationCommandInput + | DeleteQueueLimitAssociationCommandInput | DeleteStorageProfileCommandInput | DeleteWorkerCommandInput | DisassociateMemberFromFarmCommandInput @@ -339,10 +368,12 @@ export type ServiceInputTypes = | GetFleetCommandInput | GetJobCommandInput | GetLicenseEndpointCommandInput + | GetLimitCommandInput | GetMonitorCommandInput | GetQueueCommandInput | GetQueueEnvironmentCommandInput | GetQueueFleetAssociationCommandInput + | GetQueueLimitAssociationCommandInput | GetSessionActionCommandInput | GetSessionCommandInput | GetSessionsStatisticsAggregationCommandInput @@ -361,10 +392,12 @@ export type ServiceInputTypes = | ListJobParameterDefinitionsCommandInput | ListJobsCommandInput | ListLicenseEndpointsCommandInput + | ListLimitsCommandInput | ListMeteredProductsCommandInput | ListMonitorsCommandInput | ListQueueEnvironmentsCommandInput | ListQueueFleetAssociationsCommandInput + | ListQueueLimitAssociationsCommandInput | ListQueueMembersCommandInput | ListQueuesCommandInput | ListSessionActionsCommandInput @@ -390,10 +423,12 @@ export type ServiceInputTypes = | UpdateFarmCommandInput | UpdateFleetCommandInput | UpdateJobCommandInput + | UpdateLimitCommandInput | UpdateMonitorCommandInput | UpdateQueueCommandInput | UpdateQueueEnvironmentCommandInput | UpdateQueueFleetAssociationCommandInput + | UpdateQueueLimitAssociationCommandInput | UpdateSessionCommandInput | UpdateStepCommandInput | UpdateStorageProfileCommandInput @@ -421,21 +456,25 @@ export type ServiceOutputTypes = | CreateFleetCommandOutput | CreateJobCommandOutput | CreateLicenseEndpointCommandOutput + | CreateLimitCommandOutput | CreateMonitorCommandOutput | CreateQueueCommandOutput | CreateQueueEnvironmentCommandOutput | CreateQueueFleetAssociationCommandOutput + | CreateQueueLimitAssociationCommandOutput | CreateStorageProfileCommandOutput | CreateWorkerCommandOutput | DeleteBudgetCommandOutput | DeleteFarmCommandOutput | DeleteFleetCommandOutput | DeleteLicenseEndpointCommandOutput + | DeleteLimitCommandOutput | DeleteMeteredProductCommandOutput | DeleteMonitorCommandOutput | DeleteQueueCommandOutput | DeleteQueueEnvironmentCommandOutput | DeleteQueueFleetAssociationCommandOutput + | DeleteQueueLimitAssociationCommandOutput | DeleteStorageProfileCommandOutput | DeleteWorkerCommandOutput | DisassociateMemberFromFarmCommandOutput @@ -447,10 +486,12 @@ export type ServiceOutputTypes = | GetFleetCommandOutput | GetJobCommandOutput | GetLicenseEndpointCommandOutput + | GetLimitCommandOutput | GetMonitorCommandOutput | GetQueueCommandOutput | GetQueueEnvironmentCommandOutput | GetQueueFleetAssociationCommandOutput + | GetQueueLimitAssociationCommandOutput | GetSessionActionCommandOutput | GetSessionCommandOutput | GetSessionsStatisticsAggregationCommandOutput @@ -469,10 +510,12 @@ export type ServiceOutputTypes = | ListJobParameterDefinitionsCommandOutput | ListJobsCommandOutput | ListLicenseEndpointsCommandOutput + | ListLimitsCommandOutput | ListMeteredProductsCommandOutput | ListMonitorsCommandOutput | ListQueueEnvironmentsCommandOutput | ListQueueFleetAssociationsCommandOutput + | ListQueueLimitAssociationsCommandOutput | ListQueueMembersCommandOutput | ListQueuesCommandOutput | ListSessionActionsCommandOutput @@ -498,10 +541,12 @@ export type ServiceOutputTypes = | UpdateFarmCommandOutput | UpdateFleetCommandOutput | UpdateJobCommandOutput + | UpdateLimitCommandOutput | UpdateMonitorCommandOutput | UpdateQueueCommandOutput | UpdateQueueEnvironmentCommandOutput | UpdateQueueFleetAssociationCommandOutput + | UpdateQueueLimitAssociationCommandOutput | UpdateSessionCommandOutput | UpdateStepCommandOutput | UpdateStorageProfileCommandOutput diff --git a/clients/client-deadline/src/commands/CreateJobCommand.ts b/clients/client-deadline/src/commands/CreateJobCommand.ts index 3e643247747d..8b8f481307dd 100644 --- a/clients/client-deadline/src/commands/CreateJobCommand.ts +++ b/clients/client-deadline/src/commands/CreateJobCommand.ts @@ -28,7 +28,7 @@ export interface CreateJobCommandInput extends CreateJobRequest {} export interface CreateJobCommandOutput extends CreateJobResponse, __MetadataBearer {} /** - *

Creates a job. A job is a set of instructions that AWS Deadline Cloud uses to schedule + *

Creates a job. A job is a set of instructions that Deadline Cloud uses to schedule * and run work on available workers. For more information, see Deadline Cloud * jobs.

* @example @@ -71,6 +71,7 @@ export interface CreateJobCommandOutput extends CreateJobResponse, __MetadataBea * targetTaskRunStatus: "READY" || "SUSPENDED", * maxFailedTasksCount: Number("int"), * maxRetriesPerTask: Number("int"), + * maxWorkerCount: Number("int"), * sourceJobId: "STRING_VALUE", * }; * const command = new CreateJobCommand(input); diff --git a/clients/client-deadline/src/commands/CreateLimitCommand.ts b/clients/client-deadline/src/commands/CreateLimitCommand.ts new file mode 100644 index 000000000000..061aa4a2e467 --- /dev/null +++ b/clients/client-deadline/src/commands/CreateLimitCommand.ts @@ -0,0 +1,121 @@ +// smithy-typescript generated code +import { getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { Command as $Command } from "@smithy/smithy-client"; +import { MetadataBearer as __MetadataBearer } from "@smithy/types"; + +import { DeadlineClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../DeadlineClient"; +import { commonParams } from "../endpoint/EndpointParameters"; +import { CreateLimitRequest, CreateLimitRequestFilterSensitiveLog, CreateLimitResponse } from "../models/models_0"; +import { de_CreateLimitCommand, se_CreateLimitCommand } from "../protocols/Aws_restJson1"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link CreateLimitCommand}. + */ +export interface CreateLimitCommandInput extends CreateLimitRequest {} +/** + * @public + * + * The output of {@link CreateLimitCommand}. + */ +export interface CreateLimitCommandOutput extends CreateLimitResponse, __MetadataBearer {} + +/** + *

Creates a limit that manages the distribution of shared resources, such as floating + * licenses. A limit can throttle work assignments, help manage workloads, and track current + * usage. Before you use a limit, you must associate the limit with one or more queues.

+ *

You must add the amountRequirementName to a step in a job template to + * declare the limit requirement.

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { DeadlineClient, CreateLimitCommand } from "@aws-sdk/client-deadline"; // ES Modules import + * // const { DeadlineClient, CreateLimitCommand } = require("@aws-sdk/client-deadline"); // CommonJS import + * const client = new DeadlineClient(config); + * const input = { // CreateLimitRequest + * clientToken: "STRING_VALUE", + * displayName: "STRING_VALUE", // required + * amountRequirementName: "STRING_VALUE", // required + * maxCount: Number("int"), // required + * farmId: "STRING_VALUE", // required + * description: "STRING_VALUE", + * }; + * const command = new CreateLimitCommand(input); + * const response = await client.send(command); + * // { // CreateLimitResponse + * // limitId: "STRING_VALUE", // required + * // }; + * + * ``` + * + * @param CreateLimitCommandInput - {@link CreateLimitCommandInput} + * @returns {@link CreateLimitCommandOutput} + * @see {@link CreateLimitCommandInput} for command's `input` shape. + * @see {@link CreateLimitCommandOutput} for command's `response` shape. + * @see {@link DeadlineClientResolvedConfig | config} for DeadlineClient's `config` shape. + * + * @throws {@link AccessDeniedException} (client fault) + *

You don't have permission to perform the action.

+ * + * @throws {@link InternalServerErrorException} (server fault) + *

Deadline Cloud can't process your request right now. Try again later.

+ * + * @throws {@link ResourceNotFoundException} (client fault) + *

The requested resource can't be found.

+ * + * @throws {@link ServiceQuotaExceededException} (client fault) + *

You exceeded your service quota. Service quotas, also referred to as limits, are the + * maximum number of service resources or operations for your Amazon Web Services account.

+ * + * @throws {@link ThrottlingException} (client fault) + *

Your request exceeded a request rate quota.

+ * + * @throws {@link ValidationException} (client fault) + *

The request isn't valid. This can occur if your request contains malformed JSON or + * unsupported characters.

+ * + * @throws {@link DeadlineServiceException} + *

Base exception class for all service exceptions from Deadline service.

+ * + * @public + */ +export class CreateLimitCommand extends $Command + .classBuilder< + CreateLimitCommandInput, + CreateLimitCommandOutput, + DeadlineClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep(commonParams) + .m(function (this: any, Command: any, cs: any, config: DeadlineClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("Deadline", "CreateLimit", {}) + .n("DeadlineClient", "CreateLimitCommand") + .f(CreateLimitRequestFilterSensitiveLog, void 0) + .ser(se_CreateLimitCommand) + .de(de_CreateLimitCommand) + .build() { + /** @internal type navigation helper, not in runtime. */ + protected declare static __types: { + api: { + input: CreateLimitRequest; + output: CreateLimitResponse; + }; + sdk: { + input: CreateLimitCommandInput; + output: CreateLimitCommandOutput; + }; + }; +} diff --git a/clients/client-deadline/src/commands/CreateQueueLimitAssociationCommand.ts b/clients/client-deadline/src/commands/CreateQueueLimitAssociationCommand.ts new file mode 100644 index 000000000000..a0d36b666007 --- /dev/null +++ b/clients/client-deadline/src/commands/CreateQueueLimitAssociationCommand.ts @@ -0,0 +1,116 @@ +// smithy-typescript generated code +import { getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { Command as $Command } from "@smithy/smithy-client"; +import { MetadataBearer as __MetadataBearer } from "@smithy/types"; + +import { DeadlineClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../DeadlineClient"; +import { commonParams } from "../endpoint/EndpointParameters"; +import { CreateQueueLimitAssociationRequest, CreateQueueLimitAssociationResponse } from "../models/models_0"; +import { + de_CreateQueueLimitAssociationCommand, + se_CreateQueueLimitAssociationCommand, +} from "../protocols/Aws_restJson1"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link CreateQueueLimitAssociationCommand}. + */ +export interface CreateQueueLimitAssociationCommandInput extends CreateQueueLimitAssociationRequest {} +/** + * @public + * + * The output of {@link CreateQueueLimitAssociationCommand}. + */ +export interface CreateQueueLimitAssociationCommandOutput + extends CreateQueueLimitAssociationResponse, + __MetadataBearer {} + +/** + *

Associates a limit with a particular queue. After the limit is associated, all workers + * for jobs that specify the limit associated with the queue are subject to the limit. You + * can't associate two limits with the same amountRequirementName to the same + * queue.

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { DeadlineClient, CreateQueueLimitAssociationCommand } from "@aws-sdk/client-deadline"; // ES Modules import + * // const { DeadlineClient, CreateQueueLimitAssociationCommand } = require("@aws-sdk/client-deadline"); // CommonJS import + * const client = new DeadlineClient(config); + * const input = { // CreateQueueLimitAssociationRequest + * farmId: "STRING_VALUE", // required + * queueId: "STRING_VALUE", // required + * limitId: "STRING_VALUE", // required + * }; + * const command = new CreateQueueLimitAssociationCommand(input); + * const response = await client.send(command); + * // {}; + * + * ``` + * + * @param CreateQueueLimitAssociationCommandInput - {@link CreateQueueLimitAssociationCommandInput} + * @returns {@link CreateQueueLimitAssociationCommandOutput} + * @see {@link CreateQueueLimitAssociationCommandInput} for command's `input` shape. + * @see {@link CreateQueueLimitAssociationCommandOutput} for command's `response` shape. + * @see {@link DeadlineClientResolvedConfig | config} for DeadlineClient's `config` shape. + * + * @throws {@link AccessDeniedException} (client fault) + *

You don't have permission to perform the action.

+ * + * @throws {@link InternalServerErrorException} (server fault) + *

Deadline Cloud can't process your request right now. Try again later.

+ * + * @throws {@link ResourceNotFoundException} (client fault) + *

The requested resource can't be found.

+ * + * @throws {@link ThrottlingException} (client fault) + *

Your request exceeded a request rate quota.

+ * + * @throws {@link ValidationException} (client fault) + *

The request isn't valid. This can occur if your request contains malformed JSON or + * unsupported characters.

+ * + * @throws {@link DeadlineServiceException} + *

Base exception class for all service exceptions from Deadline service.

+ * + * @public + */ +export class CreateQueueLimitAssociationCommand extends $Command + .classBuilder< + CreateQueueLimitAssociationCommandInput, + CreateQueueLimitAssociationCommandOutput, + DeadlineClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep(commonParams) + .m(function (this: any, Command: any, cs: any, config: DeadlineClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("Deadline", "CreateQueueLimitAssociation", {}) + .n("DeadlineClient", "CreateQueueLimitAssociationCommand") + .f(void 0, void 0) + .ser(se_CreateQueueLimitAssociationCommand) + .de(de_CreateQueueLimitAssociationCommand) + .build() { + /** @internal type navigation helper, not in runtime. */ + protected declare static __types: { + api: { + input: CreateQueueLimitAssociationRequest; + output: {}; + }; + sdk: { + input: CreateQueueLimitAssociationCommandInput; + output: CreateQueueLimitAssociationCommandOutput; + }; + }; +} diff --git a/clients/client-deadline/src/commands/DeleteLimitCommand.ts b/clients/client-deadline/src/commands/DeleteLimitCommand.ts new file mode 100644 index 000000000000..8c308438a69b --- /dev/null +++ b/clients/client-deadline/src/commands/DeleteLimitCommand.ts @@ -0,0 +1,106 @@ +// smithy-typescript generated code +import { getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { Command as $Command } from "@smithy/smithy-client"; +import { MetadataBearer as __MetadataBearer } from "@smithy/types"; + +import { DeadlineClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../DeadlineClient"; +import { commonParams } from "../endpoint/EndpointParameters"; +import { DeleteLimitRequest, DeleteLimitResponse } from "../models/models_0"; +import { de_DeleteLimitCommand, se_DeleteLimitCommand } from "../protocols/Aws_restJson1"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link DeleteLimitCommand}. + */ +export interface DeleteLimitCommandInput extends DeleteLimitRequest {} +/** + * @public + * + * The output of {@link DeleteLimitCommand}. + */ +export interface DeleteLimitCommandOutput extends DeleteLimitResponse, __MetadataBearer {} + +/** + *

Removes a limit from the specified farm. Before you delete a limit you must use the + * DeleteQueueLimitAssociation operation to remove the association with any + * queues.

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { DeadlineClient, DeleteLimitCommand } from "@aws-sdk/client-deadline"; // ES Modules import + * // const { DeadlineClient, DeleteLimitCommand } = require("@aws-sdk/client-deadline"); // CommonJS import + * const client = new DeadlineClient(config); + * const input = { // DeleteLimitRequest + * farmId: "STRING_VALUE", // required + * limitId: "STRING_VALUE", // required + * }; + * const command = new DeleteLimitCommand(input); + * const response = await client.send(command); + * // {}; + * + * ``` + * + * @param DeleteLimitCommandInput - {@link DeleteLimitCommandInput} + * @returns {@link DeleteLimitCommandOutput} + * @see {@link DeleteLimitCommandInput} for command's `input` shape. + * @see {@link DeleteLimitCommandOutput} for command's `response` shape. + * @see {@link DeadlineClientResolvedConfig | config} for DeadlineClient's `config` shape. + * + * @throws {@link AccessDeniedException} (client fault) + *

You don't have permission to perform the action.

+ * + * @throws {@link InternalServerErrorException} (server fault) + *

Deadline Cloud can't process your request right now. Try again later.

+ * + * @throws {@link ThrottlingException} (client fault) + *

Your request exceeded a request rate quota.

+ * + * @throws {@link ValidationException} (client fault) + *

The request isn't valid. This can occur if your request contains malformed JSON or + * unsupported characters.

+ * + * @throws {@link DeadlineServiceException} + *

Base exception class for all service exceptions from Deadline service.

+ * + * @public + */ +export class DeleteLimitCommand extends $Command + .classBuilder< + DeleteLimitCommandInput, + DeleteLimitCommandOutput, + DeadlineClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep(commonParams) + .m(function (this: any, Command: any, cs: any, config: DeadlineClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("Deadline", "DeleteLimit", {}) + .n("DeadlineClient", "DeleteLimitCommand") + .f(void 0, void 0) + .ser(se_DeleteLimitCommand) + .de(de_DeleteLimitCommand) + .build() { + /** @internal type navigation helper, not in runtime. */ + protected declare static __types: { + api: { + input: DeleteLimitRequest; + output: {}; + }; + sdk: { + input: DeleteLimitCommandInput; + output: DeleteLimitCommandOutput; + }; + }; +} diff --git a/clients/client-deadline/src/commands/DeleteQueueLimitAssociationCommand.ts b/clients/client-deadline/src/commands/DeleteQueueLimitAssociationCommand.ts new file mode 100644 index 000000000000..a1c2bc416d9f --- /dev/null +++ b/clients/client-deadline/src/commands/DeleteQueueLimitAssociationCommand.ts @@ -0,0 +1,122 @@ +// smithy-typescript generated code +import { getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { Command as $Command } from "@smithy/smithy-client"; +import { MetadataBearer as __MetadataBearer } from "@smithy/types"; + +import { DeadlineClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../DeadlineClient"; +import { commonParams } from "../endpoint/EndpointParameters"; +import { DeleteQueueLimitAssociationRequest, DeleteQueueLimitAssociationResponse } from "../models/models_0"; +import { + de_DeleteQueueLimitAssociationCommand, + se_DeleteQueueLimitAssociationCommand, +} from "../protocols/Aws_restJson1"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link DeleteQueueLimitAssociationCommand}. + */ +export interface DeleteQueueLimitAssociationCommandInput extends DeleteQueueLimitAssociationRequest {} +/** + * @public + * + * The output of {@link DeleteQueueLimitAssociationCommand}. + */ +export interface DeleteQueueLimitAssociationCommandOutput + extends DeleteQueueLimitAssociationResponse, + __MetadataBearer {} + +/** + *

Removes the association between a queue and a limit. You must use the + * UpdateQueueLimitAssociation operation to set the status to + * STOP_LIMIT_USAGE_AND_COMPLETE_TASKS or + * STOP_LIMIT_USAGE_AND_CANCEL_TASKS. The status does not change immediately. + * Use the GetQueueLimitAssociation operation to see if the status changed to + * STOPPED before deleting the association.

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { DeadlineClient, DeleteQueueLimitAssociationCommand } from "@aws-sdk/client-deadline"; // ES Modules import + * // const { DeadlineClient, DeleteQueueLimitAssociationCommand } = require("@aws-sdk/client-deadline"); // CommonJS import + * const client = new DeadlineClient(config); + * const input = { // DeleteQueueLimitAssociationRequest + * farmId: "STRING_VALUE", // required + * queueId: "STRING_VALUE", // required + * limitId: "STRING_VALUE", // required + * }; + * const command = new DeleteQueueLimitAssociationCommand(input); + * const response = await client.send(command); + * // {}; + * + * ``` + * + * @param DeleteQueueLimitAssociationCommandInput - {@link DeleteQueueLimitAssociationCommandInput} + * @returns {@link DeleteQueueLimitAssociationCommandOutput} + * @see {@link DeleteQueueLimitAssociationCommandInput} for command's `input` shape. + * @see {@link DeleteQueueLimitAssociationCommandOutput} for command's `response` shape. + * @see {@link DeadlineClientResolvedConfig | config} for DeadlineClient's `config` shape. + * + * @throws {@link AccessDeniedException} (client fault) + *

You don't have permission to perform the action.

+ * + * @throws {@link ConflictException} (client fault) + *

Your request has conflicting operations. This can occur if you're trying to perform more + * than one operation on the same resource at the same time.

+ * + * @throws {@link InternalServerErrorException} (server fault) + *

Deadline Cloud can't process your request right now. Try again later.

+ * + * @throws {@link ResourceNotFoundException} (client fault) + *

The requested resource can't be found.

+ * + * @throws {@link ThrottlingException} (client fault) + *

Your request exceeded a request rate quota.

+ * + * @throws {@link ValidationException} (client fault) + *

The request isn't valid. This can occur if your request contains malformed JSON or + * unsupported characters.

+ * + * @throws {@link DeadlineServiceException} + *

Base exception class for all service exceptions from Deadline service.

+ * + * @public + */ +export class DeleteQueueLimitAssociationCommand extends $Command + .classBuilder< + DeleteQueueLimitAssociationCommandInput, + DeleteQueueLimitAssociationCommandOutput, + DeadlineClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep(commonParams) + .m(function (this: any, Command: any, cs: any, config: DeadlineClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("Deadline", "DeleteQueueLimitAssociation", {}) + .n("DeadlineClient", "DeleteQueueLimitAssociationCommand") + .f(void 0, void 0) + .ser(se_DeleteQueueLimitAssociationCommand) + .de(de_DeleteQueueLimitAssociationCommand) + .build() { + /** @internal type navigation helper, not in runtime. */ + protected declare static __types: { + api: { + input: DeleteQueueLimitAssociationRequest; + output: {}; + }; + sdk: { + input: DeleteQueueLimitAssociationCommandInput; + output: DeleteQueueLimitAssociationCommandOutput; + }; + }; +} diff --git a/clients/client-deadline/src/commands/GetJobCommand.ts b/clients/client-deadline/src/commands/GetJobCommand.ts index 116cb69a0ce0..e3877b3c4d38 100644 --- a/clients/client-deadline/src/commands/GetJobCommand.ts +++ b/clients/client-deadline/src/commands/GetJobCommand.ts @@ -37,8 +37,8 @@ export interface GetJobCommandOutput extends GetJobResponse, __MetadataBearer {} * const client = new DeadlineClient(config); * const input = { // GetJobRequest * farmId: "STRING_VALUE", // required - * jobId: "STRING_VALUE", // required * queueId: "STRING_VALUE", // required + * jobId: "STRING_VALUE", // required * }; * const command = new GetJobCommand(input); * const response = await client.send(command); @@ -86,6 +86,7 @@ export interface GetJobCommandOutput extends GetJobResponse, __MetadataBearer {} * // fileSystem: "COPIED" || "VIRTUAL", * // }, * // description: "STRING_VALUE", + * // maxWorkerCount: Number("int"), * // sourceJobId: "STRING_VALUE", * // }; * diff --git a/clients/client-deadline/src/commands/GetLimitCommand.ts b/clients/client-deadline/src/commands/GetLimitCommand.ts new file mode 100644 index 000000000000..7f89782f02d7 --- /dev/null +++ b/clients/client-deadline/src/commands/GetLimitCommand.ts @@ -0,0 +1,119 @@ +// smithy-typescript generated code +import { getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { Command as $Command } from "@smithy/smithy-client"; +import { MetadataBearer as __MetadataBearer } from "@smithy/types"; + +import { DeadlineClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../DeadlineClient"; +import { commonParams } from "../endpoint/EndpointParameters"; +import { GetLimitRequest, GetLimitResponse, GetLimitResponseFilterSensitiveLog } from "../models/models_0"; +import { de_GetLimitCommand, se_GetLimitCommand } from "../protocols/Aws_restJson1"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link GetLimitCommand}. + */ +export interface GetLimitCommandInput extends GetLimitRequest {} +/** + * @public + * + * The output of {@link GetLimitCommand}. + */ +export interface GetLimitCommandOutput extends GetLimitResponse, __MetadataBearer {} + +/** + *

Gets information about a specific limit.

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { DeadlineClient, GetLimitCommand } from "@aws-sdk/client-deadline"; // ES Modules import + * // const { DeadlineClient, GetLimitCommand } = require("@aws-sdk/client-deadline"); // CommonJS import + * const client = new DeadlineClient(config); + * const input = { // GetLimitRequest + * farmId: "STRING_VALUE", // required + * limitId: "STRING_VALUE", // required + * }; + * const command = new GetLimitCommand(input); + * const response = await client.send(command); + * // { // GetLimitResponse + * // displayName: "STRING_VALUE", // required + * // amountRequirementName: "STRING_VALUE", // required + * // maxCount: Number("int"), // required + * // createdAt: new Date("TIMESTAMP"), // required + * // createdBy: "STRING_VALUE", // required + * // updatedAt: new Date("TIMESTAMP"), + * // updatedBy: "STRING_VALUE", + * // farmId: "STRING_VALUE", // required + * // limitId: "STRING_VALUE", // required + * // currentCount: Number("int"), // required + * // description: "STRING_VALUE", + * // }; + * + * ``` + * + * @param GetLimitCommandInput - {@link GetLimitCommandInput} + * @returns {@link GetLimitCommandOutput} + * @see {@link GetLimitCommandInput} for command's `input` shape. + * @see {@link GetLimitCommandOutput} for command's `response` shape. + * @see {@link DeadlineClientResolvedConfig | config} for DeadlineClient's `config` shape. + * + * @throws {@link AccessDeniedException} (client fault) + *

You don't have permission to perform the action.

+ * + * @throws {@link InternalServerErrorException} (server fault) + *

Deadline Cloud can't process your request right now. Try again later.

+ * + * @throws {@link ResourceNotFoundException} (client fault) + *

The requested resource can't be found.

+ * + * @throws {@link ThrottlingException} (client fault) + *

Your request exceeded a request rate quota.

+ * + * @throws {@link ValidationException} (client fault) + *

The request isn't valid. This can occur if your request contains malformed JSON or + * unsupported characters.

+ * + * @throws {@link DeadlineServiceException} + *

Base exception class for all service exceptions from Deadline service.

+ * + * @public + */ +export class GetLimitCommand extends $Command + .classBuilder< + GetLimitCommandInput, + GetLimitCommandOutput, + DeadlineClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep(commonParams) + .m(function (this: any, Command: any, cs: any, config: DeadlineClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("Deadline", "GetLimit", {}) + .n("DeadlineClient", "GetLimitCommand") + .f(void 0, GetLimitResponseFilterSensitiveLog) + .ser(se_GetLimitCommand) + .de(de_GetLimitCommand) + .build() { + /** @internal type navigation helper, not in runtime. */ + protected declare static __types: { + api: { + input: GetLimitRequest; + output: GetLimitResponse; + }; + sdk: { + input: GetLimitCommandInput; + output: GetLimitCommandOutput; + }; + }; +} diff --git a/clients/client-deadline/src/commands/GetQueueLimitAssociationCommand.ts b/clients/client-deadline/src/commands/GetQueueLimitAssociationCommand.ts new file mode 100644 index 000000000000..254ad6e5f73b --- /dev/null +++ b/clients/client-deadline/src/commands/GetQueueLimitAssociationCommand.ts @@ -0,0 +1,116 @@ +// smithy-typescript generated code +import { getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { Command as $Command } from "@smithy/smithy-client"; +import { MetadataBearer as __MetadataBearer } from "@smithy/types"; + +import { DeadlineClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../DeadlineClient"; +import { commonParams } from "../endpoint/EndpointParameters"; +import { GetQueueLimitAssociationRequest, GetQueueLimitAssociationResponse } from "../models/models_1"; +import { de_GetQueueLimitAssociationCommand, se_GetQueueLimitAssociationCommand } from "../protocols/Aws_restJson1"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link GetQueueLimitAssociationCommand}. + */ +export interface GetQueueLimitAssociationCommandInput extends GetQueueLimitAssociationRequest {} +/** + * @public + * + * The output of {@link GetQueueLimitAssociationCommand}. + */ +export interface GetQueueLimitAssociationCommandOutput extends GetQueueLimitAssociationResponse, __MetadataBearer {} + +/** + *

Gets information about a specific association between a queue and a limit.

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { DeadlineClient, GetQueueLimitAssociationCommand } from "@aws-sdk/client-deadline"; // ES Modules import + * // const { DeadlineClient, GetQueueLimitAssociationCommand } = require("@aws-sdk/client-deadline"); // CommonJS import + * const client = new DeadlineClient(config); + * const input = { // GetQueueLimitAssociationRequest + * farmId: "STRING_VALUE", // required + * queueId: "STRING_VALUE", // required + * limitId: "STRING_VALUE", // required + * }; + * const command = new GetQueueLimitAssociationCommand(input); + * const response = await client.send(command); + * // { // GetQueueLimitAssociationResponse + * // createdAt: new Date("TIMESTAMP"), // required + * // createdBy: "STRING_VALUE", // required + * // updatedAt: new Date("TIMESTAMP"), + * // updatedBy: "STRING_VALUE", + * // queueId: "STRING_VALUE", // required + * // limitId: "STRING_VALUE", // required + * // status: "ACTIVE" || "STOP_LIMIT_USAGE_AND_COMPLETE_TASKS" || "STOP_LIMIT_USAGE_AND_CANCEL_TASKS" || "STOPPED", // required + * // }; + * + * ``` + * + * @param GetQueueLimitAssociationCommandInput - {@link GetQueueLimitAssociationCommandInput} + * @returns {@link GetQueueLimitAssociationCommandOutput} + * @see {@link GetQueueLimitAssociationCommandInput} for command's `input` shape. + * @see {@link GetQueueLimitAssociationCommandOutput} for command's `response` shape. + * @see {@link DeadlineClientResolvedConfig | config} for DeadlineClient's `config` shape. + * + * @throws {@link AccessDeniedException} (client fault) + *

You don't have permission to perform the action.

+ * + * @throws {@link InternalServerErrorException} (server fault) + *

Deadline Cloud can't process your request right now. Try again later.

+ * + * @throws {@link ResourceNotFoundException} (client fault) + *

The requested resource can't be found.

+ * + * @throws {@link ThrottlingException} (client fault) + *

Your request exceeded a request rate quota.

+ * + * @throws {@link ValidationException} (client fault) + *

The request isn't valid. This can occur if your request contains malformed JSON or + * unsupported characters.

+ * + * @throws {@link DeadlineServiceException} + *

Base exception class for all service exceptions from Deadline service.

+ * + * @public + */ +export class GetQueueLimitAssociationCommand extends $Command + .classBuilder< + GetQueueLimitAssociationCommandInput, + GetQueueLimitAssociationCommandOutput, + DeadlineClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep(commonParams) + .m(function (this: any, Command: any, cs: any, config: DeadlineClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("Deadline", "GetQueueLimitAssociation", {}) + .n("DeadlineClient", "GetQueueLimitAssociationCommand") + .f(void 0, void 0) + .ser(se_GetQueueLimitAssociationCommand) + .de(de_GetQueueLimitAssociationCommand) + .build() { + /** @internal type navigation helper, not in runtime. */ + protected declare static __types: { + api: { + input: GetQueueLimitAssociationRequest; + output: GetQueueLimitAssociationResponse; + }; + sdk: { + input: GetQueueLimitAssociationCommandInput; + output: GetQueueLimitAssociationCommandOutput; + }; + }; +} diff --git a/clients/client-deadline/src/commands/GetSessionActionCommand.ts b/clients/client-deadline/src/commands/GetSessionActionCommand.ts index 52ac07024a43..ce1d2b5218f9 100644 --- a/clients/client-deadline/src/commands/GetSessionActionCommand.ts +++ b/clients/client-deadline/src/commands/GetSessionActionCommand.ts @@ -80,6 +80,12 @@ export interface GetSessionActionCommandOutput extends GetSessionActionResponse, * // stepId: "STRING_VALUE", * // }, * // }, + * // acquiredLimits: [ // AcquiredLimits + * // { // AcquiredLimit + * // limitId: "STRING_VALUE", // required + * // count: Number("int"), // required + * // }, + * // ], * // }; * * ``` diff --git a/clients/client-deadline/src/commands/GetWorkerCommand.ts b/clients/client-deadline/src/commands/GetWorkerCommand.ts index 27387b6257b9..27296e2556e9 100644 --- a/clients/client-deadline/src/commands/GetWorkerCommand.ts +++ b/clients/client-deadline/src/commands/GetWorkerCommand.ts @@ -43,9 +43,9 @@ export interface GetWorkerCommandOutput extends GetWorkerResponse, __MetadataBea * const command = new GetWorkerCommand(input); * const response = await client.send(command); * // { // GetWorkerResponse - * // workerId: "STRING_VALUE", // required * // farmId: "STRING_VALUE", // required * // fleetId: "STRING_VALUE", // required + * // workerId: "STRING_VALUE", // required * // hostProperties: { // HostPropertiesResponse * // ipAddresses: { // IpAddresses * // ipV4Addresses: [ // IpV4Addresses diff --git a/clients/client-deadline/src/commands/ListJobsCommand.ts b/clients/client-deadline/src/commands/ListJobsCommand.ts index de944d0277d2..efbb818a220b 100644 --- a/clients/client-deadline/src/commands/ListJobsCommand.ts +++ b/clients/client-deadline/src/commands/ListJobsCommand.ts @@ -65,6 +65,7 @@ export interface ListJobsCommandOutput extends ListJobsResponse, __MetadataBeare * // }, * // maxFailedTasksCount: Number("int"), * // maxRetriesPerTask: Number("int"), + * // maxWorkerCount: Number("int"), * // sourceJobId: "STRING_VALUE", * // }, * // ], diff --git a/clients/client-deadline/src/commands/ListLimitsCommand.ts b/clients/client-deadline/src/commands/ListLimitsCommand.ts new file mode 100644 index 000000000000..74d7e35b1531 --- /dev/null +++ b/clients/client-deadline/src/commands/ListLimitsCommand.ts @@ -0,0 +1,124 @@ +// smithy-typescript generated code +import { getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { Command as $Command } from "@smithy/smithy-client"; +import { MetadataBearer as __MetadataBearer } from "@smithy/types"; + +import { DeadlineClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../DeadlineClient"; +import { commonParams } from "../endpoint/EndpointParameters"; +import { ListLimitsRequest, ListLimitsResponse } from "../models/models_0"; +import { de_ListLimitsCommand, se_ListLimitsCommand } from "../protocols/Aws_restJson1"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link ListLimitsCommand}. + */ +export interface ListLimitsCommandInput extends ListLimitsRequest {} +/** + * @public + * + * The output of {@link ListLimitsCommand}. + */ +export interface ListLimitsCommandOutput extends ListLimitsResponse, __MetadataBearer {} + +/** + *

Gets a list of limits defined in the specified farm.

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { DeadlineClient, ListLimitsCommand } from "@aws-sdk/client-deadline"; // ES Modules import + * // const { DeadlineClient, ListLimitsCommand } = require("@aws-sdk/client-deadline"); // CommonJS import + * const client = new DeadlineClient(config); + * const input = { // ListLimitsRequest + * farmId: "STRING_VALUE", // required + * nextToken: "STRING_VALUE", + * maxResults: Number("int"), + * }; + * const command = new ListLimitsCommand(input); + * const response = await client.send(command); + * // { // ListLimitsResponse + * // limits: [ // LimitSummaries // required + * // { // LimitSummary + * // displayName: "STRING_VALUE", // required + * // amountRequirementName: "STRING_VALUE", // required + * // maxCount: Number("int"), // required + * // createdAt: new Date("TIMESTAMP"), // required + * // createdBy: "STRING_VALUE", // required + * // updatedAt: new Date("TIMESTAMP"), + * // updatedBy: "STRING_VALUE", + * // farmId: "STRING_VALUE", // required + * // limitId: "STRING_VALUE", // required + * // currentCount: Number("int"), // required + * // }, + * // ], + * // nextToken: "STRING_VALUE", + * // }; + * + * ``` + * + * @param ListLimitsCommandInput - {@link ListLimitsCommandInput} + * @returns {@link ListLimitsCommandOutput} + * @see {@link ListLimitsCommandInput} for command's `input` shape. + * @see {@link ListLimitsCommandOutput} for command's `response` shape. + * @see {@link DeadlineClientResolvedConfig | config} for DeadlineClient's `config` shape. + * + * @throws {@link AccessDeniedException} (client fault) + *

You don't have permission to perform the action.

+ * + * @throws {@link InternalServerErrorException} (server fault) + *

Deadline Cloud can't process your request right now. Try again later.

+ * + * @throws {@link ResourceNotFoundException} (client fault) + *

The requested resource can't be found.

+ * + * @throws {@link ThrottlingException} (client fault) + *

Your request exceeded a request rate quota.

+ * + * @throws {@link ValidationException} (client fault) + *

The request isn't valid. This can occur if your request contains malformed JSON or + * unsupported characters.

+ * + * @throws {@link DeadlineServiceException} + *

Base exception class for all service exceptions from Deadline service.

+ * + * @public + */ +export class ListLimitsCommand extends $Command + .classBuilder< + ListLimitsCommandInput, + ListLimitsCommandOutput, + DeadlineClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep(commonParams) + .m(function (this: any, Command: any, cs: any, config: DeadlineClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("Deadline", "ListLimits", {}) + .n("DeadlineClient", "ListLimitsCommand") + .f(void 0, void 0) + .ser(se_ListLimitsCommand) + .de(de_ListLimitsCommand) + .build() { + /** @internal type navigation helper, not in runtime. */ + protected declare static __types: { + api: { + input: ListLimitsRequest; + output: ListLimitsResponse; + }; + sdk: { + input: ListLimitsCommandInput; + output: ListLimitsCommandOutput; + }; + }; +} diff --git a/clients/client-deadline/src/commands/ListQueueEnvironmentsCommand.ts b/clients/client-deadline/src/commands/ListQueueEnvironmentsCommand.ts index d919544f219c..f2a4e774c387 100644 --- a/clients/client-deadline/src/commands/ListQueueEnvironmentsCommand.ts +++ b/clients/client-deadline/src/commands/ListQueueEnvironmentsCommand.ts @@ -6,7 +6,7 @@ import { MetadataBearer as __MetadataBearer } from "@smithy/types"; import { DeadlineClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../DeadlineClient"; import { commonParams } from "../endpoint/EndpointParameters"; -import { ListQueueEnvironmentsRequest, ListQueueEnvironmentsResponse } from "../models/models_0"; +import { ListQueueEnvironmentsRequest, ListQueueEnvironmentsResponse } from "../models/models_1"; import { de_ListQueueEnvironmentsCommand, se_ListQueueEnvironmentsCommand } from "../protocols/Aws_restJson1"; /** diff --git a/clients/client-deadline/src/commands/ListQueueLimitAssociationsCommand.ts b/clients/client-deadline/src/commands/ListQueueLimitAssociationsCommand.ts new file mode 100644 index 000000000000..effcd0af6a5e --- /dev/null +++ b/clients/client-deadline/src/commands/ListQueueLimitAssociationsCommand.ts @@ -0,0 +1,119 @@ +// smithy-typescript generated code +import { getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { Command as $Command } from "@smithy/smithy-client"; +import { MetadataBearer as __MetadataBearer } from "@smithy/types"; + +import { DeadlineClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../DeadlineClient"; +import { commonParams } from "../endpoint/EndpointParameters"; +import { ListQueueLimitAssociationsRequest, ListQueueLimitAssociationsResponse } from "../models/models_1"; +import { de_ListQueueLimitAssociationsCommand, se_ListQueueLimitAssociationsCommand } from "../protocols/Aws_restJson1"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link ListQueueLimitAssociationsCommand}. + */ +export interface ListQueueLimitAssociationsCommandInput extends ListQueueLimitAssociationsRequest {} +/** + * @public + * + * The output of {@link ListQueueLimitAssociationsCommand}. + */ +export interface ListQueueLimitAssociationsCommandOutput extends ListQueueLimitAssociationsResponse, __MetadataBearer {} + +/** + *

Gets a list of the associations between queues and limits defined in a farm.

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { DeadlineClient, ListQueueLimitAssociationsCommand } from "@aws-sdk/client-deadline"; // ES Modules import + * // const { DeadlineClient, ListQueueLimitAssociationsCommand } = require("@aws-sdk/client-deadline"); // CommonJS import + * const client = new DeadlineClient(config); + * const input = { // ListQueueLimitAssociationsRequest + * farmId: "STRING_VALUE", // required + * queueId: "STRING_VALUE", + * limitId: "STRING_VALUE", + * nextToken: "STRING_VALUE", + * maxResults: Number("int"), + * }; + * const command = new ListQueueLimitAssociationsCommand(input); + * const response = await client.send(command); + * // { // ListQueueLimitAssociationsResponse + * // queueLimitAssociations: [ // QueueLimitAssociationSummaries // required + * // { // QueueLimitAssociationSummary + * // createdAt: new Date("TIMESTAMP"), // required + * // createdBy: "STRING_VALUE", // required + * // updatedAt: new Date("TIMESTAMP"), + * // updatedBy: "STRING_VALUE", + * // queueId: "STRING_VALUE", // required + * // limitId: "STRING_VALUE", // required + * // status: "ACTIVE" || "STOP_LIMIT_USAGE_AND_COMPLETE_TASKS" || "STOP_LIMIT_USAGE_AND_CANCEL_TASKS" || "STOPPED", // required + * // }, + * // ], + * // nextToken: "STRING_VALUE", + * // }; + * + * ``` + * + * @param ListQueueLimitAssociationsCommandInput - {@link ListQueueLimitAssociationsCommandInput} + * @returns {@link ListQueueLimitAssociationsCommandOutput} + * @see {@link ListQueueLimitAssociationsCommandInput} for command's `input` shape. + * @see {@link ListQueueLimitAssociationsCommandOutput} for command's `response` shape. + * @see {@link DeadlineClientResolvedConfig | config} for DeadlineClient's `config` shape. + * + * @throws {@link AccessDeniedException} (client fault) + *

You don't have permission to perform the action.

+ * + * @throws {@link InternalServerErrorException} (server fault) + *

Deadline Cloud can't process your request right now. Try again later.

+ * + * @throws {@link ResourceNotFoundException} (client fault) + *

The requested resource can't be found.

+ * + * @throws {@link ThrottlingException} (client fault) + *

Your request exceeded a request rate quota.

+ * + * @throws {@link DeadlineServiceException} + *

Base exception class for all service exceptions from Deadline service.

+ * + * @public + */ +export class ListQueueLimitAssociationsCommand extends $Command + .classBuilder< + ListQueueLimitAssociationsCommandInput, + ListQueueLimitAssociationsCommandOutput, + DeadlineClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep(commonParams) + .m(function (this: any, Command: any, cs: any, config: DeadlineClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("Deadline", "ListQueueLimitAssociations", {}) + .n("DeadlineClient", "ListQueueLimitAssociationsCommand") + .f(void 0, void 0) + .ser(se_ListQueueLimitAssociationsCommand) + .de(de_ListQueueLimitAssociationsCommand) + .build() { + /** @internal type navigation helper, not in runtime. */ + protected declare static __types: { + api: { + input: ListQueueLimitAssociationsRequest; + output: ListQueueLimitAssociationsResponse; + }; + sdk: { + input: ListQueueLimitAssociationsCommandInput; + output: ListQueueLimitAssociationsCommandOutput; + }; + }; +} diff --git a/clients/client-deadline/src/commands/ListQueueMembersCommand.ts b/clients/client-deadline/src/commands/ListQueueMembersCommand.ts index 9652fa76725c..77e5d5387f3f 100644 --- a/clients/client-deadline/src/commands/ListQueueMembersCommand.ts +++ b/clients/client-deadline/src/commands/ListQueueMembersCommand.ts @@ -6,8 +6,7 @@ import { MetadataBearer as __MetadataBearer } from "@smithy/types"; import { DeadlineClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../DeadlineClient"; import { commonParams } from "../endpoint/EndpointParameters"; -import { ListQueueMembersRequest } from "../models/models_0"; -import { ListQueueMembersResponse } from "../models/models_1"; +import { ListQueueMembersRequest, ListQueueMembersResponse } from "../models/models_1"; import { de_ListQueueMembersCommand, se_ListQueueMembersCommand } from "../protocols/Aws_restJson1"; /** diff --git a/clients/client-deadline/src/commands/SearchJobsCommand.ts b/clients/client-deadline/src/commands/SearchJobsCommand.ts index 9a33186df7b3..44e7f760a22b 100644 --- a/clients/client-deadline/src/commands/SearchJobsCommand.ts +++ b/clients/client-deadline/src/commands/SearchJobsCommand.ts @@ -139,6 +139,7 @@ export interface SearchJobsCommandOutput extends SearchJobsResponse, __MetadataB * // path: "STRING_VALUE", * // }, * // }, + * // maxWorkerCount: Number("int"), * // sourceJobId: "STRING_VALUE", * // }, * // ], diff --git a/clients/client-deadline/src/commands/UpdateJobCommand.ts b/clients/client-deadline/src/commands/UpdateJobCommand.ts index deae2ffe68cc..f95429c3e31d 100644 --- a/clients/client-deadline/src/commands/UpdateJobCommand.ts +++ b/clients/client-deadline/src/commands/UpdateJobCommand.ts @@ -6,7 +6,7 @@ import { MetadataBearer as __MetadataBearer } from "@smithy/types"; import { DeadlineClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../DeadlineClient"; import { commonParams } from "../endpoint/EndpointParameters"; -import { UpdateJobRequest, UpdateJobResponse } from "../models/models_0"; +import { UpdateJobRequest, UpdateJobResponse } from "../models/models_1"; import { de_UpdateJobCommand, se_UpdateJobCommand } from "../protocols/Aws_restJson1"; /** @@ -43,14 +43,15 @@ export interface UpdateJobCommandOutput extends UpdateJobResponse, __MetadataBea * const client = new DeadlineClient(config); * const input = { // UpdateJobRequest * clientToken: "STRING_VALUE", - * farmId: "STRING_VALUE", // required - * queueId: "STRING_VALUE", // required - * jobId: "STRING_VALUE", // required * targetTaskRunStatus: "READY" || "FAILED" || "SUCCEEDED" || "CANCELED" || "SUSPENDED" || "PENDING", * priority: Number("int"), * maxFailedTasksCount: Number("int"), * maxRetriesPerTask: Number("int"), * lifecycleStatus: "ARCHIVED", + * maxWorkerCount: Number("int"), + * farmId: "STRING_VALUE", // required + * queueId: "STRING_VALUE", // required + * jobId: "STRING_VALUE", // required * }; * const command = new UpdateJobCommand(input); * const response = await client.send(command); diff --git a/clients/client-deadline/src/commands/UpdateLimitCommand.ts b/clients/client-deadline/src/commands/UpdateLimitCommand.ts new file mode 100644 index 000000000000..f31d246f8b85 --- /dev/null +++ b/clients/client-deadline/src/commands/UpdateLimitCommand.ts @@ -0,0 +1,110 @@ +// smithy-typescript generated code +import { getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { Command as $Command } from "@smithy/smithy-client"; +import { MetadataBearer as __MetadataBearer } from "@smithy/types"; + +import { DeadlineClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../DeadlineClient"; +import { commonParams } from "../endpoint/EndpointParameters"; +import { UpdateLimitRequest, UpdateLimitRequestFilterSensitiveLog, UpdateLimitResponse } from "../models/models_1"; +import { de_UpdateLimitCommand, se_UpdateLimitCommand } from "../protocols/Aws_restJson1"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link UpdateLimitCommand}. + */ +export interface UpdateLimitCommandInput extends UpdateLimitRequest {} +/** + * @public + * + * The output of {@link UpdateLimitCommand}. + */ +export interface UpdateLimitCommandOutput extends UpdateLimitResponse, __MetadataBearer {} + +/** + *

Updates the properties of the specified limit.

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { DeadlineClient, UpdateLimitCommand } from "@aws-sdk/client-deadline"; // ES Modules import + * // const { DeadlineClient, UpdateLimitCommand } = require("@aws-sdk/client-deadline"); // CommonJS import + * const client = new DeadlineClient(config); + * const input = { // UpdateLimitRequest + * farmId: "STRING_VALUE", // required + * limitId: "STRING_VALUE", // required + * displayName: "STRING_VALUE", + * description: "STRING_VALUE", + * maxCount: Number("int"), + * }; + * const command = new UpdateLimitCommand(input); + * const response = await client.send(command); + * // {}; + * + * ``` + * + * @param UpdateLimitCommandInput - {@link UpdateLimitCommandInput} + * @returns {@link UpdateLimitCommandOutput} + * @see {@link UpdateLimitCommandInput} for command's `input` shape. + * @see {@link UpdateLimitCommandOutput} for command's `response` shape. + * @see {@link DeadlineClientResolvedConfig | config} for DeadlineClient's `config` shape. + * + * @throws {@link AccessDeniedException} (client fault) + *

You don't have permission to perform the action.

+ * + * @throws {@link InternalServerErrorException} (server fault) + *

Deadline Cloud can't process your request right now. Try again later.

+ * + * @throws {@link ResourceNotFoundException} (client fault) + *

The requested resource can't be found.

+ * + * @throws {@link ThrottlingException} (client fault) + *

Your request exceeded a request rate quota.

+ * + * @throws {@link ValidationException} (client fault) + *

The request isn't valid. This can occur if your request contains malformed JSON or + * unsupported characters.

+ * + * @throws {@link DeadlineServiceException} + *

Base exception class for all service exceptions from Deadline service.

+ * + * @public + */ +export class UpdateLimitCommand extends $Command + .classBuilder< + UpdateLimitCommandInput, + UpdateLimitCommandOutput, + DeadlineClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep(commonParams) + .m(function (this: any, Command: any, cs: any, config: DeadlineClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("Deadline", "UpdateLimit", {}) + .n("DeadlineClient", "UpdateLimitCommand") + .f(UpdateLimitRequestFilterSensitiveLog, void 0) + .ser(se_UpdateLimitCommand) + .de(de_UpdateLimitCommand) + .build() { + /** @internal type navigation helper, not in runtime. */ + protected declare static __types: { + api: { + input: UpdateLimitRequest; + output: {}; + }; + sdk: { + input: UpdateLimitCommandInput; + output: UpdateLimitCommandOutput; + }; + }; +} diff --git a/clients/client-deadline/src/commands/UpdateQueueLimitAssociationCommand.ts b/clients/client-deadline/src/commands/UpdateQueueLimitAssociationCommand.ts new file mode 100644 index 000000000000..ee84066d5452 --- /dev/null +++ b/clients/client-deadline/src/commands/UpdateQueueLimitAssociationCommand.ts @@ -0,0 +1,116 @@ +// smithy-typescript generated code +import { getEndpointPlugin } from "@smithy/middleware-endpoint"; +import { getSerdePlugin } from "@smithy/middleware-serde"; +import { Command as $Command } from "@smithy/smithy-client"; +import { MetadataBearer as __MetadataBearer } from "@smithy/types"; + +import { DeadlineClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../DeadlineClient"; +import { commonParams } from "../endpoint/EndpointParameters"; +import { UpdateQueueLimitAssociationRequest, UpdateQueueLimitAssociationResponse } from "../models/models_1"; +import { + de_UpdateQueueLimitAssociationCommand, + se_UpdateQueueLimitAssociationCommand, +} from "../protocols/Aws_restJson1"; + +/** + * @public + */ +export type { __MetadataBearer }; +export { $Command }; +/** + * @public + * + * The input for {@link UpdateQueueLimitAssociationCommand}. + */ +export interface UpdateQueueLimitAssociationCommandInput extends UpdateQueueLimitAssociationRequest {} +/** + * @public + * + * The output of {@link UpdateQueueLimitAssociationCommand}. + */ +export interface UpdateQueueLimitAssociationCommandOutput + extends UpdateQueueLimitAssociationResponse, + __MetadataBearer {} + +/** + *

Updates the status of the queue. If you set the status to one of the + * STOP_LIMIT_USAGE* values, there will be a delay before the status + * transitions to the STOPPED state.

+ * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { DeadlineClient, UpdateQueueLimitAssociationCommand } from "@aws-sdk/client-deadline"; // ES Modules import + * // const { DeadlineClient, UpdateQueueLimitAssociationCommand } = require("@aws-sdk/client-deadline"); // CommonJS import + * const client = new DeadlineClient(config); + * const input = { // UpdateQueueLimitAssociationRequest + * farmId: "STRING_VALUE", // required + * queueId: "STRING_VALUE", // required + * limitId: "STRING_VALUE", // required + * status: "ACTIVE" || "STOP_LIMIT_USAGE_AND_COMPLETE_TASKS" || "STOP_LIMIT_USAGE_AND_CANCEL_TASKS", // required + * }; + * const command = new UpdateQueueLimitAssociationCommand(input); + * const response = await client.send(command); + * // {}; + * + * ``` + * + * @param UpdateQueueLimitAssociationCommandInput - {@link UpdateQueueLimitAssociationCommandInput} + * @returns {@link UpdateQueueLimitAssociationCommandOutput} + * @see {@link UpdateQueueLimitAssociationCommandInput} for command's `input` shape. + * @see {@link UpdateQueueLimitAssociationCommandOutput} for command's `response` shape. + * @see {@link DeadlineClientResolvedConfig | config} for DeadlineClient's `config` shape. + * + * @throws {@link AccessDeniedException} (client fault) + *

You don't have permission to perform the action.

+ * + * @throws {@link InternalServerErrorException} (server fault) + *

Deadline Cloud can't process your request right now. Try again later.

+ * + * @throws {@link ResourceNotFoundException} (client fault) + *

The requested resource can't be found.

+ * + * @throws {@link ThrottlingException} (client fault) + *

Your request exceeded a request rate quota.

+ * + * @throws {@link ValidationException} (client fault) + *

The request isn't valid. This can occur if your request contains malformed JSON or + * unsupported characters.

+ * + * @throws {@link DeadlineServiceException} + *

Base exception class for all service exceptions from Deadline service.

+ * + * @public + */ +export class UpdateQueueLimitAssociationCommand extends $Command + .classBuilder< + UpdateQueueLimitAssociationCommandInput, + UpdateQueueLimitAssociationCommandOutput, + DeadlineClientResolvedConfig, + ServiceInputTypes, + ServiceOutputTypes + >() + .ep(commonParams) + .m(function (this: any, Command: any, cs: any, config: DeadlineClientResolvedConfig, o: any) { + return [ + getSerdePlugin(config, this.serialize, this.deserialize), + getEndpointPlugin(config, Command.getEndpointParameterInstructions()), + ]; + }) + .s("Deadline", "UpdateQueueLimitAssociation", {}) + .n("DeadlineClient", "UpdateQueueLimitAssociationCommand") + .f(void 0, void 0) + .ser(se_UpdateQueueLimitAssociationCommand) + .de(de_UpdateQueueLimitAssociationCommand) + .build() { + /** @internal type navigation helper, not in runtime. */ + protected declare static __types: { + api: { + input: UpdateQueueLimitAssociationRequest; + output: {}; + }; + sdk: { + input: UpdateQueueLimitAssociationCommandInput; + output: UpdateQueueLimitAssociationCommandOutput; + }; + }; +} diff --git a/clients/client-deadline/src/commands/UpdateSessionCommand.ts b/clients/client-deadline/src/commands/UpdateSessionCommand.ts index c6b9922f356f..45768de80bbe 100644 --- a/clients/client-deadline/src/commands/UpdateSessionCommand.ts +++ b/clients/client-deadline/src/commands/UpdateSessionCommand.ts @@ -6,7 +6,7 @@ import { MetadataBearer as __MetadataBearer } from "@smithy/types"; import { DeadlineClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../DeadlineClient"; import { commonParams } from "../endpoint/EndpointParameters"; -import { UpdateSessionRequest, UpdateSessionResponse } from "../models/models_0"; +import { UpdateSessionRequest, UpdateSessionResponse } from "../models/models_1"; import { de_UpdateSessionCommand, se_UpdateSessionCommand } from "../protocols/Aws_restJson1"; /** @@ -37,11 +37,11 @@ export interface UpdateSessionCommandOutput extends UpdateSessionResponse, __Met * const client = new DeadlineClient(config); * const input = { // UpdateSessionRequest * clientToken: "STRING_VALUE", + * targetLifecycleStatus: "ENDED", // required * farmId: "STRING_VALUE", // required * queueId: "STRING_VALUE", // required * jobId: "STRING_VALUE", // required * sessionId: "STRING_VALUE", // required - * targetLifecycleStatus: "ENDED", // required * }; * const command = new UpdateSessionCommand(input); * const response = await client.send(command); diff --git a/clients/client-deadline/src/commands/UpdateStepCommand.ts b/clients/client-deadline/src/commands/UpdateStepCommand.ts index 901bf43aec62..f360d5ce09c3 100644 --- a/clients/client-deadline/src/commands/UpdateStepCommand.ts +++ b/clients/client-deadline/src/commands/UpdateStepCommand.ts @@ -6,7 +6,7 @@ import { MetadataBearer as __MetadataBearer } from "@smithy/types"; import { DeadlineClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../DeadlineClient"; import { commonParams } from "../endpoint/EndpointParameters"; -import { UpdateStepRequest, UpdateStepResponse } from "../models/models_0"; +import { UpdateStepRequest, UpdateStepResponse } from "../models/models_1"; import { de_UpdateStepCommand, se_UpdateStepCommand } from "../protocols/Aws_restJson1"; /** @@ -36,12 +36,12 @@ export interface UpdateStepCommandOutput extends UpdateStepResponse, __MetadataB * // const { DeadlineClient, UpdateStepCommand } = require("@aws-sdk/client-deadline"); // CommonJS import * const client = new DeadlineClient(config); * const input = { // UpdateStepRequest + * targetTaskRunStatus: "READY" || "FAILED" || "SUCCEEDED" || "CANCELED" || "SUSPENDED" || "PENDING", // required * clientToken: "STRING_VALUE", * farmId: "STRING_VALUE", // required * queueId: "STRING_VALUE", // required * jobId: "STRING_VALUE", // required * stepId: "STRING_VALUE", // required - * targetTaskRunStatus: "READY" || "FAILED" || "SUCCEEDED" || "CANCELED" || "SUSPENDED" || "PENDING", // required * }; * const command = new UpdateStepCommand(input); * const response = await client.send(command); diff --git a/clients/client-deadline/src/commands/UpdateTaskCommand.ts b/clients/client-deadline/src/commands/UpdateTaskCommand.ts index 73025e3d93aa..b664ba2e1a8f 100644 --- a/clients/client-deadline/src/commands/UpdateTaskCommand.ts +++ b/clients/client-deadline/src/commands/UpdateTaskCommand.ts @@ -6,7 +6,7 @@ import { MetadataBearer as __MetadataBearer } from "@smithy/types"; import { DeadlineClientResolvedConfig, ServiceInputTypes, ServiceOutputTypes } from "../DeadlineClient"; import { commonParams } from "../endpoint/EndpointParameters"; -import { UpdateTaskRequest, UpdateTaskResponse } from "../models/models_0"; +import { UpdateTaskRequest, UpdateTaskResponse } from "../models/models_1"; import { de_UpdateTaskCommand, se_UpdateTaskCommand } from "../protocols/Aws_restJson1"; /** @@ -37,12 +37,12 @@ export interface UpdateTaskCommandOutput extends UpdateTaskResponse, __MetadataB * const client = new DeadlineClient(config); * const input = { // UpdateTaskRequest * clientToken: "STRING_VALUE", + * targetRunStatus: "READY" || "FAILED" || "SUCCEEDED" || "CANCELED" || "SUSPENDED" || "PENDING", // required * farmId: "STRING_VALUE", // required * queueId: "STRING_VALUE", // required * jobId: "STRING_VALUE", // required * stepId: "STRING_VALUE", // required * taskId: "STRING_VALUE", // required - * targetRunStatus: "READY" || "FAILED" || "SUCCEEDED" || "CANCELED" || "SUSPENDED" || "PENDING", // required * }; * const command = new UpdateTaskCommand(input); * const response = await client.send(command); diff --git a/clients/client-deadline/src/commands/index.ts b/clients/client-deadline/src/commands/index.ts index 4edba2da8bd8..5211a75f17bc 100644 --- a/clients/client-deadline/src/commands/index.ts +++ b/clients/client-deadline/src/commands/index.ts @@ -15,21 +15,25 @@ export * from "./CreateFarmCommand"; export * from "./CreateFleetCommand"; export * from "./CreateJobCommand"; export * from "./CreateLicenseEndpointCommand"; +export * from "./CreateLimitCommand"; export * from "./CreateMonitorCommand"; export * from "./CreateQueueCommand"; export * from "./CreateQueueEnvironmentCommand"; export * from "./CreateQueueFleetAssociationCommand"; +export * from "./CreateQueueLimitAssociationCommand"; export * from "./CreateStorageProfileCommand"; export * from "./CreateWorkerCommand"; export * from "./DeleteBudgetCommand"; export * from "./DeleteFarmCommand"; export * from "./DeleteFleetCommand"; export * from "./DeleteLicenseEndpointCommand"; +export * from "./DeleteLimitCommand"; export * from "./DeleteMeteredProductCommand"; export * from "./DeleteMonitorCommand"; export * from "./DeleteQueueCommand"; export * from "./DeleteQueueEnvironmentCommand"; export * from "./DeleteQueueFleetAssociationCommand"; +export * from "./DeleteQueueLimitAssociationCommand"; export * from "./DeleteStorageProfileCommand"; export * from "./DeleteWorkerCommand"; export * from "./DisassociateMemberFromFarmCommand"; @@ -41,10 +45,12 @@ export * from "./GetFarmCommand"; export * from "./GetFleetCommand"; export * from "./GetJobCommand"; export * from "./GetLicenseEndpointCommand"; +export * from "./GetLimitCommand"; export * from "./GetMonitorCommand"; export * from "./GetQueueCommand"; export * from "./GetQueueEnvironmentCommand"; export * from "./GetQueueFleetAssociationCommand"; +export * from "./GetQueueLimitAssociationCommand"; export * from "./GetSessionActionCommand"; export * from "./GetSessionCommand"; export * from "./GetSessionsStatisticsAggregationCommand"; @@ -63,10 +69,12 @@ export * from "./ListJobMembersCommand"; export * from "./ListJobParameterDefinitionsCommand"; export * from "./ListJobsCommand"; export * from "./ListLicenseEndpointsCommand"; +export * from "./ListLimitsCommand"; export * from "./ListMeteredProductsCommand"; export * from "./ListMonitorsCommand"; export * from "./ListQueueEnvironmentsCommand"; export * from "./ListQueueFleetAssociationsCommand"; +export * from "./ListQueueLimitAssociationsCommand"; export * from "./ListQueueMembersCommand"; export * from "./ListQueuesCommand"; export * from "./ListSessionActionsCommand"; @@ -92,10 +100,12 @@ export * from "./UpdateBudgetCommand"; export * from "./UpdateFarmCommand"; export * from "./UpdateFleetCommand"; export * from "./UpdateJobCommand"; +export * from "./UpdateLimitCommand"; export * from "./UpdateMonitorCommand"; export * from "./UpdateQueueCommand"; export * from "./UpdateQueueEnvironmentCommand"; export * from "./UpdateQueueFleetAssociationCommand"; +export * from "./UpdateQueueLimitAssociationCommand"; export * from "./UpdateSessionCommand"; export * from "./UpdateStepCommand"; export * from "./UpdateStorageProfileCommand"; diff --git a/clients/client-deadline/src/models/models_0.ts b/clients/client-deadline/src/models/models_0.ts index 1e482175dc20..550ad39210ca 100644 --- a/clients/client-deadline/src/models/models_0.ts +++ b/clients/client-deadline/src/models/models_0.ts @@ -6,19 +6,19 @@ import { DocumentType as __DocumentType } from "@smithy/types"; import { DeadlineServiceException as __BaseException } from "./DeadlineServiceException"; /** - *

The range for the GPU fleet acceleration.

+ *

Defines the maximum and minimum number of GPU accelerators required for a worker + * instance..

* @public */ export interface AcceleratorCountRange { /** - *

The minimum number of GPUs for the accelerator. If you set the value to 0, a worker will - * still have 1 GPU.

+ *

The minimum number of GPU accelerators in the worker host.

* @public */ min: number | undefined; /** - *

The maximum number of GPUs for the accelerator.

+ *

The maximum number of GPU accelerators in the worker host.

* @public */ max?: number | undefined; @@ -41,46 +41,92 @@ export const AcceleratorName = { export type AcceleratorName = (typeof AcceleratorName)[keyof typeof AcceleratorName]; /** - *

Values that you can use to select a particular Amazon EC2 instance type.

+ *

Describes a specific GPU accelerator required for an Amazon Elastic Compute Cloud worker host.

* @public */ export interface AcceleratorSelection { /** - *

The name of the GPU accelerator.

+ *

The name of the chip used by the GPU accelerator.

+ *

If you specify l4 as the name of the accelerator, you must specify + * latest or grid:r550 as the runtime.

+ *

The available GPU accelerators are:

+ *
    + *
  • + *

    + * t4 - NVIDIA T4 Tensor Core GPU

    + *
  • + *
  • + *

    + * a10g - NVIDIA A10G Tensor Core GPU

    + *
  • + *
  • + *

    + * l4 - NVIDIA L4 Tensor Core GPU

    + *
  • + *
  • + *

    + * l40s - NVIDIA L40S Tensor Core GPU

    + *
  • + *
* @public */ name: AcceleratorName | undefined; /** - *

The driver version that the GPU accelerator uses.

+ *

Specifies the runtime driver to use for the GPU accelerator. You must use the same + * runtime for all GPUs.

+ *

You can choose from the following runtimes:

+ *
    + *
  • + *

    + * latest - Use the latest runtime available for the chip. If you + * specify latest and a new version of the runtime is released, the new + * version of the runtime is used.

    + *
  • + *
  • + *

    + * grid:r550 - NVIDIA vGPU software 17 + *

    + *
  • + *
  • + *

    + * grid:r535 - NVIDIA vGPU software 16 + *

    + *
  • + *
+ *

If you don't specify a runtime, Deadline Cloud uses latest as the default. However, + * if you have multiple accelerators and specify latest for some and leave others + * blank, Deadline Cloud raises an exception.

* @public */ runtime?: string | undefined; } /** - *

Provides information about the GPU accelerators and drivers for the instance types in a - * fleet. If you include the acceleratorCapabilities property in the ServiceManagedEc2InstanceCapabilities object, all of the Amazon EC2 - * instances will have at least one accelerator.

+ *

Provides information about the GPU accelerators used for jobs processed by a + * fleet.

* @public */ export interface AcceleratorCapabilities { /** - *

A list of objects that contain the GPU name of the accelerator and driver for the - * instance types that support the accelerator.

+ *

A list of accelerator capabilities requested for this fleet. Only Amazon Elastic Compute Cloud instances + * that provide these capabilities will be used. For example, if you specify both L4 and T4 + * chips, Deadline Cloud will use Amazon EC2 instances that have either the L4 or the T4 chip + * installed.

* @public */ selections: AcceleratorSelection[] | undefined; /** - *

The number of GPUs on each worker. The default is 1.

+ *

The number of GPU accelerators specified for worker hosts in this fleet.

* @public */ count?: AcceleratorCountRange | undefined; } /** - *

The range for memory, in MiB, to use for the accelerator.

+ *

Defines the maximum and minimum amount of memory, in MiB, to use for the + * accelerator.

* @public */ export interface AcceleratorTotalMemoryMiBRange { @@ -140,6 +186,24 @@ export class AccessDeniedException extends __BaseException { } } +/** + *

Provides information about the number of resources used.

+ * @public + */ +export interface AcquiredLimit { + /** + *

The unique identifier of the limit.

+ * @public + */ + limitId: string | undefined; + + /** + *

The number of limit resources used.

+ * @public + */ + count: number | undefined; +} + /** *

The assigned starting environment for a worker during session.

* @public @@ -1267,7 +1331,7 @@ export interface ManifestProperties { inputManifestPath?: string | undefined; /** - *

The has value of the file.

+ *

The hash value of the file.

* @public */ inputManifestHash?: string | undefined; @@ -3246,9 +3310,8 @@ export interface ServiceManagedEc2InstanceCapabilities { rootEbsVolume?: Ec2EbsVolume | undefined; /** - *

The GPU accelerator capabilities required for the Amazon EC2 instances. If you - * include the acceleratorCapabilities property in the ServiceManagedEc2InstanceCapabilities object, all of the Amazon EC2 - * instances will have at least one accelerator.

+ *

Describes the GPU accelerator capabilities required for worker host instances in this + * fleet.

* @public */ acceleratorCapabilities?: AcceleratorCapabilities | undefined; @@ -3548,6 +3611,18 @@ export interface CreateJobRequest { */ maxRetriesPerTask?: number | undefined; + /** + *

The maximum number of worker hosts that can concurrently process a job. When the + * maxWorkerCount is reached, no more workers will be assigned to process the + * job, even if the fleets assigned to the job's queue has available workers.

+ *

You can't set the maxWorkerCount to 0. If you set it to -1, there is no + * maximum number of workers.

+ *

If you don't specify the maxWorkerCount, Deadline Cloud won't throttle + * the number of workers used to process the job.

+ * @public + */ + maxWorkerCount?: number | undefined; + /** *

The job ID for the source job.

* @public @@ -3612,6 +3687,72 @@ export interface CreateLicenseEndpointResponse { licenseEndpointId: string | undefined; } +/** + * @public + */ +export interface CreateLimitRequest { + /** + *

The unique token which the server uses to recognize retries of the same request.

+ * @public + */ + clientToken?: string | undefined; + + /** + *

The display name of the limit.

+ * + *

This field can store any content. Escape or encode this content before displaying it on a webpage or any other system that might interpret the content of this field.

+ *
+ * @public + */ + displayName: string | undefined; + + /** + *

The value that you specify as the name in the amounts field of + * the hostRequirements in a step of a job template to declare the limit + * requirement.

+ * @public + */ + amountRequirementName: string | undefined; + + /** + *

The maximum number of resources constrained by this limit. When all of the resources are + * in use, steps that require the limit won't be scheduled until the resource is + * available.

+ *

The maxCount must not be 0. If the value is -1, there is no restriction on + * the number of resources that can be acquired for this limit.

+ * @public + */ + maxCount: number | undefined; + + /** + *

The farm ID of the farm that contains the limit.

+ * @public + */ + farmId: string | undefined; + + /** + *

A description of the limit. A description helps you identify the purpose of the + * limit.

+ * + *

This field can store any content. Escape or encode this content before displaying it on a webpage or any other system that might interpret the content of this field.

+ *
+ * @public + */ + description?: string | undefined; +} + +/** + * @public + */ +export interface CreateLimitResponse { + /** + *

A unique identifier for the limit. Use this identifier in other operations, such as + * CreateQueueLimitAssociation and DeleteLimit.

+ * @public + */ + limitId: string | undefined; +} + /** * @public */ @@ -3870,6 +4011,34 @@ export interface CreateQueueFleetAssociationRequest { */ export interface CreateQueueFleetAssociationResponse {} +/** + * @public + */ +export interface CreateQueueLimitAssociationRequest { + /** + *

The unique identifier of the farm that contains the queue and limit to associate.

+ * @public + */ + farmId: string | undefined; + + /** + *

The unique identifier of the queue to associate with the limit.

+ * @public + */ + queueId: string | undefined; + + /** + *

The unique identifier of the limit to associate with the queue.

+ * @public + */ + limitId: string | undefined; +} + +/** + * @public + */ +export interface CreateQueueLimitAssociationResponse {} + /** * @public * @enum @@ -4101,6 +4270,35 @@ export interface DeleteQueueFleetAssociationRequest { */ export interface DeleteQueueFleetAssociationResponse {} +/** + * @public + */ +export interface DeleteQueueLimitAssociationRequest { + /** + *

The unique identifier of the farm that contains the queue and limit to + * disassociate.

+ * @public + */ + farmId: string | undefined; + + /** + *

The unique identifier of the queue to disassociate.

+ * @public + */ + queueId: string | undefined; + + /** + *

The unique identifier of the limit to disassociate.

+ * @public + */ + limitId: string | undefined; +} + +/** + * @public + */ +export interface DeleteQueueLimitAssociationResponse {} + /** * @public */ @@ -4117,6 +4315,28 @@ export interface DeleteFarmRequest { */ export interface DeleteFarmResponse {} +/** + * @public + */ +export interface DeleteLimitRequest { + /** + *

The unique identifier of the farm that contains the limit to delete.

+ * @public + */ + farmId: string | undefined; + + /** + *

The unique identifier of the limit to delete.

+ * @public + */ + limitId: string | undefined; +} + +/** + * @public + */ +export interface DeleteLimitResponse {} + /** * @public */ @@ -4801,12 +5021,6 @@ export type WorkerStatus = (typeof WorkerStatus)[keyof typeof WorkerStatus]; * @public */ export interface GetWorkerResponse { - /** - *

The worker ID.

- * @public - */ - workerId: string | undefined; - /** *

The farm ID.

* @public @@ -4819,6 +5033,12 @@ export interface GetWorkerResponse { */ fleetId: string | undefined; + /** + *

The worker ID.

+ * @public + */ + workerId: string | undefined; + /** *

The host properties for the worker.

* @public @@ -5416,6 +5636,107 @@ export interface GetFarmResponse { updatedBy?: string | undefined; } +/** + * @public + */ +export interface GetLimitRequest { + /** + *

The unique identifier of the farm that contains the limit.

+ * @public + */ + farmId: string | undefined; + + /** + *

The unique identifier of the limit to return.

+ * @public + */ + limitId: string | undefined; +} + +/** + * @public + */ +export interface GetLimitResponse { + /** + *

The display name of the limit.

+ * + *

This field can store any content. Escape or encode this content before displaying it on a webpage or any other system that might interpret the content of this field.

+ *
+ * @public + */ + displayName: string | undefined; + + /** + *

The value that you specify as the name in the amounts field of + * the hostRequirements in a step of a job template to declare the limit + * requirement.

+ * @public + */ + amountRequirementName: string | undefined; + + /** + *

The maximum number of resources constrained by this limit. When all of the resources are + * in use, steps that require the limit won't be scheduled until the resource is + * available.

+ *

The maxValue must not be 0. If the value is -1, there is no restriction on + * the number of resources that can be acquired for this limit.

+ * @public + */ + maxCount: number | undefined; + + /** + *

The Unix timestamp of the date and time that the limit was created.

+ * @public + */ + createdAt: Date | undefined; + + /** + *

The user identifier of the person that created the limit.

+ * @public + */ + createdBy: string | undefined; + + /** + *

The Unix timestamp of the date and time that the limit was last updated.

+ * @public + */ + updatedAt?: Date | undefined; + + /** + *

The user identifier of the person that last updated the limit.

+ * @public + */ + updatedBy?: string | undefined; + + /** + *

The unique identifier of the farm that contains the limit.

+ * @public + */ + farmId: string | undefined; + + /** + *

The unique identifier of the limit.

+ * @public + */ + limitId: string | undefined; + + /** + *

The number of resources from the limit that are being used by jobs. The result is + * delayed and may not be the count at the time that you called the operation.

+ * @public + */ + currentCount: number | undefined; + + /** + *

The description of the limit that helps identify what the limit is used for.

+ * + *

This field can store any content. Escape or encode this content before displaying it on a webpage or any other system that might interpret the content of this field.

+ *
+ * @public + */ + description?: string | undefined; +} + /** * @public */ @@ -5659,9 +5980,9 @@ export interface ListFarmsResponse { /** * @public */ -export interface ListStorageProfilesRequest { +export interface ListLimitsRequest { /** - *

The farm ID of the storage profile.

+ *

The unique identifier of the farm that contains the limits.

* @public */ farmId: string | undefined; @@ -5673,25 +5994,19 @@ export interface ListStorageProfilesRequest { nextToken?: string | undefined; /** - *

The maximum number of results to return. Use this parameter with NextToken to get results as a set of sequential pages.

+ *

The maximum number of limits to return in each page of results.

* @public */ maxResults?: number | undefined; } /** - *

The details of a storage profile.

+ *

Provides information about a specific limit.

* @public */ -export interface StorageProfileSummary { - /** - *

The storage profile ID.

- * @public - */ - storageProfileId: string | undefined; - +export interface LimitSummary { /** - *

The display name of the storage profile summary to update.

+ *

The name of the limit used in lists to identify the limit.

* *

This field can store any content. Escape or encode this content before displaying it on a webpage or any other system that might interpret the content of this field.

*
@@ -5700,18 +6015,140 @@ export interface StorageProfileSummary { displayName: string | undefined; /** - *

The operating system (OS) family.

+ *

The value that you specify as the name in the amounts field of + * the hostRequirements in a step of a job template to declare the limit + * requirement.

* @public */ - osFamily: StorageProfileOperatingSystemFamily | undefined; -} + amountRequirementName: string | undefined; -/** - * @public - */ -export interface ListStorageProfilesResponse { /** - *

The storage profiles.

+ *

The maximum number of resources constrained by this limit. When all of the resources are + * in use, steps that require the limit won't be scheduled until the resource is + * available.

+ *

The maxValue must not be 0. If the value is -1, there is no restriction on + * the number of resources that can be acquired for this limit.

+ * @public + */ + maxCount: number | undefined; + + /** + *

The Unix timestamp of the date and time that the limit was created.

+ * @public + */ + createdAt: Date | undefined; + + /** + *

The user identifier of the person that created the limit.

+ * @public + */ + createdBy: string | undefined; + + /** + *

The Unix timestamp of the date and time that the limit was last updated.

+ * @public + */ + updatedAt?: Date | undefined; + + /** + *

The user identifier of the person that last updated the limit.

+ * @public + */ + updatedBy?: string | undefined; + + /** + *

The unique identifier of the farm that contains the limit.

+ * @public + */ + farmId: string | undefined; + + /** + *

The unique identifier of the limit.

+ * @public + */ + limitId: string | undefined; + + /** + *

The number of resources from the limit that are being used by jobs. The result is + * delayed and may not be the count at the time that you called the operation.

+ * @public + */ + currentCount: number | undefined; +} + +/** + * @public + */ +export interface ListLimitsResponse { + /** + *

A list of limits that the farm contains.

+ * @public + */ + limits: LimitSummary[] | undefined; + + /** + *

If Deadline Cloud returns nextToken, then there are more results available. The value of nextToken is a unique pagination token for each page. To retrieve the next page, call the operation again using the returned token. Keep all other arguments unchanged. If no results remain, then nextToken is set to null. Each pagination token expires after 24 hours. If you provide a token that isn't valid, then you receive an HTTP 400 ValidationException error.

+ * @public + */ + nextToken?: string | undefined; +} + +/** + * @public + */ +export interface ListStorageProfilesRequest { + /** + *

The farm ID of the storage profile.

+ * @public + */ + farmId: string | undefined; + + /** + *

The token for the next set of results, or null to start from the beginning.

+ * @public + */ + nextToken?: string | undefined; + + /** + *

The maximum number of results to return. Use this parameter with NextToken to get results as a set of sequential pages.

+ * @public + */ + maxResults?: number | undefined; +} + +/** + *

The details of a storage profile.

+ * @public + */ +export interface StorageProfileSummary { + /** + *

The storage profile ID.

+ * @public + */ + storageProfileId: string | undefined; + + /** + *

The display name of the storage profile summary to update.

+ * + *

This field can store any content. Escape or encode this content before displaying it on a webpage or any other system that might interpret the content of this field.

+ *
+ * @public + */ + displayName: string | undefined; + + /** + *

The operating system (OS) family.

+ * @public + */ + osFamily: StorageProfileOperatingSystemFamily | undefined; +} + +/** + * @public + */ +export interface ListStorageProfilesResponse { + /** + *

The storage profiles.

* @public */ storageProfiles: StorageProfileSummary[] | undefined; @@ -6151,16 +6588,16 @@ export interface GetJobRequest { farmId: string | undefined; /** - *

The job ID.

+ *

The queue ID associated with the job.

* @public */ - jobId: string | undefined; + queueId: string | undefined; /** - *

The queue ID associated with the job.

+ *

The job ID.

* @public */ - queueId: string | undefined; + jobId: string | undefined; } /** @@ -6353,6 +6790,16 @@ export interface GetJobResponse { */ description?: string | undefined; + /** + *

The maximum number of worker hosts that can concurrently process a job. When the + * maxWorkerCount is reached, no more workers will be assigned to process the + * job, even if the fleets assigned to the job's queue has available workers.

+ *

If you don't set the maxWorkerCount when you create a job, this value is + * not returned in the response.

+ * @public + */ + maxWorkerCount?: number | undefined; + /** *

The job ID for the source job.

* @public @@ -6733,6 +7180,13 @@ export interface GetSessionActionResponse { * @public */ definition: SessionActionDefinition | undefined; + + /** + *

The limits and their amounts acquired during a session action. If no limits were + * acquired during the session, this field isn't returned.

+ * @public + */ + acquiredLimits?: AcquiredLimit[] | undefined; } /** @@ -7522,6 +7976,17 @@ export interface JobSummary { */ maxRetriesPerTask?: number | undefined; + /** + *

The maximum number of worker hosts that can concurrently process a job. When the + * maxWorkerCount is reached, no more workers will be assigned to process the + * job, even if the fleets assigned to the job's queue has available workers.

+ *

You can't set the maxWorkerCount to 0. If you set it to -1, there is no + * maximum number of workers.

+ *

If you don't specify the maxWorkerCount, the default is -1.

+ * @public + */ + maxWorkerCount?: number | undefined; + /** *

The job ID for the source job.

* @public @@ -8404,373 +8869,6 @@ export interface ListTasksResponse { nextToken?: string | undefined; } -/** - * @public - * @enum - */ -export const UpdateJobLifecycleStatus = { - ARCHIVED: "ARCHIVED", -} as const; - -/** - * @public - */ -export type UpdateJobLifecycleStatus = (typeof UpdateJobLifecycleStatus)[keyof typeof UpdateJobLifecycleStatus]; - -/** - * @public - */ -export interface UpdateJobRequest { - /** - *

The unique token which the server uses to recognize retries of the same request.

- * @public - */ - clientToken?: string | undefined; - - /** - *

The farm ID of the job to update.

- * @public - */ - farmId: string | undefined; - - /** - *

The queue ID of the job to update.

- * @public - */ - queueId: string | undefined; - - /** - *

The job ID to update.

- * @public - */ - jobId: string | undefined; - - /** - *

The task status to update the job's tasks to.

- * @public - */ - targetTaskRunStatus?: JobTargetTaskRunStatus | undefined; - - /** - *

The job priority to update.

- * @public - */ - priority?: number | undefined; - - /** - *

The number of task failures before the job stops running and is marked as FAILED.

- * @public - */ - maxFailedTasksCount?: number | undefined; - - /** - *

The maximum number of retries for a job.

- * @public - */ - maxRetriesPerTask?: number | undefined; - - /** - *

The status of a job in its lifecycle. When you change the status of the job to - * ARCHIVED, the job can't be scheduled or archived.

- * - *

An archived jobs and its steps and tasks are deleted after 120 days. The job can't be - * recovered.

- *
- * @public - */ - lifecycleStatus?: UpdateJobLifecycleStatus | undefined; -} - -/** - * @public - */ -export interface UpdateJobResponse {} - -/** - * @public - */ -export interface UpdateSessionRequest { - /** - *

The unique token which the server uses to recognize retries of the same request.

- * @public - */ - clientToken?: string | undefined; - - /** - *

The farm ID to update in the session.

- * @public - */ - farmId: string | undefined; - - /** - *

The queue ID to update in the session.

- * @public - */ - queueId: string | undefined; - - /** - *

The job ID to update in the session.

- * @public - */ - jobId: string | undefined; - - /** - *

The session ID to update.

- * @public - */ - sessionId: string | undefined; - - /** - *

The life cycle status to update in the session.

- * @public - */ - targetLifecycleStatus: SessionLifecycleTargetStatus | undefined; -} - -/** - * @public - */ -export interface UpdateSessionResponse {} - -/** - * @public - */ -export interface UpdateStepRequest { - /** - *

The unique token which the server uses to recognize retries of the same request.

- * @public - */ - clientToken?: string | undefined; - - /** - *

The farm ID to update.

- * @public - */ - farmId: string | undefined; - - /** - *

The queue ID to update.

- * @public - */ - queueId: string | undefined; - - /** - *

The job ID to update.

- * @public - */ - jobId: string | undefined; - - /** - *

The step ID to update.

- * @public - */ - stepId: string | undefined; - - /** - *

The task status to update the step's tasks to.

- * @public - */ - targetTaskRunStatus: StepTargetTaskRunStatus | undefined; -} - -/** - * @public - */ -export interface UpdateStepResponse {} - -/** - * @public - */ -export interface UpdateTaskRequest { - /** - *

The unique token which the server uses to recognize retries of the same request.

- * @public - */ - clientToken?: string | undefined; - - /** - *

The farm ID to update.

- * @public - */ - farmId: string | undefined; - - /** - *

The queue ID to update.

- * @public - */ - queueId: string | undefined; - - /** - *

The job ID to update.

- * @public - */ - jobId: string | undefined; - - /** - *

The step ID to update.

- * @public - */ - stepId: string | undefined; - - /** - *

The task ID to update.

- * @public - */ - taskId: string | undefined; - - /** - *

The run status with which to start the task.

- * @public - */ - targetRunStatus: TaskTargetRunStatus | undefined; -} - -/** - * @public - */ -export interface UpdateTaskResponse {} - -/** - * @public - */ -export interface ListQueueEnvironmentsRequest { - /** - *

The farm ID for the queue environment list.

- * @public - */ - farmId: string | undefined; - - /** - *

The queue ID for the queue environment list.

- * @public - */ - queueId: string | undefined; - - /** - *

The token for the next set of results, or null to start from the beginning.

- * @public - */ - nextToken?: string | undefined; - - /** - *

The maximum number of results to return. Use this parameter with NextToken to get results as a set of sequential pages.

- * @public - */ - maxResults?: number | undefined; -} - -/** - *

The summary of a queue environment.

- * @public - */ -export interface QueueEnvironmentSummary { - /** - *

The queue environment ID.

- * @public - */ - queueEnvironmentId: string | undefined; - - /** - *

The name of the queue environment.

- * @public - */ - name: string | undefined; - - /** - *

The queue environment's priority.

- * @public - */ - priority: number | undefined; -} - -/** - * @public - */ -export interface ListQueueEnvironmentsResponse { - /** - *

The environments to include in the queue environments list.

- * @public - */ - environments: QueueEnvironmentSummary[] | undefined; - - /** - *

If Deadline Cloud returns nextToken, then there are more results available. The value of nextToken is a unique pagination token for each page. To retrieve the next page, call the operation again using the returned token. Keep all other arguments unchanged. If no results remain, then nextToken is set to null. Each pagination token expires after 24 hours. If you provide a token that isn't valid, then you receive an HTTP 400 ValidationException error.

- * @public - */ - nextToken?: string | undefined; -} - -/** - * @public - */ -export interface ListQueueMembersRequest { - /** - *

The farm ID for the queue.

- * @public - */ - farmId: string | undefined; - - /** - *

The queue ID to include on the list.

- * @public - */ - queueId: string | undefined; - - /** - *

The token for the next set of results, or null to start from the beginning.

- * @public - */ - nextToken?: string | undefined; - - /** - *

The maximum number of results to return. Use this parameter with NextToken to get results as a set of sequential pages.

- * @public - */ - maxResults?: number | undefined; -} - -/** - *

The details of a queue member.

- * @public - */ -export interface QueueMember { - /** - *

The farm ID.

- * @public - */ - farmId: string | undefined; - - /** - *

The queue ID.

- * @public - */ - queueId: string | undefined; - - /** - *

The principal ID of the queue member.

- * @public - */ - principalId: string | undefined; - - /** - *

The principal type of the queue member.

- * @public - */ - principalType: DeadlinePrincipalType | undefined; - - /** - *

The identity store ID.

- * @public - */ - identityStoreId: string | undefined; - - /** - *

The queue member's membership level.

- * @public - */ - membershipLevel: MembershipLevel | undefined; -} - /** * @internal */ @@ -9042,6 +9140,14 @@ export const CreateJobRequestFilterSensitiveLog = (obj: CreateJobRequest): any = ...(obj.attachments && { attachments: AttachmentsFilterSensitiveLog(obj.attachments) }), }); +/** + * @internal + */ +export const CreateLimitRequestFilterSensitiveLog = (obj: CreateLimitRequest): any => ({ + ...obj, + ...(obj.description && { description: SENSITIVE_STRING }), +}); + /** * @internal */ @@ -9139,6 +9245,14 @@ export const GetFarmResponseFilterSensitiveLog = (obj: GetFarmResponse): any => ...(obj.description && { description: SENSITIVE_STRING }), }); +/** + * @internal + */ +export const GetLimitResponseFilterSensitiveLog = (obj: GetLimitResponse): any => ({ + ...obj, + ...(obj.description && { description: SENSITIVE_STRING }), +}); + /** * @internal */ diff --git a/clients/client-deadline/src/models/models_1.ts b/clients/client-deadline/src/models/models_1.ts index f98dde1a5757..dafe01159a9b 100644 --- a/clients/client-deadline/src/models/models_1.ts +++ b/clients/client-deadline/src/models/models_1.ts @@ -4,6 +4,7 @@ import { SENSITIVE_STRING } from "@smithy/smithy-client"; import { ComparisonOperator, DateTimeFilterExpression, + DeadlinePrincipalType, DefaultQueueBudgetAction, EnvironmentTemplateType, FileSystemLocation, @@ -13,10 +14,11 @@ import { JobParameter, JobRunAsUser, JobTargetTaskRunStatus, + MembershipLevel, ParameterSpace, QueueBlockedReason, - QueueMember, QueueStatus, + SessionLifecycleTargetStatus, StepLifecycleStatus, StepTargetTaskRunStatus, StorageProfileOperatingSystemFamily, @@ -27,6 +29,385 @@ import { WorkerStatus, } from "./models_0"; +/** + * @public + * @enum + */ +export const UpdateJobLifecycleStatus = { + ARCHIVED: "ARCHIVED", +} as const; + +/** + * @public + */ +export type UpdateJobLifecycleStatus = (typeof UpdateJobLifecycleStatus)[keyof typeof UpdateJobLifecycleStatus]; + +/** + * @public + */ +export interface UpdateJobRequest { + /** + *

The unique token which the server uses to recognize retries of the same request.

+ * @public + */ + clientToken?: string | undefined; + + /** + *

The task status to update the job's tasks to.

+ * @public + */ + targetTaskRunStatus?: JobTargetTaskRunStatus | undefined; + + /** + *

The job priority to update.

+ * @public + */ + priority?: number | undefined; + + /** + *

The number of task failures before the job stops running and is marked as FAILED.

+ * @public + */ + maxFailedTasksCount?: number | undefined; + + /** + *

The maximum number of retries for a job.

+ * @public + */ + maxRetriesPerTask?: number | undefined; + + /** + *

The status of a job in its lifecycle. When you change the status of the job to + * ARCHIVED, the job can't be scheduled or archived.

+ * + *

An archived jobs and its steps and tasks are deleted after 120 days. The job can't be + * recovered.

+ *
+ * @public + */ + lifecycleStatus?: UpdateJobLifecycleStatus | undefined; + + /** + *

The maximum number of worker hosts that can concurrently process a job. When the + * maxWorkerCount is reached, no more workers will be assigned to process the + * job, even if the fleets assigned to the job's queue has available workers.

+ *

You can't set the maxWorkerCount to 0. If you set it to -1, there is no + * maximum number of workers.

+ *

If you don't specify the maxWorkerCount, the default is -1.

+ *

The maximum number of workers that can process tasks in the job.

+ * @public + */ + maxWorkerCount?: number | undefined; + + /** + *

The farm ID of the job to update.

+ * @public + */ + farmId: string | undefined; + + /** + *

The queue ID of the job to update.

+ * @public + */ + queueId: string | undefined; + + /** + *

The job ID to update.

+ * @public + */ + jobId: string | undefined; +} + +/** + * @public + */ +export interface UpdateJobResponse {} + +/** + * @public + */ +export interface UpdateSessionRequest { + /** + *

The unique token which the server uses to recognize retries of the same request.

+ * @public + */ + clientToken?: string | undefined; + + /** + *

The life cycle status to update in the session.

+ * @public + */ + targetLifecycleStatus: SessionLifecycleTargetStatus | undefined; + + /** + *

The farm ID to update in the session.

+ * @public + */ + farmId: string | undefined; + + /** + *

The queue ID to update in the session.

+ * @public + */ + queueId: string | undefined; + + /** + *

The job ID to update in the session.

+ * @public + */ + jobId: string | undefined; + + /** + *

The session ID to update.

+ * @public + */ + sessionId: string | undefined; +} + +/** + * @public + */ +export interface UpdateSessionResponse {} + +/** + * @public + */ +export interface UpdateStepRequest { + /** + *

The task status to update the step's tasks to.

+ * @public + */ + targetTaskRunStatus: StepTargetTaskRunStatus | undefined; + + /** + *

The unique token which the server uses to recognize retries of the same request.

+ * @public + */ + clientToken?: string | undefined; + + /** + *

The farm ID to update.

+ * @public + */ + farmId: string | undefined; + + /** + *

The queue ID to update.

+ * @public + */ + queueId: string | undefined; + + /** + *

The job ID to update.

+ * @public + */ + jobId: string | undefined; + + /** + *

The step ID to update.

+ * @public + */ + stepId: string | undefined; +} + +/** + * @public + */ +export interface UpdateStepResponse {} + +/** + * @public + */ +export interface UpdateTaskRequest { + /** + *

The unique token which the server uses to recognize retries of the same request.

+ * @public + */ + clientToken?: string | undefined; + + /** + *

The run status with which to start the task.

+ * @public + */ + targetRunStatus: TaskTargetRunStatus | undefined; + + /** + *

The farm ID to update.

+ * @public + */ + farmId: string | undefined; + + /** + *

The queue ID to update.

+ * @public + */ + queueId: string | undefined; + + /** + *

The job ID to update.

+ * @public + */ + jobId: string | undefined; + + /** + *

The step ID to update.

+ * @public + */ + stepId: string | undefined; + + /** + *

The task ID to update.

+ * @public + */ + taskId: string | undefined; +} + +/** + * @public + */ +export interface UpdateTaskResponse {} + +/** + * @public + */ +export interface ListQueueEnvironmentsRequest { + /** + *

The farm ID for the queue environment list.

+ * @public + */ + farmId: string | undefined; + + /** + *

The queue ID for the queue environment list.

+ * @public + */ + queueId: string | undefined; + + /** + *

The token for the next set of results, or null to start from the beginning.

+ * @public + */ + nextToken?: string | undefined; + + /** + *

The maximum number of results to return. Use this parameter with NextToken to get results as a set of sequential pages.

+ * @public + */ + maxResults?: number | undefined; +} + +/** + *

The summary of a queue environment.

+ * @public + */ +export interface QueueEnvironmentSummary { + /** + *

The queue environment ID.

+ * @public + */ + queueEnvironmentId: string | undefined; + + /** + *

The name of the queue environment.

+ * @public + */ + name: string | undefined; + + /** + *

The queue environment's priority.

+ * @public + */ + priority: number | undefined; +} + +/** + * @public + */ +export interface ListQueueEnvironmentsResponse { + /** + *

The environments to include in the queue environments list.

+ * @public + */ + environments: QueueEnvironmentSummary[] | undefined; + + /** + *

If Deadline Cloud returns nextToken, then there are more results available. The value of nextToken is a unique pagination token for each page. To retrieve the next page, call the operation again using the returned token. Keep all other arguments unchanged. If no results remain, then nextToken is set to null. Each pagination token expires after 24 hours. If you provide a token that isn't valid, then you receive an HTTP 400 ValidationException error.

+ * @public + */ + nextToken?: string | undefined; +} + +/** + * @public + */ +export interface ListQueueMembersRequest { + /** + *

The farm ID for the queue.

+ * @public + */ + farmId: string | undefined; + + /** + *

The queue ID to include on the list.

+ * @public + */ + queueId: string | undefined; + + /** + *

The token for the next set of results, or null to start from the beginning.

+ * @public + */ + nextToken?: string | undefined; + + /** + *

The maximum number of results to return. Use this parameter with NextToken to get results as a set of sequential pages.

+ * @public + */ + maxResults?: number | undefined; +} + +/** + *

The details of a queue member.

+ * @public + */ +export interface QueueMember { + /** + *

The farm ID.

+ * @public + */ + farmId: string | undefined; + + /** + *

The queue ID.

+ * @public + */ + queueId: string | undefined; + + /** + *

The principal ID of the queue member.

+ * @public + */ + principalId: string | undefined; + + /** + *

The principal type of the queue member.

+ * @public + */ + principalType: DeadlinePrincipalType | undefined; + + /** + *

The identity store ID.

+ * @public + */ + identityStoreId: string | undefined; + + /** + *

The queue member's membership level.

+ * @public + */ + membershipLevel: MembershipLevel | undefined; +} + /** * @public */ @@ -407,6 +788,59 @@ export interface UpdateFarmRequest { */ export interface UpdateFarmResponse {} +/** + * @public + */ +export interface UpdateLimitRequest { + /** + *

The unique identifier of the farm that contains the limit.

+ * @public + */ + farmId: string | undefined; + + /** + *

The unique identifier of the limit to update.

+ * @public + */ + limitId: string | undefined; + + /** + *

The new display name of the limit.

+ * + *

This field can store any content. Escape or encode this content before displaying it on a webpage or any other system that might interpret the content of this field.

+ *
+ * @public + */ + displayName?: string | undefined; + + /** + *

The new description of the limit.

+ * + *

This field can store any content. Escape or encode this content before displaying it on a webpage or any other system that might interpret the content of this field.

+ *
+ * @public + */ + description?: string | undefined; + + /** + *

The maximum number of resources constrained by this limit. When all of the resources are + * in use, steps that require the limit won't be scheduled until the resource is + * available.

+ *

If more than the new maximum number is currently in use, running jobs finish but no new + * jobs are started until the number of resources in use is below the new maximum + * number.

+ *

The maxCount must not be 0. If the value is -1, there is no restriction on + * the number of resources that can be acquired for this limit.

+ * @public + */ + maxCount?: number | undefined; +} + +/** + * @public + */ +export interface UpdateLimitResponse {} + /** * @public */ @@ -549,6 +983,93 @@ export interface GetQueueFleetAssociationResponse { updatedBy?: string | undefined; } +/** + * @public + */ +export interface GetQueueLimitAssociationRequest { + /** + *

The unique identifier of the farm that contains the associated queue and limit.

+ * @public + */ + farmId: string | undefined; + + /** + *

The unique identifier of the queue associated with the limit.

+ * @public + */ + queueId: string | undefined; + + /** + *

The unique identifier of the limit associated with the queue.

+ * @public + */ + limitId: string | undefined; +} + +/** + * @public + * @enum + */ +export const QueueLimitAssociationStatus = { + ACTIVE: "ACTIVE", + STOPPED: "STOPPED", + STOP_LIMIT_USAGE_AND_CANCEL_TASKS: "STOP_LIMIT_USAGE_AND_CANCEL_TASKS", + STOP_LIMIT_USAGE_AND_COMPLETE_TASKS: "STOP_LIMIT_USAGE_AND_COMPLETE_TASKS", +} as const; + +/** + * @public + */ +export type QueueLimitAssociationStatus = + (typeof QueueLimitAssociationStatus)[keyof typeof QueueLimitAssociationStatus]; + +/** + * @public + */ +export interface GetQueueLimitAssociationResponse { + /** + *

The Unix timestamp of the date and time that the association was created.

+ * @public + */ + createdAt: Date | undefined; + + /** + *

The user identifier of the person that created the association.

+ * @public + */ + createdBy: string | undefined; + + /** + *

The Unix timestamp of the date and time that the association was last updated.

+ * @public + */ + updatedAt?: Date | undefined; + + /** + *

The user identifier of the person that last updated the association.

+ * @public + */ + updatedBy?: string | undefined; + + /** + *

The unique identifier of the queue associated with the limit.

+ * @public + */ + queueId: string | undefined; + + /** + *

The unique identifier of the limit associated with the queue.

+ * @public + */ + limitId: string | undefined; + + /** + *

The current status of the limit.

+ * @public + */ + status: QueueLimitAssociationStatus | undefined; +} + /** * @public */ @@ -1185,6 +1706,131 @@ export interface ListQueueFleetAssociationsResponse { nextToken?: string | undefined; } +/** + * @public + */ +export interface ListQueueLimitAssociationsRequest { + /** + *

The unique identifier of the farm that contains the limits and associations.

+ * @public + */ + farmId: string | undefined; + + /** + *

Specifies that the operation should return only the queue limit associations for the + * specified queue. If you specify both the queueId and the limitId, + * only the specified limit is returned if it exists.

+ * @public + */ + queueId?: string | undefined; + + /** + *

Specifies that the operation should return only the queue limit associations for the + * specified limit. If you specify both the queueId and the limitId, + * only the specified limit is returned if it exists.

+ * @public + */ + limitId?: string | undefined; + + /** + *

The token for the next set of results, or null to start from the beginning.

+ * @public + */ + nextToken?: string | undefined; + + /** + *

The maximum number of associations to return in each page of results.

+ * @public + */ + maxResults?: number | undefined; +} + +/** + *

Provides information about the association between a queue and a limit.

+ * @public + */ +export interface QueueLimitAssociationSummary { + /** + *

The Unix timestamp of the date and time that the association was created.

+ * @public + */ + createdAt: Date | undefined; + + /** + *

The user identifier of the person that created the association.

+ * @public + */ + createdBy: string | undefined; + + /** + *

The Unix timestamp of the date and time that the association was last updated.

+ * @public + */ + updatedAt?: Date | undefined; + + /** + *

The user identifier of the person that updated the association.

+ * @public + */ + updatedBy?: string | undefined; + + /** + *

The unique identifier of the queue in the association.

+ * @public + */ + queueId: string | undefined; + + /** + *

The unique identifier of the limit in the association.

+ * @public + */ + limitId: string | undefined; + + /** + *

The status of task scheduling in the queue-limit association.

+ *
    + *
  • + *

    + * ACTIVE - Association is active.

    + *
  • + *
  • + *

    + * STOP_LIMIT_USAGE_AND_COMPLETE_TASKS - Association has stopped + * scheduling new tasks and is completing current tasks.

    + *
  • + *
  • + *

    + * STOP_LIMIT_USAGE_AND_CANCEL_TASKS - Association has stopped + * scheduling new tasks and is canceling current tasks.

    + *
  • + *
  • + *

    + * STOPPED - Association has been stopped.

    + *
  • + *
+ * @public + */ + status: QueueLimitAssociationStatus | undefined; +} + +/** + * @public + */ +export interface ListQueueLimitAssociationsResponse { + /** + *

A list of associations between limits and queues in the farm specified in the + * request.

+ * @public + */ + queueLimitAssociations: QueueLimitAssociationSummary[] | undefined; + + /** + *

If Deadline Cloud returns nextToken, then there are more results available. The value of nextToken is a unique pagination token for each page. To retrieve the next page, call the operation again using the returned token. Keep all other arguments unchanged. If no results remain, then nextToken is set to null. Each pagination token expires after 24 hours. If you provide a token that isn't valid, then you receive an HTTP 400 ValidationException error.

+ * @public + */ + nextToken?: string | undefined; +} + /** * @public */ @@ -1815,6 +2461,17 @@ export interface JobSearchSummary { */ jobParameters?: Record | undefined; + /** + *

The maximum number of worker hosts that can concurrently process a job. When the + * maxWorkerCount is reached, no more workers will be assigned to process the + * job, even if the fleets assigned to the job's queue has available workers.

+ *

You can't set the maxWorkerCount to 0. If you set it to -1, there is no + * maximum number of workers.

+ *

If you don't specify the maxWorkerCount, the default is -1.

+ * @public + */ + maxWorkerCount?: number | undefined; + /** *

The job ID for the source job.

* @public @@ -2430,6 +3087,58 @@ export interface UpdateQueueFleetAssociationRequest { */ export interface UpdateQueueFleetAssociationResponse {} +/** + * @public + * @enum + */ +export const UpdateQueueLimitAssociationStatus = { + ACTIVE: "ACTIVE", + STOP_LIMIT_USAGE_AND_CANCEL_TASKS: "STOP_LIMIT_USAGE_AND_CANCEL_TASKS", + STOP_LIMIT_USAGE_AND_COMPLETE_TASKS: "STOP_LIMIT_USAGE_AND_COMPLETE_TASKS", +} as const; + +/** + * @public + */ +export type UpdateQueueLimitAssociationStatus = + (typeof UpdateQueueLimitAssociationStatus)[keyof typeof UpdateQueueLimitAssociationStatus]; + +/** + * @public + */ +export interface UpdateQueueLimitAssociationRequest { + /** + *

The unique identifier of the farm that contains the associated queues and limits.

+ * @public + */ + farmId: string | undefined; + + /** + *

The unique identifier of the queue associated to the limit.

+ * @public + */ + queueId: string | undefined; + + /** + *

The unique identifier of the limit associated to the queue.

+ * @public + */ + limitId: string | undefined; + + /** + *

Sets the status of the limit. You can mark the limit active, or you can stop usage of + * the limit and either complete existing tasks or cancel any existing tasks immediately. + *

+ * @public + */ + status: UpdateQueueLimitAssociationStatus | undefined; +} + +/** + * @public + */ +export interface UpdateQueueLimitAssociationResponse {} + /** *

The type of search filter to apply.

* @public @@ -2777,6 +3486,14 @@ export const UpdateFarmRequestFilterSensitiveLog = (obj: UpdateFarmRequest): any ...(obj.description && { description: SENSITIVE_STRING }), }); +/** + * @internal + */ +export const UpdateLimitRequestFilterSensitiveLog = (obj: UpdateLimitRequest): any => ({ + ...obj, + ...(obj.description && { description: SENSITIVE_STRING }), +}); + /** * @internal */ diff --git a/clients/client-deadline/src/pagination/ListLimitsPaginator.ts b/clients/client-deadline/src/pagination/ListLimitsPaginator.ts new file mode 100644 index 000000000000..4705927258fa --- /dev/null +++ b/clients/client-deadline/src/pagination/ListLimitsPaginator.ts @@ -0,0 +1,20 @@ +// smithy-typescript generated code +import { createPaginator } from "@smithy/core"; +import { Paginator } from "@smithy/types"; + +import { ListLimitsCommand, ListLimitsCommandInput, ListLimitsCommandOutput } from "../commands/ListLimitsCommand"; +import { DeadlineClient } from "../DeadlineClient"; +import { DeadlinePaginationConfiguration } from "./Interfaces"; + +/** + * @public + */ +export const paginateListLimits: ( + config: DeadlinePaginationConfiguration, + input: ListLimitsCommandInput, + ...rest: any[] +) => Paginator = createPaginator< + DeadlinePaginationConfiguration, + ListLimitsCommandInput, + ListLimitsCommandOutput +>(DeadlineClient, ListLimitsCommand, "nextToken", "nextToken", "maxResults"); diff --git a/clients/client-deadline/src/pagination/ListQueueLimitAssociationsPaginator.ts b/clients/client-deadline/src/pagination/ListQueueLimitAssociationsPaginator.ts new file mode 100644 index 000000000000..2dcc1eb8f7d0 --- /dev/null +++ b/clients/client-deadline/src/pagination/ListQueueLimitAssociationsPaginator.ts @@ -0,0 +1,24 @@ +// smithy-typescript generated code +import { createPaginator } from "@smithy/core"; +import { Paginator } from "@smithy/types"; + +import { + ListQueueLimitAssociationsCommand, + ListQueueLimitAssociationsCommandInput, + ListQueueLimitAssociationsCommandOutput, +} from "../commands/ListQueueLimitAssociationsCommand"; +import { DeadlineClient } from "../DeadlineClient"; +import { DeadlinePaginationConfiguration } from "./Interfaces"; + +/** + * @public + */ +export const paginateListQueueLimitAssociations: ( + config: DeadlinePaginationConfiguration, + input: ListQueueLimitAssociationsCommandInput, + ...rest: any[] +) => Paginator = createPaginator< + DeadlinePaginationConfiguration, + ListQueueLimitAssociationsCommandInput, + ListQueueLimitAssociationsCommandOutput +>(DeadlineClient, ListQueueLimitAssociationsCommand, "nextToken", "nextToken", "maxResults"); diff --git a/clients/client-deadline/src/pagination/index.ts b/clients/client-deadline/src/pagination/index.ts index f18de144d014..c056e6aceb3b 100644 --- a/clients/client-deadline/src/pagination/index.ts +++ b/clients/client-deadline/src/pagination/index.ts @@ -11,10 +11,12 @@ export * from "./ListJobMembersPaginator"; export * from "./ListJobParameterDefinitionsPaginator"; export * from "./ListJobsPaginator"; export * from "./ListLicenseEndpointsPaginator"; +export * from "./ListLimitsPaginator"; export * from "./ListMeteredProductsPaginator"; export * from "./ListMonitorsPaginator"; export * from "./ListQueueEnvironmentsPaginator"; export * from "./ListQueueFleetAssociationsPaginator"; +export * from "./ListQueueLimitAssociationsPaginator"; export * from "./ListQueueMembersPaginator"; export * from "./ListQueuesPaginator"; export * from "./ListSessionActionsPaginator"; diff --git a/clients/client-deadline/src/protocols/Aws_restJson1.ts b/clients/client-deadline/src/protocols/Aws_restJson1.ts index 680a58761e51..4ddba4307085 100644 --- a/clients/client-deadline/src/protocols/Aws_restJson1.ts +++ b/clients/client-deadline/src/protocols/Aws_restJson1.ts @@ -86,6 +86,7 @@ import { CreateLicenseEndpointCommandInput, CreateLicenseEndpointCommandOutput, } from "../commands/CreateLicenseEndpointCommand"; +import { CreateLimitCommandInput, CreateLimitCommandOutput } from "../commands/CreateLimitCommand"; import { CreateMonitorCommandInput, CreateMonitorCommandOutput } from "../commands/CreateMonitorCommand"; import { CreateQueueCommandInput, CreateQueueCommandOutput } from "../commands/CreateQueueCommand"; import { @@ -96,6 +97,10 @@ import { CreateQueueFleetAssociationCommandInput, CreateQueueFleetAssociationCommandOutput, } from "../commands/CreateQueueFleetAssociationCommand"; +import { + CreateQueueLimitAssociationCommandInput, + CreateQueueLimitAssociationCommandOutput, +} from "../commands/CreateQueueLimitAssociationCommand"; import { CreateStorageProfileCommandInput, CreateStorageProfileCommandOutput, @@ -108,6 +113,7 @@ import { DeleteLicenseEndpointCommandInput, DeleteLicenseEndpointCommandOutput, } from "../commands/DeleteLicenseEndpointCommand"; +import { DeleteLimitCommandInput, DeleteLimitCommandOutput } from "../commands/DeleteLimitCommand"; import { DeleteMeteredProductCommandInput, DeleteMeteredProductCommandOutput, @@ -122,6 +128,10 @@ import { DeleteQueueFleetAssociationCommandInput, DeleteQueueFleetAssociationCommandOutput, } from "../commands/DeleteQueueFleetAssociationCommand"; +import { + DeleteQueueLimitAssociationCommandInput, + DeleteQueueLimitAssociationCommandOutput, +} from "../commands/DeleteQueueLimitAssociationCommand"; import { DeleteStorageProfileCommandInput, DeleteStorageProfileCommandOutput, @@ -148,6 +158,7 @@ import { GetFarmCommandInput, GetFarmCommandOutput } from "../commands/GetFarmCo import { GetFleetCommandInput, GetFleetCommandOutput } from "../commands/GetFleetCommand"; import { GetJobCommandInput, GetJobCommandOutput } from "../commands/GetJobCommand"; import { GetLicenseEndpointCommandInput, GetLicenseEndpointCommandOutput } from "../commands/GetLicenseEndpointCommand"; +import { GetLimitCommandInput, GetLimitCommandOutput } from "../commands/GetLimitCommand"; import { GetMonitorCommandInput, GetMonitorCommandOutput } from "../commands/GetMonitorCommand"; import { GetQueueCommandInput, GetQueueCommandOutput } from "../commands/GetQueueCommand"; import { @@ -158,6 +169,10 @@ import { GetQueueFleetAssociationCommandInput, GetQueueFleetAssociationCommandOutput, } from "../commands/GetQueueFleetAssociationCommand"; +import { + GetQueueLimitAssociationCommandInput, + GetQueueLimitAssociationCommandOutput, +} from "../commands/GetQueueLimitAssociationCommand"; import { GetSessionActionCommandInput, GetSessionActionCommandOutput } from "../commands/GetSessionActionCommand"; import { GetSessionCommandInput, GetSessionCommandOutput } from "../commands/GetSessionCommand"; import { @@ -191,6 +206,7 @@ import { ListLicenseEndpointsCommandInput, ListLicenseEndpointsCommandOutput, } from "../commands/ListLicenseEndpointsCommand"; +import { ListLimitsCommandInput, ListLimitsCommandOutput } from "../commands/ListLimitsCommand"; import { ListMeteredProductsCommandInput, ListMeteredProductsCommandOutput, @@ -204,6 +220,10 @@ import { ListQueueFleetAssociationsCommandInput, ListQueueFleetAssociationsCommandOutput, } from "../commands/ListQueueFleetAssociationsCommand"; +import { + ListQueueLimitAssociationsCommandInput, + ListQueueLimitAssociationsCommandOutput, +} from "../commands/ListQueueLimitAssociationsCommand"; import { ListQueueMembersCommandInput, ListQueueMembersCommandOutput } from "../commands/ListQueueMembersCommand"; import { ListQueuesCommandInput, ListQueuesCommandOutput } from "../commands/ListQueuesCommand"; import { ListSessionActionsCommandInput, ListSessionActionsCommandOutput } from "../commands/ListSessionActionsCommand"; @@ -247,6 +267,7 @@ import { UpdateBudgetCommandInput, UpdateBudgetCommandOutput } from "../commands import { UpdateFarmCommandInput, UpdateFarmCommandOutput } from "../commands/UpdateFarmCommand"; import { UpdateFleetCommandInput, UpdateFleetCommandOutput } from "../commands/UpdateFleetCommand"; import { UpdateJobCommandInput, UpdateJobCommandOutput } from "../commands/UpdateJobCommand"; +import { UpdateLimitCommandInput, UpdateLimitCommandOutput } from "../commands/UpdateLimitCommand"; import { UpdateMonitorCommandInput, UpdateMonitorCommandOutput } from "../commands/UpdateMonitorCommand"; import { UpdateQueueCommandInput, UpdateQueueCommandOutput } from "../commands/UpdateQueueCommand"; import { @@ -257,6 +278,10 @@ import { UpdateQueueFleetAssociationCommandInput, UpdateQueueFleetAssociationCommandOutput, } from "../commands/UpdateQueueFleetAssociationCommand"; +import { + UpdateQueueLimitAssociationCommandInput, + UpdateQueueLimitAssociationCommandOutput, +} from "../commands/UpdateQueueLimitAssociationCommand"; import { UpdateSessionCommandInput, UpdateSessionCommandOutput } from "../commands/UpdateSessionCommand"; import { UpdateStepCommandInput, UpdateStepCommandOutput } from "../commands/UpdateStepCommand"; import { @@ -310,6 +335,7 @@ import { JobParameter, JobRunAsUser, JobSummary, + LimitSummary, ManifestProperties, MemoryMiBRange, PosixUser, @@ -347,6 +373,7 @@ import { ParameterFilterExpression, ParameterSortExpression, QueueFleetAssociationSummary, + QueueLimitAssociationSummary, QueueSummary, SearchFilterExpression, SearchGroupedFilterExpressions, @@ -830,6 +857,7 @@ export const se_CreateJobCommand = async ( attachments: (_) => _json(_), maxFailedTasksCount: [], maxRetriesPerTask: [], + maxWorkerCount: [], parameters: (_) => _json(_), priority: [], sourceJobId: [], @@ -885,6 +913,41 @@ export const se_CreateLicenseEndpointCommand = async ( return b.build(); }; +/** + * serializeAws_restJson1CreateLimitCommand + */ +export const se_CreateLimitCommand = async ( + input: CreateLimitCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const b = rb(input, context); + const headers: any = map({}, isSerializableHeaderValue, { + "content-type": "application/json", + [_xact]: input[_cT] ?? generateIdempotencyToken(), + }); + b.bp("/2023-10-12/farms/{farmId}/limits"); + b.p("farmId", () => input.farmId!, "{farmId}", false); + let body: any; + body = JSON.stringify( + take(input, { + amountRequirementName: [], + description: [], + displayName: [], + maxCount: [], + }) + ); + let { hostname: resolvedHostname } = await context.endpoint(); + if (context.disableHostPrefix !== true) { + resolvedHostname = "management." + resolvedHostname; + if (!__isValidHostname(resolvedHostname)) { + throw new Error("ValidationError: prefixed hostname must be hostname compatible."); + } + } + b.hn(resolvedHostname); + b.m("POST").h(headers).b(body); + return b.build(); +}; + /** * serializeAws_restJson1CreateMonitorCommand */ @@ -1026,6 +1089,38 @@ export const se_CreateQueueFleetAssociationCommand = async ( return b.build(); }; +/** + * serializeAws_restJson1CreateQueueLimitAssociationCommand + */ +export const se_CreateQueueLimitAssociationCommand = async ( + input: CreateQueueLimitAssociationCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const b = rb(input, context); + const headers: any = { + "content-type": "application/json", + }; + b.bp("/2023-10-12/farms/{farmId}/queue-limit-associations"); + b.p("farmId", () => input.farmId!, "{farmId}", false); + let body: any; + body = JSON.stringify( + take(input, { + limitId: [], + queueId: [], + }) + ); + let { hostname: resolvedHostname } = await context.endpoint(); + if (context.disableHostPrefix !== true) { + resolvedHostname = "management." + resolvedHostname; + if (!__isValidHostname(resolvedHostname)) { + throw new Error("ValidationError: prefixed hostname must be hostname compatible."); + } + } + b.hn(resolvedHostname); + b.m("PUT").h(headers).b(body); + return b.build(); +}; + /** * serializeAws_restJson1CreateStorageProfileCommand */ @@ -1193,6 +1288,31 @@ export const se_DeleteLicenseEndpointCommand = async ( return b.build(); }; +/** + * serializeAws_restJson1DeleteLimitCommand + */ +export const se_DeleteLimitCommand = async ( + input: DeleteLimitCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const b = rb(input, context); + const headers: any = {}; + b.bp("/2023-10-12/farms/{farmId}/limits/{limitId}"); + b.p("farmId", () => input.farmId!, "{farmId}", false); + b.p("limitId", () => input.limitId!, "{limitId}", false); + let body: any; + let { hostname: resolvedHostname } = await context.endpoint(); + if (context.disableHostPrefix !== true) { + resolvedHostname = "management." + resolvedHostname; + if (!__isValidHostname(resolvedHostname)) { + throw new Error("ValidationError: prefixed hostname must be hostname compatible."); + } + } + b.hn(resolvedHostname); + b.m("DELETE").h(headers).b(body); + return b.build(); +}; + /** * serializeAws_restJson1DeleteMeteredProductCommand */ @@ -1319,6 +1439,32 @@ export const se_DeleteQueueFleetAssociationCommand = async ( return b.build(); }; +/** + * serializeAws_restJson1DeleteQueueLimitAssociationCommand + */ +export const se_DeleteQueueLimitAssociationCommand = async ( + input: DeleteQueueLimitAssociationCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const b = rb(input, context); + const headers: any = {}; + b.bp("/2023-10-12/farms/{farmId}/queue-limit-associations/{queueId}/{limitId}"); + b.p("farmId", () => input.farmId!, "{farmId}", false); + b.p("queueId", () => input.queueId!, "{queueId}", false); + b.p("limitId", () => input.limitId!, "{limitId}", false); + let body: any; + let { hostname: resolvedHostname } = await context.endpoint(); + if (context.disableHostPrefix !== true) { + resolvedHostname = "management." + resolvedHostname; + if (!__isValidHostname(resolvedHostname)) { + throw new Error("ValidationError: prefixed hostname must be hostname compatible."); + } + } + b.hn(resolvedHostname); + b.m("DELETE").h(headers).b(body); + return b.build(); +}; + /** * serializeAws_restJson1DeleteStorageProfileCommand */ @@ -1556,8 +1702,8 @@ export const se_GetJobCommand = async (input: GetJobCommandInput, context: __Ser const headers: any = {}; b.bp("/2023-10-12/farms/{farmId}/queues/{queueId}/jobs/{jobId}"); b.p("farmId", () => input.farmId!, "{farmId}", false); - b.p("jobId", () => input.jobId!, "{jobId}", false); b.p("queueId", () => input.queueId!, "{queueId}", false); + b.p("jobId", () => input.jobId!, "{jobId}", false); let body: any; let { hostname: resolvedHostname } = await context.endpoint(); if (context.disableHostPrefix !== true) { @@ -1595,6 +1741,31 @@ export const se_GetLicenseEndpointCommand = async ( return b.build(); }; +/** + * serializeAws_restJson1GetLimitCommand + */ +export const se_GetLimitCommand = async ( + input: GetLimitCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const b = rb(input, context); + const headers: any = {}; + b.bp("/2023-10-12/farms/{farmId}/limits/{limitId}"); + b.p("farmId", () => input.farmId!, "{farmId}", false); + b.p("limitId", () => input.limitId!, "{limitId}", false); + let body: any; + let { hostname: resolvedHostname } = await context.endpoint(); + if (context.disableHostPrefix !== true) { + resolvedHostname = "management." + resolvedHostname; + if (!__isValidHostname(resolvedHostname)) { + throw new Error("ValidationError: prefixed hostname must be hostname compatible."); + } + } + b.hn(resolvedHostname); + b.m("GET").h(headers).b(body); + return b.build(); +}; + /** * serializeAws_restJson1GetMonitorCommand */ @@ -1696,6 +1867,32 @@ export const se_GetQueueFleetAssociationCommand = async ( return b.build(); }; +/** + * serializeAws_restJson1GetQueueLimitAssociationCommand + */ +export const se_GetQueueLimitAssociationCommand = async ( + input: GetQueueLimitAssociationCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const b = rb(input, context); + const headers: any = {}; + b.bp("/2023-10-12/farms/{farmId}/queue-limit-associations/{queueId}/{limitId}"); + b.p("farmId", () => input.farmId!, "{farmId}", false); + b.p("queueId", () => input.queueId!, "{queueId}", false); + b.p("limitId", () => input.limitId!, "{limitId}", false); + let body: any; + let { hostname: resolvedHostname } = await context.endpoint(); + if (context.disableHostPrefix !== true) { + resolvedHostname = "management." + resolvedHostname; + if (!__isValidHostname(resolvedHostname)) { + throw new Error("ValidationError: prefixed hostname must be hostname compatible."); + } + } + b.hn(resolvedHostname); + b.m("GET").h(headers).b(body); + return b.build(); +}; + /** * serializeAws_restJson1GetSessionCommand */ @@ -2200,6 +2397,34 @@ export const se_ListLicenseEndpointsCommand = async ( return b.build(); }; +/** + * serializeAws_restJson1ListLimitsCommand + */ +export const se_ListLimitsCommand = async ( + input: ListLimitsCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const b = rb(input, context); + const headers: any = {}; + b.bp("/2023-10-12/farms/{farmId}/limits"); + b.p("farmId", () => input.farmId!, "{farmId}", false); + const query: any = map({ + [_nT]: [, input[_nT]!], + [_mR]: [() => input.maxResults !== void 0, () => input[_mR]!.toString()], + }); + let body: any; + let { hostname: resolvedHostname } = await context.endpoint(); + if (context.disableHostPrefix !== true) { + resolvedHostname = "management." + resolvedHostname; + if (!__isValidHostname(resolvedHostname)) { + throw new Error("ValidationError: prefixed hostname must be hostname compatible."); + } + } + b.hn(resolvedHostname); + b.m("GET").h(headers).q(query).b(body); + return b.build(); +}; + /** * serializeAws_restJson1ListMeteredProductsCommand */ @@ -2314,6 +2539,36 @@ export const se_ListQueueFleetAssociationsCommand = async ( return b.build(); }; +/** + * serializeAws_restJson1ListQueueLimitAssociationsCommand + */ +export const se_ListQueueLimitAssociationsCommand = async ( + input: ListQueueLimitAssociationsCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const b = rb(input, context); + const headers: any = {}; + b.bp("/2023-10-12/farms/{farmId}/queue-limit-associations"); + b.p("farmId", () => input.farmId!, "{farmId}", false); + const query: any = map({ + [_qI]: [, input[_qI]!], + [_lI]: [, input[_lI]!], + [_nT]: [, input[_nT]!], + [_mR]: [() => input.maxResults !== void 0, () => input[_mR]!.toString()], + }); + let body: any; + let { hostname: resolvedHostname } = await context.endpoint(); + if (context.disableHostPrefix !== true) { + resolvedHostname = "management." + resolvedHostname; + if (!__isValidHostname(resolvedHostname)) { + throw new Error("ValidationError: prefixed hostname must be hostname compatible."); + } + } + b.hn(resolvedHostname); + b.m("GET").h(headers).q(query).b(body); + return b.build(); +}; + /** * serializeAws_restJson1ListQueueMembersCommand */ @@ -3091,6 +3346,7 @@ export const se_UpdateJobCommand = async ( lifecycleStatus: [], maxFailedTasksCount: [], maxRetriesPerTask: [], + maxWorkerCount: [], priority: [], targetTaskRunStatus: [], }) @@ -3107,6 +3363,40 @@ export const se_UpdateJobCommand = async ( return b.build(); }; +/** + * serializeAws_restJson1UpdateLimitCommand + */ +export const se_UpdateLimitCommand = async ( + input: UpdateLimitCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const b = rb(input, context); + const headers: any = { + "content-type": "application/json", + }; + b.bp("/2023-10-12/farms/{farmId}/limits/{limitId}"); + b.p("farmId", () => input.farmId!, "{farmId}", false); + b.p("limitId", () => input.limitId!, "{limitId}", false); + let body: any; + body = JSON.stringify( + take(input, { + description: [], + displayName: [], + maxCount: [], + }) + ); + let { hostname: resolvedHostname } = await context.endpoint(); + if (context.disableHostPrefix !== true) { + resolvedHostname = "management." + resolvedHostname; + if (!__isValidHostname(resolvedHostname)) { + throw new Error("ValidationError: prefixed hostname must be hostname compatible."); + } + } + b.hn(resolvedHostname); + b.m("PATCH").h(headers).b(body); + return b.build(); +}; + /** * serializeAws_restJson1UpdateMonitorCommand */ @@ -3251,6 +3541,39 @@ export const se_UpdateQueueFleetAssociationCommand = async ( return b.build(); }; +/** + * serializeAws_restJson1UpdateQueueLimitAssociationCommand + */ +export const se_UpdateQueueLimitAssociationCommand = async ( + input: UpdateQueueLimitAssociationCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const b = rb(input, context); + const headers: any = { + "content-type": "application/json", + }; + b.bp("/2023-10-12/farms/{farmId}/queue-limit-associations/{queueId}/{limitId}"); + b.p("farmId", () => input.farmId!, "{farmId}", false); + b.p("queueId", () => input.queueId!, "{queueId}", false); + b.p("limitId", () => input.limitId!, "{limitId}", false); + let body: any; + body = JSON.stringify( + take(input, { + status: [], + }) + ); + let { hostname: resolvedHostname } = await context.endpoint(); + if (context.disableHostPrefix !== true) { + resolvedHostname = "management." + resolvedHostname; + if (!__isValidHostname(resolvedHostname)) { + throw new Error("ValidationError: prefixed hostname must be hostname compatible."); + } + } + b.hn(resolvedHostname); + b.m("PATCH").h(headers).b(body); + return b.build(); +}; + /** * serializeAws_restJson1UpdateSessionCommand */ @@ -3782,6 +4105,27 @@ export const de_CreateLicenseEndpointCommand = async ( return contents; }; +/** + * deserializeAws_restJson1CreateLimitCommand + */ +export const de_CreateLimitCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return de_CommandError(output, context); + } + const contents: any = map({ + $metadata: deserializeMetadata(output), + }); + const data: Record = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); + const doc = take(data, { + limitId: __expectString, + }); + Object.assign(contents, doc); + return contents; +}; + /** * deserializeAws_restJson1CreateMonitorCommand */ @@ -3863,6 +4207,23 @@ export const de_CreateQueueFleetAssociationCommand = async ( return contents; }; +/** + * deserializeAws_restJson1CreateQueueLimitAssociationCommand + */ +export const de_CreateQueueLimitAssociationCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return de_CommandError(output, context); + } + const contents: any = map({ + $metadata: deserializeMetadata(output), + }); + await collectBody(output.body, context); + return contents; +}; + /** * deserializeAws_restJson1CreateStorageProfileCommand */ @@ -3973,6 +4334,23 @@ export const de_DeleteLicenseEndpointCommand = async ( return contents; }; +/** + * deserializeAws_restJson1DeleteLimitCommand + */ +export const de_DeleteLimitCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return de_CommandError(output, context); + } + const contents: any = map({ + $metadata: deserializeMetadata(output), + }); + await collectBody(output.body, context); + return contents; +}; + /** * deserializeAws_restJson1DeleteMeteredProductCommand */ @@ -4058,6 +4436,23 @@ export const de_DeleteQueueFleetAssociationCommand = async ( return contents; }; +/** + * deserializeAws_restJson1DeleteQueueLimitAssociationCommand + */ +export const de_DeleteQueueLimitAssociationCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return de_CommandError(output, context); + } + const contents: any = map({ + $metadata: deserializeMetadata(output), + }); + await collectBody(output.body, context); + return contents; +}; + /** * deserializeAws_restJson1DeleteStorageProfileCommand */ @@ -4284,6 +4679,7 @@ export const de_GetJobCommand = async ( lifecycleStatusMessage: __expectString, maxFailedTasksCount: __expectInt32, maxRetriesPerTask: __expectInt32, + maxWorkerCount: __expectInt32, name: __expectString, parameters: _json, priority: __expectInt32, @@ -4327,6 +4723,37 @@ export const de_GetLicenseEndpointCommand = async ( return contents; }; +/** + * deserializeAws_restJson1GetLimitCommand + */ +export const de_GetLimitCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return de_CommandError(output, context); + } + const contents: any = map({ + $metadata: deserializeMetadata(output), + }); + const data: Record = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); + const doc = take(data, { + amountRequirementName: __expectString, + createdAt: (_) => __expectNonNull(__parseRfc3339DateTimeWithOffset(_)), + createdBy: __expectString, + currentCount: __expectInt32, + description: __expectString, + displayName: __expectString, + farmId: __expectString, + limitId: __expectString, + maxCount: __expectInt32, + updatedAt: (_) => __expectNonNull(__parseRfc3339DateTimeWithOffset(_)), + updatedBy: __expectString, + }); + Object.assign(contents, doc); + return contents; +}; + /** * deserializeAws_restJson1GetMonitorCommand */ @@ -4450,6 +4877,33 @@ export const de_GetQueueFleetAssociationCommand = async ( return contents; }; +/** + * deserializeAws_restJson1GetQueueLimitAssociationCommand + */ +export const de_GetQueueLimitAssociationCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return de_CommandError(output, context); + } + const contents: any = map({ + $metadata: deserializeMetadata(output), + }); + const data: Record = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); + const doc = take(data, { + createdAt: (_) => __expectNonNull(__parseRfc3339DateTimeWithOffset(_)), + createdBy: __expectString, + limitId: __expectString, + queueId: __expectString, + status: __expectString, + updatedAt: (_) => __expectNonNull(__parseRfc3339DateTimeWithOffset(_)), + updatedBy: __expectString, + }); + Object.assign(contents, doc); + return contents; +}; + /** * deserializeAws_restJson1GetSessionCommand */ @@ -4497,6 +4951,7 @@ export const de_GetSessionActionCommand = async ( }); const data: Record = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); const doc = take(data, { + acquiredLimits: _json, definition: (_) => _json(__expectUnion(_)), endedAt: (_) => __expectNonNull(__parseRfc3339DateTimeWithOffset(_)), processExitCode: __expectInt32, @@ -4907,6 +5362,28 @@ export const de_ListLicenseEndpointsCommand = async ( return contents; }; +/** + * deserializeAws_restJson1ListLimitsCommand + */ +export const de_ListLimitsCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return de_CommandError(output, context); + } + const contents: any = map({ + $metadata: deserializeMetadata(output), + }); + const data: Record = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); + const doc = take(data, { + limits: (_) => de_LimitSummaries(_, context), + nextToken: __expectString, + }); + Object.assign(contents, doc); + return contents; +}; + /** * deserializeAws_restJson1ListMeteredProductsCommand */ @@ -4995,6 +5472,28 @@ export const de_ListQueueFleetAssociationsCommand = async ( return contents; }; +/** + * deserializeAws_restJson1ListQueueLimitAssociationsCommand + */ +export const de_ListQueueLimitAssociationsCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return de_CommandError(output, context); + } + const contents: any = map({ + $metadata: deserializeMetadata(output), + }); + const data: Record = __expectNonNull(__expectObject(await parseBody(output.body, context)), "body"); + const doc = take(data, { + nextToken: __expectString, + queueLimitAssociations: (_) => de_QueueLimitAssociationSummaries(_, context), + }); + Object.assign(contents, doc); + return contents; +}; + /** * deserializeAws_restJson1ListQueueMembersCommand */ @@ -5512,6 +6011,23 @@ export const de_UpdateJobCommand = async ( return contents; }; +/** + * deserializeAws_restJson1UpdateLimitCommand + */ +export const de_UpdateLimitCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return de_CommandError(output, context); + } + const contents: any = map({ + $metadata: deserializeMetadata(output), + }); + await collectBody(output.body, context); + return contents; +}; + /** * deserializeAws_restJson1UpdateMonitorCommand */ @@ -5580,6 +6096,23 @@ export const de_UpdateQueueFleetAssociationCommand = async ( return contents; }; +/** + * deserializeAws_restJson1UpdateQueueLimitAssociationCommand + */ +export const de_UpdateQueueLimitAssociationCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode !== 200 && output.statusCode >= 300) { + return de_CommandError(output, context); + } + const contents: any = map({ + $metadata: deserializeMetadata(output), + }); + await collectBody(output.body, context); + return contents; +}; + /** * deserializeAws_restJson1UpdateSessionCommand */ @@ -6287,6 +6820,10 @@ const se_WorkerCapabilities = (input: WorkerCapabilities, context: __SerdeContex // de_AcceleratorTypes omitted. +// de_AcquiredLimit omitted. + +// de_AcquiredLimits omitted. + // de_AllowedStorageProfileIds omitted. // de_AssignedEnvironmentEnterSessionActionDefinition omitted. @@ -6717,6 +7254,7 @@ const de_JobSearchSummary = (output: any, context: __SerdeContext): JobSearchSum lifecycleStatusMessage: __expectString, maxFailedTasksCount: __expectInt32, maxRetriesPerTask: __expectInt32, + maxWorkerCount: __expectInt32, name: __expectString, priority: __expectInt32, queueId: __expectString, @@ -6753,6 +7291,7 @@ const de_JobSummary = (output: any, context: __SerdeContext): JobSummary => { lifecycleStatusMessage: __expectString, maxFailedTasksCount: __expectInt32, maxRetriesPerTask: __expectInt32, + maxWorkerCount: __expectInt32, name: __expectString, priority: __expectInt32, sourceJobId: __expectString, @@ -6769,6 +7308,36 @@ const de_JobSummary = (output: any, context: __SerdeContext): JobSummary => { // de_LicenseEndpointSummary omitted. +/** + * deserializeAws_restJson1LimitSummaries + */ +const de_LimitSummaries = (output: any, context: __SerdeContext): LimitSummary[] => { + const retVal = (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + return de_LimitSummary(entry, context); + }); + return retVal; +}; + +/** + * deserializeAws_restJson1LimitSummary + */ +const de_LimitSummary = (output: any, context: __SerdeContext): LimitSummary => { + return take(output, { + amountRequirementName: __expectString, + createdAt: (_: any) => __expectNonNull(__parseRfc3339DateTimeWithOffset(_)), + createdBy: __expectString, + currentCount: __expectInt32, + displayName: __expectString, + farmId: __expectString, + limitId: __expectString, + maxCount: __expectInt32, + updatedAt: (_: any) => __expectNonNull(__parseRfc3339DateTimeWithOffset(_)), + updatedBy: __expectString, + }) as any; +}; + // de_ListAttributeCapabilityValue omitted. /** @@ -6871,6 +7440,33 @@ const de_QueueFleetAssociationSummary = (output: any, context: __SerdeContext): }) as any; }; +/** + * deserializeAws_restJson1QueueLimitAssociationSummaries + */ +const de_QueueLimitAssociationSummaries = (output: any, context: __SerdeContext): QueueLimitAssociationSummary[] => { + const retVal = (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + return de_QueueLimitAssociationSummary(entry, context); + }); + return retVal; +}; + +/** + * deserializeAws_restJson1QueueLimitAssociationSummary + */ +const de_QueueLimitAssociationSummary = (output: any, context: __SerdeContext): QueueLimitAssociationSummary => { + return take(output, { + createdAt: (_: any) => __expectNonNull(__parseRfc3339DateTimeWithOffset(_)), + createdBy: __expectString, + limitId: __expectString, + queueId: __expectString, + status: __expectString, + updatedAt: (_: any) => __expectNonNull(__parseRfc3339DateTimeWithOffset(_)), + updatedBy: __expectString, + }) as any; +}; + // de_QueueMember omitted. // de_QueueMemberList omitted. @@ -7390,6 +7986,7 @@ const _aI = "aggregationId"; const _cT = "clientToken"; const _dN = "displayName"; const _fI = "fleetId"; +const _lI = "limitId"; const _mR = "maxResults"; const _nT = "nextToken"; const _pI = "principalId"; diff --git a/clients/client-deadline/src/waiters/index.ts b/clients/client-deadline/src/waiters/index.ts index 745de480fc26..7a9bd315345c 100644 --- a/clients/client-deadline/src/waiters/index.ts +++ b/clients/client-deadline/src/waiters/index.ts @@ -4,5 +4,6 @@ export * from "./waitForJobCreateComplete"; export * from "./waitForLicenseEndpointDeleted"; export * from "./waitForLicenseEndpointValid"; export * from "./waitForQueueFleetAssociationStopped"; +export * from "./waitForQueueLimitAssociationStopped"; export * from "./waitForQueueScheduling"; export * from "./waitForQueueSchedulingBlocked"; diff --git a/clients/client-deadline/src/waiters/waitForQueueLimitAssociationStopped.ts b/clients/client-deadline/src/waiters/waitForQueueLimitAssociationStopped.ts new file mode 100644 index 000000000000..6f2e035c5773 --- /dev/null +++ b/clients/client-deadline/src/waiters/waitForQueueLimitAssociationStopped.ts @@ -0,0 +1,54 @@ +// smithy-typescript generated code +import { checkExceptions, createWaiter, WaiterConfiguration, WaiterResult, WaiterState } from "@smithy/util-waiter"; + +import { + GetQueueLimitAssociationCommand, + GetQueueLimitAssociationCommandInput, +} from "../commands/GetQueueLimitAssociationCommand"; +import { DeadlineClient } from "../DeadlineClient"; + +const checkState = async ( + client: DeadlineClient, + input: GetQueueLimitAssociationCommandInput +): Promise => { + let reason; + try { + const result: any = await client.send(new GetQueueLimitAssociationCommand(input)); + reason = result; + try { + const returnComparator = () => { + return result.status; + }; + if (returnComparator() === "STOPPED") { + return { state: WaiterState.SUCCESS, reason }; + } + } catch (e) {} + } catch (exception) { + reason = exception; + } + return { state: WaiterState.RETRY, reason }; +}; +/** + * Wait until a QueueLimitAssociation is stopped. Use this after setting the status to STOP_LIMIT_USAGE_AND_COMPLETE_TASKS or STOP_LIMIT_USAGE_AND_CANCEL_TASKS to wait for a QueueLimitAssociation to reach STOPPED + * @deprecated Use waitUntilQueueLimitAssociationStopped instead. waitForQueueLimitAssociationStopped does not throw error in non-success cases. + */ +export const waitForQueueLimitAssociationStopped = async ( + params: WaiterConfiguration, + input: GetQueueLimitAssociationCommandInput +): Promise => { + const serviceDefaults = { minDelay: 10, maxDelay: 600 }; + return createWaiter({ ...serviceDefaults, ...params }, input, checkState); +}; +/** + * Wait until a QueueLimitAssociation is stopped. Use this after setting the status to STOP_LIMIT_USAGE_AND_COMPLETE_TASKS or STOP_LIMIT_USAGE_AND_CANCEL_TASKS to wait for a QueueLimitAssociation to reach STOPPED + * @param params - Waiter configuration options. + * @param input - The input to GetQueueLimitAssociationCommand for polling. + */ +export const waitUntilQueueLimitAssociationStopped = async ( + params: WaiterConfiguration, + input: GetQueueLimitAssociationCommandInput +): Promise => { + const serviceDefaults = { minDelay: 10, maxDelay: 600 }; + const result = await createWaiter({ ...serviceDefaults, ...params }, input, checkState); + return checkExceptions(result); +}; diff --git a/codegen/sdk-codegen/aws-models/deadline.json b/codegen/sdk-codegen/aws-models/deadline.json index 260143525386..35b31fcda102 100644 --- a/codegen/sdk-codegen/aws-models/deadline.json +++ b/codegen/sdk-codegen/aws-models/deadline.json @@ -22,19 +22,19 @@ "selections": { "target": "com.amazonaws.deadline#AcceleratorSelections", "traits": { - "smithy.api#documentation": "

A list of objects that contain the GPU name of the accelerator and driver for the\n instance types that support the accelerator.

", + "smithy.api#documentation": "

A list of accelerator capabilities requested for this fleet. Only Amazon Elastic Compute Cloud instances\n that provide these capabilities will be used. For example, if you specify both L4 and T4\n chips, Deadline Cloud will use Amazon EC2 instances that have either the L4 or the T4 chip\n installed.

", "smithy.api#required": {} } }, "count": { "target": "com.amazonaws.deadline#AcceleratorCountRange", "traits": { - "smithy.api#documentation": "

The number of GPUs on each worker. The default is 1.

" + "smithy.api#documentation": "

The number of GPU accelerators specified for worker hosts in this fleet.

" } } }, "traits": { - "smithy.api#documentation": "

Provides information about the GPU accelerators and drivers for the instance types in a\n fleet. If you include the acceleratorCapabilities property in the ServiceManagedEc2InstanceCapabilities object, all of the Amazon EC2\n instances will have at least one accelerator.

" + "smithy.api#documentation": "

Provides information about the GPU accelerators used for jobs processed by a\n fleet.

" } }, "com.amazonaws.deadline#AcceleratorCountRange": { @@ -43,19 +43,19 @@ "min": { "target": "com.amazonaws.deadline#MinZeroMaxInteger", "traits": { - "smithy.api#documentation": "

The minimum number of GPUs for the accelerator. If you set the value to 0, a worker will\n still have 1 GPU.

", + "smithy.api#documentation": "

The minimum number of GPU accelerators in the worker host.

", "smithy.api#required": {} } }, "max": { "target": "com.amazonaws.deadline#MinZeroMaxInteger", "traits": { - "smithy.api#documentation": "

The maximum number of GPUs for the accelerator.

" + "smithy.api#documentation": "

The maximum number of GPU accelerators in the worker host.

" } } }, "traits": { - "smithy.api#documentation": "

The range for the GPU fleet acceleration.

" + "smithy.api#documentation": "

Defines the maximum and minimum number of GPU accelerators required for a worker\n instance..

" } }, "com.amazonaws.deadline#AcceleratorName": { @@ -102,7 +102,7 @@ "name": { "target": "com.amazonaws.deadline#AcceleratorName", "traits": { - "smithy.api#documentation": "

The name of the GPU accelerator.

", + "smithy.api#documentation": "

The name of the chip used by the GPU accelerator.

\n

If you specify l4 as the name of the accelerator, you must specify\n latest or grid:r550 as the runtime.

\n

The available GPU accelerators are:

\n
    \n
  • \n

    \n t4 - NVIDIA T4 Tensor Core GPU

    \n
  • \n
  • \n

    \n a10g - NVIDIA A10G Tensor Core GPU

    \n
  • \n
  • \n

    \n l4 - NVIDIA L4 Tensor Core GPU

    \n
  • \n
  • \n

    \n l40s - NVIDIA L40S Tensor Core GPU

    \n
  • \n
", "smithy.api#required": {} } }, @@ -110,12 +110,12 @@ "target": "com.amazonaws.deadline#AcceleratorRuntime", "traits": { "smithy.api#default": "latest", - "smithy.api#documentation": "

The driver version that the GPU accelerator uses.

" + "smithy.api#documentation": "

Specifies the runtime driver to use for the GPU accelerator. You must use the same\n runtime for all GPUs.

\n

You can choose from the following runtimes:

\n
    \n
  • \n

    \n latest - Use the latest runtime available for the chip. If you\n specify latest and a new version of the runtime is released, the new\n version of the runtime is used.

    \n
  • \n
  • \n

    \n grid:r550 - NVIDIA vGPU software 17\n

    \n
  • \n
  • \n

    \n grid:r535 - NVIDIA vGPU software 16\n

    \n
  • \n
\n

If you don't specify a runtime, Deadline Cloud uses latest as the default. However,\n if you have multiple accelerators and specify latest for some and leave others\n blank, Deadline Cloud raises an exception.

" } } }, "traits": { - "smithy.api#documentation": "

Values that you can use to select a particular Amazon EC2 instance type.

" + "smithy.api#documentation": "

Describes a specific GPU accelerator required for an Amazon Elastic Compute Cloud worker host.

" } }, "com.amazonaws.deadline#AcceleratorSelections": { @@ -142,7 +142,7 @@ } }, "traits": { - "smithy.api#documentation": "

The range for memory, in MiB, to use for the accelerator.

" + "smithy.api#documentation": "

Defines the maximum and minimum amount of memory, in MiB, to use for the\n accelerator.

" } }, "com.amazonaws.deadline#AcceleratorType": { @@ -191,6 +191,37 @@ "smithy.api#sensitive": {} } }, + "com.amazonaws.deadline#AcquiredLimit": { + "type": "structure", + "members": { + "limitId": { + "target": "com.amazonaws.deadline#LimitId", + "traits": { + "smithy.api#documentation": "

The unique identifier of the limit.

", + "smithy.api#required": {} + } + }, + "count": { + "target": "com.amazonaws.deadline#MinOneMaxInteger", + "traits": { + "smithy.api#documentation": "

The number of limit resources used.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

Provides information about the number of resources used.

" + } + }, + "com.amazonaws.deadline#AcquiredLimits": { + "type": "list", + "member": { + "target": "com.amazonaws.deadline#AcquiredLimit" + }, + "traits": { + "smithy.api#uniqueItems": {} + } + }, "com.amazonaws.deadline#AggregationId": { "type": "string", "traits": { @@ -220,6 +251,14 @@ "smithy.api#pattern": "^([a-zA-Z][a-zA-Z0-9]{0,63}:)?amount(\\.[a-zA-Z][a-zA-Z0-9]{0,63})+$" } }, + "com.amazonaws.deadline#AmountRequirementName": { + "type": "string", + "traits": { + "smithy.api#length": { + "max": 1024 + } + } + }, "com.amazonaws.deadline#AssignedEnvironmentEnterSessionActionDefinition": { "type": "structure", "members": { @@ -2525,9 +2564,9 @@ "aws.iam#iamAction": { "name": "CreateJob", "documentation": "Grants permission to create a job", - "requiredActions": ["identitystore:ListGroupMembershipsForMember"] + "requiredActions": ["deadline:GetJobTemplate", "identitystore:ListGroupMembershipsForMember"] }, - "smithy.api#documentation": "

Creates a job. A job is a set of instructions that AWS Deadline Cloud uses to schedule\n and run work on available workers. For more information, see Deadline Cloud\n jobs.

", + "smithy.api#documentation": "

Creates a job. A job is a set of instructions that Deadline Cloud uses to schedule\n and run work on available workers. For more information, see Deadline Cloud\n jobs.

", "smithy.api#endpoint": { "hostPrefix": "management." }, @@ -2624,6 +2663,12 @@ "smithy.api#documentation": "

The maximum number of retries for each task.

" } }, + "maxWorkerCount": { + "target": "com.amazonaws.deadline#MaxWorkerCount", + "traits": { + "smithy.api#documentation": "

The maximum number of worker hosts that can concurrently process a job. When the\n maxWorkerCount is reached, no more workers will be assigned to process the\n job, even if the fleets assigned to the job's queue has available workers.

\n

You can't set the maxWorkerCount to 0. If you set it to -1, there is no\n maximum number of workers.

\n

If you don't specify the maxWorkerCount, Deadline Cloud won't throttle\n the number of workers used to process the job.

" + } + }, "sourceJobId": { "target": "com.amazonaws.deadline#JobId", "traits": { @@ -2785,6 +2830,119 @@ "smithy.api#output": {} } }, + "com.amazonaws.deadline#CreateLimit": { + "type": "operation", + "input": { + "target": "com.amazonaws.deadline#CreateLimitRequest" + }, + "output": { + "target": "com.amazonaws.deadline#CreateLimitResponse" + }, + "errors": [ + { + "target": "com.amazonaws.deadline#AccessDeniedException" + }, + { + "target": "com.amazonaws.deadline#InternalServerErrorException" + }, + { + "target": "com.amazonaws.deadline#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.deadline#ServiceQuotaExceededException" + }, + { + "target": "com.amazonaws.deadline#ThrottlingException" + }, + { + "target": "com.amazonaws.deadline#ValidationException" + } + ], + "traits": { + "aws.iam#iamAction": { + "name": "CreateLimit", + "documentation": "Grants permission to create a limit for a farm", + "requiredActions": ["identitystore:ListGroupMembershipsForMember"] + }, + "smithy.api#documentation": "

Creates a limit that manages the distribution of shared resources, such as floating\n licenses. A limit can throttle work assignments, help manage workloads, and track current\n usage. Before you use a limit, you must associate the limit with one or more queues.

\n

You must add the amountRequirementName to a step in a job template to\n declare the limit requirement.

", + "smithy.api#endpoint": { + "hostPrefix": "management." + }, + "smithy.api#http": { + "method": "POST", + "uri": "/2023-10-12/farms/{farmId}/limits", + "code": 200 + }, + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.deadline#CreateLimitRequest": { + "type": "structure", + "members": { + "clientToken": { + "target": "com.amazonaws.deadline#ClientToken", + "traits": { + "smithy.api#documentation": "

The unique token which the server uses to recognize retries of the same request.

", + "smithy.api#httpHeader": "X-Amz-Client-Token", + "smithy.api#idempotencyToken": {} + } + }, + "displayName": { + "target": "com.amazonaws.deadline#ResourceName", + "traits": { + "smithy.api#documentation": "

The display name of the limit.

\n \n

This field can store any content. Escape or encode this content before displaying it on a webpage or any other system that might interpret the content of this field.

\n
", + "smithy.api#required": {} + } + }, + "amountRequirementName": { + "target": "com.amazonaws.deadline#AmountRequirementName", + "traits": { + "smithy.api#documentation": "

The value that you specify as the name in the amounts field of\n the hostRequirements in a step of a job template to declare the limit\n requirement.

", + "smithy.api#required": {} + } + }, + "maxCount": { + "target": "com.amazonaws.deadline#MaxCount", + "traits": { + "smithy.api#documentation": "

The maximum number of resources constrained by this limit. When all of the resources are\n in use, steps that require the limit won't be scheduled until the resource is\n available.

\n

The maxCount must not be 0. If the value is -1, there is no restriction on\n the number of resources that can be acquired for this limit.

", + "smithy.api#required": {} + } + }, + "farmId": { + "target": "com.amazonaws.deadline#FarmId", + "traits": { + "smithy.api#documentation": "

The farm ID of the farm that contains the limit.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "description": { + "target": "com.amazonaws.deadline#Description", + "traits": { + "smithy.api#default": "", + "smithy.api#documentation": "

A description of the limit. A description helps you identify the purpose of the\n limit.

\n \n

This field can store any content. Escape or encode this content before displaying it on a webpage or any other system that might interpret the content of this field.

\n
" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.deadline#CreateLimitResponse": { + "type": "structure", + "members": { + "limitId": { + "target": "com.amazonaws.deadline#LimitId", + "traits": { + "smithy.api#documentation": "

A unique identifier for the limit. Use this identifier in other operations, such as\n CreateQueueLimitAssociation and DeleteLimit.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.deadline#CreateMonitor": { "type": "operation", "input": { @@ -3157,6 +3315,94 @@ "smithy.api#output": {} } }, + "com.amazonaws.deadline#CreateQueueLimitAssociation": { + "type": "operation", + "input": { + "target": "com.amazonaws.deadline#CreateQueueLimitAssociationRequest" + }, + "output": { + "target": "com.amazonaws.deadline#CreateQueueLimitAssociationResponse" + }, + "errors": [ + { + "target": "com.amazonaws.deadline#AccessDeniedException" + }, + { + "target": "com.amazonaws.deadline#InternalServerErrorException" + }, + { + "target": "com.amazonaws.deadline#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.deadline#ThrottlingException" + }, + { + "target": "com.amazonaws.deadline#ValidationException" + } + ], + "traits": { + "aws.iam#iamAction": { + "name": "CreateQueueLimitAssociation", + "documentation": "Grants permission to create a queue-limit association", + "requiredActions": ["identitystore:ListGroupMembershipsForMember"] + }, + "smithy.api#documentation": "

Associates a limit with a particular queue. After the limit is associated, all workers\n for jobs that specify the limit associated with the queue are subject to the limit. You\n can't associate two limits with the same amountRequirementName to the same\n queue.

", + "smithy.api#endpoint": { + "hostPrefix": "management." + }, + "smithy.api#http": { + "method": "PUT", + "uri": "/2023-10-12/farms/{farmId}/queue-limit-associations", + "code": 200 + }, + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.deadline#CreateQueueLimitAssociationRequest": { + "type": "structure", + "members": { + "farmId": { + "target": "com.amazonaws.deadline#FarmId", + "traits": { + "smithy.api#documentation": "

The unique identifier of the farm that contains the queue and limit to associate.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "queueId": { + "target": "com.amazonaws.deadline#QueueId", + "traits": { + "smithy.api#documentation": "

The unique identifier of the queue to associate with the limit.

", + "smithy.api#required": {} + } + }, + "limitId": { + "target": "com.amazonaws.deadline#LimitId", + "traits": { + "smithy.api#documentation": "

The unique identifier of the limit to associate with the queue.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {}, + "smithy.api#references": [ + { + "resource": "com.amazonaws.deadline#FarmResource" + }, + { + "resource": "com.amazonaws.deadline#QueueResource" + } + ] + } + }, + "com.amazonaws.deadline#CreateQueueLimitAssociationResponse": { + "type": "structure", + "members": {}, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.deadline#CreateQueueRequest": { "type": "structure", "members": { @@ -3643,12 +3889,21 @@ { "target": "com.amazonaws.deadline#CreateQueueFleetAssociation" }, + { + "target": "com.amazonaws.deadline#CreateQueueLimitAssociation" + }, { "target": "com.amazonaws.deadline#DeleteQueueFleetAssociation" }, + { + "target": "com.amazonaws.deadline#DeleteQueueLimitAssociation" + }, { "target": "com.amazonaws.deadline#GetQueueFleetAssociation" }, + { + "target": "com.amazonaws.deadline#GetQueueLimitAssociation" + }, { "target": "com.amazonaws.deadline#GetSessionsStatisticsAggregation" }, @@ -3658,6 +3913,9 @@ { "target": "com.amazonaws.deadline#ListQueueFleetAssociations" }, + { + "target": "com.amazonaws.deadline#ListQueueLimitAssociations" + }, { "target": "com.amazonaws.deadline#ListTagsForResource" }, @@ -3684,6 +3942,9 @@ }, { "target": "com.amazonaws.deadline#UpdateQueueFleetAssociation" + }, + { + "target": "com.amazonaws.deadline#UpdateQueueLimitAssociation" } ], "resources": [ @@ -4781,13 +5042,13 @@ "smithy.api#output": {} } }, - "com.amazonaws.deadline#DeleteMeteredProduct": { + "com.amazonaws.deadline#DeleteLimit": { "type": "operation", "input": { - "target": "com.amazonaws.deadline#DeleteMeteredProductRequest" + "target": "com.amazonaws.deadline#DeleteLimitRequest" }, "output": { - "target": "com.amazonaws.deadline#DeleteMeteredProductResponse" + "target": "com.amazonaws.deadline#DeleteLimitResponse" }, "errors": [ { @@ -4796,9 +5057,6 @@ { "target": "com.amazonaws.deadline#InternalServerErrorException" }, - { - "target": "com.amazonaws.deadline#ResourceNotFoundException" - }, { "target": "com.amazonaws.deadline#ThrottlingException" }, @@ -4807,38 +5065,38 @@ } ], "traits": { - "aws.iam#conditionKeys": [], "aws.iam#iamAction": { - "name": "DeleteMeteredProduct", - "documentation": "Grants permission to delete a metered product" + "name": "DeleteLimit", + "documentation": "Grants permission to delete a limit", + "requiredActions": ["identitystore:ListGroupMembershipsForMember"] }, - "smithy.api#documentation": "

Deletes a metered product.

", + "smithy.api#documentation": "

Removes a limit from the specified farm. Before you delete a limit you must use the\n DeleteQueueLimitAssociation operation to remove the association with any\n queues.

", "smithy.api#endpoint": { "hostPrefix": "management." }, "smithy.api#http": { "method": "DELETE", - "uri": "/2023-10-12/license-endpoints/{licenseEndpointId}/metered-products/{productId}", + "uri": "/2023-10-12/farms/{farmId}/limits/{limitId}", "code": 200 }, "smithy.api#idempotent": {} } }, - "com.amazonaws.deadline#DeleteMeteredProductRequest": { + "com.amazonaws.deadline#DeleteLimitRequest": { "type": "structure", "members": { - "licenseEndpointId": { - "target": "com.amazonaws.deadline#LicenseEndpointId", + "farmId": { + "target": "com.amazonaws.deadline#FarmId", "traits": { - "smithy.api#documentation": "

The ID of the license endpoint from which to remove the metered product.

", + "smithy.api#documentation": "

The unique identifier of the farm that contains the limit to delete.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } }, - "productId": { - "target": "com.amazonaws.deadline#MeteredProductId", + "limitId": { + "target": "com.amazonaws.deadline#LimitId", "traits": { - "smithy.api#documentation": "

The product ID to remove from the license endpoint.

", + "smithy.api#documentation": "

The unique identifier of the limit to delete.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -4848,20 +5106,20 @@ "smithy.api#input": {} } }, - "com.amazonaws.deadline#DeleteMeteredProductResponse": { + "com.amazonaws.deadline#DeleteLimitResponse": { "type": "structure", "members": {}, "traits": { "smithy.api#output": {} } }, - "com.amazonaws.deadline#DeleteMonitor": { + "com.amazonaws.deadline#DeleteMeteredProduct": { "type": "operation", "input": { - "target": "com.amazonaws.deadline#DeleteMonitorRequest" + "target": "com.amazonaws.deadline#DeleteMeteredProductRequest" }, "output": { - "target": "com.amazonaws.deadline#DeleteMonitorResponse" + "target": "com.amazonaws.deadline#DeleteMeteredProductResponse" }, "errors": [ { @@ -4883,33 +5141,107 @@ "traits": { "aws.iam#conditionKeys": [], "aws.iam#iamAction": { - "name": "DeleteMonitor", - "documentation": "Grants permission to delete a monitor", - "requiredActions": ["sso:DeleteApplication"] + "name": "DeleteMeteredProduct", + "documentation": "Grants permission to delete a metered product" }, - "smithy.api#documentation": "

Removes a Deadline Cloud monitor. After you delete a monitor, you can create a new one and\n attach farms to the monitor.

", + "smithy.api#documentation": "

Deletes a metered product.

", "smithy.api#endpoint": { "hostPrefix": "management." }, "smithy.api#http": { "method": "DELETE", - "uri": "/2023-10-12/monitors/{monitorId}", + "uri": "/2023-10-12/license-endpoints/{licenseEndpointId}/metered-products/{productId}", "code": 200 }, "smithy.api#idempotent": {} } }, - "com.amazonaws.deadline#DeleteMonitorRequest": { + "com.amazonaws.deadline#DeleteMeteredProductRequest": { "type": "structure", "members": { - "monitorId": { - "target": "com.amazonaws.deadline#MonitorId", + "licenseEndpointId": { + "target": "com.amazonaws.deadline#LicenseEndpointId", "traits": { - "smithy.api#documentation": "

The unique identifier of the monitor to delete. This ID is returned by the\n CreateMonitor operation, and is included in the response to the\n GetMonitor operation.

", + "smithy.api#documentation": "

The ID of the license endpoint from which to remove the metered product.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } - } + }, + "productId": { + "target": "com.amazonaws.deadline#MeteredProductId", + "traits": { + "smithy.api#documentation": "

The product ID to remove from the license endpoint.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.deadline#DeleteMeteredProductResponse": { + "type": "structure", + "members": {}, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.deadline#DeleteMonitor": { + "type": "operation", + "input": { + "target": "com.amazonaws.deadline#DeleteMonitorRequest" + }, + "output": { + "target": "com.amazonaws.deadline#DeleteMonitorResponse" + }, + "errors": [ + { + "target": "com.amazonaws.deadline#AccessDeniedException" + }, + { + "target": "com.amazonaws.deadline#InternalServerErrorException" + }, + { + "target": "com.amazonaws.deadline#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.deadline#ThrottlingException" + }, + { + "target": "com.amazonaws.deadline#ValidationException" + } + ], + "traits": { + "aws.iam#conditionKeys": [], + "aws.iam#iamAction": { + "name": "DeleteMonitor", + "documentation": "Grants permission to delete a monitor", + "requiredActions": ["sso:DeleteApplication"] + }, + "smithy.api#documentation": "

Removes a Deadline Cloud monitor. After you delete a monitor, you can create a new one and\n attach farms to the monitor.

", + "smithy.api#endpoint": { + "hostPrefix": "management." + }, + "smithy.api#http": { + "method": "DELETE", + "uri": "/2023-10-12/monitors/{monitorId}", + "code": 200 + }, + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.deadline#DeleteMonitorRequest": { + "type": "structure", + "members": { + "monitorId": { + "target": "com.amazonaws.deadline#MonitorId", + "traits": { + "smithy.api#documentation": "

The unique identifier of the monitor to delete. This ID is returned by the\n CreateMonitor operation, and is included in the response to the\n GetMonitor operation.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } }, "traits": { "smithy.api#input": {} @@ -5140,6 +5472,99 @@ "smithy.api#output": {} } }, + "com.amazonaws.deadline#DeleteQueueLimitAssociation": { + "type": "operation", + "input": { + "target": "com.amazonaws.deadline#DeleteQueueLimitAssociationRequest" + }, + "output": { + "target": "com.amazonaws.deadline#DeleteQueueLimitAssociationResponse" + }, + "errors": [ + { + "target": "com.amazonaws.deadline#AccessDeniedException" + }, + { + "target": "com.amazonaws.deadline#ConflictException" + }, + { + "target": "com.amazonaws.deadline#InternalServerErrorException" + }, + { + "target": "com.amazonaws.deadline#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.deadline#ThrottlingException" + }, + { + "target": "com.amazonaws.deadline#ValidationException" + } + ], + "traits": { + "aws.iam#iamAction": { + "name": "DeleteQueueLimitAssociation", + "documentation": "Grants permission to delete a queue-limit association", + "requiredActions": ["identitystore:ListGroupMembershipsForMember"] + }, + "smithy.api#documentation": "

Removes the association between a queue and a limit. You must use the\n UpdateQueueLimitAssociation operation to set the status to\n STOP_LIMIT_USAGE_AND_COMPLETE_TASKS or\n STOP_LIMIT_USAGE_AND_CANCEL_TASKS. The status does not change immediately.\n Use the GetQueueLimitAssociation operation to see if the status changed to\n STOPPED before deleting the association.

", + "smithy.api#endpoint": { + "hostPrefix": "management." + }, + "smithy.api#http": { + "method": "DELETE", + "uri": "/2023-10-12/farms/{farmId}/queue-limit-associations/{queueId}/{limitId}", + "code": 200 + }, + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.deadline#DeleteQueueLimitAssociationRequest": { + "type": "structure", + "members": { + "farmId": { + "target": "com.amazonaws.deadline#FarmId", + "traits": { + "smithy.api#documentation": "

The unique identifier of the farm that contains the queue and limit to\n disassociate.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "queueId": { + "target": "com.amazonaws.deadline#QueueId", + "traits": { + "smithy.api#documentation": "

The unique identifier of the queue to disassociate.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "limitId": { + "target": "com.amazonaws.deadline#LimitId", + "traits": { + "smithy.api#documentation": "

The unique identifier of the limit to disassociate.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {}, + "smithy.api#references": [ + { + "resource": "com.amazonaws.deadline#FarmResource" + }, + { + "resource": "com.amazonaws.deadline#QueueResource" + } + ] + } + }, + "com.amazonaws.deadline#DeleteQueueLimitAssociationResponse": { + "type": "structure", + "members": {}, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.deadline#DeleteQueueRequest": { "type": "structure", "members": { @@ -5749,10 +6174,7 @@ } }, "com.amazonaws.deadline#DnsName": { - "type": "string", - "traits": { - "smithy.api#pattern": "^vpce-[\\w]+-[\\w]+.vpce-svc-[\\w]+.*.vpce.amazonaws.com$" - } + "type": "string" }, "com.amazonaws.deadline#Document": { "type": "document", @@ -6123,24 +6545,39 @@ { "target": "com.amazonaws.deadline#AssociateMemberToFarm" }, + { + "target": "com.amazonaws.deadline#CreateLimit" + }, { "target": "com.amazonaws.deadline#CreateStorageProfile" }, + { + "target": "com.amazonaws.deadline#DeleteLimit" + }, { "target": "com.amazonaws.deadline#DeleteStorageProfile" }, { "target": "com.amazonaws.deadline#DisassociateMemberFromFarm" }, + { + "target": "com.amazonaws.deadline#GetLimit" + }, { "target": "com.amazonaws.deadline#GetStorageProfile" }, { "target": "com.amazonaws.deadline#ListFarmMembers" }, + { + "target": "com.amazonaws.deadline#ListLimits" + }, { "target": "com.amazonaws.deadline#ListStorageProfiles" }, + { + "target": "com.amazonaws.deadline#UpdateLimit" + }, { "target": "com.amazonaws.deadline#UpdateStorageProfile" } @@ -7411,18 +7848,18 @@ "smithy.api#required": {} } }, - "jobId": { - "target": "com.amazonaws.deadline#JobId", + "queueId": { + "target": "com.amazonaws.deadline#QueueId", "traits": { - "smithy.api#documentation": "

The job ID.

", + "smithy.api#documentation": "

The queue ID associated with the job.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } }, - "queueId": { - "target": "com.amazonaws.deadline#QueueId", + "jobId": { + "target": "com.amazonaws.deadline#JobId", "traits": { - "smithy.api#documentation": "

The queue ID associated with the job.

", + "smithy.api#documentation": "

The job ID.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -7562,6 +7999,12 @@ "smithy.api#documentation": "

The description of the job.

\n \n

This field can store any content. Escape or encode this content before displaying it on a webpage or any other system that might interpret the content of this field.

\n
" } }, + "maxWorkerCount": { + "target": "com.amazonaws.deadline#MaxWorkerCount", + "traits": { + "smithy.api#documentation": "

The maximum number of worker hosts that can concurrently process a job. When the\n maxWorkerCount is reached, no more workers will be assigned to process the\n job, even if the fleets assigned to the job's queue has available workers.

\n

If you don't set the maxWorkerCount when you create a job, this value is\n not returned in the response.

" + } + }, "sourceJobId": { "target": "com.amazonaws.deadline#JobId", "traits": { @@ -7745,6 +8188,155 @@ "smithy.api#output": {} } }, + "com.amazonaws.deadline#GetLimit": { + "type": "operation", + "input": { + "target": "com.amazonaws.deadline#GetLimitRequest" + }, + "output": { + "target": "com.amazonaws.deadline#GetLimitResponse" + }, + "errors": [ + { + "target": "com.amazonaws.deadline#AccessDeniedException" + }, + { + "target": "com.amazonaws.deadline#InternalServerErrorException" + }, + { + "target": "com.amazonaws.deadline#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.deadline#ThrottlingException" + }, + { + "target": "com.amazonaws.deadline#ValidationException" + } + ], + "traits": { + "aws.iam#iamAction": { + "name": "GetLimit", + "documentation": "Grants permission to get a limit", + "requiredActions": ["identitystore:ListGroupMembershipsForMember"] + }, + "smithy.api#documentation": "

Gets information about a specific limit.

", + "smithy.api#endpoint": { + "hostPrefix": "management." + }, + "smithy.api#http": { + "method": "GET", + "uri": "/2023-10-12/farms/{farmId}/limits/{limitId}", + "code": 200 + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.deadline#GetLimitRequest": { + "type": "structure", + "members": { + "farmId": { + "target": "com.amazonaws.deadline#FarmId", + "traits": { + "smithy.api#documentation": "

The unique identifier of the farm that contains the limit.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "limitId": { + "target": "com.amazonaws.deadline#LimitId", + "traits": { + "smithy.api#documentation": "

The unique identifier of the limit to return.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.deadline#GetLimitResponse": { + "type": "structure", + "members": { + "displayName": { + "target": "com.amazonaws.deadline#ResourceName", + "traits": { + "smithy.api#documentation": "

The display name of the limit.

\n \n

This field can store any content. Escape or encode this content before displaying it on a webpage or any other system that might interpret the content of this field.

\n
", + "smithy.api#required": {} + } + }, + "amountRequirementName": { + "target": "com.amazonaws.deadline#AmountRequirementName", + "traits": { + "smithy.api#documentation": "

The value that you specify as the name in the amounts field of\n the hostRequirements in a step of a job template to declare the limit\n requirement.

", + "smithy.api#required": {} + } + }, + "maxCount": { + "target": "com.amazonaws.deadline#MaxCount", + "traits": { + "smithy.api#documentation": "

The maximum number of resources constrained by this limit. When all of the resources are\n in use, steps that require the limit won't be scheduled until the resource is\n available.

\n

The maxValue must not be 0. If the value is -1, there is no restriction on\n the number of resources that can be acquired for this limit.

", + "smithy.api#required": {} + } + }, + "createdAt": { + "target": "com.amazonaws.deadline#CreatedAt", + "traits": { + "smithy.api#documentation": "

The Unix timestamp of the date and time that the limit was created.

", + "smithy.api#required": {} + } + }, + "createdBy": { + "target": "com.amazonaws.deadline#CreatedBy", + "traits": { + "smithy.api#documentation": "

The user identifier of the person that created the limit.

", + "smithy.api#required": {} + } + }, + "updatedAt": { + "target": "com.amazonaws.deadline#UpdatedAt", + "traits": { + "smithy.api#documentation": "

The Unix timestamp of the date and time that the limit was last updated.

" + } + }, + "updatedBy": { + "target": "com.amazonaws.deadline#UpdatedBy", + "traits": { + "smithy.api#documentation": "

The user identifier of the person that last updated the limit.

" + } + }, + "farmId": { + "target": "com.amazonaws.deadline#FarmId", + "traits": { + "smithy.api#documentation": "

The unique identifier of the farm that contains the limit.

", + "smithy.api#required": {} + } + }, + "limitId": { + "target": "com.amazonaws.deadline#LimitId", + "traits": { + "smithy.api#documentation": "

The unique identifier of the limit.

", + "smithy.api#required": {} + } + }, + "currentCount": { + "target": "com.amazonaws.deadline#MinZeroMaxInteger", + "traits": { + "smithy.api#documentation": "

The number of resources from the limit that are being used by jobs. The result is\n delayed and may not be the count at the time that you called the operation.

", + "smithy.api#required": {} + } + }, + "description": { + "target": "com.amazonaws.deadline#Description", + "traits": { + "smithy.api#documentation": "

The description of the limit that helps identify what the limit is used for.

\n \n

This field can store any content. Escape or encode this content before displaying it on a webpage or any other system that might interpret the content of this field.

\n
" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.deadline#GetMonitor": { "type": "operation", "input": { @@ -8139,19 +8731,176 @@ "documentation": "Grants permission to get a queue-fleet association", "requiredActions": ["identitystore:ListGroupMembershipsForMember"] }, - "smithy.api#documentation": "

Gets a queue-fleet association.

", + "smithy.api#documentation": "

Gets a queue-fleet association.

", + "smithy.api#endpoint": { + "hostPrefix": "management." + }, + "smithy.api#http": { + "method": "GET", + "uri": "/2023-10-12/farms/{farmId}/queue-fleet-associations/{queueId}/{fleetId}", + "code": 200 + }, + "smithy.api#readonly": {}, + "smithy.waiters#waitable": { + "QueueFleetAssociationStopped": { + "documentation": "Wait until a QueueFleetAssociation is stopped. Use this after setting the status to STOP_SCHEDULING_AND_COMPLETE_TASKS or STOP_SCHEDULING_AND_CANCEL_TASKS to wait for a QueueFleetAssociation to reach STOPPED", + "minDelay": 10, + "maxDelay": 600, + "acceptors": [ + { + "state": "success", + "matcher": { + "output": { + "path": "status", + "expected": "STOPPED", + "comparator": "stringEquals" + } + } + } + ] + } + } + } + }, + "com.amazonaws.deadline#GetQueueFleetAssociationRequest": { + "type": "structure", + "members": { + "farmId": { + "target": "com.amazonaws.deadline#FarmId", + "traits": { + "smithy.api#documentation": "

The farm ID of the farm that contains the queue-fleet association.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "queueId": { + "target": "com.amazonaws.deadline#QueueId", + "traits": { + "smithy.api#documentation": "

The queue ID for the queue-fleet association.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "fleetId": { + "target": "com.amazonaws.deadline#FleetId", + "traits": { + "smithy.api#documentation": "

The fleet ID for the queue-fleet association.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {}, + "smithy.api#references": [ + { + "resource": "com.amazonaws.deadline#QueueResource" + }, + { + "resource": "com.amazonaws.deadline#FleetResource" + } + ] + } + }, + "com.amazonaws.deadline#GetQueueFleetAssociationResponse": { + "type": "structure", + "members": { + "queueId": { + "target": "com.amazonaws.deadline#QueueId", + "traits": { + "smithy.api#documentation": "

The queue ID for the queue-fleet association.

", + "smithy.api#required": {} + } + }, + "fleetId": { + "target": "com.amazonaws.deadline#FleetId", + "traits": { + "smithy.api#documentation": "

The fleet ID for the queue-fleet association.

", + "smithy.api#required": {} + } + }, + "status": { + "target": "com.amazonaws.deadline#QueueFleetAssociationStatus", + "traits": { + "smithy.api#documentation": "

The status of the queue-fleet association.

", + "smithy.api#required": {} + } + }, + "createdAt": { + "target": "com.amazonaws.deadline#CreatedAt", + "traits": { + "smithy.api#documentation": "

The date and time the resource was created.

", + "smithy.api#required": {} + } + }, + "createdBy": { + "target": "com.amazonaws.deadline#CreatedBy", + "traits": { + "smithy.api#documentation": "

The user or system that created this resource.

", + "smithy.api#required": {} + } + }, + "updatedAt": { + "target": "com.amazonaws.deadline#UpdatedAt", + "traits": { + "smithy.api#documentation": "

The date and time the resource was updated.

" + } + }, + "updatedBy": { + "target": "com.amazonaws.deadline#UpdatedBy", + "traits": { + "smithy.api#documentation": "

The user or system that updated this resource.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.deadline#GetQueueLimitAssociation": { + "type": "operation", + "input": { + "target": "com.amazonaws.deadline#GetQueueLimitAssociationRequest" + }, + "output": { + "target": "com.amazonaws.deadline#GetQueueLimitAssociationResponse" + }, + "errors": [ + { + "target": "com.amazonaws.deadline#AccessDeniedException" + }, + { + "target": "com.amazonaws.deadline#InternalServerErrorException" + }, + { + "target": "com.amazonaws.deadline#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.deadline#ThrottlingException" + }, + { + "target": "com.amazonaws.deadline#ValidationException" + } + ], + "traits": { + "aws.iam#iamAction": { + "name": "GetQueueLimitAssociation", + "documentation": "Grants permission to get a queue-limit association", + "requiredActions": ["identitystore:ListGroupMembershipsForMember"] + }, + "smithy.api#documentation": "

Gets information about a specific association between a queue and a limit.

", "smithy.api#endpoint": { "hostPrefix": "management." }, "smithy.api#http": { "method": "GET", - "uri": "/2023-10-12/farms/{farmId}/queue-fleet-associations/{queueId}/{fleetId}", + "uri": "/2023-10-12/farms/{farmId}/queue-limit-associations/{queueId}/{limitId}", "code": 200 }, "smithy.api#readonly": {}, "smithy.waiters#waitable": { - "QueueFleetAssociationStopped": { - "documentation": "Wait until a QueueFleetAssociation is stopped. Use this after setting the status to STOP_SCHEDULING_AND_COMPLETE_TASKS or STOP_SCHEDULING_AND_CANCEL_TASKS to wait for a QueueFleetAssociation to reach STOPPED", + "QueueLimitAssociationStopped": { + "documentation": "Wait until a QueueLimitAssociation is stopped. Use this after setting the status to STOP_LIMIT_USAGE_AND_COMPLETE_TASKS or STOP_LIMIT_USAGE_AND_CANCEL_TASKS to wait for a QueueLimitAssociation to reach STOPPED", "minDelay": 10, "maxDelay": 600, "acceptors": [ @@ -8170,13 +8919,13 @@ } } }, - "com.amazonaws.deadline#GetQueueFleetAssociationRequest": { + "com.amazonaws.deadline#GetQueueLimitAssociationRequest": { "type": "structure", "members": { "farmId": { "target": "com.amazonaws.deadline#FarmId", "traits": { - "smithy.api#documentation": "

The farm ID of the farm that contains the queue-fleet association.

", + "smithy.api#documentation": "

The unique identifier of the farm that contains the associated queue and limit.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -8184,15 +8933,15 @@ "queueId": { "target": "com.amazonaws.deadline#QueueId", "traits": { - "smithy.api#documentation": "

The queue ID for the queue-fleet association.

", + "smithy.api#documentation": "

The unique identifier of the queue associated with the limit.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } }, - "fleetId": { - "target": "com.amazonaws.deadline#FleetId", + "limitId": { + "target": "com.amazonaws.deadline#LimitId", "traits": { - "smithy.api#documentation": "

The fleet ID for the queue-fleet association.

", + "smithy.api#documentation": "

The unique identifier of the limit associated with the queue.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -8202,62 +8951,62 @@ "smithy.api#input": {}, "smithy.api#references": [ { - "resource": "com.amazonaws.deadline#QueueResource" + "resource": "com.amazonaws.deadline#FarmResource" }, { - "resource": "com.amazonaws.deadline#FleetResource" + "resource": "com.amazonaws.deadline#QueueResource" } ] } }, - "com.amazonaws.deadline#GetQueueFleetAssociationResponse": { + "com.amazonaws.deadline#GetQueueLimitAssociationResponse": { "type": "structure", "members": { - "queueId": { - "target": "com.amazonaws.deadline#QueueId", + "createdAt": { + "target": "com.amazonaws.deadline#CreatedAt", "traits": { - "smithy.api#documentation": "

The queue ID for the queue-fleet association.

", + "smithy.api#documentation": "

The Unix timestamp of the date and time that the association was created.

", "smithy.api#required": {} } }, - "fleetId": { - "target": "com.amazonaws.deadline#FleetId", + "createdBy": { + "target": "com.amazonaws.deadline#CreatedBy", "traits": { - "smithy.api#documentation": "

The fleet ID for the queue-fleet association.

", + "smithy.api#documentation": "

The user identifier of the person that created the association.

", "smithy.api#required": {} } }, - "status": { - "target": "com.amazonaws.deadline#QueueFleetAssociationStatus", + "updatedAt": { + "target": "com.amazonaws.deadline#UpdatedAt", "traits": { - "smithy.api#documentation": "

The status of the queue-fleet association.

", - "smithy.api#required": {} + "smithy.api#documentation": "

The Unix timestamp of the date and time that the association was last updated.

" } }, - "createdAt": { - "target": "com.amazonaws.deadline#CreatedAt", + "updatedBy": { + "target": "com.amazonaws.deadline#UpdatedBy", "traits": { - "smithy.api#documentation": "

The date and time the resource was created.

", - "smithy.api#required": {} + "smithy.api#documentation": "

The user identifier of the person that last updated the association.

" } }, - "createdBy": { - "target": "com.amazonaws.deadline#CreatedBy", + "queueId": { + "target": "com.amazonaws.deadline#QueueId", "traits": { - "smithy.api#documentation": "

The user or system that created this resource.

", + "smithy.api#documentation": "

The unique identifier of the queue associated with the limit.

", "smithy.api#required": {} } }, - "updatedAt": { - "target": "com.amazonaws.deadline#UpdatedAt", + "limitId": { + "target": "com.amazonaws.deadline#LimitId", "traits": { - "smithy.api#documentation": "

The date and time the resource was updated.

" + "smithy.api#documentation": "

The unique identifier of the limit associated with the queue.

", + "smithy.api#required": {} } }, - "updatedBy": { - "target": "com.amazonaws.deadline#UpdatedBy", + "status": { + "target": "com.amazonaws.deadline#QueueLimitAssociationStatus", "traits": { - "smithy.api#documentation": "

The user or system that updated this resource.

" + "smithy.api#documentation": "

The current status of the limit.

", + "smithy.api#required": {} } } }, @@ -8592,6 +9341,12 @@ "smithy.api#documentation": "

The session action definition.

", "smithy.api#required": {} } + }, + "acquiredLimits": { + "target": "com.amazonaws.deadline#AcquiredLimits", + "traits": { + "smithy.api#documentation": "

The limits and their amounts acquired during a session action. If no limits were\n acquired during the session, this field isn't returned.

" + } } }, "traits": { @@ -9536,13 +10291,6 @@ "com.amazonaws.deadline#GetWorkerResponse": { "type": "structure", "members": { - "workerId": { - "target": "com.amazonaws.deadline#WorkerId", - "traits": { - "smithy.api#documentation": "

The worker ID.

", - "smithy.api#required": {} - } - }, "farmId": { "target": "com.amazonaws.deadline#FarmId", "traits": { @@ -9557,6 +10305,13 @@ "smithy.api#required": {} } }, + "workerId": { + "target": "com.amazonaws.deadline#WorkerId", + "traits": { + "smithy.api#documentation": "

The worker ID.

", + "smithy.api#required": {} + } + }, "hostProperties": { "target": "com.amazonaws.deadline#HostPropertiesResponse", "traits": { @@ -10561,6 +11316,12 @@ "smithy.api#documentation": "

The job parameters.

" } }, + "maxWorkerCount": { + "target": "com.amazonaws.deadline#MaxWorkerCount", + "traits": { + "smithy.api#documentation": "

The maximum number of worker hosts that can concurrently process a job. When the\n maxWorkerCount is reached, no more workers will be assigned to process the\n job, even if the fleets assigned to the job's queue has available workers.

\n

You can't set the maxWorkerCount to 0. If you set it to -1, there is no\n maximum number of workers.

\n

If you don't specify the maxWorkerCount, the default is -1.

" + } + }, "sourceJobId": { "target": "com.amazonaws.deadline#JobId", "traits": { @@ -10684,6 +11445,12 @@ "smithy.api#documentation": "

The maximum number of retries for a job.

" } }, + "maxWorkerCount": { + "target": "com.amazonaws.deadline#MaxWorkerCount", + "traits": { + "smithy.api#documentation": "

The maximum number of worker hosts that can concurrently process a job. When the\n maxWorkerCount is reached, no more workers will be assigned to process the\n job, even if the fleets assigned to the job's queue has available workers.

\n

You can't set the maxWorkerCount to 0. If you set it to -1, there is no\n maximum number of workers.

\n

If you don't specify the maxWorkerCount, the default is -1.

" + } + }, "sourceJobId": { "target": "com.amazonaws.deadline#JobId", "traits": { @@ -10880,6 +11647,95 @@ "com.amazonaws.deadline#LicenseProduct": { "type": "string" }, + "com.amazonaws.deadline#LimitId": { + "type": "string", + "traits": { + "smithy.api#pattern": "^limit-[0-9a-f]{32}$" + } + }, + "com.amazonaws.deadline#LimitSummaries": { + "type": "list", + "member": { + "target": "com.amazonaws.deadline#LimitSummary" + } + }, + "com.amazonaws.deadline#LimitSummary": { + "type": "structure", + "members": { + "displayName": { + "target": "com.amazonaws.deadline#ResourceName", + "traits": { + "smithy.api#documentation": "

The name of the limit used in lists to identify the limit.

\n \n

This field can store any content. Escape or encode this content before displaying it on a webpage or any other system that might interpret the content of this field.

\n
", + "smithy.api#required": {} + } + }, + "amountRequirementName": { + "target": "com.amazonaws.deadline#AmountRequirementName", + "traits": { + "smithy.api#documentation": "

The value that you specify as the name in the amounts field of\n the hostRequirements in a step of a job template to declare the limit\n requirement.

", + "smithy.api#required": {} + } + }, + "maxCount": { + "target": "com.amazonaws.deadline#MaxCount", + "traits": { + "smithy.api#documentation": "

The maximum number of resources constrained by this limit. When all of the resources are\n in use, steps that require the limit won't be scheduled until the resource is\n available.

\n

The maxValue must not be 0. If the value is -1, there is no restriction on\n the number of resources that can be acquired for this limit.

", + "smithy.api#required": {} + } + }, + "createdAt": { + "target": "com.amazonaws.deadline#CreatedAt", + "traits": { + "smithy.api#documentation": "

The Unix timestamp of the date and time that the limit was created.

", + "smithy.api#required": {} + } + }, + "createdBy": { + "target": "com.amazonaws.deadline#CreatedBy", + "traits": { + "smithy.api#documentation": "

The user identifier of the person that created the limit.

", + "smithy.api#required": {} + } + }, + "updatedAt": { + "target": "com.amazonaws.deadline#UpdatedAt", + "traits": { + "smithy.api#documentation": "

The Unix timestamp of the date and time that the limit was last updated.

" + } + }, + "updatedBy": { + "target": "com.amazonaws.deadline#UpdatedBy", + "traits": { + "smithy.api#documentation": "

The user identifier of the person that last updated the limit.

" + } + }, + "farmId": { + "target": "com.amazonaws.deadline#FarmId", + "traits": { + "smithy.api#documentation": "

The unique identifier of the farm that contains the limit.

", + "smithy.api#required": {} + } + }, + "limitId": { + "target": "com.amazonaws.deadline#LimitId", + "traits": { + "smithy.api#documentation": "

The unique identifier of the limit.

", + "smithy.api#required": {} + } + }, + "currentCount": { + "target": "com.amazonaws.deadline#MinZeroMaxInteger", + "traits": { + "smithy.api#documentation": "

The number of resources from the limit that are being used by jobs. The result is\n delayed and may not be the count at the time that you called the operation.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

Provides information about a specific limit.

", + "smithy.api#tags": ["concurrent_limits"] + } + }, "com.amazonaws.deadline#ListAttributeCapabilityValue": { "type": "list", "member": { @@ -11793,43 +12649,136 @@ }, "smithy.api#http": { "method": "GET", - "uri": "/2023-10-12/farms/{farmId}/queues/{queueId}/jobs" + "uri": "/2023-10-12/farms/{farmId}/queues/{queueId}/jobs" + }, + "smithy.api#paginated": { + "inputToken": "nextToken", + "outputToken": "nextToken", + "pageSize": "maxResults", + "items": "jobs" + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.deadline#ListJobsRequest": { + "type": "structure", + "members": { + "farmId": { + "target": "com.amazonaws.deadline#FarmId", + "traits": { + "smithy.api#documentation": "

The farm ID for the jobs.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "principalId": { + "target": "com.amazonaws.deadline#IdentityCenterPrincipalId", + "traits": { + "smithy.api#documentation": "

The principal ID of the members on the jobs.

", + "smithy.api#httpQuery": "principalId" + } + }, + "queueId": { + "target": "com.amazonaws.deadline#QueueId", + "traits": { + "smithy.api#documentation": "

The queue ID for the job.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "nextToken": { + "target": "com.amazonaws.deadline#String", + "traits": { + "smithy.api#documentation": "

The token for the next set of results, or null to start from the beginning.

", + "smithy.api#httpQuery": "nextToken" + } + }, + "maxResults": { + "target": "com.amazonaws.deadline#MaxResults", + "traits": { + "smithy.api#default": 100, + "smithy.api#documentation": "

The maximum number of results to return. Use this parameter with NextToken to get results as a set of sequential pages.

", + "smithy.api#httpQuery": "maxResults" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.deadline#ListJobsResponse": { + "type": "structure", + "members": { + "jobs": { + "target": "com.amazonaws.deadline#JobSummaries", + "traits": { + "smithy.api#documentation": "

The jobs on the list.

", + "smithy.api#required": {} + } + }, + "nextToken": { + "target": "com.amazonaws.deadline#String", + "traits": { + "smithy.api#documentation": "

If Deadline Cloud returns nextToken, then there are more results available. The value of nextToken is a unique pagination token for each page. To retrieve the next page, call the operation again using the returned token. Keep all other arguments unchanged. If no results remain, then nextToken is set to null. Each pagination token expires after 24 hours. If you provide a token that isn't valid, then you receive an HTTP 400 ValidationException error.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.deadline#ListLicenseEndpoints": { + "type": "operation", + "input": { + "target": "com.amazonaws.deadline#ListLicenseEndpointsRequest" + }, + "output": { + "target": "com.amazonaws.deadline#ListLicenseEndpointsResponse" + }, + "errors": [ + { + "target": "com.amazonaws.deadline#AccessDeniedException" + }, + { + "target": "com.amazonaws.deadline#InternalServerErrorException" + }, + { + "target": "com.amazonaws.deadline#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.deadline#ThrottlingException" + }, + { + "target": "com.amazonaws.deadline#ValidationException" + } + ], + "traits": { + "aws.iam#conditionKeys": [], + "aws.iam#iamAction": { + "name": "ListLicenseEndpoints", + "documentation": "Grants permission to list all license endpoints" + }, + "smithy.api#documentation": "

Lists license endpoints.

", + "smithy.api#endpoint": { + "hostPrefix": "management." + }, + "smithy.api#http": { + "method": "GET", + "uri": "/2023-10-12/license-endpoints", + "code": 200 }, "smithy.api#paginated": { "inputToken": "nextToken", "outputToken": "nextToken", "pageSize": "maxResults", - "items": "jobs" + "items": "licenseEndpoints" }, "smithy.api#readonly": {} } }, - "com.amazonaws.deadline#ListJobsRequest": { + "com.amazonaws.deadline#ListLicenseEndpointsRequest": { "type": "structure", "members": { - "farmId": { - "target": "com.amazonaws.deadline#FarmId", - "traits": { - "smithy.api#documentation": "

The farm ID for the jobs.

", - "smithy.api#httpLabel": {}, - "smithy.api#required": {} - } - }, - "principalId": { - "target": "com.amazonaws.deadline#IdentityCenterPrincipalId", - "traits": { - "smithy.api#documentation": "

The principal ID of the members on the jobs.

", - "smithy.api#httpQuery": "principalId" - } - }, - "queueId": { - "target": "com.amazonaws.deadline#QueueId", - "traits": { - "smithy.api#documentation": "

The queue ID for the job.

", - "smithy.api#httpLabel": {}, - "smithy.api#required": {} - } - }, "nextToken": { "target": "com.amazonaws.deadline#String", "traits": { @@ -11850,13 +12799,13 @@ "smithy.api#input": {} } }, - "com.amazonaws.deadline#ListJobsResponse": { + "com.amazonaws.deadline#ListLicenseEndpointsResponse": { "type": "structure", "members": { - "jobs": { - "target": "com.amazonaws.deadline#JobSummaries", + "licenseEndpoints": { + "target": "com.amazonaws.deadline#LicenseEndpointSummaries", "traits": { - "smithy.api#documentation": "

The jobs on the list.

", + "smithy.api#documentation": "

The license endpoints.

", "smithy.api#required": {} } }, @@ -11871,13 +12820,13 @@ "smithy.api#output": {} } }, - "com.amazonaws.deadline#ListLicenseEndpoints": { + "com.amazonaws.deadline#ListLimits": { "type": "operation", "input": { - "target": "com.amazonaws.deadline#ListLicenseEndpointsRequest" + "target": "com.amazonaws.deadline#ListLimitsRequest" }, "output": { - "target": "com.amazonaws.deadline#ListLicenseEndpointsResponse" + "target": "com.amazonaws.deadline#ListLimitsResponse" }, "errors": [ { @@ -11897,32 +12846,40 @@ } ], "traits": { - "aws.iam#conditionKeys": [], "aws.iam#iamAction": { - "name": "ListLicenseEndpoints", - "documentation": "Grants permission to list all license endpoints" + "name": "ListLimits", + "documentation": "Grants permission to list all limits in a farm", + "requiredActions": ["identitystore:ListGroupMembershipsForMember"] }, - "smithy.api#documentation": "

Lists license endpoints.

", + "smithy.api#documentation": "

Gets a list of limits defined in the specified farm.

", "smithy.api#endpoint": { "hostPrefix": "management." }, "smithy.api#http": { "method": "GET", - "uri": "/2023-10-12/license-endpoints", + "uri": "/2023-10-12/farms/{farmId}/limits", "code": 200 }, "smithy.api#paginated": { "inputToken": "nextToken", "outputToken": "nextToken", "pageSize": "maxResults", - "items": "licenseEndpoints" + "items": "limits" }, "smithy.api#readonly": {} } }, - "com.amazonaws.deadline#ListLicenseEndpointsRequest": { + "com.amazonaws.deadline#ListLimitsRequest": { "type": "structure", "members": { + "farmId": { + "target": "com.amazonaws.deadline#FarmId", + "traits": { + "smithy.api#documentation": "

The unique identifier of the farm that contains the limits.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, "nextToken": { "target": "com.amazonaws.deadline#String", "traits": { @@ -11934,7 +12891,7 @@ "target": "com.amazonaws.deadline#MaxResults", "traits": { "smithy.api#default": 100, - "smithy.api#documentation": "

The maximum number of results to return. Use this parameter with NextToken to get results as a set of sequential pages.

", + "smithy.api#documentation": "

The maximum number of limits to return in each page of results.

", "smithy.api#httpQuery": "maxResults" } } @@ -11943,13 +12900,13 @@ "smithy.api#input": {} } }, - "com.amazonaws.deadline#ListLicenseEndpointsResponse": { + "com.amazonaws.deadline#ListLimitsResponse": { "type": "structure", "members": { - "licenseEndpoints": { - "target": "com.amazonaws.deadline#LicenseEndpointSummaries", + "limits": { + "target": "com.amazonaws.deadline#LimitSummaries", "traits": { - "smithy.api#documentation": "

The license endpoints.

", + "smithy.api#documentation": "

A list of limits that the farm contains.

", "smithy.api#required": {} } }, @@ -12387,6 +13344,126 @@ "smithy.api#output": {} } }, + "com.amazonaws.deadline#ListQueueLimitAssociations": { + "type": "operation", + "input": { + "target": "com.amazonaws.deadline#ListQueueLimitAssociationsRequest" + }, + "output": { + "target": "com.amazonaws.deadline#ListQueueLimitAssociationsResponse" + }, + "errors": [ + { + "target": "com.amazonaws.deadline#AccessDeniedException" + }, + { + "target": "com.amazonaws.deadline#InternalServerErrorException" + }, + { + "target": "com.amazonaws.deadline#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.deadline#ThrottlingException" + } + ], + "traits": { + "aws.iam#iamAction": { + "name": "ListQueueLimitAssociations", + "documentation": "Grants permission to list all queue-limit associations", + "requiredActions": ["identitystore:ListGroupMembershipsForMember"] + }, + "smithy.api#documentation": "

Gets a list of the associations between queues and limits defined in a farm.

", + "smithy.api#endpoint": { + "hostPrefix": "management." + }, + "smithy.api#http": { + "method": "GET", + "uri": "/2023-10-12/farms/{farmId}/queue-limit-associations", + "code": 200 + }, + "smithy.api#paginated": { + "inputToken": "nextToken", + "outputToken": "nextToken", + "pageSize": "maxResults", + "items": "queueLimitAssociations" + }, + "smithy.api#readonly": {} + } + }, + "com.amazonaws.deadline#ListQueueLimitAssociationsRequest": { + "type": "structure", + "members": { + "farmId": { + "target": "com.amazonaws.deadline#FarmId", + "traits": { + "smithy.api#documentation": "

The unique identifier of the farm that contains the limits and associations.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "queueId": { + "target": "com.amazonaws.deadline#QueueId", + "traits": { + "smithy.api#documentation": "

Specifies that the operation should return only the queue limit associations for the\n specified queue. If you specify both the queueId and the limitId,\n only the specified limit is returned if it exists.

", + "smithy.api#httpQuery": "queueId" + } + }, + "limitId": { + "target": "com.amazonaws.deadline#LimitId", + "traits": { + "smithy.api#documentation": "

Specifies that the operation should return only the queue limit associations for the\n specified limit. If you specify both the queueId and the limitId,\n only the specified limit is returned if it exists.

", + "smithy.api#httpQuery": "limitId" + } + }, + "nextToken": { + "target": "com.amazonaws.deadline#String", + "traits": { + "smithy.api#documentation": "

The token for the next set of results, or null to start from the beginning.

", + "smithy.api#httpQuery": "nextToken" + } + }, + "maxResults": { + "target": "com.amazonaws.deadline#MaxResults", + "traits": { + "smithy.api#default": 100, + "smithy.api#documentation": "

The maximum number of associations to return in each page of results.

", + "smithy.api#httpQuery": "maxResults" + } + } + }, + "traits": { + "smithy.api#input": {}, + "smithy.api#references": [ + { + "resource": "com.amazonaws.deadline#FarmResource" + }, + { + "resource": "com.amazonaws.deadline#QueueResource" + } + ] + } + }, + "com.amazonaws.deadline#ListQueueLimitAssociationsResponse": { + "type": "structure", + "members": { + "queueLimitAssociations": { + "target": "com.amazonaws.deadline#QueueLimitAssociationSummaries", + "traits": { + "smithy.api#documentation": "

A list of associations between limits and queues in the farm specified in the\n request.

", + "smithy.api#required": {} + } + }, + "nextToken": { + "target": "com.amazonaws.deadline#String", + "traits": { + "smithy.api#documentation": "

If Deadline Cloud returns nextToken, then there are more results available. The value of nextToken is a unique pagination token for each page. To retrieve the next page, call the operation again using the returned token. Keep all other arguments unchanged. If no results remain, then nextToken is set to null. Each pagination token expires after 24 hours. If you provide a token that isn't valid, then you receive an HTTP 400 ValidationException error.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.deadline#ListQueueMembers": { "type": "operation", "input": { @@ -14036,7 +15113,7 @@ "inputManifestHash": { "target": "com.amazonaws.deadline#String", "traits": { - "smithy.api#documentation": "

The has value of the file.

", + "smithy.api#documentation": "

The hash value of the file.

", "smithy.api#length": { "min": 1, "max": 256 @@ -14062,6 +15139,15 @@ "smithy.api#uniqueItems": {} } }, + "com.amazonaws.deadline#MaxCount": { + "type": "integer", + "traits": { + "smithy.api#range": { + "min": -1, + "max": 2147483647 + } + } + }, "com.amazonaws.deadline#MaxFailedTasksCount": { "type": "integer", "traits": { @@ -14090,6 +15176,15 @@ } } }, + "com.amazonaws.deadline#MaxWorkerCount": { + "type": "integer", + "traits": { + "smithy.api#range": { + "min": -1, + "max": 2147483647 + } + } + }, "com.amazonaws.deadline#MembershipLevel": { "type": "enum", "members": { @@ -14227,6 +15322,15 @@ "target": "com.amazonaws.deadline#MeteredProductSummary" } }, + "com.amazonaws.deadline#MinOneMaxInteger": { + "type": "integer", + "traits": { + "smithy.api#range": { + "min": 1, + "max": 2147483647 + } + } + }, "com.amazonaws.deadline#MinOneMaxTenThousand": { "type": "integer", "traits": { @@ -14875,9 +15979,100 @@ "target": "com.amazonaws.deadline#QueueId" }, "traits": { - "smithy.api#length": { - "min": 1 - } + "smithy.api#length": { + "min": 1 + } + } + }, + "com.amazonaws.deadline#QueueLimitAssociationStatus": { + "type": "enum", + "members": { + "ACTIVE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ACTIVE" + } + }, + "STOP_LIMIT_USAGE_AND_COMPLETE_TASKS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "STOP_LIMIT_USAGE_AND_COMPLETE_TASKS" + } + }, + "STOP_LIMIT_USAGE_AND_CANCEL_TASKS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "STOP_LIMIT_USAGE_AND_CANCEL_TASKS" + } + }, + "STOPPED": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "STOPPED" + } + } + } + }, + "com.amazonaws.deadline#QueueLimitAssociationSummaries": { + "type": "list", + "member": { + "target": "com.amazonaws.deadline#QueueLimitAssociationSummary" + } + }, + "com.amazonaws.deadline#QueueLimitAssociationSummary": { + "type": "structure", + "members": { + "createdAt": { + "target": "com.amazonaws.deadline#CreatedAt", + "traits": { + "smithy.api#documentation": "

The Unix timestamp of the date and time that the association was created.

", + "smithy.api#required": {} + } + }, + "createdBy": { + "target": "com.amazonaws.deadline#CreatedBy", + "traits": { + "smithy.api#documentation": "

The user identifier of the person that created the association.

", + "smithy.api#required": {} + } + }, + "updatedAt": { + "target": "com.amazonaws.deadline#UpdatedAt", + "traits": { + "smithy.api#documentation": "

The Unix timestamp of the date and time that the association was last updated.

" + } + }, + "updatedBy": { + "target": "com.amazonaws.deadline#UpdatedBy", + "traits": { + "smithy.api#documentation": "

The user identifier of the person that updated the association.

" + } + }, + "queueId": { + "target": "com.amazonaws.deadline#QueueId", + "traits": { + "smithy.api#documentation": "

The unique identifier of the queue in the association.

", + "smithy.api#required": {} + } + }, + "limitId": { + "target": "com.amazonaws.deadline#LimitId", + "traits": { + "smithy.api#documentation": "

The unique identifier of the limit in the association.

", + "smithy.api#required": {} + } + }, + "status": { + "target": "com.amazonaws.deadline#QueueLimitAssociationStatus", + "traits": { + "smithy.api#documentation": "

The status of task scheduling in the queue-limit association.

\n
    \n
  • \n

    \n ACTIVE - Association is active.

    \n
  • \n
  • \n

    \n STOP_LIMIT_USAGE_AND_COMPLETE_TASKS - Association has stopped\n scheduling new tasks and is completing current tasks.

    \n
  • \n
  • \n

    \n STOP_LIMIT_USAGE_AND_CANCEL_TASKS - Association has stopped\n scheduling new tasks and is canceling current tasks.

    \n
  • \n
  • \n

    \n STOPPED - Association has been stopped.

    \n
  • \n
", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

Provides information about the association between a queue and a limit.

", + "smithy.api#tags": ["concurrent_limits"] } }, "com.amazonaws.deadline#QueueMember": { @@ -16052,7 +17247,7 @@ "acceleratorCapabilities": { "target": "com.amazonaws.deadline#AcceleratorCapabilities", "traits": { - "smithy.api#documentation": "

The GPU accelerator capabilities required for the Amazon EC2 instances. If you\n include the acceleratorCapabilities property in the ServiceManagedEc2InstanceCapabilities object, all of the Amazon EC2\n instances will have at least one accelerator.

" + "smithy.api#documentation": "

Describes the GPU accelerator capabilities required for worker host instances in this\n fleet.

" } }, "allowedInstanceTypes": { @@ -18775,6 +19970,42 @@ "smithy.api#idempotencyToken": {} } }, + "targetTaskRunStatus": { + "target": "com.amazonaws.deadline#JobTargetTaskRunStatus", + "traits": { + "smithy.api#documentation": "

The task status to update the job's tasks to.

" + } + }, + "priority": { + "target": "com.amazonaws.deadline#JobPriority", + "traits": { + "smithy.api#documentation": "

The job priority to update.

" + } + }, + "maxFailedTasksCount": { + "target": "com.amazonaws.deadline#MaxFailedTasksCount", + "traits": { + "smithy.api#documentation": "

The number of task failures before the job stops running and is marked as FAILED.

" + } + }, + "maxRetriesPerTask": { + "target": "com.amazonaws.deadline#MaxRetriesPerTask", + "traits": { + "smithy.api#documentation": "

The maximum number of retries for a job.

" + } + }, + "lifecycleStatus": { + "target": "com.amazonaws.deadline#UpdateJobLifecycleStatus", + "traits": { + "smithy.api#documentation": "

The status of a job in its lifecycle. When you change the status of the job to\n ARCHIVED, the job can't be scheduled or archived.

\n \n

An archived jobs and its steps and tasks are deleted after 120 days. The job can't be\n recovered.

\n
" + } + }, + "maxWorkerCount": { + "target": "com.amazonaws.deadline#MaxWorkerCount", + "traits": { + "smithy.api#documentation": "

The maximum number of worker hosts that can concurrently process a job. When the\n maxWorkerCount is reached, no more workers will be assigned to process the\n job, even if the fleets assigned to the job's queue has available workers.

\n

You can't set the maxWorkerCount to 0. If you set it to -1, there is no\n maximum number of workers.

\n

If you don't specify the maxWorkerCount, the default is -1.

\n

The maximum number of workers that can process tasks in the job.

" + } + }, "farmId": { "target": "com.amazonaws.deadline#FarmId", "traits": { @@ -18798,35 +20029,97 @@ "smithy.api#httpLabel": {}, "smithy.api#required": {} } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.deadline#UpdateJobResponse": { + "type": "structure", + "members": {}, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.deadline#UpdateLimit": { + "type": "operation", + "input": { + "target": "com.amazonaws.deadline#UpdateLimitRequest" + }, + "output": { + "target": "com.amazonaws.deadline#UpdateLimitResponse" + }, + "errors": [ + { + "target": "com.amazonaws.deadline#AccessDeniedException" }, - "targetTaskRunStatus": { - "target": "com.amazonaws.deadline#JobTargetTaskRunStatus", + { + "target": "com.amazonaws.deadline#InternalServerErrorException" + }, + { + "target": "com.amazonaws.deadline#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.deadline#ThrottlingException" + }, + { + "target": "com.amazonaws.deadline#ValidationException" + } + ], + "traits": { + "aws.iam#iamAction": { + "name": "UpdateLimit", + "documentation": "Grants permission to update a limit for a farm", + "requiredActions": ["identitystore:ListGroupMembershipsForMember"] + }, + "smithy.api#documentation": "

Updates the properties of the specified limit.

", + "smithy.api#endpoint": { + "hostPrefix": "management." + }, + "smithy.api#http": { + "method": "PATCH", + "uri": "/2023-10-12/farms/{farmId}/limits/{limitId}", + "code": 200 + }, + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.deadline#UpdateLimitRequest": { + "type": "structure", + "members": { + "farmId": { + "target": "com.amazonaws.deadline#FarmId", "traits": { - "smithy.api#documentation": "

The task status to update the job's tasks to.

" + "smithy.api#documentation": "

The unique identifier of the farm that contains the limit.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} } }, - "priority": { - "target": "com.amazonaws.deadline#JobPriority", + "limitId": { + "target": "com.amazonaws.deadline#LimitId", "traits": { - "smithy.api#documentation": "

The job priority to update.

" + "smithy.api#documentation": "

The unique identifier of the limit to update.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} } }, - "maxFailedTasksCount": { - "target": "com.amazonaws.deadline#MaxFailedTasksCount", + "displayName": { + "target": "com.amazonaws.deadline#ResourceName", "traits": { - "smithy.api#documentation": "

The number of task failures before the job stops running and is marked as FAILED.

" + "smithy.api#documentation": "

The new display name of the limit.

\n \n

This field can store any content. Escape or encode this content before displaying it on a webpage or any other system that might interpret the content of this field.

\n
" } }, - "maxRetriesPerTask": { - "target": "com.amazonaws.deadline#MaxRetriesPerTask", + "description": { + "target": "com.amazonaws.deadline#Description", "traits": { - "smithy.api#documentation": "

The maximum number of retries for a job.

" + "smithy.api#documentation": "

The new description of the limit.

\n \n

This field can store any content. Escape or encode this content before displaying it on a webpage or any other system that might interpret the content of this field.

\n
" } }, - "lifecycleStatus": { - "target": "com.amazonaws.deadline#UpdateJobLifecycleStatus", + "maxCount": { + "target": "com.amazonaws.deadline#MaxCount", "traits": { - "smithy.api#documentation": "

The status of a job in its lifecycle. When you change the status of the job to\n ARCHIVED, the job can't be scheduled or archived.

\n \n

An archived jobs and its steps and tasks are deleted after 120 days. The job can't be\n recovered.

\n
" + "smithy.api#documentation": "

The maximum number of resources constrained by this limit. When all of the resources are\n in use, steps that require the limit won't be scheduled until the resource is\n available.

\n

If more than the new maximum number is currently in use, running jobs finish but no new\n jobs are started until the number of resources in use is below the new maximum\n number.

\n

The maxCount must not be 0. If the value is -1, there is no restriction on\n the number of resources that can be acquired for this limit.

" } } }, @@ -18834,7 +20127,7 @@ "smithy.api#input": {} } }, - "com.amazonaws.deadline#UpdateJobResponse": { + "com.amazonaws.deadline#UpdateLimitResponse": { "type": "structure", "members": {}, "traits": { @@ -19196,6 +20489,126 @@ } } }, + "com.amazonaws.deadline#UpdateQueueLimitAssociation": { + "type": "operation", + "input": { + "target": "com.amazonaws.deadline#UpdateQueueLimitAssociationRequest" + }, + "output": { + "target": "com.amazonaws.deadline#UpdateQueueLimitAssociationResponse" + }, + "errors": [ + { + "target": "com.amazonaws.deadline#AccessDeniedException" + }, + { + "target": "com.amazonaws.deadline#InternalServerErrorException" + }, + { + "target": "com.amazonaws.deadline#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.deadline#ThrottlingException" + }, + { + "target": "com.amazonaws.deadline#ValidationException" + } + ], + "traits": { + "aws.iam#iamAction": { + "name": "UpdateQueueLimitAssociation", + "documentation": "Grants permission to update a queue-limit association", + "requiredActions": ["identitystore:ListGroupMembershipsForMember"] + }, + "smithy.api#documentation": "

Updates the status of the queue. If you set the status to one of the\n STOP_LIMIT_USAGE* values, there will be a delay before the status\n transitions to the STOPPED state.

", + "smithy.api#endpoint": { + "hostPrefix": "management." + }, + "smithy.api#http": { + "method": "PATCH", + "uri": "/2023-10-12/farms/{farmId}/queue-limit-associations/{queueId}/{limitId}", + "code": 200 + }, + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.deadline#UpdateQueueLimitAssociationRequest": { + "type": "structure", + "members": { + "farmId": { + "target": "com.amazonaws.deadline#FarmId", + "traits": { + "smithy.api#documentation": "

The unique identifier of the farm that contains the associated queues and limits.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "queueId": { + "target": "com.amazonaws.deadline#QueueId", + "traits": { + "smithy.api#documentation": "

The unique identifier of the queue associated to the limit.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "limitId": { + "target": "com.amazonaws.deadline#LimitId", + "traits": { + "smithy.api#documentation": "

The unique identifier of the limit associated to the queue.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "status": { + "target": "com.amazonaws.deadline#UpdateQueueLimitAssociationStatus", + "traits": { + "smithy.api#documentation": "

Sets the status of the limit. You can mark the limit active, or you can stop usage of\n the limit and either complete existing tasks or cancel any existing tasks immediately.\n

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {}, + "smithy.api#references": [ + { + "resource": "com.amazonaws.deadline#FarmResource" + }, + { + "resource": "com.amazonaws.deadline#QueueResource" + } + ] + } + }, + "com.amazonaws.deadline#UpdateQueueLimitAssociationResponse": { + "type": "structure", + "members": {}, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.deadline#UpdateQueueLimitAssociationStatus": { + "type": "enum", + "members": { + "ACTIVE": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "ACTIVE" + } + }, + "STOP_LIMIT_USAGE_AND_COMPLETE_TASKS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "STOP_LIMIT_USAGE_AND_COMPLETE_TASKS" + } + }, + "STOP_LIMIT_USAGE_AND_CANCEL_TASKS": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "STOP_LIMIT_USAGE_AND_CANCEL_TASKS" + } + } + } + }, "com.amazonaws.deadline#UpdateQueueRequest": { "type": "structure", "members": { @@ -19351,6 +20764,13 @@ "smithy.api#idempotencyToken": {} } }, + "targetLifecycleStatus": { + "target": "com.amazonaws.deadline#SessionLifecycleTargetStatus", + "traits": { + "smithy.api#documentation": "

The life cycle status to update in the session.

", + "smithy.api#required": {} + } + }, "farmId": { "target": "com.amazonaws.deadline#FarmId", "traits": { @@ -19382,13 +20802,6 @@ "smithy.api#httpLabel": {}, "smithy.api#required": {} } - }, - "targetLifecycleStatus": { - "target": "com.amazonaws.deadline#SessionLifecycleTargetStatus", - "traits": { - "smithy.api#documentation": "

The life cycle status to update in the session.

", - "smithy.api#required": {} - } } }, "traits": { @@ -19451,6 +20864,13 @@ "com.amazonaws.deadline#UpdateStepRequest": { "type": "structure", "members": { + "targetTaskRunStatus": { + "target": "com.amazonaws.deadline#StepTargetTaskRunStatus", + "traits": { + "smithy.api#documentation": "

The task status to update the step's tasks to.

", + "smithy.api#required": {} + } + }, "clientToken": { "target": "com.amazonaws.deadline#ClientToken", "traits": { @@ -19490,13 +20910,6 @@ "smithy.api#httpLabel": {}, "smithy.api#required": {} } - }, - "targetTaskRunStatus": { - "target": "com.amazonaws.deadline#StepTargetTaskRunStatus", - "traits": { - "smithy.api#documentation": "

The task status to update the step's tasks to.

", - "smithy.api#required": {} - } } }, "traits": { @@ -19673,6 +21086,13 @@ "smithy.api#idempotencyToken": {} } }, + "targetRunStatus": { + "target": "com.amazonaws.deadline#TaskTargetRunStatus", + "traits": { + "smithy.api#documentation": "

The run status with which to start the task.

", + "smithy.api#required": {} + } + }, "farmId": { "target": "com.amazonaws.deadline#FarmId", "traits": { @@ -19712,13 +21132,6 @@ "smithy.api#httpLabel": {}, "smithy.api#required": {} } - }, - "targetRunStatus": { - "target": "com.amazonaws.deadline#TaskTargetRunStatus", - "traits": { - "smithy.api#documentation": "

The run status with which to start the task.

", - "smithy.api#required": {} - } } }, "traits": {