From 71c4f39e7ec9eff783a05959db2459b053d9bef6 Mon Sep 17 00:00:00 2001 From: awstools Date: Thu, 22 Jun 2023 18:12:53 +0000 Subject: [PATCH] feat(client-sfn): Adds support for Versions and Aliases. Adds 8 operations: PublishStateMachineVersion, DeleteStateMachineVersion, ListStateMachineVersions, CreateStateMachineAlias, DescribeStateMachineAlias, UpdateStateMachineAlias, DeleteStateMachineAlias, ListStateMachineAliases --- clients/client-sfn/README.md | 64 + clients/client-sfn/src/SFN.ts | 184 + clients/client-sfn/src/SFNClient.ts | 48 + .../CreateStateMachineAliasCommand.ts | 217 ++ .../src/commands/CreateStateMachineCommand.ts | 16 +- .../DeleteStateMachineAliasCommand.ts | 181 + .../src/commands/DeleteStateMachineCommand.ts | 27 +- .../DeleteStateMachineVersionCommand.ts | 178 + .../src/commands/DescribeExecutionCommand.ts | 11 +- .../src/commands/DescribeMapRunCommand.ts | 3 +- .../DescribeStateMachineAliasCommand.ts | 193 + .../commands/DescribeStateMachineCommand.ts | 37 +- ...DescribeStateMachineForExecutionCommand.ts | 8 +- .../src/commands/GetActivityTaskCommand.ts | 2 - .../commands/GetExecutionHistoryCommand.ts | 2 + .../src/commands/ListExecutionsCommand.ts | 6 +- .../ListStateMachineAliasesCommand.ts | 193 + .../ListStateMachineVersionsCommand.ts | 177 + .../commands/ListTagsForResourceCommand.ts | 3 +- .../PublishStateMachineVersionCommand.ts | 198 + .../src/commands/StartExecutionCommand.ts | 46 +- .../src/commands/TagResourceCommand.ts | 3 +- .../src/commands/UntagResourceCommand.ts | 3 +- .../src/commands/UpdateMapRunCommand.ts | 3 +- .../UpdateStateMachineAliasCommand.ts | 205 ++ .../src/commands/UpdateStateMachineCommand.ts | 56 +- clients/client-sfn/src/commands/index.ts | 8 + .../src/endpoint/EndpointParameters.ts | 2 +- clients/client-sfn/src/endpoint/ruleset.ts | 38 +- clients/client-sfn/src/models/models_0.ts | 637 +++- .../client-sfn/src/protocols/Aws_json1_0.ts | 863 ++++- codegen/sdk-codegen/aws-models/sfn.json | 3210 ++++++++--------- 32 files changed, 5033 insertions(+), 1789 deletions(-) create mode 100644 clients/client-sfn/src/commands/CreateStateMachineAliasCommand.ts create mode 100644 clients/client-sfn/src/commands/DeleteStateMachineAliasCommand.ts create mode 100644 clients/client-sfn/src/commands/DeleteStateMachineVersionCommand.ts create mode 100644 clients/client-sfn/src/commands/DescribeStateMachineAliasCommand.ts create mode 100644 clients/client-sfn/src/commands/ListStateMachineAliasesCommand.ts create mode 100644 clients/client-sfn/src/commands/ListStateMachineVersionsCommand.ts create mode 100644 clients/client-sfn/src/commands/PublishStateMachineVersionCommand.ts create mode 100644 clients/client-sfn/src/commands/UpdateStateMachineAliasCommand.ts diff --git a/clients/client-sfn/README.md b/clients/client-sfn/README.md index 48030ca586ec..8f54b21604e7 100644 --- a/clients/client-sfn/README.md +++ b/clients/client-sfn/README.md @@ -234,6 +234,14 @@ CreateStateMachine [Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-sfn/classes/createstatemachinecommand.html) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-sfn/interfaces/createstatemachinecommandinput.html) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-sfn/interfaces/createstatemachinecommandoutput.html) + +
+ +CreateStateMachineAlias + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-sfn/classes/createstatemachinealiascommand.html) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-sfn/interfaces/createstatemachinealiascommandinput.html) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-sfn/interfaces/createstatemachinealiascommandoutput.html) +
@@ -250,6 +258,22 @@ DeleteStateMachine [Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-sfn/classes/deletestatemachinecommand.html) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-sfn/interfaces/deletestatemachinecommandinput.html) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-sfn/interfaces/deletestatemachinecommandoutput.html) +
+
+ +DeleteStateMachineAlias + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-sfn/classes/deletestatemachinealiascommand.html) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-sfn/interfaces/deletestatemachinealiascommandinput.html) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-sfn/interfaces/deletestatemachinealiascommandoutput.html) + +
+
+ +DeleteStateMachineVersion + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-sfn/classes/deletestatemachineversioncommand.html) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-sfn/interfaces/deletestatemachineversioncommandinput.html) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-sfn/interfaces/deletestatemachineversioncommandoutput.html) +
@@ -282,6 +306,14 @@ DescribeStateMachine [Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-sfn/classes/describestatemachinecommand.html) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-sfn/interfaces/describestatemachinecommandinput.html) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-sfn/interfaces/describestatemachinecommandoutput.html) +
+
+ +DescribeStateMachineAlias + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-sfn/classes/describestatemachinealiascommand.html) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-sfn/interfaces/describestatemachinealiascommandinput.html) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-sfn/interfaces/describestatemachinealiascommandoutput.html) +
@@ -330,6 +362,14 @@ ListMapRuns [Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-sfn/classes/listmaprunscommand.html) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-sfn/interfaces/listmaprunscommandinput.html) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-sfn/interfaces/listmaprunscommandoutput.html) +
+
+ +ListStateMachineAliases + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-sfn/classes/liststatemachinealiasescommand.html) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-sfn/interfaces/liststatemachinealiasescommandinput.html) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-sfn/interfaces/liststatemachinealiasescommandoutput.html) +
@@ -338,6 +378,14 @@ ListStateMachines [Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-sfn/classes/liststatemachinescommand.html) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-sfn/interfaces/liststatemachinescommandinput.html) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-sfn/interfaces/liststatemachinescommandoutput.html) +
+
+ +ListStateMachineVersions + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-sfn/classes/liststatemachineversionscommand.html) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-sfn/interfaces/liststatemachineversionscommandinput.html) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-sfn/interfaces/liststatemachineversionscommandoutput.html) +
@@ -346,6 +394,14 @@ ListTagsForResource [Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-sfn/classes/listtagsforresourcecommand.html) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-sfn/interfaces/listtagsforresourcecommandinput.html) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-sfn/interfaces/listtagsforresourcecommandoutput.html) +
+
+ +PublishStateMachineVersion + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-sfn/classes/publishstatemachineversioncommand.html) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-sfn/interfaces/publishstatemachineversioncommandinput.html) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-sfn/interfaces/publishstatemachineversioncommandoutput.html) +
@@ -427,3 +483,11 @@ UpdateStateMachine [Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-sfn/classes/updatestatemachinecommand.html) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-sfn/interfaces/updatestatemachinecommandinput.html) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-sfn/interfaces/updatestatemachinecommandoutput.html)
+
+ +UpdateStateMachineAlias + + +[Command API Reference](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-sfn/classes/updatestatemachinealiascommand.html) / [Input](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-sfn/interfaces/updatestatemachinealiascommandinput.html) / [Output](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/clients/client-sfn/interfaces/updatestatemachinealiascommandoutput.html) + +
diff --git a/clients/client-sfn/src/SFN.ts b/clients/client-sfn/src/SFN.ts index 65b8c95bba38..bb2335cdb378 100644 --- a/clients/client-sfn/src/SFN.ts +++ b/clients/client-sfn/src/SFN.ts @@ -7,6 +7,11 @@ import { CreateActivityCommandInput, CreateActivityCommandOutput, } from "./commands/CreateActivityCommand"; +import { + CreateStateMachineAliasCommand, + CreateStateMachineAliasCommandInput, + CreateStateMachineAliasCommandOutput, +} from "./commands/CreateStateMachineAliasCommand"; import { CreateStateMachineCommand, CreateStateMachineCommandInput, @@ -17,11 +22,21 @@ import { DeleteActivityCommandInput, DeleteActivityCommandOutput, } from "./commands/DeleteActivityCommand"; +import { + DeleteStateMachineAliasCommand, + DeleteStateMachineAliasCommandInput, + DeleteStateMachineAliasCommandOutput, +} from "./commands/DeleteStateMachineAliasCommand"; import { DeleteStateMachineCommand, DeleteStateMachineCommandInput, DeleteStateMachineCommandOutput, } from "./commands/DeleteStateMachineCommand"; +import { + DeleteStateMachineVersionCommand, + DeleteStateMachineVersionCommandInput, + DeleteStateMachineVersionCommandOutput, +} from "./commands/DeleteStateMachineVersionCommand"; import { DescribeActivityCommand, DescribeActivityCommandInput, @@ -37,6 +52,11 @@ import { DescribeMapRunCommandInput, DescribeMapRunCommandOutput, } from "./commands/DescribeMapRunCommand"; +import { + DescribeStateMachineAliasCommand, + DescribeStateMachineAliasCommandInput, + DescribeStateMachineAliasCommandOutput, +} from "./commands/DescribeStateMachineAliasCommand"; import { DescribeStateMachineCommand, DescribeStateMachineCommandInput, @@ -68,16 +88,31 @@ import { ListExecutionsCommandOutput, } from "./commands/ListExecutionsCommand"; import { ListMapRunsCommand, ListMapRunsCommandInput, ListMapRunsCommandOutput } from "./commands/ListMapRunsCommand"; +import { + ListStateMachineAliasesCommand, + ListStateMachineAliasesCommandInput, + ListStateMachineAliasesCommandOutput, +} from "./commands/ListStateMachineAliasesCommand"; import { ListStateMachinesCommand, ListStateMachinesCommandInput, ListStateMachinesCommandOutput, } from "./commands/ListStateMachinesCommand"; +import { + ListStateMachineVersionsCommand, + ListStateMachineVersionsCommandInput, + ListStateMachineVersionsCommandOutput, +} from "./commands/ListStateMachineVersionsCommand"; import { ListTagsForResourceCommand, ListTagsForResourceCommandInput, ListTagsForResourceCommandOutput, } from "./commands/ListTagsForResourceCommand"; +import { + PublishStateMachineVersionCommand, + PublishStateMachineVersionCommandInput, + PublishStateMachineVersionCommandOutput, +} from "./commands/PublishStateMachineVersionCommand"; import { SendTaskFailureCommand, SendTaskFailureCommandInput, @@ -119,6 +154,11 @@ import { UpdateMapRunCommandInput, UpdateMapRunCommandOutput, } from "./commands/UpdateMapRunCommand"; +import { + UpdateStateMachineAliasCommand, + UpdateStateMachineAliasCommandInput, + UpdateStateMachineAliasCommandOutput, +} from "./commands/UpdateStateMachineAliasCommand"; import { UpdateStateMachineCommand, UpdateStateMachineCommandInput, @@ -129,20 +169,27 @@ import { SFNClient, SFNClientConfig } from "./SFNClient"; const commands = { CreateActivityCommand, CreateStateMachineCommand, + CreateStateMachineAliasCommand, DeleteActivityCommand, DeleteStateMachineCommand, + DeleteStateMachineAliasCommand, + DeleteStateMachineVersionCommand, DescribeActivityCommand, DescribeExecutionCommand, DescribeMapRunCommand, DescribeStateMachineCommand, + DescribeStateMachineAliasCommand, DescribeStateMachineForExecutionCommand, GetActivityTaskCommand, GetExecutionHistoryCommand, ListActivitiesCommand, ListExecutionsCommand, ListMapRunsCommand, + ListStateMachineAliasesCommand, ListStateMachinesCommand, + ListStateMachineVersionsCommand, ListTagsForResourceCommand, + PublishStateMachineVersionCommand, SendTaskFailureCommand, SendTaskHeartbeatCommand, SendTaskSuccessCommand, @@ -153,6 +200,7 @@ const commands = { UntagResourceCommand, UpdateMapRunCommand, UpdateStateMachineCommand, + UpdateStateMachineAliasCommand, }; export interface SFN { @@ -187,6 +235,23 @@ export interface SFN { cb: (err: any, data?: CreateStateMachineCommandOutput) => void ): void; + /** + * @see {@link CreateStateMachineAliasCommand} + */ + createStateMachineAlias( + args: CreateStateMachineAliasCommandInput, + options?: __HttpHandlerOptions + ): Promise; + createStateMachineAlias( + args: CreateStateMachineAliasCommandInput, + cb: (err: any, data?: CreateStateMachineAliasCommandOutput) => void + ): void; + createStateMachineAlias( + args: CreateStateMachineAliasCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: CreateStateMachineAliasCommandOutput) => void + ): void; + /** * @see {@link DeleteActivityCommand} */ @@ -218,6 +283,40 @@ export interface SFN { cb: (err: any, data?: DeleteStateMachineCommandOutput) => void ): void; + /** + * @see {@link DeleteStateMachineAliasCommand} + */ + deleteStateMachineAlias( + args: DeleteStateMachineAliasCommandInput, + options?: __HttpHandlerOptions + ): Promise; + deleteStateMachineAlias( + args: DeleteStateMachineAliasCommandInput, + cb: (err: any, data?: DeleteStateMachineAliasCommandOutput) => void + ): void; + deleteStateMachineAlias( + args: DeleteStateMachineAliasCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DeleteStateMachineAliasCommandOutput) => void + ): void; + + /** + * @see {@link DeleteStateMachineVersionCommand} + */ + deleteStateMachineVersion( + args: DeleteStateMachineVersionCommandInput, + options?: __HttpHandlerOptions + ): Promise; + deleteStateMachineVersion( + args: DeleteStateMachineVersionCommandInput, + cb: (err: any, data?: DeleteStateMachineVersionCommandOutput) => void + ): void; + deleteStateMachineVersion( + args: DeleteStateMachineVersionCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DeleteStateMachineVersionCommandOutput) => void + ): void; + /** * @see {@link DescribeActivityCommand} */ @@ -283,6 +382,23 @@ export interface SFN { cb: (err: any, data?: DescribeStateMachineCommandOutput) => void ): void; + /** + * @see {@link DescribeStateMachineAliasCommand} + */ + describeStateMachineAlias( + args: DescribeStateMachineAliasCommandInput, + options?: __HttpHandlerOptions + ): Promise; + describeStateMachineAlias( + args: DescribeStateMachineAliasCommandInput, + cb: (err: any, data?: DescribeStateMachineAliasCommandOutput) => void + ): void; + describeStateMachineAlias( + args: DescribeStateMachineAliasCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: DescribeStateMachineAliasCommandOutput) => void + ): void; + /** * @see {@link DescribeStateMachineForExecutionCommand} */ @@ -370,6 +486,23 @@ export interface SFN { cb: (err: any, data?: ListMapRunsCommandOutput) => void ): void; + /** + * @see {@link ListStateMachineAliasesCommand} + */ + listStateMachineAliases( + args: ListStateMachineAliasesCommandInput, + options?: __HttpHandlerOptions + ): Promise; + listStateMachineAliases( + args: ListStateMachineAliasesCommandInput, + cb: (err: any, data?: ListStateMachineAliasesCommandOutput) => void + ): void; + listStateMachineAliases( + args: ListStateMachineAliasesCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: ListStateMachineAliasesCommandOutput) => void + ): void; + /** * @see {@link ListStateMachinesCommand} */ @@ -387,6 +520,23 @@ export interface SFN { cb: (err: any, data?: ListStateMachinesCommandOutput) => void ): void; + /** + * @see {@link ListStateMachineVersionsCommand} + */ + listStateMachineVersions( + args: ListStateMachineVersionsCommandInput, + options?: __HttpHandlerOptions + ): Promise; + listStateMachineVersions( + args: ListStateMachineVersionsCommandInput, + cb: (err: any, data?: ListStateMachineVersionsCommandOutput) => void + ): void; + listStateMachineVersions( + args: ListStateMachineVersionsCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: ListStateMachineVersionsCommandOutput) => void + ): void; + /** * @see {@link ListTagsForResourceCommand} */ @@ -404,6 +554,23 @@ export interface SFN { cb: (err: any, data?: ListTagsForResourceCommandOutput) => void ): void; + /** + * @see {@link PublishStateMachineVersionCommand} + */ + publishStateMachineVersion( + args: PublishStateMachineVersionCommandInput, + options?: __HttpHandlerOptions + ): Promise; + publishStateMachineVersion( + args: PublishStateMachineVersionCommandInput, + cb: (err: any, data?: PublishStateMachineVersionCommandOutput) => void + ): void; + publishStateMachineVersion( + args: PublishStateMachineVersionCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: PublishStateMachineVersionCommandOutput) => void + ): void; + /** * @see {@link SendTaskFailureCommand} */ @@ -540,6 +707,23 @@ export interface SFN { options: __HttpHandlerOptions, cb: (err: any, data?: UpdateStateMachineCommandOutput) => void ): void; + + /** + * @see {@link UpdateStateMachineAliasCommand} + */ + updateStateMachineAlias( + args: UpdateStateMachineAliasCommandInput, + options?: __HttpHandlerOptions + ): Promise; + updateStateMachineAlias( + args: UpdateStateMachineAliasCommandInput, + cb: (err: any, data?: UpdateStateMachineAliasCommandOutput) => void + ): void; + updateStateMachineAlias( + args: UpdateStateMachineAliasCommandInput, + options: __HttpHandlerOptions, + cb: (err: any, data?: UpdateStateMachineAliasCommandOutput) => void + ): void; } /** diff --git a/clients/client-sfn/src/SFNClient.ts b/clients/client-sfn/src/SFNClient.ts index b3a75456436d..6d09d723bcc9 100644 --- a/clients/client-sfn/src/SFNClient.ts +++ b/clients/client-sfn/src/SFNClient.ts @@ -52,12 +52,28 @@ import { } from "@smithy/types"; import { CreateActivityCommandInput, CreateActivityCommandOutput } from "./commands/CreateActivityCommand"; +import { + CreateStateMachineAliasCommandInput, + CreateStateMachineAliasCommandOutput, +} from "./commands/CreateStateMachineAliasCommand"; import { CreateStateMachineCommandInput, CreateStateMachineCommandOutput } from "./commands/CreateStateMachineCommand"; import { DeleteActivityCommandInput, DeleteActivityCommandOutput } from "./commands/DeleteActivityCommand"; +import { + DeleteStateMachineAliasCommandInput, + DeleteStateMachineAliasCommandOutput, +} from "./commands/DeleteStateMachineAliasCommand"; import { DeleteStateMachineCommandInput, DeleteStateMachineCommandOutput } from "./commands/DeleteStateMachineCommand"; +import { + DeleteStateMachineVersionCommandInput, + DeleteStateMachineVersionCommandOutput, +} from "./commands/DeleteStateMachineVersionCommand"; import { DescribeActivityCommandInput, DescribeActivityCommandOutput } from "./commands/DescribeActivityCommand"; import { DescribeExecutionCommandInput, DescribeExecutionCommandOutput } from "./commands/DescribeExecutionCommand"; import { DescribeMapRunCommandInput, DescribeMapRunCommandOutput } from "./commands/DescribeMapRunCommand"; +import { + DescribeStateMachineAliasCommandInput, + DescribeStateMachineAliasCommandOutput, +} from "./commands/DescribeStateMachineAliasCommand"; import { DescribeStateMachineCommandInput, DescribeStateMachineCommandOutput, @@ -74,11 +90,23 @@ import { import { ListActivitiesCommandInput, ListActivitiesCommandOutput } from "./commands/ListActivitiesCommand"; import { ListExecutionsCommandInput, ListExecutionsCommandOutput } from "./commands/ListExecutionsCommand"; import { ListMapRunsCommandInput, ListMapRunsCommandOutput } from "./commands/ListMapRunsCommand"; +import { + ListStateMachineAliasesCommandInput, + ListStateMachineAliasesCommandOutput, +} from "./commands/ListStateMachineAliasesCommand"; import { ListStateMachinesCommandInput, ListStateMachinesCommandOutput } from "./commands/ListStateMachinesCommand"; +import { + ListStateMachineVersionsCommandInput, + ListStateMachineVersionsCommandOutput, +} from "./commands/ListStateMachineVersionsCommand"; import { ListTagsForResourceCommandInput, ListTagsForResourceCommandOutput, } from "./commands/ListTagsForResourceCommand"; +import { + PublishStateMachineVersionCommandInput, + PublishStateMachineVersionCommandOutput, +} from "./commands/PublishStateMachineVersionCommand"; import { SendTaskFailureCommandInput, SendTaskFailureCommandOutput } from "./commands/SendTaskFailureCommand"; import { SendTaskHeartbeatCommandInput, SendTaskHeartbeatCommandOutput } from "./commands/SendTaskHeartbeatCommand"; import { SendTaskSuccessCommandInput, SendTaskSuccessCommandOutput } from "./commands/SendTaskSuccessCommand"; @@ -88,6 +116,10 @@ import { StopExecutionCommandInput, StopExecutionCommandOutput } from "./command import { TagResourceCommandInput, TagResourceCommandOutput } from "./commands/TagResourceCommand"; import { UntagResourceCommandInput, UntagResourceCommandOutput } from "./commands/UntagResourceCommand"; import { UpdateMapRunCommandInput, UpdateMapRunCommandOutput } from "./commands/UpdateMapRunCommand"; +import { + UpdateStateMachineAliasCommandInput, + UpdateStateMachineAliasCommandOutput, +} from "./commands/UpdateStateMachineAliasCommand"; import { UpdateStateMachineCommandInput, UpdateStateMachineCommandOutput } from "./commands/UpdateStateMachineCommand"; import { ClientInputEndpointParameters, @@ -104,12 +136,16 @@ export { __Client }; */ export type ServiceInputTypes = | CreateActivityCommandInput + | CreateStateMachineAliasCommandInput | CreateStateMachineCommandInput | DeleteActivityCommandInput + | DeleteStateMachineAliasCommandInput | DeleteStateMachineCommandInput + | DeleteStateMachineVersionCommandInput | DescribeActivityCommandInput | DescribeExecutionCommandInput | DescribeMapRunCommandInput + | DescribeStateMachineAliasCommandInput | DescribeStateMachineCommandInput | DescribeStateMachineForExecutionCommandInput | GetActivityTaskCommandInput @@ -117,8 +153,11 @@ export type ServiceInputTypes = | ListActivitiesCommandInput | ListExecutionsCommandInput | ListMapRunsCommandInput + | ListStateMachineAliasesCommandInput + | ListStateMachineVersionsCommandInput | ListStateMachinesCommandInput | ListTagsForResourceCommandInput + | PublishStateMachineVersionCommandInput | SendTaskFailureCommandInput | SendTaskHeartbeatCommandInput | SendTaskSuccessCommandInput @@ -128,6 +167,7 @@ export type ServiceInputTypes = | TagResourceCommandInput | UntagResourceCommandInput | UpdateMapRunCommandInput + | UpdateStateMachineAliasCommandInput | UpdateStateMachineCommandInput; /** @@ -135,12 +175,16 @@ export type ServiceInputTypes = */ export type ServiceOutputTypes = | CreateActivityCommandOutput + | CreateStateMachineAliasCommandOutput | CreateStateMachineCommandOutput | DeleteActivityCommandOutput + | DeleteStateMachineAliasCommandOutput | DeleteStateMachineCommandOutput + | DeleteStateMachineVersionCommandOutput | DescribeActivityCommandOutput | DescribeExecutionCommandOutput | DescribeMapRunCommandOutput + | DescribeStateMachineAliasCommandOutput | DescribeStateMachineCommandOutput | DescribeStateMachineForExecutionCommandOutput | GetActivityTaskCommandOutput @@ -148,8 +192,11 @@ export type ServiceOutputTypes = | ListActivitiesCommandOutput | ListExecutionsCommandOutput | ListMapRunsCommandOutput + | ListStateMachineAliasesCommandOutput + | ListStateMachineVersionsCommandOutput | ListStateMachinesCommandOutput | ListTagsForResourceCommandOutput + | PublishStateMachineVersionCommandOutput | SendTaskFailureCommandOutput | SendTaskHeartbeatCommandOutput | SendTaskSuccessCommandOutput @@ -159,6 +206,7 @@ export type ServiceOutputTypes = | TagResourceCommandOutput | UntagResourceCommandOutput | UpdateMapRunCommandOutput + | UpdateStateMachineAliasCommandOutput | UpdateStateMachineCommandOutput; /** diff --git a/clients/client-sfn/src/commands/CreateStateMachineAliasCommand.ts b/clients/client-sfn/src/commands/CreateStateMachineAliasCommand.ts new file mode 100644 index 000000000000..a8505fc682d3 --- /dev/null +++ b/clients/client-sfn/src/commands/CreateStateMachineAliasCommand.ts @@ -0,0 +1,217 @@ +// smithy-typescript generated code +import { EndpointParameterInstructions, getEndpointPlugin } from "@aws-sdk/middleware-endpoint"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + MiddlewareStack, +} from "@aws-sdk/types"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@smithy/protocol-http"; +import { SerdeContext as __SerdeContext } from "@smithy/types"; + +import { + CreateStateMachineAliasInput, + CreateStateMachineAliasInputFilterSensitiveLog, + CreateStateMachineAliasOutput, +} from "../models/models_0"; +import { de_CreateStateMachineAliasCommand, se_CreateStateMachineAliasCommand } from "../protocols/Aws_json1_0"; +import { ServiceInputTypes, ServiceOutputTypes, SFNClientResolvedConfig } from "../SFNClient"; + +/** + * @public + */ +export { __MetadataBearer, $Command }; +/** + * @public + * + * The input for {@link CreateStateMachineAliasCommand}. + */ +export interface CreateStateMachineAliasCommandInput extends CreateStateMachineAliasInput {} +/** + * @public + * + * The output of {@link CreateStateMachineAliasCommand}. + */ +export interface CreateStateMachineAliasCommandOutput extends CreateStateMachineAliasOutput, __MetadataBearer {} + +/** + * @public + *

Creates an alias for a state machine that points to one or two versions of the same state machine. You can set your application to call StartExecution with an alias and update the version the alias uses without changing the client's code.

+ *

You can also map an alias to split StartExecution requests between two + * versions of a state machine. To do this, add a second RoutingConfig object in the + * routingConfiguration parameter. You must also specify the percentage of + * execution run requests each version should receive in both RoutingConfig objects. + * Step Functions randomly chooses which version runs a given execution based on the + * percentage you specify.

+ *

To create an alias that points to a single version, specify a single + * RoutingConfig object with a weight set to 100.

+ *

You can create up to 100 aliases for each state machine. You must delete unused aliases using the DeleteStateMachineAlias API action.

+ *

+ * CreateStateMachineAlias is an idempotent API. Step Functions bases the + * idempotency check on the stateMachineArn, description, + * name, and routingConfiguration parameters. Requests that contain + * the same values for these parameters return a successful idempotent response without creating + * a duplicate resource.

+ *

+ * Related operations: + *

+ * + * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { SFNClient, CreateStateMachineAliasCommand } from "@aws-sdk/client-sfn"; // ES Modules import + * // const { SFNClient, CreateStateMachineAliasCommand } = require("@aws-sdk/client-sfn"); // CommonJS import + * const client = new SFNClient(config); + * const input = { // CreateStateMachineAliasInput + * description: "STRING_VALUE", + * name: "STRING_VALUE", // required + * routingConfiguration: [ // RoutingConfigurationList // required + * { // RoutingConfigurationListItem + * stateMachineVersionArn: "STRING_VALUE", // required + * weight: Number("int"), // required + * }, + * ], + * }; + * const command = new CreateStateMachineAliasCommand(input); + * const response = await client.send(command); + * // { // CreateStateMachineAliasOutput + * // stateMachineAliasArn: "STRING_VALUE", // required + * // creationDate: new Date("TIMESTAMP"), // required + * // }; + * + * ``` + * + * @param CreateStateMachineAliasCommandInput - {@link CreateStateMachineAliasCommandInput} + * @returns {@link CreateStateMachineAliasCommandOutput} + * @see {@link CreateStateMachineAliasCommandInput} for command's `input` shape. + * @see {@link CreateStateMachineAliasCommandOutput} for command's `response` shape. + * @see {@link SFNClientResolvedConfig | config} for SFNClient's `config` shape. + * + * @throws {@link ConflictException} (client fault) + *

Updating or deleting a resource can cause an inconsistent state. This error occurs when there're concurrent requests for DeleteStateMachineVersion, PublishStateMachineVersion, or UpdateStateMachine with the publish parameter set to true.

+ *

HTTP Status Code: 409

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

The provided Amazon Resource Name (ARN) is not valid.

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

The provided name is not valid.

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

Could not find the referenced resource.

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

The request would cause a service quota to be exceeded.

+ *

HTTP Status Code: 402

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

The specified state machine is being deleted.

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

The input does not satisfy the constraints specified by an Amazon Web Services service.

+ * + * @throws {@link SFNServiceException} + *

Base exception class for all service exceptions from SFN service.

+ * + */ +export class CreateStateMachineAliasCommand extends $Command< + CreateStateMachineAliasCommandInput, + CreateStateMachineAliasCommandOutput, + SFNClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + public static getEndpointParameterInstructions(): EndpointParameterInstructions { + return { + UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, + Endpoint: { type: "builtInParams", name: "endpoint" }, + Region: { type: "builtInParams", name: "region" }, + UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" }, + }; + } + + /** + * @public + */ + constructor(readonly input: CreateStateMachineAliasCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: SFNClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + this.middlewareStack.use( + getEndpointPlugin(configuration, CreateStateMachineAliasCommand.getEndpointParameterInstructions()) + ); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "SFNClient"; + const commandName = "CreateStateMachineAliasCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: CreateStateMachineAliasInputFilterSensitiveLog, + outputFilterSensitiveLog: (_: any) => _, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + /** + * @internal + */ + private serialize(input: CreateStateMachineAliasCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return se_CreateStateMachineAliasCommand(input, context); + } + + /** + * @internal + */ + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return de_CreateStateMachineAliasCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-sfn/src/commands/CreateStateMachineCommand.ts b/clients/client-sfn/src/commands/CreateStateMachineCommand.ts index 74743752bcef..311023b2db81 100644 --- a/clients/client-sfn/src/commands/CreateStateMachineCommand.ts +++ b/clients/client-sfn/src/commands/CreateStateMachineCommand.ts @@ -46,6 +46,8 @@ export interface CreateStateMachineCommandOutput extends CreateStateMachineOutpu * and so on. State machines are specified using a JSON-based, structured language. For more * information, see Amazon States * Language in the Step Functions User Guide.

+ *

If you set the publish parameter of this API action to true, it + * publishes version 1 as the first revision of the state machine.

* *

This operation is eventually consistent. The results are best effort and may not reflect very recent updates and changes.

*
@@ -54,8 +56,8 @@ export interface CreateStateMachineCommandOutput extends CreateStateMachineOutpu * CreateStateMachine is an idempotent API. Subsequent requests won’t create a * duplicate resource if it was already created. CreateStateMachine's idempotency * check is based on the state machine name, definition, - * type, LoggingConfiguration and - * TracingConfiguration. If a following request has a different + * type, LoggingConfiguration, and + * TracingConfiguration. The check is also based on the publish and versionDescription parameters. If a following request has a different * roleArn or tags, Step Functions will ignore these differences and treat * it as an idempotent request of the previous. In this case, roleArn and * tags will not be updated, even if they are different.

@@ -91,12 +93,15 @@ export interface CreateStateMachineCommandOutput extends CreateStateMachineOutpu * tracingConfiguration: { // TracingConfiguration * enabled: true || false, * }, + * publish: true || false, + * versionDescription: "STRING_VALUE", * }; * const command = new CreateStateMachineCommand(input); * const response = await client.send(command); * // { // CreateStateMachineOutput * // stateMachineArn: "STRING_VALUE", // required * // creationDate: new Date("TIMESTAMP"), // required + * // stateMachineVersionArn: "STRING_VALUE", * // }; * * ``` @@ -107,6 +112,10 @@ export interface CreateStateMachineCommandOutput extends CreateStateMachineOutpu * @see {@link CreateStateMachineCommandOutput} for command's `response` shape. * @see {@link SFNClientResolvedConfig | config} for SFNClient's `config` shape. * + * @throws {@link ConflictException} (client fault) + *

Updating or deleting a resource can cause an inconsistent state. This error occurs when there're concurrent requests for DeleteStateMachineVersion, PublishStateMachineVersion, or UpdateStateMachine with the publish parameter set to true.

+ *

HTTP Status Code: 409

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

The provided Amazon Resource Name (ARN) is not valid.

* @@ -141,6 +150,9 @@ export interface CreateStateMachineCommandOutput extends CreateStateMachineOutpu *

You've exceeded the number of tags allowed for a resource. See the Limits Topic in the * Step Functions Developer Guide.

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

The input does not satisfy the constraints specified by an Amazon Web Services service.

+ * * @throws {@link SFNServiceException} *

Base exception class for all service exceptions from SFN service.

* diff --git a/clients/client-sfn/src/commands/DeleteStateMachineAliasCommand.ts b/clients/client-sfn/src/commands/DeleteStateMachineAliasCommand.ts new file mode 100644 index 000000000000..92c876672d1e --- /dev/null +++ b/clients/client-sfn/src/commands/DeleteStateMachineAliasCommand.ts @@ -0,0 +1,181 @@ +// smithy-typescript generated code +import { EndpointParameterInstructions, getEndpointPlugin } from "@aws-sdk/middleware-endpoint"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + MiddlewareStack, +} from "@aws-sdk/types"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@smithy/protocol-http"; +import { SerdeContext as __SerdeContext } from "@smithy/types"; + +import { DeleteStateMachineAliasInput, DeleteStateMachineAliasOutput } from "../models/models_0"; +import { de_DeleteStateMachineAliasCommand, se_DeleteStateMachineAliasCommand } from "../protocols/Aws_json1_0"; +import { ServiceInputTypes, ServiceOutputTypes, SFNClientResolvedConfig } from "../SFNClient"; + +/** + * @public + */ +export { __MetadataBearer, $Command }; +/** + * @public + * + * The input for {@link DeleteStateMachineAliasCommand}. + */ +export interface DeleteStateMachineAliasCommandInput extends DeleteStateMachineAliasInput {} +/** + * @public + * + * The output of {@link DeleteStateMachineAliasCommand}. + */ +export interface DeleteStateMachineAliasCommandOutput extends DeleteStateMachineAliasOutput, __MetadataBearer {} + +/** + * @public + *

Deletes a state machine alias.

+ *

After you delete a state machine alias, you can't use it to start executions. When you + * delete a state machine alias, Step Functions doesn't delete the state machine versions + * that alias references.

+ *

+ * Related operations: + *

+ * + * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { SFNClient, DeleteStateMachineAliasCommand } from "@aws-sdk/client-sfn"; // ES Modules import + * // const { SFNClient, DeleteStateMachineAliasCommand } = require("@aws-sdk/client-sfn"); // CommonJS import + * const client = new SFNClient(config); + * const input = { // DeleteStateMachineAliasInput + * stateMachineAliasArn: "STRING_VALUE", // required + * }; + * const command = new DeleteStateMachineAliasCommand(input); + * const response = await client.send(command); + * // {}; + * + * ``` + * + * @param DeleteStateMachineAliasCommandInput - {@link DeleteStateMachineAliasCommandInput} + * @returns {@link DeleteStateMachineAliasCommandOutput} + * @see {@link DeleteStateMachineAliasCommandInput} for command's `input` shape. + * @see {@link DeleteStateMachineAliasCommandOutput} for command's `response` shape. + * @see {@link SFNClientResolvedConfig | config} for SFNClient's `config` shape. + * + * @throws {@link ConflictException} (client fault) + *

Updating or deleting a resource can cause an inconsistent state. This error occurs when there're concurrent requests for DeleteStateMachineVersion, PublishStateMachineVersion, or UpdateStateMachine with the publish parameter set to true.

+ *

HTTP Status Code: 409

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

The provided Amazon Resource Name (ARN) is not valid.

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

Could not find the referenced resource.

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

The input does not satisfy the constraints specified by an Amazon Web Services service.

+ * + * @throws {@link SFNServiceException} + *

Base exception class for all service exceptions from SFN service.

+ * + */ +export class DeleteStateMachineAliasCommand extends $Command< + DeleteStateMachineAliasCommandInput, + DeleteStateMachineAliasCommandOutput, + SFNClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + public static getEndpointParameterInstructions(): EndpointParameterInstructions { + return { + UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, + Endpoint: { type: "builtInParams", name: "endpoint" }, + Region: { type: "builtInParams", name: "region" }, + UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" }, + }; + } + + /** + * @public + */ + constructor(readonly input: DeleteStateMachineAliasCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: SFNClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + this.middlewareStack.use( + getEndpointPlugin(configuration, DeleteStateMachineAliasCommand.getEndpointParameterInstructions()) + ); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "SFNClient"; + const commandName = "DeleteStateMachineAliasCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: (_: any) => _, + outputFilterSensitiveLog: (_: any) => _, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + /** + * @internal + */ + private serialize(input: DeleteStateMachineAliasCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return se_DeleteStateMachineAliasCommand(input, context); + } + + /** + * @internal + */ + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return de_DeleteStateMachineAliasCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-sfn/src/commands/DeleteStateMachineCommand.ts b/clients/client-sfn/src/commands/DeleteStateMachineCommand.ts index 4080fe7d3cf7..43a8bcaffca8 100644 --- a/clients/client-sfn/src/commands/DeleteStateMachineCommand.ts +++ b/clients/client-sfn/src/commands/DeleteStateMachineCommand.ts @@ -38,13 +38,28 @@ export interface DeleteStateMachineCommandOutput extends DeleteStateMachineOutpu * @public *

Deletes a state machine. This is an asynchronous operation: It sets the state machine's * status to DELETING and begins the deletion process.

- * - *

If the given state machine Amazon Resource Name (ARN) is a qualified state machine ARN, it will fail with ValidationException.

- * - *

A qualified state machine ARN refers to a Distributed Map state defined within a state machine. For example, the qualified state machine ARN arn:partition:states:region:account-id:stateMachine:stateMachineName/mapStateLabel refers to a Distributed Map state with a label mapStateLabel in the state machine named stateMachineName.

- * + *

A qualified state machine ARN can either refer to a Distributed Map state defined within a state machine, a version ARN, or an alias ARN.

+ *

The following are some examples of qualified and unqualified state machine ARNs:

+ *
    + *
  • + *

    The following qualified state machine ARN refers to a Distributed Map state with a label mapStateLabel in a state machine named myStateMachine.

    + *

    + * arn:partition:states:region:account-id:stateMachine:myStateMachine/mapStateLabel + *

    + * + *

    If you provide a qualified state machine ARN that refers to a Distributed Map state, the request fails with ValidationException.

    + *
    + *
  • + *
  • + *

    The following unqualified state machine ARN refers to a state machine named myStateMachine.

    + *

    + * arn:partition:states:region:account-id:stateMachine:myStateMachine + *

    + *
  • + *
+ *

This API action also deletes all versions and aliases associated with a state machine.

* - *

For EXPRESS state machines, the deletion will happen eventually (usually + *

For EXPRESS state machines, the deletion happens eventually (usually in * less than a minute). Running executions may emit logs after DeleteStateMachine * API is called.

*
diff --git a/clients/client-sfn/src/commands/DeleteStateMachineVersionCommand.ts b/clients/client-sfn/src/commands/DeleteStateMachineVersionCommand.ts new file mode 100644 index 000000000000..909a55c21cfa --- /dev/null +++ b/clients/client-sfn/src/commands/DeleteStateMachineVersionCommand.ts @@ -0,0 +1,178 @@ +// smithy-typescript generated code +import { EndpointParameterInstructions, getEndpointPlugin } from "@aws-sdk/middleware-endpoint"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + MiddlewareStack, +} from "@aws-sdk/types"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@smithy/protocol-http"; +import { SerdeContext as __SerdeContext } from "@smithy/types"; + +import { DeleteStateMachineVersionInput, DeleteStateMachineVersionOutput } from "../models/models_0"; +import { de_DeleteStateMachineVersionCommand, se_DeleteStateMachineVersionCommand } from "../protocols/Aws_json1_0"; +import { ServiceInputTypes, ServiceOutputTypes, SFNClientResolvedConfig } from "../SFNClient"; + +/** + * @public + */ +export { __MetadataBearer, $Command }; +/** + * @public + * + * The input for {@link DeleteStateMachineVersionCommand}. + */ +export interface DeleteStateMachineVersionCommandInput extends DeleteStateMachineVersionInput {} +/** + * @public + * + * The output of {@link DeleteStateMachineVersionCommand}. + */ +export interface DeleteStateMachineVersionCommandOutput extends DeleteStateMachineVersionOutput, __MetadataBearer {} + +/** + * @public + *

Deletes a state machine version. After + * you delete a version, you can't call StartExecution using that version's ARN + * or use + * the + * version with a state machine alias.

+ * + *

Deleting a state machine version won't terminate its in-progress executions.

+ *
+ * + *

You can't delete a state machine version currently referenced by one or more aliases. Before you delete a version, you must either delete the aliases or update them to point to another state machine version.

+ *
+ *

+ * Related operations: + *

+ * + * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { SFNClient, DeleteStateMachineVersionCommand } from "@aws-sdk/client-sfn"; // ES Modules import + * // const { SFNClient, DeleteStateMachineVersionCommand } = require("@aws-sdk/client-sfn"); // CommonJS import + * const client = new SFNClient(config); + * const input = { // DeleteStateMachineVersionInput + * stateMachineVersionArn: "STRING_VALUE", // required + * }; + * const command = new DeleteStateMachineVersionCommand(input); + * const response = await client.send(command); + * // {}; + * + * ``` + * + * @param DeleteStateMachineVersionCommandInput - {@link DeleteStateMachineVersionCommandInput} + * @returns {@link DeleteStateMachineVersionCommandOutput} + * @see {@link DeleteStateMachineVersionCommandInput} for command's `input` shape. + * @see {@link DeleteStateMachineVersionCommandOutput} for command's `response` shape. + * @see {@link SFNClientResolvedConfig | config} for SFNClient's `config` shape. + * + * @throws {@link ConflictException} (client fault) + *

Updating or deleting a resource can cause an inconsistent state. This error occurs when there're concurrent requests for DeleteStateMachineVersion, PublishStateMachineVersion, or UpdateStateMachine with the publish parameter set to true.

+ *

HTTP Status Code: 409

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

The provided Amazon Resource Name (ARN) is not valid.

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

The input does not satisfy the constraints specified by an Amazon Web Services service.

+ * + * @throws {@link SFNServiceException} + *

Base exception class for all service exceptions from SFN service.

+ * + */ +export class DeleteStateMachineVersionCommand extends $Command< + DeleteStateMachineVersionCommandInput, + DeleteStateMachineVersionCommandOutput, + SFNClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + public static getEndpointParameterInstructions(): EndpointParameterInstructions { + return { + UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, + Endpoint: { type: "builtInParams", name: "endpoint" }, + Region: { type: "builtInParams", name: "region" }, + UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" }, + }; + } + + /** + * @public + */ + constructor(readonly input: DeleteStateMachineVersionCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: SFNClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + this.middlewareStack.use( + getEndpointPlugin(configuration, DeleteStateMachineVersionCommand.getEndpointParameterInstructions()) + ); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "SFNClient"; + const commandName = "DeleteStateMachineVersionCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: (_: any) => _, + outputFilterSensitiveLog: (_: any) => _, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + /** + * @internal + */ + private serialize(input: DeleteStateMachineVersionCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return se_DeleteStateMachineVersionCommand(input, context); + } + + /** + * @internal + */ + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return de_DeleteStateMachineVersionCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-sfn/src/commands/DescribeExecutionCommand.ts b/clients/client-sfn/src/commands/DescribeExecutionCommand.ts index 8175db86189e..350e0d2d9e9d 100644 --- a/clients/client-sfn/src/commands/DescribeExecutionCommand.ts +++ b/clients/client-sfn/src/commands/DescribeExecutionCommand.ts @@ -40,11 +40,16 @@ export interface DescribeExecutionCommandOutput extends DescribeExecutionOutput, /** * @public - *

Provides all information about a state machine execution, such as the state machine associated with the execution, the execution input and output, and relevant execution metadata. Use this API action to return the Map Run ARN if the execution was dispatched by a Map Run.

+ *

Provides information about a state machine execution, such as the state machine + * associated with the execution, the execution input and output, and relevant execution + * metadata. Use this API action to return the Map Run Amazon Resource Name (ARN) if the execution was + * dispatched by a Map Run.

+ *

If you specify a version or alias ARN when you call the StartExecution + * API action, DescribeExecution returns that ARN.

* *

This operation is eventually consistent. The results are best effort and may not reflect very recent updates and changes.

*
- *

This API action is not supported by EXPRESS state machine executions unless they were dispatched by a Map Run.

+ *

Executions of an EXPRESS state machinearen't supported by DescribeExecution unless a Map Run dispatched them.

* @example * Use a bare-bones client and the command you need to make an API call. * ```javascript @@ -75,6 +80,8 @@ export interface DescribeExecutionCommandOutput extends DescribeExecutionOutput, * // mapRunArn: "STRING_VALUE", * // error: "STRING_VALUE", * // cause: "STRING_VALUE", + * // stateMachineVersionArn: "STRING_VALUE", + * // stateMachineAliasArn: "STRING_VALUE", * // }; * * ``` diff --git a/clients/client-sfn/src/commands/DescribeMapRunCommand.ts b/clients/client-sfn/src/commands/DescribeMapRunCommand.ts index f1a292b82132..3c9235e3da5c 100644 --- a/clients/client-sfn/src/commands/DescribeMapRunCommand.ts +++ b/clients/client-sfn/src/commands/DescribeMapRunCommand.ts @@ -91,8 +91,7 @@ export interface DescribeMapRunCommandOutput extends DescribeMapRunOutput, __Met *

The provided Amazon Resource Name (ARN) is not valid.

* * @throws {@link ResourceNotFound} (client fault) - *

Could not find the referenced resource. Only state machine and activity ARNs are - * supported.

+ *

Could not find the referenced resource.

* * @throws {@link SFNServiceException} *

Base exception class for all service exceptions from SFN service.

diff --git a/clients/client-sfn/src/commands/DescribeStateMachineAliasCommand.ts b/clients/client-sfn/src/commands/DescribeStateMachineAliasCommand.ts new file mode 100644 index 000000000000..5ccfbbb3216b --- /dev/null +++ b/clients/client-sfn/src/commands/DescribeStateMachineAliasCommand.ts @@ -0,0 +1,193 @@ +// smithy-typescript generated code +import { EndpointParameterInstructions, getEndpointPlugin } from "@aws-sdk/middleware-endpoint"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + MiddlewareStack, +} from "@aws-sdk/types"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@smithy/protocol-http"; +import { SerdeContext as __SerdeContext } from "@smithy/types"; + +import { + DescribeStateMachineAliasInput, + DescribeStateMachineAliasOutput, + DescribeStateMachineAliasOutputFilterSensitiveLog, +} from "../models/models_0"; +import { de_DescribeStateMachineAliasCommand, se_DescribeStateMachineAliasCommand } from "../protocols/Aws_json1_0"; +import { ServiceInputTypes, ServiceOutputTypes, SFNClientResolvedConfig } from "../SFNClient"; + +/** + * @public + */ +export { __MetadataBearer, $Command }; +/** + * @public + * + * The input for {@link DescribeStateMachineAliasCommand}. + */ +export interface DescribeStateMachineAliasCommandInput extends DescribeStateMachineAliasInput {} +/** + * @public + * + * The output of {@link DescribeStateMachineAliasCommand}. + */ +export interface DescribeStateMachineAliasCommandOutput extends DescribeStateMachineAliasOutput, __MetadataBearer {} + +/** + * @public + *

Returns details about a state machine alias.

+ *

+ * Related operations: + *

+ * + * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { SFNClient, DescribeStateMachineAliasCommand } from "@aws-sdk/client-sfn"; // ES Modules import + * // const { SFNClient, DescribeStateMachineAliasCommand } = require("@aws-sdk/client-sfn"); // CommonJS import + * const client = new SFNClient(config); + * const input = { // DescribeStateMachineAliasInput + * stateMachineAliasArn: "STRING_VALUE", // required + * }; + * const command = new DescribeStateMachineAliasCommand(input); + * const response = await client.send(command); + * // { // DescribeStateMachineAliasOutput + * // stateMachineAliasArn: "STRING_VALUE", + * // name: "STRING_VALUE", + * // description: "STRING_VALUE", + * // routingConfiguration: [ // RoutingConfigurationList + * // { // RoutingConfigurationListItem + * // stateMachineVersionArn: "STRING_VALUE", // required + * // weight: Number("int"), // required + * // }, + * // ], + * // creationDate: new Date("TIMESTAMP"), + * // updateDate: new Date("TIMESTAMP"), + * // }; + * + * ``` + * + * @param DescribeStateMachineAliasCommandInput - {@link DescribeStateMachineAliasCommandInput} + * @returns {@link DescribeStateMachineAliasCommandOutput} + * @see {@link DescribeStateMachineAliasCommandInput} for command's `input` shape. + * @see {@link DescribeStateMachineAliasCommandOutput} for command's `response` shape. + * @see {@link SFNClientResolvedConfig | config} for SFNClient's `config` shape. + * + * @throws {@link InvalidArn} (client fault) + *

The provided Amazon Resource Name (ARN) is not valid.

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

Could not find the referenced resource.

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

The input does not satisfy the constraints specified by an Amazon Web Services service.

+ * + * @throws {@link SFNServiceException} + *

Base exception class for all service exceptions from SFN service.

+ * + */ +export class DescribeStateMachineAliasCommand extends $Command< + DescribeStateMachineAliasCommandInput, + DescribeStateMachineAliasCommandOutput, + SFNClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + public static getEndpointParameterInstructions(): EndpointParameterInstructions { + return { + UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, + Endpoint: { type: "builtInParams", name: "endpoint" }, + Region: { type: "builtInParams", name: "region" }, + UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" }, + }; + } + + /** + * @public + */ + constructor(readonly input: DescribeStateMachineAliasCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: SFNClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + this.middlewareStack.use( + getEndpointPlugin(configuration, DescribeStateMachineAliasCommand.getEndpointParameterInstructions()) + ); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "SFNClient"; + const commandName = "DescribeStateMachineAliasCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: (_: any) => _, + outputFilterSensitiveLog: DescribeStateMachineAliasOutputFilterSensitiveLog, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + /** + * @internal + */ + private serialize(input: DescribeStateMachineAliasCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return se_DescribeStateMachineAliasCommand(input, context); + } + + /** + * @internal + */ + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return de_DescribeStateMachineAliasCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-sfn/src/commands/DescribeStateMachineCommand.ts b/clients/client-sfn/src/commands/DescribeStateMachineCommand.ts index de30c9dafe5f..6fb00a7114fd 100644 --- a/clients/client-sfn/src/commands/DescribeStateMachineCommand.ts +++ b/clients/client-sfn/src/commands/DescribeStateMachineCommand.ts @@ -40,10 +40,37 @@ export interface DescribeStateMachineCommandOutput extends DescribeStateMachineO /** * @public - *

Provides information about a state machine's definition, its IAM role Amazon Resource Name (ARN), and configuration. If the state machine ARN is a qualified state machine ARN, the response returned includes the Map state's label.

- * - *

A qualified state machine ARN refers to a Distributed Map state defined within a state machine. For example, the qualified state machine ARN arn:partition:states:region:account-id:stateMachine:stateMachineName/mapStateLabel refers to a Distributed Map state with a label mapStateLabel in the state machine named stateMachineName.

- * + *

Provides information about a state machine's definition, its IAM role Amazon Resource Name (ARN), and configuration.

+ *

A qualified state machine ARN can either refer to a Distributed Map state defined within a state machine, a version ARN, or an alias ARN.

+ *

The following are some examples of qualified and unqualified state machine ARNs:

+ *
    + *
  • + *

    The following qualified state machine ARN refers to a Distributed Map state with a label mapStateLabel in a state machine named myStateMachine.

    + *

    + * arn:partition:states:region:account-id:stateMachine:myStateMachine/mapStateLabel + *

    + * + *

    If you provide a qualified state machine ARN that refers to a Distributed Map state, the request fails with ValidationException.

    + *
    + *
  • + *
  • + *

    The following qualified state machine ARN refers to an alias named PROD.

    + *

    + * arn::states:::stateMachine: + *

    + * + *

    If you provide a qualified state machine ARN that refers to a version ARN or an alias ARN, the request starts execution for that version or alias.

    + *
    + *
  • + *
  • + *

    The following unqualified state machine ARN refers to a state machine named myStateMachine.

    + *

    + * arn::states:::stateMachine: + *

    + *
  • + *
+ *

This API action returns the details for a state machine version if the + * stateMachineArn you specify is a state machine version ARN.

* *

This operation is eventually consistent. The results are best effort and may not reflect very recent updates and changes.

*
@@ -81,6 +108,8 @@ export interface DescribeStateMachineCommandOutput extends DescribeStateMachineO * // enabled: true || false, * // }, * // label: "STRING_VALUE", + * // revisionId: "STRING_VALUE", + * // description: "STRING_VALUE", * // }; * * ``` diff --git a/clients/client-sfn/src/commands/DescribeStateMachineForExecutionCommand.ts b/clients/client-sfn/src/commands/DescribeStateMachineForExecutionCommand.ts index e0612647005e..c659640e09a5 100644 --- a/clients/client-sfn/src/commands/DescribeStateMachineForExecutionCommand.ts +++ b/clients/client-sfn/src/commands/DescribeStateMachineForExecutionCommand.ts @@ -45,7 +45,12 @@ export interface DescribeStateMachineForExecutionCommandOutput /** * @public - *

Provides information about a state machine's definition, its execution role ARN, and configuration. If an execution was dispatched by a Map Run, the Map Run is returned in the response. Additionally, the state machine returned will be the state machine associated with the Map Run.

+ *

Provides information about a state machine's definition, its execution role ARN, and + * configuration. If a Map Run dispatched the execution, this action returns the Map Run + * Amazon Resource Name (ARN) in the response. + * The + * state machine returned is the state machine associated with the + * Map Run.

* *

This operation is eventually consistent. The results are best effort and may not reflect very recent updates and changes.

*
@@ -83,6 +88,7 @@ export interface DescribeStateMachineForExecutionCommandOutput * // }, * // mapRunArn: "STRING_VALUE", * // label: "STRING_VALUE", + * // revisionId: "STRING_VALUE", * // }; * * ``` diff --git a/clients/client-sfn/src/commands/GetActivityTaskCommand.ts b/clients/client-sfn/src/commands/GetActivityTaskCommand.ts index f5df60b9b0b5..92f3acb06e6c 100644 --- a/clients/client-sfn/src/commands/GetActivityTaskCommand.ts +++ b/clients/client-sfn/src/commands/GetActivityTaskCommand.ts @@ -46,11 +46,9 @@ export interface GetActivityTaskCommandOutput extends GetActivityTaskOutput, __M * an execution of a task of this type is needed.) The maximum time the service holds on to the * request before responding is 60 seconds. If no task is available within 60 seconds, the poll * returns a taskToken with a null string.

- * * *

This API action isn't logged in CloudTrail.

*
- * * *

Workers should set their client side socket timeout to at least 65 seconds (5 seconds * higher than the maximum time the service may hold the poll request).

diff --git a/clients/client-sfn/src/commands/GetExecutionHistoryCommand.ts b/clients/client-sfn/src/commands/GetExecutionHistoryCommand.ts index e98b9ec926f0..3bb8124e8736 100644 --- a/clients/client-sfn/src/commands/GetExecutionHistoryCommand.ts +++ b/clients/client-sfn/src/commands/GetExecutionHistoryCommand.ts @@ -163,6 +163,8 @@ export interface GetExecutionHistoryCommandOutput extends GetExecutionHistoryOut * // truncated: true || false, * // }, * // roleArn: "STRING_VALUE", + * // stateMachineAliasArn: "STRING_VALUE", + * // stateMachineVersionArn: "STRING_VALUE", * // }, * // executionSucceededEventDetails: { // ExecutionSucceededEventDetails * // output: "STRING_VALUE", diff --git a/clients/client-sfn/src/commands/ListExecutionsCommand.ts b/clients/client-sfn/src/commands/ListExecutionsCommand.ts index 2b14e244acc8..ebdf6e7b0cb0 100644 --- a/clients/client-sfn/src/commands/ListExecutionsCommand.ts +++ b/clients/client-sfn/src/commands/ListExecutionsCommand.ts @@ -37,6 +37,7 @@ export interface ListExecutionsCommandOutput extends ListExecutionsOutput, __Met /** * @public *

Lists all executions of a state machine or a Map Run. You can list all executions related to a state machine by specifying a state machine Amazon Resource Name (ARN), or those related to a Map Run by specifying a Map Run ARN.

+ *

You can also provide a state machine alias ARN or version ARN to list the executions associated with a specific alias or version.

*

Results are * sorted by time, with the most recent execution first.

*

If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. @@ -71,6 +72,8 @@ export interface ListExecutionsCommandOutput extends ListExecutionsOutput, __Met * // stopDate: new Date("TIMESTAMP"), * // mapRunArn: "STRING_VALUE", * // itemCount: Number("int"), + * // stateMachineVersionArn: "STRING_VALUE", + * // stateMachineAliasArn: "STRING_VALUE", * // }, * // ], * // nextToken: "STRING_VALUE", @@ -91,8 +94,7 @@ export interface ListExecutionsCommandOutput extends ListExecutionsOutput, __Met *

The provided token is not valid.

* * @throws {@link ResourceNotFound} (client fault) - *

Could not find the referenced resource. Only state machine and activity ARNs are - * supported.

+ *

Could not find the referenced resource.

* * @throws {@link StateMachineDoesNotExist} (client fault) *

The specified state machine does not exist.

diff --git a/clients/client-sfn/src/commands/ListStateMachineAliasesCommand.ts b/clients/client-sfn/src/commands/ListStateMachineAliasesCommand.ts new file mode 100644 index 000000000000..54b17832873c --- /dev/null +++ b/clients/client-sfn/src/commands/ListStateMachineAliasesCommand.ts @@ -0,0 +1,193 @@ +// smithy-typescript generated code +import { EndpointParameterInstructions, getEndpointPlugin } from "@aws-sdk/middleware-endpoint"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + MiddlewareStack, +} from "@aws-sdk/types"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@smithy/protocol-http"; +import { SerdeContext as __SerdeContext } from "@smithy/types"; + +import { ListStateMachineAliasesInput, ListStateMachineAliasesOutput } from "../models/models_0"; +import { de_ListStateMachineAliasesCommand, se_ListStateMachineAliasesCommand } from "../protocols/Aws_json1_0"; +import { ServiceInputTypes, ServiceOutputTypes, SFNClientResolvedConfig } from "../SFNClient"; + +/** + * @public + */ +export { __MetadataBearer, $Command }; +/** + * @public + * + * The input for {@link ListStateMachineAliasesCommand}. + */ +export interface ListStateMachineAliasesCommandInput extends ListStateMachineAliasesInput {} +/** + * @public + * + * The output of {@link ListStateMachineAliasesCommand}. + */ +export interface ListStateMachineAliasesCommandOutput extends ListStateMachineAliasesOutput, __MetadataBearer {} + +/** + * @public + *

Lists aliases for a specified state machine ARN. Results are sorted by time, with the most recently created aliases listed first.

+ *

To list aliases that reference a state machine version, you can specify the version ARN in the stateMachineArn parameter.

+ *

If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. + * Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged. Each pagination token expires after 24 hours. Using an expired pagination token will return an HTTP 400 InvalidToken error.

+ *

+ * Related operations: + *

+ * + * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { SFNClient, ListStateMachineAliasesCommand } from "@aws-sdk/client-sfn"; // ES Modules import + * // const { SFNClient, ListStateMachineAliasesCommand } = require("@aws-sdk/client-sfn"); // CommonJS import + * const client = new SFNClient(config); + * const input = { // ListStateMachineAliasesInput + * stateMachineArn: "STRING_VALUE", // required + * nextToken: "STRING_VALUE", + * maxResults: Number("int"), + * }; + * const command = new ListStateMachineAliasesCommand(input); + * const response = await client.send(command); + * // { // ListStateMachineAliasesOutput + * // stateMachineAliases: [ // StateMachineAliasList // required + * // { // StateMachineAliasListItem + * // stateMachineAliasArn: "STRING_VALUE", // required + * // creationDate: new Date("TIMESTAMP"), // required + * // }, + * // ], + * // nextToken: "STRING_VALUE", + * // }; + * + * ``` + * + * @param ListStateMachineAliasesCommandInput - {@link ListStateMachineAliasesCommandInput} + * @returns {@link ListStateMachineAliasesCommandOutput} + * @see {@link ListStateMachineAliasesCommandInput} for command's `input` shape. + * @see {@link ListStateMachineAliasesCommandOutput} for command's `response` shape. + * @see {@link SFNClientResolvedConfig | config} for SFNClient's `config` shape. + * + * @throws {@link InvalidArn} (client fault) + *

The provided Amazon Resource Name (ARN) is not valid.

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

The provided token is not valid.

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

Could not find the referenced resource.

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

The specified state machine is being deleted.

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

The specified state machine does not exist.

+ * + * @throws {@link SFNServiceException} + *

Base exception class for all service exceptions from SFN service.

+ * + */ +export class ListStateMachineAliasesCommand extends $Command< + ListStateMachineAliasesCommandInput, + ListStateMachineAliasesCommandOutput, + SFNClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + public static getEndpointParameterInstructions(): EndpointParameterInstructions { + return { + UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, + Endpoint: { type: "builtInParams", name: "endpoint" }, + Region: { type: "builtInParams", name: "region" }, + UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" }, + }; + } + + /** + * @public + */ + constructor(readonly input: ListStateMachineAliasesCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: SFNClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + this.middlewareStack.use( + getEndpointPlugin(configuration, ListStateMachineAliasesCommand.getEndpointParameterInstructions()) + ); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "SFNClient"; + const commandName = "ListStateMachineAliasesCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: (_: any) => _, + outputFilterSensitiveLog: (_: any) => _, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + /** + * @internal + */ + private serialize(input: ListStateMachineAliasesCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return se_ListStateMachineAliasesCommand(input, context); + } + + /** + * @internal + */ + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return de_ListStateMachineAliasesCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-sfn/src/commands/ListStateMachineVersionsCommand.ts b/clients/client-sfn/src/commands/ListStateMachineVersionsCommand.ts new file mode 100644 index 000000000000..c197f7a994f8 --- /dev/null +++ b/clients/client-sfn/src/commands/ListStateMachineVersionsCommand.ts @@ -0,0 +1,177 @@ +// smithy-typescript generated code +import { EndpointParameterInstructions, getEndpointPlugin } from "@aws-sdk/middleware-endpoint"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + MiddlewareStack, +} from "@aws-sdk/types"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@smithy/protocol-http"; +import { SerdeContext as __SerdeContext } from "@smithy/types"; + +import { ListStateMachineVersionsInput, ListStateMachineVersionsOutput } from "../models/models_0"; +import { de_ListStateMachineVersionsCommand, se_ListStateMachineVersionsCommand } from "../protocols/Aws_json1_0"; +import { ServiceInputTypes, ServiceOutputTypes, SFNClientResolvedConfig } from "../SFNClient"; + +/** + * @public + */ +export { __MetadataBearer, $Command }; +/** + * @public + * + * The input for {@link ListStateMachineVersionsCommand}. + */ +export interface ListStateMachineVersionsCommandInput extends ListStateMachineVersionsInput {} +/** + * @public + * + * The output of {@link ListStateMachineVersionsCommand}. + */ +export interface ListStateMachineVersionsCommandOutput extends ListStateMachineVersionsOutput, __MetadataBearer {} + +/** + * @public + *

Lists versions for the specified state machine Amazon Resource Name (ARN).

+ *

The results are sorted in descending order of the version creation time.

+ *

If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. + * Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged. Each pagination token expires after 24 hours. Using an expired pagination token will return an HTTP 400 InvalidToken error.

+ *

+ * Related operations: + *

+ * + * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { SFNClient, ListStateMachineVersionsCommand } from "@aws-sdk/client-sfn"; // ES Modules import + * // const { SFNClient, ListStateMachineVersionsCommand } = require("@aws-sdk/client-sfn"); // CommonJS import + * const client = new SFNClient(config); + * const input = { // ListStateMachineVersionsInput + * stateMachineArn: "STRING_VALUE", // required + * nextToken: "STRING_VALUE", + * maxResults: Number("int"), + * }; + * const command = new ListStateMachineVersionsCommand(input); + * const response = await client.send(command); + * // { // ListStateMachineVersionsOutput + * // stateMachineVersions: [ // StateMachineVersionList // required + * // { // StateMachineVersionListItem + * // stateMachineVersionArn: "STRING_VALUE", // required + * // creationDate: new Date("TIMESTAMP"), // required + * // }, + * // ], + * // nextToken: "STRING_VALUE", + * // }; + * + * ``` + * + * @param ListStateMachineVersionsCommandInput - {@link ListStateMachineVersionsCommandInput} + * @returns {@link ListStateMachineVersionsCommandOutput} + * @see {@link ListStateMachineVersionsCommandInput} for command's `input` shape. + * @see {@link ListStateMachineVersionsCommandOutput} for command's `response` shape. + * @see {@link SFNClientResolvedConfig | config} for SFNClient's `config` shape. + * + * @throws {@link InvalidArn} (client fault) + *

The provided Amazon Resource Name (ARN) is not valid.

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

The provided token is not valid.

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

The input does not satisfy the constraints specified by an Amazon Web Services service.

+ * + * @throws {@link SFNServiceException} + *

Base exception class for all service exceptions from SFN service.

+ * + */ +export class ListStateMachineVersionsCommand extends $Command< + ListStateMachineVersionsCommandInput, + ListStateMachineVersionsCommandOutput, + SFNClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + public static getEndpointParameterInstructions(): EndpointParameterInstructions { + return { + UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, + Endpoint: { type: "builtInParams", name: "endpoint" }, + Region: { type: "builtInParams", name: "region" }, + UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" }, + }; + } + + /** + * @public + */ + constructor(readonly input: ListStateMachineVersionsCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: SFNClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + this.middlewareStack.use( + getEndpointPlugin(configuration, ListStateMachineVersionsCommand.getEndpointParameterInstructions()) + ); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "SFNClient"; + const commandName = "ListStateMachineVersionsCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: (_: any) => _, + outputFilterSensitiveLog: (_: any) => _, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + /** + * @internal + */ + private serialize(input: ListStateMachineVersionsCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return se_ListStateMachineVersionsCommand(input, context); + } + + /** + * @internal + */ + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return de_ListStateMachineVersionsCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-sfn/src/commands/ListTagsForResourceCommand.ts b/clients/client-sfn/src/commands/ListTagsForResourceCommand.ts index 461e21410ef9..eb3741b46e84 100644 --- a/clients/client-sfn/src/commands/ListTagsForResourceCommand.ts +++ b/clients/client-sfn/src/commands/ListTagsForResourceCommand.ts @@ -70,8 +70,7 @@ export interface ListTagsForResourceCommandOutput extends ListTagsForResourceOut *

The provided Amazon Resource Name (ARN) is not valid.

* * @throws {@link ResourceNotFound} (client fault) - *

Could not find the referenced resource. Only state machine and activity ARNs are - * supported.

+ *

Could not find the referenced resource.

* * @throws {@link SFNServiceException} *

Base exception class for all service exceptions from SFN service.

diff --git a/clients/client-sfn/src/commands/PublishStateMachineVersionCommand.ts b/clients/client-sfn/src/commands/PublishStateMachineVersionCommand.ts new file mode 100644 index 000000000000..4913d7df5142 --- /dev/null +++ b/clients/client-sfn/src/commands/PublishStateMachineVersionCommand.ts @@ -0,0 +1,198 @@ +// smithy-typescript generated code +import { EndpointParameterInstructions, getEndpointPlugin } from "@aws-sdk/middleware-endpoint"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + MiddlewareStack, +} from "@aws-sdk/types"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@smithy/protocol-http"; +import { SerdeContext as __SerdeContext } from "@smithy/types"; + +import { + PublishStateMachineVersionInput, + PublishStateMachineVersionInputFilterSensitiveLog, + PublishStateMachineVersionOutput, +} from "../models/models_0"; +import { de_PublishStateMachineVersionCommand, se_PublishStateMachineVersionCommand } from "../protocols/Aws_json1_0"; +import { ServiceInputTypes, ServiceOutputTypes, SFNClientResolvedConfig } from "../SFNClient"; + +/** + * @public + */ +export { __MetadataBearer, $Command }; +/** + * @public + * + * The input for {@link PublishStateMachineVersionCommand}. + */ +export interface PublishStateMachineVersionCommandInput extends PublishStateMachineVersionInput {} +/** + * @public + * + * The output of {@link PublishStateMachineVersionCommand}. + */ +export interface PublishStateMachineVersionCommandOutput extends PublishStateMachineVersionOutput, __MetadataBearer {} + +/** + * @public + *

Creates a version from the + * current revision of a state machine. Use versions to create immutable snapshots of your state + * machine. You can start executions from versions either directly or with an alias. To create an + * alias, use CreateStateMachineAlias.

+ *

You can publish up to 1000 versions for each state machine. You must manually delete unused versions using the DeleteStateMachineVersion API action.

+ *

+ * PublishStateMachineVersion is an idempotent API. It doesn't create a + * duplicate state machine version if it already exists for the current revision. Step Functions bases PublishStateMachineVersion's idempotency check on the + * stateMachineArn, name, and revisionId parameters. + * Requests with the same parameters return a successful idempotent response. If you don't + * specify a revisionId, Step Functions checks for a previously published + * version of the state machine's current revision.

+ *

+ * Related operations: + *

+ * + * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { SFNClient, PublishStateMachineVersionCommand } from "@aws-sdk/client-sfn"; // ES Modules import + * // const { SFNClient, PublishStateMachineVersionCommand } = require("@aws-sdk/client-sfn"); // CommonJS import + * const client = new SFNClient(config); + * const input = { // PublishStateMachineVersionInput + * stateMachineArn: "STRING_VALUE", // required + * revisionId: "STRING_VALUE", + * description: "STRING_VALUE", + * }; + * const command = new PublishStateMachineVersionCommand(input); + * const response = await client.send(command); + * // { // PublishStateMachineVersionOutput + * // creationDate: new Date("TIMESTAMP"), // required + * // stateMachineVersionArn: "STRING_VALUE", // required + * // }; + * + * ``` + * + * @param PublishStateMachineVersionCommandInput - {@link PublishStateMachineVersionCommandInput} + * @returns {@link PublishStateMachineVersionCommandOutput} + * @see {@link PublishStateMachineVersionCommandInput} for command's `input` shape. + * @see {@link PublishStateMachineVersionCommandOutput} for command's `response` shape. + * @see {@link SFNClientResolvedConfig | config} for SFNClient's `config` shape. + * + * @throws {@link ConflictException} (client fault) + *

Updating or deleting a resource can cause an inconsistent state. This error occurs when there're concurrent requests for DeleteStateMachineVersion, PublishStateMachineVersion, or UpdateStateMachine with the publish parameter set to true.

+ *

HTTP Status Code: 409

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

The provided Amazon Resource Name (ARN) is not valid.

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

The request would cause a service quota to be exceeded.

+ *

HTTP Status Code: 402

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

The specified state machine is being deleted.

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

The specified state machine does not exist.

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

The input does not satisfy the constraints specified by an Amazon Web Services service.

+ * + * @throws {@link SFNServiceException} + *

Base exception class for all service exceptions from SFN service.

+ * + */ +export class PublishStateMachineVersionCommand extends $Command< + PublishStateMachineVersionCommandInput, + PublishStateMachineVersionCommandOutput, + SFNClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + public static getEndpointParameterInstructions(): EndpointParameterInstructions { + return { + UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, + Endpoint: { type: "builtInParams", name: "endpoint" }, + Region: { type: "builtInParams", name: "region" }, + UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" }, + }; + } + + /** + * @public + */ + constructor(readonly input: PublishStateMachineVersionCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: SFNClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + this.middlewareStack.use( + getEndpointPlugin(configuration, PublishStateMachineVersionCommand.getEndpointParameterInstructions()) + ); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "SFNClient"; + const commandName = "PublishStateMachineVersionCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: PublishStateMachineVersionInputFilterSensitiveLog, + outputFilterSensitiveLog: (_: any) => _, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + /** + * @internal + */ + private serialize(input: PublishStateMachineVersionCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return se_PublishStateMachineVersionCommand(input, context); + } + + /** + * @internal + */ + private deserialize( + output: __HttpResponse, + context: __SerdeContext + ): Promise { + return de_PublishStateMachineVersionCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-sfn/src/commands/StartExecutionCommand.ts b/clients/client-sfn/src/commands/StartExecutionCommand.ts index f69255bf93b7..4df1e228fa83 100644 --- a/clients/client-sfn/src/commands/StartExecutionCommand.ts +++ b/clients/client-sfn/src/commands/StartExecutionCommand.ts @@ -36,19 +36,47 @@ export interface StartExecutionCommandOutput extends StartExecutionOutput, __Met /** * @public - *

Starts a state machine execution. If the given state machine Amazon Resource Name (ARN) is a qualified state machine ARN, it will fail with ValidationException.

- * - *

A qualified state machine ARN refers to a Distributed Map state defined within a state machine. For example, the qualified state machine ARN arn:partition:states:region:account-id:stateMachine:stateMachineName/mapStateLabel refers to a Distributed Map state with a label mapStateLabel in the state machine named stateMachineName.

- * + *

Starts a state machine execution.

+ *

A qualified state machine ARN can either refer to a Distributed Map state defined within a state machine, a version ARN, or an alias ARN.

+ *

The following are some examples of qualified and unqualified state machine ARNs:

+ *
    + *
  • + *

    The following qualified state machine ARN refers to a Distributed Map state with a label mapStateLabel in a state machine named myStateMachine.

    + *

    + * arn:partition:states:region:account-id:stateMachine:myStateMachine/mapStateLabel + *

    + * + *

    If you provide a qualified state machine ARN that refers to a Distributed Map state, the request fails with ValidationException.

    + *
    + *
  • + *
  • + *

    The following qualified state machine ARN refers to an alias named PROD.

    + *

    + * arn::states:::stateMachine: + *

    + * + *

    If you provide a qualified state machine ARN that refers to a version ARN or an alias ARN, the request starts execution for that version or alias.

    + *
    + *
  • + *
  • + *

    The following unqualified state machine ARN refers to a state machine named myStateMachine.

    + *

    + * arn::states:::stateMachine: + *

    + *
  • + *
+ *

If you start an execution with an unqualified state machine ARN, Step Functions uses the latest revision of the state machine for the execution.

+ *

To start executions of a state machine version, call + * StartExecution and provide the version ARN or the ARN of an alias that points to the version.

* *

* StartExecution is idempotent for STANDARD workflows. For a - * STANDARD workflow, if StartExecution is called with the same - * name and input as a running execution, the call will succeed and return the same response as - * the original request. If the execution is closed or if the input is different, it will - * return a 400 ExecutionAlreadyExists error. Names can be reused after 90 days.

+ * STANDARD workflow, if you call StartExecution with the same name + * and input as a running execution, the call succeeds and return the same response as the + * original request. If the execution is closed or if the input is different, it returns a + * 400 ExecutionAlreadyExists error. You can reuse names after 90 days.

*

- * StartExecution is not idempotent for EXPRESS workflows.

+ * StartExecution isn't idempotent for EXPRESS workflows.

*
* @example * Use a bare-bones client and the command you need to make an API call. diff --git a/clients/client-sfn/src/commands/TagResourceCommand.ts b/clients/client-sfn/src/commands/TagResourceCommand.ts index 5ee6f04ba36a..80833d9b5c43 100644 --- a/clients/client-sfn/src/commands/TagResourceCommand.ts +++ b/clients/client-sfn/src/commands/TagResourceCommand.ts @@ -73,8 +73,7 @@ export interface TagResourceCommandOutput extends TagResourceOutput, __MetadataB *

The provided Amazon Resource Name (ARN) is not valid.

* * @throws {@link ResourceNotFound} (client fault) - *

Could not find the referenced resource. Only state machine and activity ARNs are - * supported.

+ *

Could not find the referenced resource.

* * @throws {@link TooManyTags} (client fault) *

You've exceeded the number of tags allowed for a resource. See the Limits Topic in the diff --git a/clients/client-sfn/src/commands/UntagResourceCommand.ts b/clients/client-sfn/src/commands/UntagResourceCommand.ts index 64ab99d3c403..301078363ac3 100644 --- a/clients/client-sfn/src/commands/UntagResourceCommand.ts +++ b/clients/client-sfn/src/commands/UntagResourceCommand.ts @@ -65,8 +65,7 @@ export interface UntagResourceCommandOutput extends UntagResourceOutput, __Metad *

The provided Amazon Resource Name (ARN) is not valid.

* * @throws {@link ResourceNotFound} (client fault) - *

Could not find the referenced resource. Only state machine and activity ARNs are - * supported.

+ *

Could not find the referenced resource.

* * @throws {@link SFNServiceException} *

Base exception class for all service exceptions from SFN service.

diff --git a/clients/client-sfn/src/commands/UpdateMapRunCommand.ts b/clients/client-sfn/src/commands/UpdateMapRunCommand.ts index ed6d2dce3e5a..c9487a7b9da0 100644 --- a/clients/client-sfn/src/commands/UpdateMapRunCommand.ts +++ b/clients/client-sfn/src/commands/UpdateMapRunCommand.ts @@ -65,8 +65,7 @@ export interface UpdateMapRunCommandOutput extends UpdateMapRunOutput, __Metadat *

The provided Amazon Resource Name (ARN) is not valid.

* * @throws {@link ResourceNotFound} (client fault) - *

Could not find the referenced resource. Only state machine and activity ARNs are - * supported.

+ *

Could not find the referenced resource.

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

The input does not satisfy the constraints specified by an Amazon Web Services service.

diff --git a/clients/client-sfn/src/commands/UpdateStateMachineAliasCommand.ts b/clients/client-sfn/src/commands/UpdateStateMachineAliasCommand.ts new file mode 100644 index 000000000000..932072409f8b --- /dev/null +++ b/clients/client-sfn/src/commands/UpdateStateMachineAliasCommand.ts @@ -0,0 +1,205 @@ +// smithy-typescript generated code +import { EndpointParameterInstructions, getEndpointPlugin } from "@aws-sdk/middleware-endpoint"; +import { getSerdePlugin } from "@aws-sdk/middleware-serde"; +import { Command as $Command } from "@aws-sdk/smithy-client"; +import { + FinalizeHandlerArguments, + Handler, + HandlerExecutionContext, + HttpHandlerOptions as __HttpHandlerOptions, + MetadataBearer as __MetadataBearer, + MiddlewareStack, +} from "@aws-sdk/types"; +import { HttpRequest as __HttpRequest, HttpResponse as __HttpResponse } from "@smithy/protocol-http"; +import { SerdeContext as __SerdeContext } from "@smithy/types"; + +import { + UpdateStateMachineAliasInput, + UpdateStateMachineAliasInputFilterSensitiveLog, + UpdateStateMachineAliasOutput, +} from "../models/models_0"; +import { de_UpdateStateMachineAliasCommand, se_UpdateStateMachineAliasCommand } from "../protocols/Aws_json1_0"; +import { ServiceInputTypes, ServiceOutputTypes, SFNClientResolvedConfig } from "../SFNClient"; + +/** + * @public + */ +export { __MetadataBearer, $Command }; +/** + * @public + * + * The input for {@link UpdateStateMachineAliasCommand}. + */ +export interface UpdateStateMachineAliasCommandInput extends UpdateStateMachineAliasInput {} +/** + * @public + * + * The output of {@link UpdateStateMachineAliasCommand}. + */ +export interface UpdateStateMachineAliasCommandOutput extends UpdateStateMachineAliasOutput, __MetadataBearer {} + +/** + * @public + *

Updates the configuration of an existing state machine alias by modifying its description or routingConfiguration.

+ *

You must specify at least one of the description or routingConfiguration parameters to update a state machine alias.

+ * + *

+ * UpdateStateMachineAlias is an idempotent API. Step Functions bases the + * idempotency check on the stateMachineAliasArn, description, and + * routingConfiguration parameters. Requests with the same parameters return an + * idempotent response.

+ *
+ * + *

This operation is eventually consistent. All StartExecution requests + * made within a few seconds use the latest alias configuration. Executions started immediately + * after calling UpdateStateMachineAlias may use the previous routing + * configuration.

+ *
+ *

+ * Related operations: + *

+ * + * @example + * Use a bare-bones client and the command you need to make an API call. + * ```javascript + * import { SFNClient, UpdateStateMachineAliasCommand } from "@aws-sdk/client-sfn"; // ES Modules import + * // const { SFNClient, UpdateStateMachineAliasCommand } = require("@aws-sdk/client-sfn"); // CommonJS import + * const client = new SFNClient(config); + * const input = { // UpdateStateMachineAliasInput + * stateMachineAliasArn: "STRING_VALUE", // required + * description: "STRING_VALUE", + * routingConfiguration: [ // RoutingConfigurationList + * { // RoutingConfigurationListItem + * stateMachineVersionArn: "STRING_VALUE", // required + * weight: Number("int"), // required + * }, + * ], + * }; + * const command = new UpdateStateMachineAliasCommand(input); + * const response = await client.send(command); + * // { // UpdateStateMachineAliasOutput + * // updateDate: new Date("TIMESTAMP"), // required + * // }; + * + * ``` + * + * @param UpdateStateMachineAliasCommandInput - {@link UpdateStateMachineAliasCommandInput} + * @returns {@link UpdateStateMachineAliasCommandOutput} + * @see {@link UpdateStateMachineAliasCommandInput} for command's `input` shape. + * @see {@link UpdateStateMachineAliasCommandOutput} for command's `response` shape. + * @see {@link SFNClientResolvedConfig | config} for SFNClient's `config` shape. + * + * @throws {@link ConflictException} (client fault) + *

Updating or deleting a resource can cause an inconsistent state. This error occurs when there're concurrent requests for DeleteStateMachineVersion, PublishStateMachineVersion, or UpdateStateMachine with the publish parameter set to true.

+ *

HTTP Status Code: 409

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

The provided Amazon Resource Name (ARN) is not valid.

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

Could not find the referenced resource.

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

The input does not satisfy the constraints specified by an Amazon Web Services service.

+ * + * @throws {@link SFNServiceException} + *

Base exception class for all service exceptions from SFN service.

+ * + */ +export class UpdateStateMachineAliasCommand extends $Command< + UpdateStateMachineAliasCommandInput, + UpdateStateMachineAliasCommandOutput, + SFNClientResolvedConfig +> { + // Start section: command_properties + // End section: command_properties + + public static getEndpointParameterInstructions(): EndpointParameterInstructions { + return { + UseFIPS: { type: "builtInParams", name: "useFipsEndpoint" }, + Endpoint: { type: "builtInParams", name: "endpoint" }, + Region: { type: "builtInParams", name: "region" }, + UseDualStack: { type: "builtInParams", name: "useDualstackEndpoint" }, + }; + } + + /** + * @public + */ + constructor(readonly input: UpdateStateMachineAliasCommandInput) { + // Start section: command_constructor + super(); + // End section: command_constructor + } + + /** + * @internal + */ + resolveMiddleware( + clientStack: MiddlewareStack, + configuration: SFNClientResolvedConfig, + options?: __HttpHandlerOptions + ): Handler { + this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize)); + this.middlewareStack.use( + getEndpointPlugin(configuration, UpdateStateMachineAliasCommand.getEndpointParameterInstructions()) + ); + + const stack = clientStack.concat(this.middlewareStack); + + const { logger } = configuration; + const clientName = "SFNClient"; + const commandName = "UpdateStateMachineAliasCommand"; + const handlerExecutionContext: HandlerExecutionContext = { + logger, + clientName, + commandName, + inputFilterSensitiveLog: UpdateStateMachineAliasInputFilterSensitiveLog, + outputFilterSensitiveLog: (_: any) => _, + }; + const { requestHandler } = configuration; + return stack.resolve( + (request: FinalizeHandlerArguments) => + requestHandler.handle(request.request as __HttpRequest, options || {}), + handlerExecutionContext + ); + } + + /** + * @internal + */ + private serialize(input: UpdateStateMachineAliasCommandInput, context: __SerdeContext): Promise<__HttpRequest> { + return se_UpdateStateMachineAliasCommand(input, context); + } + + /** + * @internal + */ + private deserialize(output: __HttpResponse, context: __SerdeContext): Promise { + return de_UpdateStateMachineAliasCommand(output, context); + } + + // Start section: command_body_extra + // End section: command_body_extra +} diff --git a/clients/client-sfn/src/commands/UpdateStateMachineCommand.ts b/clients/client-sfn/src/commands/UpdateStateMachineCommand.ts index 9baf7316283b..6e8f7e7bbc47 100644 --- a/clients/client-sfn/src/commands/UpdateStateMachineCommand.ts +++ b/clients/client-sfn/src/commands/UpdateStateMachineCommand.ts @@ -45,15 +45,45 @@ export interface UpdateStateMachineCommandOutput extends UpdateStateMachineOutpu * to use the previous definition and roleArn. You must include at * least one of definition or roleArn or you will receive a * MissingRequiredParameter error.

- * - *

If the given state machine Amazon Resource Name (ARN) is a qualified state machine ARN, it will fail with ValidationException.

- * *

A qualified state machine ARN refers to a Distributed Map state defined within a state machine. For example, the qualified state machine ARN arn:partition:states:region:account-id:stateMachine:stateMachineName/mapStateLabel refers to a Distributed Map state with a label mapStateLabel in the state machine named stateMachineName.

- * + *

A qualified state machine ARN can either refer to a Distributed Map state defined within a state machine, a version ARN, or an alias ARN.

+ *

The following are some examples of qualified and unqualified state machine ARNs:

+ *
    + *
  • + *

    The following qualified state machine ARN refers to a Distributed Map state with a label mapStateLabel in a state machine named myStateMachine.

    + *

    + * arn:partition:states:region:account-id:stateMachine:myStateMachine/mapStateLabel + *

    + * + *

    If you provide a qualified state machine ARN that refers to a Distributed Map state, the request fails with ValidationException.

    + *
    + *
  • + *
  • + *

    The following qualified state machine ARN refers to an alias named PROD.

    + *

    + * arn::states:::stateMachine: + *

    + * + *

    If you provide a qualified state machine ARN that refers to a version ARN or an alias ARN, the request starts execution for that version or alias.

    + *
    + *
  • + *
  • + *

    The following unqualified state machine ARN refers to a state machine named myStateMachine.

    + *

    + * arn::states:::stateMachine: + *

    + *
  • + *
+ *

After you update your state machine, you can set the publish parameter to + * true in the same action to publish a new version. This + * way, you can opt-in to strict versioning of your state machine.

* - *

All StartExecution calls within a few seconds will use the updated - * definition and roleArn. Executions started immediately after - * calling UpdateStateMachine may use the previous state machine + *

Step Functions assigns monotonically increasing integers for state machine versions, starting at version number 1.

+ *
+ * + *

All StartExecution calls within a few seconds use the updated + * definition and roleArn. Executions started immediately after you + * call UpdateStateMachine may use the previous state machine * definition and roleArn.

*
* @example @@ -80,11 +110,15 @@ export interface UpdateStateMachineCommandOutput extends UpdateStateMachineOutpu * tracingConfiguration: { // TracingConfiguration * enabled: true || false, * }, + * publish: true || false, + * versionDescription: "STRING_VALUE", * }; * const command = new UpdateStateMachineCommand(input); * const response = await client.send(command); * // { // UpdateStateMachineOutput * // updateDate: new Date("TIMESTAMP"), // required + * // revisionId: "STRING_VALUE", + * // stateMachineVersionArn: "STRING_VALUE", * // }; * * ``` @@ -95,6 +129,10 @@ export interface UpdateStateMachineCommandOutput extends UpdateStateMachineOutpu * @see {@link UpdateStateMachineCommandOutput} for command's `response` shape. * @see {@link SFNClientResolvedConfig | config} for SFNClient's `config` shape. * + * @throws {@link ConflictException} (client fault) + *

Updating or deleting a resource can cause an inconsistent state. This error occurs when there're concurrent requests for DeleteStateMachineVersion, PublishStateMachineVersion, or UpdateStateMachine with the publish parameter set to true.

+ *

HTTP Status Code: 409

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

The provided Amazon Resource Name (ARN) is not valid.

* @@ -112,6 +150,10 @@ export interface UpdateStateMachineCommandOutput extends UpdateStateMachineOutpu *

Request is missing a required parameter. This error occurs if both definition * and roleArn are not specified.

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

The request would cause a service quota to be exceeded.

+ *

HTTP Status Code: 402

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

The specified state machine is being deleted.

* diff --git a/clients/client-sfn/src/commands/index.ts b/clients/client-sfn/src/commands/index.ts index c16b304773ad..31ea0778db47 100644 --- a/clients/client-sfn/src/commands/index.ts +++ b/clients/client-sfn/src/commands/index.ts @@ -1,11 +1,15 @@ // smithy-typescript generated code export * from "./CreateActivityCommand"; +export * from "./CreateStateMachineAliasCommand"; export * from "./CreateStateMachineCommand"; export * from "./DeleteActivityCommand"; +export * from "./DeleteStateMachineAliasCommand"; export * from "./DeleteStateMachineCommand"; +export * from "./DeleteStateMachineVersionCommand"; export * from "./DescribeActivityCommand"; export * from "./DescribeExecutionCommand"; export * from "./DescribeMapRunCommand"; +export * from "./DescribeStateMachineAliasCommand"; export * from "./DescribeStateMachineCommand"; export * from "./DescribeStateMachineForExecutionCommand"; export * from "./GetActivityTaskCommand"; @@ -13,8 +17,11 @@ export * from "./GetExecutionHistoryCommand"; export * from "./ListActivitiesCommand"; export * from "./ListExecutionsCommand"; export * from "./ListMapRunsCommand"; +export * from "./ListStateMachineAliasesCommand"; +export * from "./ListStateMachineVersionsCommand"; export * from "./ListStateMachinesCommand"; export * from "./ListTagsForResourceCommand"; +export * from "./PublishStateMachineVersionCommand"; export * from "./SendTaskFailureCommand"; export * from "./SendTaskHeartbeatCommand"; export * from "./SendTaskSuccessCommand"; @@ -24,4 +31,5 @@ export * from "./StopExecutionCommand"; export * from "./TagResourceCommand"; export * from "./UntagResourceCommand"; export * from "./UpdateMapRunCommand"; +export * from "./UpdateStateMachineAliasCommand"; export * from "./UpdateStateMachineCommand"; diff --git a/clients/client-sfn/src/endpoint/EndpointParameters.ts b/clients/client-sfn/src/endpoint/EndpointParameters.ts index 6e2cc4bf635a..341af4e66d19 100644 --- a/clients/client-sfn/src/endpoint/EndpointParameters.ts +++ b/clients/client-sfn/src/endpoint/EndpointParameters.ts @@ -25,7 +25,7 @@ export const resolveClientEndpointParameters = ( }; export interface EndpointParameters extends __EndpointParameters { - Region: string; + Region?: string; UseDualStack?: boolean; UseFIPS?: boolean; Endpoint?: string; diff --git a/clients/client-sfn/src/endpoint/ruleset.ts b/clients/client-sfn/src/endpoint/ruleset.ts index 3ff65c3da6d7..3dc8bdaf4ea3 100644 --- a/clients/client-sfn/src/endpoint/ruleset.ts +++ b/clients/client-sfn/src/endpoint/ruleset.ts @@ -6,26 +6,26 @@ import { RuleSetObject } from "@aws-sdk/util-endpoints"; or see "smithy.rules#endpointRuleSet" in codegen/sdk-codegen/aws-models/sfn.json */ -const s="fn", +const r="required", +s="fn", t="argv", u="ref"; -const a=true, -b=false, -c="String", -d="PartitionResult", -e="tree", -f="error", -g="endpoint", -h={"required":true,"default":false,"type":"Boolean"}, -i={[u]:"Region"}, -j={[u]:"Endpoint"}, -k={[s]:"booleanEquals",[t]:[{[u]:"UseFIPS"},true]}, -l={[s]:"booleanEquals",[t]:[{[u]:"UseDualStack"},true]}, -m={}, -n={[s]:"booleanEquals",[t]:[true,{[s]:"getAttr",[t]:[{[u]:d},"supportsFIPS"]}]}, -o={[s]:"booleanEquals",[t]:[true,{[s]:"getAttr",[t]:[{[u]:d},"supportsDualStack"]}]}, +const a="isSet", +b="tree", +c="error", +d="endpoint", +e="PartitionResult", +f={[r]:false,"type":"String"}, +g={[r]:true,"default":false,"type":"Boolean"}, +h={[u]:"Endpoint"}, +i={[s]:"booleanEquals",[t]:[{[u]:"UseFIPS"},true]}, +j={[s]:"booleanEquals",[t]:[{[u]:"UseDualStack"},true]}, +k={}, +l={[u]:"Region"}, +m={[s]:"booleanEquals",[t]:[true,{[s]:"getAttr",[t]:[{[u]:e},"supportsFIPS"]}]}, +n={[s]:"booleanEquals",[t]:[true,{[s]:"getAttr",[t]:[{[u]:e},"supportsDualStack"]}]}, +o=[i], p=[j], -q=[k], -r=[l]; -const _data={version:"1.0",parameters:{Region:{required:a,type:c},UseDualStack:h,UseFIPS:h,Endpoint:{required:b,type:c}},rules:[{conditions:[{[s]:"aws.partition",[t]:[i],assign:d}],type:e,rules:[{conditions:[{[s]:"isSet",[t]:p},{[s]:"parseURL",[t]:p,assign:"url"}],type:e,rules:[{conditions:q,error:"Invalid Configuration: FIPS and custom endpoint are not supported",type:f},{type:e,rules:[{conditions:r,error:"Invalid Configuration: Dualstack and custom endpoint are not supported",type:f},{endpoint:{url:j,properties:m,headers:m},type:g}]}]},{conditions:[k,l],type:e,rules:[{conditions:[n,o],type:e,rules:[{endpoint:{url:"https://states-fips.{Region}.{PartitionResult#dualStackDnsSuffix}",properties:m,headers:m},type:g}]},{error:"FIPS and DualStack are enabled, but this partition does not support one or both",type:f}]},{conditions:q,type:e,rules:[{conditions:[n],type:e,rules:[{type:e,rules:[{conditions:[{[s]:"stringEquals",[t]:[i,"us-gov-west-1"]}],endpoint:{url:"https://states.us-gov-west-1.amazonaws.com",properties:m,headers:m},type:g},{endpoint:{url:"https://states-fips.{Region}.{PartitionResult#dnsSuffix}",properties:m,headers:m},type:g}]}]},{error:"FIPS is enabled but this partition does not support FIPS",type:f}]},{conditions:r,type:e,rules:[{conditions:[o],type:e,rules:[{endpoint:{url:"https://states.{Region}.{PartitionResult#dualStackDnsSuffix}",properties:m,headers:m},type:g}]},{error:"DualStack is enabled but this partition does not support DualStack",type:f}]},{endpoint:{url:"https://states.{Region}.{PartitionResult#dnsSuffix}",properties:m,headers:m},type:g}]}]}; +q=[l]; +const _data={version:"1.0",parameters:{Region:f,UseDualStack:g,UseFIPS:g,Endpoint:f},rules:[{conditions:[{[s]:a,[t]:[h]}],type:b,rules:[{conditions:o,error:"Invalid Configuration: FIPS and custom endpoint are not supported",type:c},{type:b,rules:[{conditions:p,error:"Invalid Configuration: Dualstack and custom endpoint are not supported",type:c},{endpoint:{url:h,properties:k,headers:k},type:d}]}]},{type:b,rules:[{conditions:[{[s]:a,[t]:q}],type:b,rules:[{conditions:[{[s]:"aws.partition",[t]:q,assign:e}],type:b,rules:[{conditions:[i,j],type:b,rules:[{conditions:[m,n],type:b,rules:[{type:b,rules:[{endpoint:{url:"https://states-fips.{Region}.{PartitionResult#dualStackDnsSuffix}",properties:k,headers:k},type:d}]}]},{error:"FIPS and DualStack are enabled, but this partition does not support one or both",type:c}]},{conditions:o,type:b,rules:[{conditions:[m],type:b,rules:[{type:b,rules:[{conditions:[{[s]:"stringEquals",[t]:[l,"us-gov-west-1"]}],endpoint:{url:"https://states.us-gov-west-1.amazonaws.com",properties:k,headers:k},type:d},{endpoint:{url:"https://states-fips.{Region}.{PartitionResult#dnsSuffix}",properties:k,headers:k},type:d}]}]},{error:"FIPS is enabled but this partition does not support FIPS",type:c}]},{conditions:p,type:b,rules:[{conditions:[n],type:b,rules:[{type:b,rules:[{endpoint:{url:"https://states.{Region}.{PartitionResult#dualStackDnsSuffix}",properties:k,headers:k},type:d}]}]},{error:"DualStack is enabled but this partition does not support DualStack",type:c}]},{type:b,rules:[{endpoint:{url:"https://states.{Region}.{PartitionResult#dnsSuffix}",properties:k,headers:k},type:d}]}]}]},{error:"Invalid Configuration: Missing Region",type:c}]}]}; export const ruleSet: RuleSetObject = _data; diff --git a/clients/client-sfn/src/models/models_0.ts b/clients/client-sfn/src/models/models_0.ts index 33c90b8e7331..caa12d9d4118 100644 --- a/clients/client-sfn/src/models/models_0.ts +++ b/clients/client-sfn/src/models/models_0.ts @@ -353,6 +353,27 @@ export class TooManyTags extends __BaseException { } } +/** + * @public + *

Updating or deleting a resource can cause an inconsistent state. This error occurs when there're concurrent requests for DeleteStateMachineVersion, PublishStateMachineVersion, or UpdateStateMachine with the publish parameter set to true.

+ *

HTTP Status Code: 409

+ */ +export class ConflictException extends __BaseException { + readonly name: "ConflictException" = "ConflictException"; + readonly $fault: "client" = "client"; + /** + * @internal + */ + constructor(opts: __ExceptionOptionType) { + super({ + name: "ConflictException", + $fault: "client", + ...opts, + }); + Object.setPrototypeOf(this, ConflictException.prototype); + } +} + /** * @public *

@@ -516,6 +537,16 @@ export interface CreateStateMachineInput { *

Selects whether X-Ray tracing is enabled.

*/ tracingConfiguration?: TracingConfiguration; + + /** + *

Set to true to publish the first version of the state machine during creation. The default is false.

+ */ + publish?: boolean; + + /** + *

Sets description about the state machine version. You can only set the description if the publish parameter is set to true. Otherwise, if you set versionDescription, but publish to false, this API action throws ValidationException.

+ */ + versionDescription?: string; } /** @@ -531,6 +562,11 @@ export interface CreateStateMachineOutput { *

The date the state machine is created.

*/ creationDate: Date | undefined; + + /** + *

The Amazon Resource Name (ARN) that identifies the created state machine version. If you do not set the publish parameter to true, this field returns null value.

+ */ + stateMachineVersionArn?: string; } /** @@ -696,6 +732,152 @@ export class StateMachineTypeNotSupported extends __BaseException { } } +/** + * @public + * @enum + */ +export const ValidationExceptionReason = { + API_DOES_NOT_SUPPORT_LABELED_ARNS: "API_DOES_NOT_SUPPORT_LABELED_ARNS", + CANNOT_UPDATE_COMPLETED_MAP_RUN: "CANNOT_UPDATE_COMPLETED_MAP_RUN", + INVALID_ROUTING_CONFIGURATION: "INVALID_ROUTING_CONFIGURATION", + MISSING_REQUIRED_PARAMETER: "MISSING_REQUIRED_PARAMETER", +} as const; + +/** + * @public + */ +export type ValidationExceptionReason = (typeof ValidationExceptionReason)[keyof typeof ValidationExceptionReason]; + +/** + * @public + *

The input does not satisfy the constraints specified by an Amazon Web Services service.

+ */ +export class ValidationException extends __BaseException { + readonly name: "ValidationException" = "ValidationException"; + readonly $fault: "client" = "client"; + /** + *

The input does not satisfy the constraints specified by an Amazon Web Services service.

+ */ + reason?: ValidationExceptionReason | string; + + /** + * @internal + */ + constructor(opts: __ExceptionOptionType) { + super({ + name: "ValidationException", + $fault: "client", + ...opts, + }); + Object.setPrototypeOf(this, ValidationException.prototype); + this.reason = opts.reason; + } +} + +/** + * @public + *

Contains details about the routing configuration of a state machine alias. In a routing + * configuration, you define an array of objects that specify up to two state machine versions. + * You also specify the percentage of traffic to be routed to each version.

+ */ +export interface RoutingConfigurationListItem { + /** + *

The Amazon Resource Name (ARN) that identifies one or two state machine versions defined in the routing configuration.

+ *

If you specify the ARN of a second version, it must belong to the same state machine as the first version.

+ */ + stateMachineVersionArn: string | undefined; + + /** + *

The percentage of traffic you want to route to the second state machine + * version. The sum of the weights in the routing + * configuration must be equal to 100.

+ */ + weight: number | undefined; +} + +/** + * @public + */ +export interface CreateStateMachineAliasInput { + /** + *

A description for the state machine alias.

+ */ + description?: string; + + /** + *

The name of the state machine alias.

+ *

To avoid conflict with version ARNs, don't use an integer in the name of the alias.

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

The routing configuration of a state machine alias. The routing configuration shifts + * execution traffic between two state machine versions. routingConfiguration + * contains an array of RoutingConfig objects that specify up to two state machine + * versions. Step Functions then randomly choses which version to run an execution with based + * on the weight assigned to each RoutingConfig.

+ */ + routingConfiguration: RoutingConfigurationListItem[] | undefined; +} + +/** + * @public + */ +export interface CreateStateMachineAliasOutput { + /** + *

The Amazon Resource Name (ARN) that identifies the created state machine alias.

+ */ + stateMachineAliasArn: string | undefined; + + /** + *

The date the state machine alias was created.

+ */ + creationDate: Date | undefined; +} + +/** + * @public + *

Could not find the referenced resource.

+ */ +export class ResourceNotFound extends __BaseException { + readonly name: "ResourceNotFound" = "ResourceNotFound"; + readonly $fault: "client" = "client"; + resourceName?: string; + /** + * @internal + */ + constructor(opts: __ExceptionOptionType) { + super({ + name: "ResourceNotFound", + $fault: "client", + ...opts, + }); + Object.setPrototypeOf(this, ResourceNotFound.prototype); + this.resourceName = opts.resourceName; + } +} + +/** + * @public + *

The request would cause a service quota to be exceeded.

+ *

HTTP Status Code: 402

+ */ +export class ServiceQuotaExceededException extends __BaseException { + readonly name: "ServiceQuotaExceededException" = "ServiceQuotaExceededException"; + readonly $fault: "client" = "client"; + /** + * @internal + */ + constructor(opts: __ExceptionOptionType) { + super({ + name: "ServiceQuotaExceededException", + $fault: "client", + ...opts, + }); + Object.setPrototypeOf(this, ServiceQuotaExceededException.prototype); + } +} + /** * @public */ @@ -728,45 +910,34 @@ export interface DeleteStateMachineOutput {} /** * @public - * @enum */ -export const ValidationExceptionReason = { - API_DOES_NOT_SUPPORT_LABELED_ARNS: "API_DOES_NOT_SUPPORT_LABELED_ARNS", - CANNOT_UPDATE_COMPLETED_MAP_RUN: "CANNOT_UPDATE_COMPLETED_MAP_RUN", - MISSING_REQUIRED_PARAMETER: "MISSING_REQUIRED_PARAMETER", -} as const; +export interface DeleteStateMachineAliasInput { + /** + *

The Amazon Resource Name (ARN) of the state machine alias to delete.

+ */ + stateMachineAliasArn: string | undefined; +} /** * @public */ -export type ValidationExceptionReason = (typeof ValidationExceptionReason)[keyof typeof ValidationExceptionReason]; +export interface DeleteStateMachineAliasOutput {} /** * @public - *

The input does not satisfy the constraints specified by an Amazon Web Services service.

*/ -export class ValidationException extends __BaseException { - readonly name: "ValidationException" = "ValidationException"; - readonly $fault: "client" = "client"; +export interface DeleteStateMachineVersionInput { /** - *

The input does not satisfy the constraints specified by an Amazon Web Services service.

+ *

The Amazon Resource Name (ARN) of the state machine version to delete.

*/ - reason?: ValidationExceptionReason | string; - - /** - * @internal - */ - constructor(opts: __ExceptionOptionType) { - super({ - name: "ValidationException", - $fault: "client", - ...opts, - }); - Object.setPrototypeOf(this, ValidationException.prototype); - this.reason = opts.reason; - } + stateMachineVersionArn: string | undefined; } +/** + * @public + */ +export interface DeleteStateMachineVersionOutput {} + /** * @public */ @@ -910,7 +1081,7 @@ export interface DescribeExecutionOutput { startDate: Date | undefined; /** - *

If the execution has already ended, the date the execution stopped.

+ *

If the execution ended, the date the execution stopped.

*/ stopDate?: Date; @@ -957,6 +1128,20 @@ export interface DescribeExecutionOutput { *

The cause string if the state machine execution failed.

*/ cause?: string; + + /** + *

The Amazon Resource Name (ARN) of the state machine version associated with the execution. The version ARN is a combination of state machine ARN and the version number separated by a colon (:). For example, stateMachineARN:1.

+ *

If you start an execution from a StartExecution request without specifying a + * state machine version or alias ARN, Step Functions returns a null value.

+ */ + stateMachineVersionArn?: string; + + /** + *

The Amazon Resource Name (ARN) of the state machine alias associated with the execution. The alias ARN is a combination of state machine ARN and the alias name separated by a colon (:). For example, stateMachineARN:PROD.

+ *

If you start an execution from a StartExecution request with a + * state machine version ARN, this field will be null.

+ */ + stateMachineAliasArn?: string; } /** @@ -1152,35 +1337,13 @@ export interface DescribeMapRunOutput { executionCounts: MapRunExecutionCounts | undefined; } -/** - * @public - *

Could not find the referenced resource. Only state machine and activity ARNs are - * supported.

- */ -export class ResourceNotFound extends __BaseException { - readonly name: "ResourceNotFound" = "ResourceNotFound"; - readonly $fault: "client" = "client"; - resourceName?: string; - /** - * @internal - */ - constructor(opts: __ExceptionOptionType) { - super({ - name: "ResourceNotFound", - $fault: "client", - ...opts, - }); - Object.setPrototypeOf(this, ResourceNotFound.prototype); - this.resourceName = opts.resourceName; - } -} - /** * @public */ export interface DescribeStateMachineInput { /** - *

The Amazon Resource Name (ARN) of the state machine to describe.

+ *

The Amazon Resource Name (ARN) of the state machine for which you want the information.

+ *

If you specify a state machine version ARN, this API returns details about that version. The version ARN is a combination of state machine ARN and the version number separated by a colon (:). For example, stateMachineARN:1.

*/ stateMachineArn: string | undefined; } @@ -1205,6 +1368,7 @@ export type StateMachineStatus = (typeof StateMachineStatus)[keyof typeof StateM export interface DescribeStateMachineOutput { /** *

The Amazon Resource Name (ARN) that identifies the state machine.

+ *

If you specified a state machine version ARN in your request, the API returns the version ARN. The version ARN is a combination of state machine ARN and the version number separated by a colon (:). For example, stateMachineARN:1.

*/ stateMachineArn: string | undefined; @@ -1259,6 +1423,7 @@ export interface DescribeStateMachineOutput { /** *

The date the state machine is created.

+ *

For a state machine version, creationDate is the date the version was created.

*/ creationDate: Date | undefined; @@ -1277,6 +1442,19 @@ export interface DescribeStateMachineOutput { *

A user-defined or an auto-generated string that identifies a Map state. This parameter is present only if the stateMachineArn specified in input is a qualified state machine ARN.

*/ label?: string; + + /** + *

The revision identifier for the state machine.

+ *

Use the revisionId parameter to compare between versions of a state machine + * configuration used for executions without performing a diff of the properties, such as + * definition and roleArn.

+ */ + revisionId?: string; + + /** + *

The description of the state machine version.

+ */ + description?: string; } /** @@ -1299,6 +1477,52 @@ export class StateMachineDoesNotExist extends __BaseException { } } +/** + * @public + */ +export interface DescribeStateMachineAliasInput { + /** + *

The Amazon Resource Name (ARN) of the state machine alias.

+ */ + stateMachineAliasArn: string | undefined; +} + +/** + * @public + */ +export interface DescribeStateMachineAliasOutput { + /** + *

The Amazon Resource Name (ARN) of the state machine alias.

+ */ + stateMachineAliasArn?: string; + + /** + *

The name of the state machine alias.

+ */ + name?: string; + + /** + *

A description of the alias.

+ */ + description?: string; + + /** + *

The routing configuration of the alias.

+ */ + routingConfiguration?: RoutingConfigurationListItem[]; + + /** + *

The date the state machine alias was created.

+ */ + creationDate?: Date; + + /** + *

The date the state machine alias was last updated.

+ *

For a newly created state machine, this is the same as the creation date.

+ */ + updateDate?: Date; +} + /** * @public */ @@ -1359,6 +1583,12 @@ export interface DescribeStateMachineForExecutionOutput { *

A user-defined or an auto-generated string that identifies a Map state. This field is returned only if the executionArn is a child workflow execution that was started by a Distributed Map state.

*/ label?: string; + + /** + *

The revision identifier for the state machine. The first revision ID when you create the state machine is null.

+ *

Use the state machine revisionId parameter to compare the revision of a state machine with the configuration of the state machine used for executions without performing a diff of the properties, such as definition and roleArn.

+ */ + revisionId?: string; } /** @@ -1481,6 +1711,16 @@ export interface ExecutionStartedEventDetails { *

The Amazon Resource Name (ARN) of the IAM role used for executing Lambda tasks.

*/ roleArn?: string; + + /** + *

The Amazon Resource Name (ARN) that identifies a state machine alias used for starting the state machine execution.

+ */ + stateMachineAliasArn?: string; + + /** + *

The Amazon Resource Name (ARN) that identifies a state machine version used for starting the state machine execution.

+ */ + stateMachineVersionArn?: string; } /** @@ -2319,6 +2559,7 @@ export interface ListExecutionsInput { /** *

The Amazon Resource Name (ARN) of the state machine whose executions is listed.

*

You can specify either a mapRunArn or a stateMachineArn, but not both.

+ *

You can also return a list of executions associated with a specific alias or version, by specifying an alias ARN or a version ARN in the stateMachineArn parameter.

*/ stateMachineArn?: string; @@ -2359,7 +2600,7 @@ export interface ExecutionListItem { executionArn: string | undefined; /** - *

The Amazon Resource Name (ARN) of the executed state machine.

+ *

The Amazon Resource Name (ARN) of the state machine that ran the execution.

*/ stateMachineArn: string | undefined; @@ -2414,6 +2655,19 @@ export interface ExecutionListItem { *

The total number of items processed in a child workflow execution. This field is returned only if mapRunArn was specified in the ListExecutions API action. If stateMachineArn was specified in ListExecutions, the itemCount field isn't returned.

*/ itemCount?: number; + + /** + *

The Amazon Resource Name (ARN) of the state machine version associated with the execution.

+ *

If the state machine execution was started with an unqualified ARN, it returns null.

+ *

If the execution was started using a stateMachineAliasArn, both the stateMachineAliasArn and stateMachineVersionArn parameters contain the respective values.

+ */ + stateMachineVersionArn?: string; + + /** + *

The Amazon Resource Name (ARN) of the state machine alias used to start an execution.

+ *

If the state machine execution was started with an unqualified ARN or a version ARN, it returns null.

+ */ + stateMachineAliasArn?: string; } /** @@ -2502,6 +2756,62 @@ export interface ListMapRunsOutput { nextToken?: string; } +/** + * @public + */ +export interface ListStateMachineAliasesInput { + /** + *

The Amazon Resource Name (ARN) of the state machine for which you want to list aliases.

+ *

If you specify a state machine version ARN, this API returns a list of aliases for that version.

+ */ + stateMachineArn: string | undefined; + + /** + *

If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. + * Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged. Each pagination token expires after 24 hours. Using an expired pagination token will return an HTTP 400 InvalidToken error.

+ */ + nextToken?: string; + + /** + *

The maximum number of results that are returned per call. You can use nextToken to obtain further pages of results. + * The default is 100 and the maximum allowed page size is 1000. A value of 0 uses the default.

+ *

This is only an upper limit. The actual number of results returned per call might be fewer than the specified maximum.

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

Contains details about a specific state machine alias.

+ */ +export interface StateMachineAliasListItem { + /** + *

The Amazon Resource Name (ARN) that identifies a state machine alias. The alias ARN is a combination of state machine ARN and the alias name separated by a colon (:). For example, stateMachineARN:PROD.

+ */ + stateMachineAliasArn: string | undefined; + + /** + *

The creation date of a state machine alias.

+ */ + creationDate: Date | undefined; +} + +/** + * @public + */ +export interface ListStateMachineAliasesOutput { + /** + *

Aliases for the state machine.

+ */ + stateMachineAliases: StateMachineAliasListItem[] | undefined; + + /** + *

If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. + * Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged. Each pagination token expires after 24 hours. Using an expired pagination token will return an HTTP 400 InvalidToken error.

+ */ + nextToken?: string; +} + /** * @public */ @@ -2580,6 +2890,61 @@ export interface ListStateMachinesOutput { nextToken?: string; } +/** + * @public + */ +export interface ListStateMachineVersionsInput { + /** + *

The Amazon Resource Name (ARN) of the state machine.

+ */ + stateMachineArn: string | undefined; + + /** + *

If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. + * Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged. Each pagination token expires after 24 hours. Using an expired pagination token will return an HTTP 400 InvalidToken error.

+ */ + nextToken?: string; + + /** + *

The maximum number of results that are returned per call. You can use nextToken to obtain further pages of results. + * The default is 100 and the maximum allowed page size is 1000. A value of 0 uses the default.

+ *

This is only an upper limit. The actual number of results returned per call might be fewer than the specified maximum.

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

Contains details about a specific state machine version.

+ */ +export interface StateMachineVersionListItem { + /** + *

The Amazon Resource Name (ARN) that identifies a state machine version. The version ARN is a combination of state machine ARN and the version number separated by a colon (:). For example, stateMachineARN:1.

+ */ + stateMachineVersionArn: string | undefined; + + /** + *

The creation date of a state machine version.

+ */ + creationDate: Date | undefined; +} + +/** + * @public + */ +export interface ListStateMachineVersionsOutput { + /** + *

Versions for the state machine.

+ */ + stateMachineVersions: StateMachineVersionListItem[] | undefined; + + /** + *

If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page. + * Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged. Each pagination token expires after 24 hours. Using an expired pagination token will return an HTTP 400 InvalidToken error.

+ */ + nextToken?: string; +} + /** * @public */ @@ -2600,6 +2965,50 @@ export interface ListTagsForResourceOutput { tags?: Tag[]; } +/** + * @public + */ +export interface PublishStateMachineVersionInput { + /** + *

The Amazon Resource Name (ARN) of the state machine.

+ */ + stateMachineArn: string | undefined; + + /** + *

Only publish the state machine version if the current state machine's revision ID matches the specified ID.

+ *

Use this option to avoid publishing a version if the state machine changed since you last + * updated it. If the specified revision ID doesn't match the state machine's current revision + * ID, the API returns ConflictException.

+ * + *

To specify an initial revision ID for a state machine with no revision ID assigned, + * specify the string INITIAL for the revisionId parameter. For + * example, you can specify a revisionID of INITIAL when you create a + * state machine using the CreateStateMachine API action.

+ *
+ */ + revisionId?: string; + + /** + *

An optional description of the state machine version.

+ */ + description?: string; +} + +/** + * @public + */ +export interface PublishStateMachineVersionOutput { + /** + *

The date the version was created.

+ */ + creationDate: Date | undefined; + + /** + *

The Amazon Resource Name (ARN) (ARN) that identifies the state machine version.

+ */ + stateMachineVersionArn: string | undefined; +} + /** * @public */ @@ -2796,11 +3205,41 @@ export class InvalidExecutionInput extends __BaseException { export interface StartExecutionInput { /** *

The Amazon Resource Name (ARN) of the state machine to execute.

+ *

The stateMachineArn parameter accepts one of the following inputs:

+ *
    + *
  • + *

    + * An unqualified state machine ARN – Refers to a state machine ARN that isn't qualified with a version or alias ARN. The following is an example of an unqualified state machine ARN.

    + *

    + * arn::states:::stateMachine: + *

    + *

    Step Functions doesn't associate state machine executions that you start with an unqualified ARN with a version. This is true even if that version uses the same revision that the execution used.

    + *
  • + *
  • + *

    + * A state machine version ARN – Refers to a version ARN, which is a combination of state machine ARN and the version number separated by a colon (:). The following is an example of the ARN for version 10.

    + *

    + * arn::states:::stateMachine::10 + *

    + *

    Step Functions doesn't associate executions that you start with a version ARN with any aliases that point to that version.

    + *
  • + *
  • + *

    + * A state machine alias ARN – Refers to an alias ARN, which is a combination of state machine ARN and the alias name separated by a colon (:). The following is an example of the ARN for an alias named PROD.

    + *

    + * arn::states:::stateMachine: + *

    + *

    Step Functions associates executions + * that you start with an alias ARN with that alias and the state machine version used for + * that execution.

    + *
  • + *
*/ stateMachineArn: string | undefined; /** - *

The name of the execution. This name must be unique for your Amazon Web Services account, region, and state machine for 90 days. For more information, + *

Optional name of the execution. + * This name must be unique for your Amazon Web Services account, Region, and state machine for 90 days. For more information, * see * Limits Related to State Machine Executions in the Step Functions Developer Guide.

*

A name must not contain:

@@ -3152,7 +3591,7 @@ export interface UpdateStateMachineInput { roleArn?: string; /** - *

The LoggingConfiguration data type is used to set CloudWatch Logs + *

Use the LoggingConfiguration data type to set CloudWatch Logs * options.

*/ loggingConfiguration?: LoggingConfiguration; @@ -3161,6 +3600,19 @@ export interface UpdateStateMachineInput { *

Selects whether X-Ray tracing is enabled.

*/ tracingConfiguration?: TracingConfiguration; + + /** + *

Specifies whether the state machine version is published. The default is + * false. To publish a version after updating the state machine, set + * publish to true.

+ */ + publish?: boolean; + + /** + *

An optional description of the state machine version to publish.

+ *

You can only specify the versionDescription parameter if you've set publish to true.

+ */ + versionDescription?: string; } /** @@ -3171,6 +3623,48 @@ export interface UpdateStateMachineOutput { *

The date and time the state machine was updated.

*/ updateDate: Date | undefined; + + /** + *

The revision identifier for the updated state machine.

+ */ + revisionId?: string; + + /** + *

The Amazon Resource Name (ARN) of the published state machine version.

+ *

If the publish parameter isn't set to true, this field returns null.

+ */ + stateMachineVersionArn?: string; +} + +/** + * @public + */ +export interface UpdateStateMachineAliasInput { + /** + *

The Amazon Resource Name (ARN) of the state machine alias.

+ */ + stateMachineAliasArn: string | undefined; + + /** + *

A description of the state machine alias.

+ */ + description?: string; + + /** + *

The routing configuration of the state machine alias.

+ *

An array of RoutingConfig objects that specifies up to two state machine versions that the alias starts executions for.

+ */ + routingConfiguration?: RoutingConfigurationListItem[]; +} + +/** + * @public + */ +export interface UpdateStateMachineAliasOutput { + /** + *

The date and time the state machine alias was updated.

+ */ + updateDate: Date | undefined; } /** @@ -3222,6 +3716,15 @@ export const ActivityTimedOutEventDetailsFilterSensitiveLog = (obj: ActivityTime export const CreateStateMachineInputFilterSensitiveLog = (obj: CreateStateMachineInput): any => ({ ...obj, ...(obj.definition && { definition: SENSITIVE_STRING }), + ...(obj.versionDescription && { versionDescription: SENSITIVE_STRING }), +}); + +/** + * @internal + */ +export const CreateStateMachineAliasInputFilterSensitiveLog = (obj: CreateStateMachineAliasInput): any => ({ + ...obj, + ...(obj.description && { description: SENSITIVE_STRING }), }); /** @@ -3241,6 +3744,15 @@ export const DescribeExecutionOutputFilterSensitiveLog = (obj: DescribeExecution export const DescribeStateMachineOutputFilterSensitiveLog = (obj: DescribeStateMachineOutput): any => ({ ...obj, ...(obj.definition && { definition: SENSITIVE_STRING }), + ...(obj.description && { description: SENSITIVE_STRING }), +}); + +/** + * @internal + */ +export const DescribeStateMachineAliasOutputFilterSensitiveLog = (obj: DescribeStateMachineAliasOutput): any => ({ + ...obj, + ...(obj.description && { description: SENSITIVE_STRING }), }); /** @@ -3558,6 +4070,14 @@ export const GetExecutionHistoryOutputFilterSensitiveLog = (obj: GetExecutionHis ...(obj.events && { events: obj.events.map((item) => HistoryEventFilterSensitiveLog(item)) }), }); +/** + * @internal + */ +export const PublishStateMachineVersionInputFilterSensitiveLog = (obj: PublishStateMachineVersionInput): any => ({ + ...obj, + ...(obj.description && { description: SENSITIVE_STRING }), +}); + /** * @internal */ @@ -3617,4 +4137,13 @@ export const StopExecutionInputFilterSensitiveLog = (obj: StopExecutionInput): a export const UpdateStateMachineInputFilterSensitiveLog = (obj: UpdateStateMachineInput): any => ({ ...obj, ...(obj.definition && { definition: SENSITIVE_STRING }), + ...(obj.versionDescription && { versionDescription: SENSITIVE_STRING }), +}); + +/** + * @internal + */ +export const UpdateStateMachineAliasInputFilterSensitiveLog = (obj: UpdateStateMachineAliasInput): any => ({ + ...obj, + ...(obj.description && { description: SENSITIVE_STRING }), }); diff --git a/clients/client-sfn/src/protocols/Aws_json1_0.ts b/clients/client-sfn/src/protocols/Aws_json1_0.ts index 6d00e7bdf7f1..2448b4521f5e 100644 --- a/clients/client-sfn/src/protocols/Aws_json1_0.ts +++ b/clients/client-sfn/src/protocols/Aws_json1_0.ts @@ -23,12 +23,28 @@ import { import { Endpoint as __Endpoint, SerdeContext as __SerdeContext } from "@smithy/types"; import { CreateActivityCommandInput, CreateActivityCommandOutput } from "../commands/CreateActivityCommand"; +import { + CreateStateMachineAliasCommandInput, + CreateStateMachineAliasCommandOutput, +} from "../commands/CreateStateMachineAliasCommand"; import { CreateStateMachineCommandInput, CreateStateMachineCommandOutput } from "../commands/CreateStateMachineCommand"; import { DeleteActivityCommandInput, DeleteActivityCommandOutput } from "../commands/DeleteActivityCommand"; +import { + DeleteStateMachineAliasCommandInput, + DeleteStateMachineAliasCommandOutput, +} from "../commands/DeleteStateMachineAliasCommand"; import { DeleteStateMachineCommandInput, DeleteStateMachineCommandOutput } from "../commands/DeleteStateMachineCommand"; +import { + DeleteStateMachineVersionCommandInput, + DeleteStateMachineVersionCommandOutput, +} from "../commands/DeleteStateMachineVersionCommand"; import { DescribeActivityCommandInput, DescribeActivityCommandOutput } from "../commands/DescribeActivityCommand"; import { DescribeExecutionCommandInput, DescribeExecutionCommandOutput } from "../commands/DescribeExecutionCommand"; import { DescribeMapRunCommandInput, DescribeMapRunCommandOutput } from "../commands/DescribeMapRunCommand"; +import { + DescribeStateMachineAliasCommandInput, + DescribeStateMachineAliasCommandOutput, +} from "../commands/DescribeStateMachineAliasCommand"; import { DescribeStateMachineCommandInput, DescribeStateMachineCommandOutput, @@ -45,11 +61,23 @@ import { import { ListActivitiesCommandInput, ListActivitiesCommandOutput } from "../commands/ListActivitiesCommand"; import { ListExecutionsCommandInput, ListExecutionsCommandOutput } from "../commands/ListExecutionsCommand"; import { ListMapRunsCommandInput, ListMapRunsCommandOutput } from "../commands/ListMapRunsCommand"; +import { + ListStateMachineAliasesCommandInput, + ListStateMachineAliasesCommandOutput, +} from "../commands/ListStateMachineAliasesCommand"; import { ListStateMachinesCommandInput, ListStateMachinesCommandOutput } from "../commands/ListStateMachinesCommand"; +import { + ListStateMachineVersionsCommandInput, + ListStateMachineVersionsCommandOutput, +} from "../commands/ListStateMachineVersionsCommand"; import { ListTagsForResourceCommandInput, ListTagsForResourceCommandOutput, } from "../commands/ListTagsForResourceCommand"; +import { + PublishStateMachineVersionCommandInput, + PublishStateMachineVersionCommandOutput, +} from "../commands/PublishStateMachineVersionCommand"; import { SendTaskFailureCommandInput, SendTaskFailureCommandOutput } from "../commands/SendTaskFailureCommand"; import { SendTaskHeartbeatCommandInput, SendTaskHeartbeatCommandOutput } from "../commands/SendTaskHeartbeatCommand"; import { SendTaskSuccessCommandInput, SendTaskSuccessCommandOutput } from "../commands/SendTaskSuccessCommand"; @@ -59,6 +87,10 @@ import { StopExecutionCommandInput, StopExecutionCommandOutput } from "../comman import { TagResourceCommandInput, TagResourceCommandOutput } from "../commands/TagResourceCommand"; import { UntagResourceCommandInput, UntagResourceCommandOutput } from "../commands/UntagResourceCommand"; import { UpdateMapRunCommandInput, UpdateMapRunCommandOutput } from "../commands/UpdateMapRunCommand"; +import { + UpdateStateMachineAliasCommandInput, + UpdateStateMachineAliasCommandOutput, +} from "../commands/UpdateStateMachineAliasCommand"; import { UpdateStateMachineCommandInput, UpdateStateMachineCommandOutput } from "../commands/UpdateStateMachineCommand"; import { ActivityDoesNotExist, @@ -66,18 +98,25 @@ import { ActivityListItem, ActivityWorkerLimitExceeded, CloudWatchLogsLogGroup, + ConflictException, CreateActivityInput, CreateActivityOutput, + CreateStateMachineAliasInput, + CreateStateMachineAliasOutput, CreateStateMachineInput, CreateStateMachineOutput, DeleteActivityInput, + DeleteStateMachineAliasInput, DeleteStateMachineInput, + DeleteStateMachineVersionInput, DescribeActivityInput, DescribeActivityOutput, DescribeExecutionInput, DescribeExecutionOutput, DescribeMapRunInput, DescribeMapRunOutput, + DescribeStateMachineAliasInput, + DescribeStateMachineAliasOutput, DescribeStateMachineForExecutionInput, DescribeStateMachineForExecutionOutput, DescribeStateMachineInput, @@ -104,27 +143,37 @@ import { ListExecutionsOutput, ListMapRunsInput, ListMapRunsOutput, + ListStateMachineAliasesInput, + ListStateMachineAliasesOutput, ListStateMachinesInput, ListStateMachinesOutput, + ListStateMachineVersionsInput, + ListStateMachineVersionsOutput, ListTagsForResourceInput, LogDestination, LoggingConfiguration, MapRunListItem, MissingRequiredParameter, + PublishStateMachineVersionInput, + PublishStateMachineVersionOutput, ResourceNotFound, + RoutingConfigurationListItem, SendTaskFailureInput, SendTaskHeartbeatInput, SendTaskSuccessInput, + ServiceQuotaExceededException, StartExecutionInput, StartExecutionOutput, StartSyncExecutionInput, StartSyncExecutionOutput, + StateMachineAliasListItem, StateMachineAlreadyExists, StateMachineDeleting, StateMachineDoesNotExist, StateMachineLimitExceeded, StateMachineListItem, StateMachineTypeNotSupported, + StateMachineVersionListItem, StopExecutionInput, StopExecutionOutput, Tag, @@ -135,6 +184,8 @@ import { TracingConfiguration, UntagResourceInput, UpdateMapRunInput, + UpdateStateMachineAliasInput, + UpdateStateMachineAliasOutput, UpdateStateMachineInput, UpdateStateMachineOutput, ValidationException, @@ -167,6 +218,19 @@ export const se_CreateStateMachineCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +/** + * serializeAws_json1_0CreateStateMachineAliasCommand + */ +export const se_CreateStateMachineAliasCommand = async ( + input: CreateStateMachineAliasCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = sharedHeaders("CreateStateMachineAlias"); + let body: any; + body = JSON.stringify(_json(input)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + /** * serializeAws_json1_0DeleteActivityCommand */ @@ -193,6 +257,32 @@ export const se_DeleteStateMachineCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +/** + * serializeAws_json1_0DeleteStateMachineAliasCommand + */ +export const se_DeleteStateMachineAliasCommand = async ( + input: DeleteStateMachineAliasCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = sharedHeaders("DeleteStateMachineAlias"); + let body: any; + body = JSON.stringify(_json(input)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + +/** + * serializeAws_json1_0DeleteStateMachineVersionCommand + */ +export const se_DeleteStateMachineVersionCommand = async ( + input: DeleteStateMachineVersionCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = sharedHeaders("DeleteStateMachineVersion"); + let body: any; + body = JSON.stringify(_json(input)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + /** * serializeAws_json1_0DescribeActivityCommand */ @@ -245,6 +335,19 @@ export const se_DescribeStateMachineCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +/** + * serializeAws_json1_0DescribeStateMachineAliasCommand + */ +export const se_DescribeStateMachineAliasCommand = async ( + input: DescribeStateMachineAliasCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = sharedHeaders("DescribeStateMachineAlias"); + let body: any; + body = JSON.stringify(_json(input)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + /** * serializeAws_json1_0DescribeStateMachineForExecutionCommand */ @@ -323,6 +426,19 @@ export const se_ListMapRunsCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +/** + * serializeAws_json1_0ListStateMachineAliasesCommand + */ +export const se_ListStateMachineAliasesCommand = async ( + input: ListStateMachineAliasesCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = sharedHeaders("ListStateMachineAliases"); + let body: any; + body = JSON.stringify(_json(input)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + /** * serializeAws_json1_0ListStateMachinesCommand */ @@ -336,6 +452,19 @@ export const se_ListStateMachinesCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +/** + * serializeAws_json1_0ListStateMachineVersionsCommand + */ +export const se_ListStateMachineVersionsCommand = async ( + input: ListStateMachineVersionsCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = sharedHeaders("ListStateMachineVersions"); + let body: any; + body = JSON.stringify(_json(input)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + /** * serializeAws_json1_0ListTagsForResourceCommand */ @@ -349,6 +478,19 @@ export const se_ListTagsForResourceCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +/** + * serializeAws_json1_0PublishStateMachineVersionCommand + */ +export const se_PublishStateMachineVersionCommand = async ( + input: PublishStateMachineVersionCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = sharedHeaders("PublishStateMachineVersion"); + let body: any; + body = JSON.stringify(_json(input)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + /** * serializeAws_json1_0SendTaskFailureCommand */ @@ -486,6 +628,19 @@ export const se_UpdateStateMachineCommand = async ( return buildHttpRpcRequest(context, headers, "/", undefined, body); }; +/** + * serializeAws_json1_0UpdateStateMachineAliasCommand + */ +export const se_UpdateStateMachineAliasCommand = async ( + input: UpdateStateMachineAliasCommandInput, + context: __SerdeContext +): Promise<__HttpRequest> => { + const headers: __HeaderBag = sharedHeaders("UpdateStateMachineAlias"); + let body: any; + body = JSON.stringify(_json(input)); + return buildHttpRpcRequest(context, headers, "/", undefined, body); +}; + /** * deserializeAws_json1_0CreateActivityCommand */ @@ -571,6 +726,9 @@ const de_CreateStateMachineCommandError = async ( }; const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); switch (errorCode) { + case "ConflictException": + case "com.amazonaws.sfn#ConflictException": + throw await de_ConflictExceptionRes(parsedOutput, context); case "InvalidArn": case "com.amazonaws.sfn#InvalidArn": throw await de_InvalidArnRes(parsedOutput, context); @@ -601,6 +759,73 @@ const de_CreateStateMachineCommandError = async ( case "TooManyTags": case "com.amazonaws.sfn#TooManyTags": throw await de_TooManyTagsRes(parsedOutput, context); + case "ValidationException": + case "com.amazonaws.sfn#ValidationException": + throw await de_ValidationExceptionRes(parsedOutput, context); + default: + const parsedBody = parsedOutput.body; + return throwDefaultError({ + output, + parsedBody, + errorCode, + }); + } +}; + +/** + * deserializeAws_json1_0CreateStateMachineAliasCommand + */ +export const de_CreateStateMachineAliasCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return de_CreateStateMachineAliasCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = de_CreateStateMachineAliasOutput(data, context); + const response: CreateStateMachineAliasCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return response; +}; + +/** + * deserializeAws_json1_0CreateStateMachineAliasCommandError + */ +const de_CreateStateMachineAliasCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseErrorBody(output.body, context), + }; + const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "ConflictException": + case "com.amazonaws.sfn#ConflictException": + throw await de_ConflictExceptionRes(parsedOutput, context); + case "InvalidArn": + case "com.amazonaws.sfn#InvalidArn": + throw await de_InvalidArnRes(parsedOutput, context); + case "InvalidName": + case "com.amazonaws.sfn#InvalidName": + throw await de_InvalidNameRes(parsedOutput, context); + case "ResourceNotFound": + case "com.amazonaws.sfn#ResourceNotFound": + throw await de_ResourceNotFoundRes(parsedOutput, context); + case "ServiceQuotaExceededException": + case "com.amazonaws.sfn#ServiceQuotaExceededException": + throw await de_ServiceQuotaExceededExceptionRes(parsedOutput, context); + case "StateMachineDeleting": + case "com.amazonaws.sfn#StateMachineDeleting": + throw await de_StateMachineDeletingRes(parsedOutput, context); + case "ValidationException": + case "com.amazonaws.sfn#ValidationException": + throw await de_ValidationExceptionRes(parsedOutput, context); default: const parsedBody = parsedOutput.body; return throwDefaultError({ @@ -706,6 +931,113 @@ const de_DeleteStateMachineCommandError = async ( } }; +/** + * deserializeAws_json1_0DeleteStateMachineAliasCommand + */ +export const de_DeleteStateMachineAliasCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return de_DeleteStateMachineAliasCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = _json(data); + const response: DeleteStateMachineAliasCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return response; +}; + +/** + * deserializeAws_json1_0DeleteStateMachineAliasCommandError + */ +const de_DeleteStateMachineAliasCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseErrorBody(output.body, context), + }; + const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "ConflictException": + case "com.amazonaws.sfn#ConflictException": + throw await de_ConflictExceptionRes(parsedOutput, context); + case "InvalidArn": + case "com.amazonaws.sfn#InvalidArn": + throw await de_InvalidArnRes(parsedOutput, context); + case "ResourceNotFound": + case "com.amazonaws.sfn#ResourceNotFound": + throw await de_ResourceNotFoundRes(parsedOutput, context); + case "ValidationException": + case "com.amazonaws.sfn#ValidationException": + throw await de_ValidationExceptionRes(parsedOutput, context); + default: + const parsedBody = parsedOutput.body; + return throwDefaultError({ + output, + parsedBody, + errorCode, + }); + } +}; + +/** + * deserializeAws_json1_0DeleteStateMachineVersionCommand + */ +export const de_DeleteStateMachineVersionCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return de_DeleteStateMachineVersionCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = _json(data); + const response: DeleteStateMachineVersionCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return response; +}; + +/** + * deserializeAws_json1_0DeleteStateMachineVersionCommandError + */ +const de_DeleteStateMachineVersionCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseErrorBody(output.body, context), + }; + const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "ConflictException": + case "com.amazonaws.sfn#ConflictException": + throw await de_ConflictExceptionRes(parsedOutput, context); + case "InvalidArn": + case "com.amazonaws.sfn#InvalidArn": + throw await de_InvalidArnRes(parsedOutput, context); + case "ValidationException": + case "com.amazonaws.sfn#ValidationException": + throw await de_ValidationExceptionRes(parsedOutput, context); + default: + const parsedBody = parsedOutput.body; + return throwDefaultError({ + output, + parsedBody, + errorCode, + }); + } +}; + /** * deserializeAws_json1_0DescribeActivityCommand */ @@ -902,6 +1234,58 @@ const de_DescribeStateMachineCommandError = async ( } }; +/** + * deserializeAws_json1_0DescribeStateMachineAliasCommand + */ +export const de_DescribeStateMachineAliasCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return de_DescribeStateMachineAliasCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = de_DescribeStateMachineAliasOutput(data, context); + const response: DescribeStateMachineAliasCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return response; +}; + +/** + * deserializeAws_json1_0DescribeStateMachineAliasCommandError + */ +const de_DescribeStateMachineAliasCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseErrorBody(output.body, context), + }; + const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "InvalidArn": + case "com.amazonaws.sfn#InvalidArn": + throw await de_InvalidArnRes(parsedOutput, context); + case "ResourceNotFound": + case "com.amazonaws.sfn#ResourceNotFound": + throw await de_ResourceNotFoundRes(parsedOutput, context); + case "ValidationException": + case "com.amazonaws.sfn#ValidationException": + throw await de_ValidationExceptionRes(parsedOutput, context); + default: + const parsedBody = parsedOutput.body; + return throwDefaultError({ + output, + parsedBody, + errorCode, + }); + } +}; + /** * deserializeAws_json1_0DescribeStateMachineForExecutionCommand */ @@ -1122,12 +1506,125 @@ export const de_ListExecutionsCommand = async ( }; /** - * deserializeAws_json1_0ListExecutionsCommandError + * deserializeAws_json1_0ListExecutionsCommandError + */ +const de_ListExecutionsCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseErrorBody(output.body, context), + }; + const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "InvalidArn": + case "com.amazonaws.sfn#InvalidArn": + throw await de_InvalidArnRes(parsedOutput, context); + case "InvalidToken": + case "com.amazonaws.sfn#InvalidToken": + throw await de_InvalidTokenRes(parsedOutput, context); + case "ResourceNotFound": + case "com.amazonaws.sfn#ResourceNotFound": + throw await de_ResourceNotFoundRes(parsedOutput, context); + case "StateMachineDoesNotExist": + case "com.amazonaws.sfn#StateMachineDoesNotExist": + throw await de_StateMachineDoesNotExistRes(parsedOutput, context); + case "StateMachineTypeNotSupported": + case "com.amazonaws.sfn#StateMachineTypeNotSupported": + throw await de_StateMachineTypeNotSupportedRes(parsedOutput, context); + case "ValidationException": + case "com.amazonaws.sfn#ValidationException": + throw await de_ValidationExceptionRes(parsedOutput, context); + default: + const parsedBody = parsedOutput.body; + return throwDefaultError({ + output, + parsedBody, + errorCode, + }); + } +}; + +/** + * deserializeAws_json1_0ListMapRunsCommand + */ +export const de_ListMapRunsCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return de_ListMapRunsCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = de_ListMapRunsOutput(data, context); + const response: ListMapRunsCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return response; +}; + +/** + * deserializeAws_json1_0ListMapRunsCommandError + */ +const de_ListMapRunsCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseErrorBody(output.body, context), + }; + const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "ExecutionDoesNotExist": + case "com.amazonaws.sfn#ExecutionDoesNotExist": + throw await de_ExecutionDoesNotExistRes(parsedOutput, context); + case "InvalidArn": + case "com.amazonaws.sfn#InvalidArn": + throw await de_InvalidArnRes(parsedOutput, context); + case "InvalidToken": + case "com.amazonaws.sfn#InvalidToken": + throw await de_InvalidTokenRes(parsedOutput, context); + default: + const parsedBody = parsedOutput.body; + return throwDefaultError({ + output, + parsedBody, + errorCode, + }); + } +}; + +/** + * deserializeAws_json1_0ListStateMachineAliasesCommand + */ +export const de_ListStateMachineAliasesCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return de_ListStateMachineAliasesCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = de_ListStateMachineAliasesOutput(data, context); + const response: ListStateMachineAliasesCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return response; +}; + +/** + * deserializeAws_json1_0ListStateMachineAliasesCommandError */ -const de_ListExecutionsCommandError = async ( +const de_ListStateMachineAliasesCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseErrorBody(output.body, context), @@ -1143,15 +1640,12 @@ const de_ListExecutionsCommandError = async ( case "ResourceNotFound": case "com.amazonaws.sfn#ResourceNotFound": throw await de_ResourceNotFoundRes(parsedOutput, context); + case "StateMachineDeleting": + case "com.amazonaws.sfn#StateMachineDeleting": + throw await de_StateMachineDeletingRes(parsedOutput, context); case "StateMachineDoesNotExist": case "com.amazonaws.sfn#StateMachineDoesNotExist": throw await de_StateMachineDoesNotExistRes(parsedOutput, context); - case "StateMachineTypeNotSupported": - case "com.amazonaws.sfn#StateMachineTypeNotSupported": - throw await de_StateMachineTypeNotSupportedRes(parsedOutput, context); - case "ValidationException": - case "com.amazonaws.sfn#ValidationException": - throw await de_ValidationExceptionRes(parsedOutput, context); default: const parsedBody = parsedOutput.body; return throwDefaultError({ @@ -1163,19 +1657,19 @@ const de_ListExecutionsCommandError = async ( }; /** - * deserializeAws_json1_0ListMapRunsCommand + * deserializeAws_json1_0ListStateMachinesCommand */ -export const de_ListMapRunsCommand = async ( +export const de_ListStateMachinesCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return de_ListMapRunsCommandError(output, context); + return de_ListStateMachinesCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = de_ListMapRunsOutput(data, context); - const response: ListMapRunsCommandOutput = { + contents = de_ListStateMachinesOutput(data, context); + const response: ListStateMachinesCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; @@ -1183,24 +1677,18 @@ export const de_ListMapRunsCommand = async ( }; /** - * deserializeAws_json1_0ListMapRunsCommandError + * deserializeAws_json1_0ListStateMachinesCommandError */ -const de_ListMapRunsCommandError = async ( +const de_ListStateMachinesCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseErrorBody(output.body, context), }; const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); switch (errorCode) { - case "ExecutionDoesNotExist": - case "com.amazonaws.sfn#ExecutionDoesNotExist": - throw await de_ExecutionDoesNotExistRes(parsedOutput, context); - case "InvalidArn": - case "com.amazonaws.sfn#InvalidArn": - throw await de_InvalidArnRes(parsedOutput, context); case "InvalidToken": case "com.amazonaws.sfn#InvalidToken": throw await de_InvalidTokenRes(parsedOutput, context); @@ -1215,19 +1703,19 @@ const de_ListMapRunsCommandError = async ( }; /** - * deserializeAws_json1_0ListStateMachinesCommand + * deserializeAws_json1_0ListStateMachineVersionsCommand */ -export const de_ListStateMachinesCommand = async ( +export const de_ListStateMachineVersionsCommand = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { if (output.statusCode >= 300) { - return de_ListStateMachinesCommandError(output, context); + return de_ListStateMachineVersionsCommandError(output, context); } const data: any = await parseBody(output.body, context); let contents: any = {}; - contents = de_ListStateMachinesOutput(data, context); - const response: ListStateMachinesCommandOutput = { + contents = de_ListStateMachineVersionsOutput(data, context); + const response: ListStateMachineVersionsCommandOutput = { $metadata: deserializeMetadata(output), ...contents, }; @@ -1235,21 +1723,27 @@ export const de_ListStateMachinesCommand = async ( }; /** - * deserializeAws_json1_0ListStateMachinesCommandError + * deserializeAws_json1_0ListStateMachineVersionsCommandError */ -const de_ListStateMachinesCommandError = async ( +const de_ListStateMachineVersionsCommandError = async ( output: __HttpResponse, context: __SerdeContext -): Promise => { +): Promise => { const parsedOutput: any = { ...output, body: await parseErrorBody(output.body, context), }; const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); switch (errorCode) { + case "InvalidArn": + case "com.amazonaws.sfn#InvalidArn": + throw await de_InvalidArnRes(parsedOutput, context); case "InvalidToken": case "com.amazonaws.sfn#InvalidToken": throw await de_InvalidTokenRes(parsedOutput, context); + case "ValidationException": + case "com.amazonaws.sfn#ValidationException": + throw await de_ValidationExceptionRes(parsedOutput, context); default: const parsedBody = parsedOutput.body; return throwDefaultError({ @@ -1309,6 +1803,67 @@ const de_ListTagsForResourceCommandError = async ( } }; +/** + * deserializeAws_json1_0PublishStateMachineVersionCommand + */ +export const de_PublishStateMachineVersionCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return de_PublishStateMachineVersionCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = de_PublishStateMachineVersionOutput(data, context); + const response: PublishStateMachineVersionCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return response; +}; + +/** + * deserializeAws_json1_0PublishStateMachineVersionCommandError + */ +const de_PublishStateMachineVersionCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseErrorBody(output.body, context), + }; + const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "ConflictException": + case "com.amazonaws.sfn#ConflictException": + throw await de_ConflictExceptionRes(parsedOutput, context); + case "InvalidArn": + case "com.amazonaws.sfn#InvalidArn": + throw await de_InvalidArnRes(parsedOutput, context); + case "ServiceQuotaExceededException": + case "com.amazonaws.sfn#ServiceQuotaExceededException": + throw await de_ServiceQuotaExceededExceptionRes(parsedOutput, context); + case "StateMachineDeleting": + case "com.amazonaws.sfn#StateMachineDeleting": + throw await de_StateMachineDeletingRes(parsedOutput, context); + case "StateMachineDoesNotExist": + case "com.amazonaws.sfn#StateMachineDoesNotExist": + throw await de_StateMachineDoesNotExistRes(parsedOutput, context); + case "ValidationException": + case "com.amazonaws.sfn#ValidationException": + throw await de_ValidationExceptionRes(parsedOutput, context); + default: + const parsedBody = parsedOutput.body; + return throwDefaultError({ + output, + parsedBody, + errorCode, + }); + } +}; + /** * deserializeAws_json1_0SendTaskFailureCommand */ @@ -1834,6 +2389,9 @@ const de_UpdateStateMachineCommandError = async ( }; const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); switch (errorCode) { + case "ConflictException": + case "com.amazonaws.sfn#ConflictException": + throw await de_ConflictExceptionRes(parsedOutput, context); case "InvalidArn": case "com.amazonaws.sfn#InvalidArn": throw await de_InvalidArnRes(parsedOutput, context); @@ -1849,6 +2407,9 @@ const de_UpdateStateMachineCommandError = async ( case "MissingRequiredParameter": case "com.amazonaws.sfn#MissingRequiredParameter": throw await de_MissingRequiredParameterRes(parsedOutput, context); + case "ServiceQuotaExceededException": + case "com.amazonaws.sfn#ServiceQuotaExceededException": + throw await de_ServiceQuotaExceededExceptionRes(parsedOutput, context); case "StateMachineDeleting": case "com.amazonaws.sfn#StateMachineDeleting": throw await de_StateMachineDeletingRes(parsedOutput, context); @@ -1868,6 +2429,61 @@ const de_UpdateStateMachineCommandError = async ( } }; +/** + * deserializeAws_json1_0UpdateStateMachineAliasCommand + */ +export const de_UpdateStateMachineAliasCommand = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + if (output.statusCode >= 300) { + return de_UpdateStateMachineAliasCommandError(output, context); + } + const data: any = await parseBody(output.body, context); + let contents: any = {}; + contents = de_UpdateStateMachineAliasOutput(data, context); + const response: UpdateStateMachineAliasCommandOutput = { + $metadata: deserializeMetadata(output), + ...contents, + }; + return response; +}; + +/** + * deserializeAws_json1_0UpdateStateMachineAliasCommandError + */ +const de_UpdateStateMachineAliasCommandError = async ( + output: __HttpResponse, + context: __SerdeContext +): Promise => { + const parsedOutput: any = { + ...output, + body: await parseErrorBody(output.body, context), + }; + const errorCode = loadRestJsonErrorCode(output, parsedOutput.body); + switch (errorCode) { + case "ConflictException": + case "com.amazonaws.sfn#ConflictException": + throw await de_ConflictExceptionRes(parsedOutput, context); + case "InvalidArn": + case "com.amazonaws.sfn#InvalidArn": + throw await de_InvalidArnRes(parsedOutput, context); + case "ResourceNotFound": + case "com.amazonaws.sfn#ResourceNotFound": + throw await de_ResourceNotFoundRes(parsedOutput, context); + case "ValidationException": + case "com.amazonaws.sfn#ValidationException": + throw await de_ValidationExceptionRes(parsedOutput, context); + default: + const parsedBody = parsedOutput.body; + return throwDefaultError({ + output, + parsedBody, + errorCode, + }); + } +}; + /** * deserializeAws_json1_0ActivityDoesNotExistRes */ @@ -1916,6 +2532,19 @@ const de_ActivityWorkerLimitExceededRes = async ( return __decorateServiceException(exception, body); }; +/** + * deserializeAws_json1_0ConflictExceptionRes + */ +const de_ConflictExceptionRes = async (parsedOutput: any, context: __SerdeContext): Promise => { + const body = parsedOutput.body; + const deserialized: any = _json(body); + const exception = new ConflictException({ + $metadata: deserializeMetadata(parsedOutput), + ...deserialized, + }); + return __decorateServiceException(exception, body); +}; + /** * deserializeAws_json1_0ExecutionAlreadyExistsRes */ @@ -2106,6 +2735,22 @@ const de_ResourceNotFoundRes = async (parsedOutput: any, context: __SerdeContext return __decorateServiceException(exception, body); }; +/** + * deserializeAws_json1_0ServiceQuotaExceededExceptionRes + */ +const de_ServiceQuotaExceededExceptionRes = async ( + parsedOutput: any, + context: __SerdeContext +): Promise => { + const body = parsedOutput.body; + const deserialized: any = _json(body); + const exception = new ServiceQuotaExceededException({ + $metadata: deserializeMetadata(parsedOutput), + ...deserialized, + }); + return __decorateServiceException(exception, body); +}; + /** * deserializeAws_json1_0StateMachineAlreadyExistsRes */ @@ -2242,18 +2887,26 @@ const de_ValidationExceptionRes = async (parsedOutput: any, context: __SerdeCont // se_CreateActivityInput omitted. +// se_CreateStateMachineAliasInput omitted. + // se_CreateStateMachineInput omitted. // se_DeleteActivityInput omitted. +// se_DeleteStateMachineAliasInput omitted. + // se_DeleteStateMachineInput omitted. +// se_DeleteStateMachineVersionInput omitted. + // se_DescribeActivityInput omitted. // se_DescribeExecutionInput omitted. // se_DescribeMapRunInput omitted. +// se_DescribeStateMachineAliasInput omitted. + // se_DescribeStateMachineForExecutionInput omitted. // se_DescribeStateMachineInput omitted. @@ -2268,8 +2921,12 @@ const de_ValidationExceptionRes = async (parsedOutput: any, context: __SerdeCont // se_ListMapRunsInput omitted. +// se_ListStateMachineAliasesInput omitted. + // se_ListStateMachinesInput omitted. +// se_ListStateMachineVersionsInput omitted. + // se_ListTagsForResourceInput omitted. // se_LogDestination omitted. @@ -2278,6 +2935,12 @@ const de_ValidationExceptionRes = async (parsedOutput: any, context: __SerdeCont // se_LoggingConfiguration omitted. +// se_PublishStateMachineVersionInput omitted. + +// se_RoutingConfigurationList omitted. + +// se_RoutingConfigurationListItem omitted. + // se_SendTaskFailureInput omitted. // se_SendTaskHeartbeatInput omitted. @@ -2314,6 +2977,8 @@ const se_UpdateMapRunInput = (input: UpdateMapRunInput, context: __SerdeContext) }); }; +// se_UpdateStateMachineAliasInput omitted. + // se_UpdateStateMachineInput omitted. // de_ActivityDoesNotExist omitted. @@ -2363,6 +3028,8 @@ const de_ActivityListItem = (output: any, context: __SerdeContext): ActivityList // de_CloudWatchLogsLogGroup omitted. +// de_ConflictException omitted. + /** * deserializeAws_json1_0CreateActivityOutput */ @@ -2373,6 +3040,16 @@ const de_CreateActivityOutput = (output: any, context: __SerdeContext): CreateAc }) as any; }; +/** + * deserializeAws_json1_0CreateStateMachineAliasOutput + */ +const de_CreateStateMachineAliasOutput = (output: any, context: __SerdeContext): CreateStateMachineAliasOutput => { + return take(output, { + creationDate: (_: any) => __expectNonNull(__parseEpochTimestamp(__expectNumber(_))), + stateMachineAliasArn: __expectString, + }) as any; +}; + /** * deserializeAws_json1_0CreateStateMachineOutput */ @@ -2380,13 +3057,18 @@ const de_CreateStateMachineOutput = (output: any, context: __SerdeContext): Crea return take(output, { creationDate: (_: any) => __expectNonNull(__parseEpochTimestamp(__expectNumber(_))), stateMachineArn: __expectString, + stateMachineVersionArn: __expectString, }) as any; }; // de_DeleteActivityOutput omitted. +// de_DeleteStateMachineAliasOutput omitted. + // de_DeleteStateMachineOutput omitted. +// de_DeleteStateMachineVersionOutput omitted. + /** * deserializeAws_json1_0DescribeActivityOutput */ @@ -2413,7 +3095,9 @@ const de_DescribeExecutionOutput = (output: any, context: __SerdeContext): Descr output: __expectString, outputDetails: _json, startDate: (_: any) => __expectNonNull(__parseEpochTimestamp(__expectNumber(_))), + stateMachineAliasArn: __expectString, stateMachineArn: __expectString, + stateMachineVersionArn: __expectString, status: __expectString, stopDate: (_: any) => __expectNonNull(__parseEpochTimestamp(__expectNumber(_))), traceHeader: __expectString, @@ -2438,6 +3122,20 @@ const de_DescribeMapRunOutput = (output: any, context: __SerdeContext): Describe }) as any; }; +/** + * deserializeAws_json1_0DescribeStateMachineAliasOutput + */ +const de_DescribeStateMachineAliasOutput = (output: any, context: __SerdeContext): DescribeStateMachineAliasOutput => { + return take(output, { + creationDate: (_: any) => __expectNonNull(__parseEpochTimestamp(__expectNumber(_))), + description: __expectString, + name: __expectString, + routingConfiguration: _json, + stateMachineAliasArn: __expectString, + updateDate: (_: any) => __expectNonNull(__parseEpochTimestamp(__expectNumber(_))), + }) as any; +}; + /** * deserializeAws_json1_0DescribeStateMachineForExecutionOutput */ @@ -2451,6 +3149,7 @@ const de_DescribeStateMachineForExecutionOutput = ( loggingConfiguration: _json, mapRunArn: __expectString, name: __expectString, + revisionId: __expectString, roleArn: __expectString, stateMachineArn: __expectString, tracingConfiguration: _json, @@ -2465,9 +3164,11 @@ const de_DescribeStateMachineOutput = (output: any, context: __SerdeContext): De return take(output, { creationDate: (_: any) => __expectNonNull(__parseEpochTimestamp(__expectNumber(_))), definition: __expectString, + description: __expectString, label: __expectString, loggingConfiguration: _json, name: __expectString, + revisionId: __expectString, roleArn: __expectString, stateMachineArn: __expectString, status: __expectString, @@ -2508,7 +3209,9 @@ const de_ExecutionListItem = (output: any, context: __SerdeContext): ExecutionLi mapRunArn: __expectString, name: __expectString, startDate: (_: any) => __expectNonNull(__parseEpochTimestamp(__expectNumber(_))), + stateMachineAliasArn: __expectString, stateMachineArn: __expectString, + stateMachineVersionArn: __expectString, status: __expectString, stopDate: (_: any) => __expectNonNull(__parseEpochTimestamp(__expectNumber(_))), }) as any; @@ -2650,6 +3353,16 @@ const de_ListMapRunsOutput = (output: any, context: __SerdeContext): ListMapRuns }) as any; }; +/** + * deserializeAws_json1_0ListStateMachineAliasesOutput + */ +const de_ListStateMachineAliasesOutput = (output: any, context: __SerdeContext): ListStateMachineAliasesOutput => { + return take(output, { + nextToken: __expectString, + stateMachineAliases: (_: any) => de_StateMachineAliasList(_, context), + }) as any; +}; + /** * deserializeAws_json1_0ListStateMachinesOutput */ @@ -2660,6 +3373,16 @@ const de_ListStateMachinesOutput = (output: any, context: __SerdeContext): ListS }) as any; }; +/** + * deserializeAws_json1_0ListStateMachineVersionsOutput + */ +const de_ListStateMachineVersionsOutput = (output: any, context: __SerdeContext): ListStateMachineVersionsOutput => { + return take(output, { + nextToken: __expectString, + stateMachineVersions: (_: any) => de_StateMachineVersionList(_, context), + }) as any; +}; + // de_ListTagsForResourceOutput omitted. // de_LogDestination omitted. @@ -2707,14 +3430,33 @@ const de_MapRunListItem = (output: any, context: __SerdeContext): MapRunListItem // de_MissingRequiredParameter omitted. +/** + * deserializeAws_json1_0PublishStateMachineVersionOutput + */ +const de_PublishStateMachineVersionOutput = ( + output: any, + context: __SerdeContext +): PublishStateMachineVersionOutput => { + return take(output, { + creationDate: (_: any) => __expectNonNull(__parseEpochTimestamp(__expectNumber(_))), + stateMachineVersionArn: __expectString, + }) as any; +}; + // de_ResourceNotFound omitted. +// de_RoutingConfigurationList omitted. + +// de_RoutingConfigurationListItem omitted. + // de_SendTaskFailureOutput omitted. // de_SendTaskHeartbeatOutput omitted. // de_SendTaskSuccessOutput omitted. +// de_ServiceQuotaExceededException omitted. + /** * deserializeAws_json1_0StartExecutionOutput */ @@ -2751,6 +3493,28 @@ const de_StartSyncExecutionOutput = (output: any, context: __SerdeContext): Star // de_StateExitedEventDetails omitted. +/** + * deserializeAws_json1_0StateMachineAliasList + */ +const de_StateMachineAliasList = (output: any, context: __SerdeContext): StateMachineAliasListItem[] => { + const retVal = (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + return de_StateMachineAliasListItem(entry, context); + }); + return retVal; +}; + +/** + * deserializeAws_json1_0StateMachineAliasListItem + */ +const de_StateMachineAliasListItem = (output: any, context: __SerdeContext): StateMachineAliasListItem => { + return take(output, { + creationDate: (_: any) => __expectNonNull(__parseEpochTimestamp(__expectNumber(_))), + stateMachineAliasArn: __expectString, + }) as any; +}; + // de_StateMachineAlreadyExists omitted. // de_StateMachineDeleting omitted. @@ -2785,6 +3549,28 @@ const de_StateMachineListItem = (output: any, context: __SerdeContext): StateMac // de_StateMachineTypeNotSupported omitted. +/** + * deserializeAws_json1_0StateMachineVersionList + */ +const de_StateMachineVersionList = (output: any, context: __SerdeContext): StateMachineVersionListItem[] => { + const retVal = (output || []) + .filter((e: any) => e != null) + .map((entry: any) => { + return de_StateMachineVersionListItem(entry, context); + }); + return retVal; +}; + +/** + * deserializeAws_json1_0StateMachineVersionListItem + */ +const de_StateMachineVersionListItem = (output: any, context: __SerdeContext): StateMachineVersionListItem => { + return take(output, { + creationDate: (_: any) => __expectNonNull(__parseEpochTimestamp(__expectNumber(_))), + stateMachineVersionArn: __expectString, + }) as any; +}; + /** * deserializeAws_json1_0StopExecutionOutput */ @@ -2830,11 +3616,22 @@ const de_StopExecutionOutput = (output: any, context: __SerdeContext): StopExecu // de_UpdateMapRunOutput omitted. +/** + * deserializeAws_json1_0UpdateStateMachineAliasOutput + */ +const de_UpdateStateMachineAliasOutput = (output: any, context: __SerdeContext): UpdateStateMachineAliasOutput => { + return take(output, { + updateDate: (_: any) => __expectNonNull(__parseEpochTimestamp(__expectNumber(_))), + }) as any; +}; + /** * deserializeAws_json1_0UpdateStateMachineOutput */ const de_UpdateStateMachineOutput = (output: any, context: __SerdeContext): UpdateStateMachineOutput => { return take(output, { + revisionId: __expectString, + stateMachineVersionArn: __expectString, updateDate: (_: any) => __expectNonNull(__parseEpochTimestamp(__expectNumber(_))), }) as any; }; diff --git a/codegen/sdk-codegen/aws-models/sfn.json b/codegen/sdk-codegen/aws-models/sfn.json index 95223e58b22a..d1414d5163d9 100644 --- a/codegen/sdk-codegen/aws-models/sfn.json +++ b/codegen/sdk-codegen/aws-models/sfn.json @@ -39,12 +39,21 @@ { "target": "com.amazonaws.sfn#CreateStateMachine" }, + { + "target": "com.amazonaws.sfn#CreateStateMachineAlias" + }, { "target": "com.amazonaws.sfn#DeleteActivity" }, { "target": "com.amazonaws.sfn#DeleteStateMachine" }, + { + "target": "com.amazonaws.sfn#DeleteStateMachineAlias" + }, + { + "target": "com.amazonaws.sfn#DeleteStateMachineVersion" + }, { "target": "com.amazonaws.sfn#DescribeActivity" }, @@ -57,6 +66,9 @@ { "target": "com.amazonaws.sfn#DescribeStateMachine" }, + { + "target": "com.amazonaws.sfn#DescribeStateMachineAlias" + }, { "target": "com.amazonaws.sfn#DescribeStateMachineForExecution" }, @@ -75,12 +87,21 @@ { "target": "com.amazonaws.sfn#ListMapRuns" }, + { + "target": "com.amazonaws.sfn#ListStateMachineAliases" + }, { "target": "com.amazonaws.sfn#ListStateMachines" }, + { + "target": "com.amazonaws.sfn#ListStateMachineVersions" + }, { "target": "com.amazonaws.sfn#ListTagsForResource" }, + { + "target": "com.amazonaws.sfn#PublishStateMachineVersion" + }, { "target": "com.amazonaws.sfn#SendTaskFailure" }, @@ -110,6 +131,9 @@ }, { "target": "com.amazonaws.sfn#UpdateStateMachine" + }, + { + "target": "com.amazonaws.sfn#UpdateStateMachineAlias" } ], "traits": { @@ -134,7 +158,7 @@ "parameters": { "Region": { "builtIn": "AWS::Region", - "required": true, + "required": false, "documentation": "The AWS region used to dispatch the request.", "type": "String" }, @@ -163,13 +187,12 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "isSet", "argv": [ { - "ref": "Region" + "ref": "Endpoint" } - ], - "assign": "PartitionResult" + ] } ], "type": "tree", @@ -177,23 +200,20 @@ { "conditions": [ { - "fn": "isSet", + "fn": "booleanEquals", "argv": [ { - "ref": "Endpoint" - } + "ref": "UseFIPS" + }, + true ] - }, - { - "fn": "parseURL", - "argv": [ - { - "ref": "Endpoint" - } - ], - "assign": "url" } ], + "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "type": "error" + }, + { + "conditions": [], "type": "tree", "rules": [ { @@ -202,67 +222,42 @@ "fn": "booleanEquals", "argv": [ { - "ref": "UseFIPS" + "ref": "UseDualStack" }, true ] } ], - "error": "Invalid Configuration: FIPS and custom endpoint are not supported", + "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", "type": "error" }, { "conditions": [], - "type": "tree", - "rules": [ - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" - }, - true - ] - } - ], - "error": "Invalid Configuration: Dualstack and custom endpoint are not supported", - "type": "error" + "endpoint": { + "url": { + "ref": "Endpoint" }, - { - "conditions": [], - "endpoint": { - "url": { - "ref": "Endpoint" - }, - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] + "properties": {}, + "headers": {} + }, + "type": "endpoint" } ] - }, + } + ] + }, + { + "conditions": [], + "type": "tree", + "rules": [ { "conditions": [ { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" - }, - true - ] - }, - { - "fn": "booleanEquals", + "fn": "isSet", "argv": [ { - "ref": "UseDualStack" - }, - true + "ref": "Region" + } ] } ], @@ -271,193 +266,257 @@ { "conditions": [ { - "fn": "booleanEquals", + "fn": "aws.partition", "argv": [ - true, { - "fn": "getAttr", + "ref": "Region" + } + ], + "assign": "PartitionResult" + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", "argv": [ { - "ref": "PartitionResult" + "ref": "UseFIPS" }, - "supportsFIPS" + true ] - } - ] - }, - { - "fn": "booleanEquals", - "argv": [ - true, + }, { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ { - "ref": "PartitionResult" + "ref": "UseDualStack" + }, + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } + ] }, - "supportsDualStack" + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://states-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } ] + }, + { + "conditions": [], + "error": "FIPS and DualStack are enabled, but this partition does not support one or both", + "type": "error" } ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], - "endpoint": { - "url": "https://states-fips.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" - } - ] - }, - { - "conditions": [], - "error": "FIPS and DualStack are enabled, but this partition does not support one or both", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseFIPS" }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ { - "fn": "booleanEquals", - "argv": [ - true, + "conditions": [ { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ { - "ref": "PartitionResult" + "ref": "UseFIPS" }, - "supportsFIPS" + true ] } - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [], + ], "type": "tree", "rules": [ { "conditions": [ { - "fn": "stringEquals", + "fn": "booleanEquals", "argv": [ + true, { - "ref": "Region" - }, - "us-gov-west-1" + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsFIPS" + ] + } ] } ], - "endpoint": { - "url": "https://states.us-gov-west-1.amazonaws.com", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "type": "tree", + "rules": [ + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "stringEquals", + "argv": [ + { + "ref": "Region" + }, + "us-gov-west-1" + ] + } + ], + "endpoint": { + "url": "https://states.us-gov-west-1.amazonaws.com", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + }, + { + "conditions": [], + "endpoint": { + "url": "https://states-fips.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } + ] }, { "conditions": [], - "endpoint": { - "url": "https://states-fips.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "FIPS is enabled but this partition does not support FIPS", + "type": "error" } ] - } - ] - }, - { - "conditions": [], - "error": "FIPS is enabled but this partition does not support FIPS", - "type": "error" - } - ] - }, - { - "conditions": [ - { - "fn": "booleanEquals", - "argv": [ - { - "ref": "UseDualStack" }, - true - ] - } - ], - "type": "tree", - "rules": [ - { - "conditions": [ { - "fn": "booleanEquals", - "argv": [ - true, + "conditions": [ { - "fn": "getAttr", + "fn": "booleanEquals", "argv": [ { - "ref": "PartitionResult" + "ref": "UseDualStack" }, - "supportsDualStack" + true + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [ + { + "fn": "booleanEquals", + "argv": [ + true, + { + "fn": "getAttr", + "argv": [ + { + "ref": "PartitionResult" + }, + "supportsDualStack" + ] + } + ] + } + ], + "type": "tree", + "rules": [ + { + "conditions": [], + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://states.{Region}.{PartitionResult#dualStackDnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] + } ] + }, + { + "conditions": [], + "error": "DualStack is enabled but this partition does not support DualStack", + "type": "error" } ] - } - ], - "type": "tree", - "rules": [ + }, { "conditions": [], - "endpoint": { - "url": "https://states.{Region}.{PartitionResult#dualStackDnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "type": "tree", + "rules": [ + { + "conditions": [], + "endpoint": { + "url": "https://states.{Region}.{PartitionResult#dnsSuffix}", + "properties": {}, + "headers": {} + }, + "type": "endpoint" + } + ] } ] - }, - { - "conditions": [], - "error": "DualStack is enabled but this partition does not support DualStack", - "type": "error" } ] }, { "conditions": [], - "endpoint": { - "url": "https://states.{Region}.{PartitionResult#dnsSuffix}", - "properties": {}, - "headers": {} - }, - "type": "endpoint" + "error": "Invalid Configuration: Missing Region", + "type": "error" } ] } @@ -466,974 +525,42 @@ "smithy.rules#endpointTests": { "testCases": [ { - "documentation": "For region ap-south-2 with FIPS enabled and DualStack enabled", + "documentation": "For region af-south-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://states-fips.ap-south-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": true, - "Region": "ap-south-2" - } - }, - { - "documentation": "For region ap-south-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://states-fips.ap-south-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "ap-south-2" - } - }, - { - "documentation": "For region ap-south-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://states.ap-south-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": false, - "Region": "ap-south-2" - } - }, - { - "documentation": "For region ap-south-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://states.ap-south-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": false, - "Region": "ap-south-2" - } - }, - { - "documentation": "For region ap-south-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://states-fips.ap-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": true, - "Region": "ap-south-1" - } - }, - { - "documentation": "For region ap-south-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://states-fips.ap-south-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "ap-south-1" - } - }, - { - "documentation": "For region ap-south-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://states.ap-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": false, - "Region": "ap-south-1" - } - }, - { - "documentation": "For region ap-south-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://states.ap-south-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": false, - "Region": "ap-south-1" - } - }, - { - "documentation": "For region eu-south-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://states-fips.eu-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": true, - "Region": "eu-south-1" - } - }, - { - "documentation": "For region eu-south-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://states-fips.eu-south-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "eu-south-1" - } - }, - { - "documentation": "For region eu-south-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://states.eu-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": false, - "Region": "eu-south-1" - } - }, - { - "documentation": "For region eu-south-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://states.eu-south-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": false, - "Region": "eu-south-1" - } - }, - { - "documentation": "For region eu-south-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://states-fips.eu-south-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": true, - "Region": "eu-south-2" - } - }, - { - "documentation": "For region eu-south-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://states-fips.eu-south-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "eu-south-2" - } - }, - { - "documentation": "For region eu-south-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://states.eu-south-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": false, - "Region": "eu-south-2" - } - }, - { - "documentation": "For region eu-south-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://states.eu-south-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": false, - "Region": "eu-south-2" - } - }, - { - "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://states-fips.us-gov-east-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": true, - "Region": "us-gov-east-1" - } - }, - { - "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://states-fips.us-gov-east-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "us-gov-east-1" - } - }, - { - "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://states.us-gov-east-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": false, - "Region": "us-gov-east-1" - } - }, - { - "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://states.us-gov-east-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": false, - "Region": "us-gov-east-1" - } - }, - { - "documentation": "For region me-central-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://states-fips.me-central-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": true, - "Region": "me-central-1" - } - }, - { - "documentation": "For region me-central-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://states-fips.me-central-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "me-central-1" - } - }, - { - "documentation": "For region me-central-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://states.me-central-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": false, - "Region": "me-central-1" - } - }, - { - "documentation": "For region me-central-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://states.me-central-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": false, - "Region": "me-central-1" - } - }, - { - "documentation": "For region ca-central-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://states-fips.ca-central-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": true, - "Region": "ca-central-1" - } - }, - { - "documentation": "For region ca-central-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://states-fips.ca-central-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "ca-central-1" - } - }, - { - "documentation": "For region ca-central-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://states.ca-central-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": false, - "Region": "ca-central-1" - } - }, - { - "documentation": "For region ca-central-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://states.ca-central-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": false, - "Region": "ca-central-1" - } - }, - { - "documentation": "For region eu-central-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://states-fips.eu-central-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": true, - "Region": "eu-central-1" - } - }, - { - "documentation": "For region eu-central-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://states-fips.eu-central-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "eu-central-1" - } - }, - { - "documentation": "For region eu-central-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://states.eu-central-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": false, - "Region": "eu-central-1" - } - }, - { - "documentation": "For region eu-central-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://states.eu-central-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": false, - "Region": "eu-central-1" - } - }, - { - "documentation": "For region us-iso-west-1 with FIPS enabled and DualStack enabled", - "expect": { - "error": "FIPS and DualStack are enabled, but this partition does not support one or both" - }, - "params": { - "UseDualStack": true, - "UseFIPS": true, - "Region": "us-iso-west-1" - } - }, - { - "documentation": "For region us-iso-west-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://states-fips.us-iso-west-1.c2s.ic.gov" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "us-iso-west-1" - } - }, - { - "documentation": "For region us-iso-west-1 with FIPS disabled and DualStack enabled", - "expect": { - "error": "DualStack is enabled but this partition does not support DualStack" - }, - "params": { - "UseDualStack": true, - "UseFIPS": false, - "Region": "us-iso-west-1" - } - }, - { - "documentation": "For region us-iso-west-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://states.us-iso-west-1.c2s.ic.gov" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": false, - "Region": "us-iso-west-1" - } - }, - { - "documentation": "For region eu-central-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://states-fips.eu-central-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": true, - "Region": "eu-central-2" - } - }, - { - "documentation": "For region eu-central-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://states-fips.eu-central-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "eu-central-2" - } - }, - { - "documentation": "For region eu-central-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://states.eu-central-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": false, - "Region": "eu-central-2" - } - }, - { - "documentation": "For region eu-central-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://states.eu-central-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": false, - "Region": "eu-central-2" - } - }, - { - "documentation": "For region us-west-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://states-fips.us-west-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": true, - "Region": "us-west-1" - } - }, - { - "documentation": "For region us-west-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://states-fips.us-west-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "us-west-1" - } - }, - { - "documentation": "For region us-west-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://states.us-west-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": false, - "Region": "us-west-1" - } - }, - { - "documentation": "For region us-west-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://states.us-west-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": false, - "Region": "us-west-1" - } - }, - { - "documentation": "For region us-west-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://states-fips.us-west-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": true, - "Region": "us-west-2" - } - }, - { - "documentation": "For region us-west-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://states-fips.us-west-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "us-west-2" - } - }, - { - "documentation": "For region us-west-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://states.us-west-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": false, - "Region": "us-west-2" - } - }, - { - "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://states.us-west-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": false, - "Region": "us-west-2" - } - }, - { - "documentation": "For region af-south-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://states-fips.af-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": true, - "Region": "af-south-1" - } - }, - { - "documentation": "For region af-south-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://states-fips.af-south-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "af-south-1" - } - }, - { - "documentation": "For region af-south-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://states.af-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": false, - "Region": "af-south-1" - } - }, - { - "documentation": "For region af-south-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://states.af-south-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": false, - "Region": "af-south-1" - } - }, - { - "documentation": "For region eu-north-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://states-fips.eu-north-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": true, - "Region": "eu-north-1" - } - }, - { - "documentation": "For region eu-north-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://states-fips.eu-north-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "eu-north-1" - } - }, - { - "documentation": "For region eu-north-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://states.eu-north-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": false, - "Region": "eu-north-1" - } - }, - { - "documentation": "For region eu-north-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://states.eu-north-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": false, - "Region": "eu-north-1" - } - }, - { - "documentation": "For region eu-west-3 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://states-fips.eu-west-3.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": true, - "Region": "eu-west-3" - } - }, - { - "documentation": "For region eu-west-3 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://states-fips.eu-west-3.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "eu-west-3" - } - }, - { - "documentation": "For region eu-west-3 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://states.eu-west-3.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": false, - "Region": "eu-west-3" - } - }, - { - "documentation": "For region eu-west-3 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://states.eu-west-3.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": false, - "Region": "eu-west-3" - } - }, - { - "documentation": "For region eu-west-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://states-fips.eu-west-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": true, - "Region": "eu-west-2" - } - }, - { - "documentation": "For region eu-west-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://states-fips.eu-west-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "eu-west-2" - } - }, - { - "documentation": "For region eu-west-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://states.eu-west-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": false, - "Region": "eu-west-2" - } - }, - { - "documentation": "For region eu-west-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://states.eu-west-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": false, - "Region": "eu-west-2" - } - }, - { - "documentation": "For region eu-west-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://states-fips.eu-west-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": true, - "Region": "eu-west-1" - } - }, - { - "documentation": "For region eu-west-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://states-fips.eu-west-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "eu-west-1" - } - }, - { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://states.eu-west-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": false, - "Region": "eu-west-1" - } - }, - { - "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://states.eu-west-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": false, - "Region": "eu-west-1" - } - }, - { - "documentation": "For region ap-northeast-3 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://states-fips.ap-northeast-3.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": true, - "Region": "ap-northeast-3" - } - }, - { - "documentation": "For region ap-northeast-3 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://states-fips.ap-northeast-3.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "ap-northeast-3" - } - }, - { - "documentation": "For region ap-northeast-3 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://states.ap-northeast-3.api.aws" + "url": "https://states.af-south-1.amazonaws.com" } }, "params": { - "UseDualStack": true, + "Region": "af-south-1", "UseFIPS": false, - "Region": "ap-northeast-3" + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-3 with FIPS disabled and DualStack disabled", + "documentation": "For region ap-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://states.ap-northeast-3.amazonaws.com" + "url": "https://states.ap-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "ap-east-1", "UseFIPS": false, - "Region": "ap-northeast-3" - } - }, - { - "documentation": "For region ap-northeast-2 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://states-fips.ap-northeast-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": true, - "Region": "ap-northeast-2" - } - }, - { - "documentation": "For region ap-northeast-2 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://states-fips.ap-northeast-2.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "ap-northeast-2" + "UseDualStack": false } }, { - "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack enabled", + "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://states.ap-northeast-2.api.aws" + "url": "https://states.ap-northeast-1.amazonaws.com" } }, "params": { - "UseDualStack": true, + "Region": "ap-northeast-1", "UseFIPS": false, - "Region": "ap-northeast-2" + "UseDualStack": false } }, { @@ -1444,733 +571,538 @@ } }, "params": { - "UseDualStack": false, - "UseFIPS": false, - "Region": "ap-northeast-2" - } - }, - { - "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://states-fips.ap-northeast-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": true, - "Region": "ap-northeast-1" - } - }, - { - "documentation": "For region ap-northeast-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://states-fips.ap-northeast-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "ap-northeast-1" - } - }, - { - "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://states.ap-northeast-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": false, - "Region": "ap-northeast-1" - } - }, - { - "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://states.ap-northeast-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, + "Region": "ap-northeast-2", "UseFIPS": false, - "Region": "ap-northeast-1" - } - }, - { - "documentation": "For region me-south-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://states-fips.me-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": true, - "Region": "me-south-1" - } - }, - { - "documentation": "For region me-south-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://states-fips.me-south-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "me-south-1" + "UseDualStack": false } }, { - "documentation": "For region me-south-1 with FIPS disabled and DualStack enabled", + "documentation": "For region ap-northeast-3 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://states.me-south-1.api.aws" + "url": "https://states.ap-northeast-3.amazonaws.com" } }, "params": { - "UseDualStack": true, + "Region": "ap-northeast-3", "UseFIPS": false, - "Region": "me-south-1" + "UseDualStack": false } }, { - "documentation": "For region me-south-1 with FIPS disabled and DualStack disabled", + "documentation": "For region ap-south-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://states.me-south-1.amazonaws.com" + "url": "https://states.ap-south-1.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "ap-south-1", "UseFIPS": false, - "Region": "me-south-1" - } - }, - { - "documentation": "For region sa-east-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://states-fips.sa-east-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": true, - "Region": "sa-east-1" - } - }, - { - "documentation": "For region sa-east-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://states-fips.sa-east-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "sa-east-1" + "UseDualStack": false } }, { - "documentation": "For region sa-east-1 with FIPS disabled and DualStack enabled", + "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://states.sa-east-1.api.aws" + "url": "https://states.ap-southeast-1.amazonaws.com" } }, "params": { - "UseDualStack": true, + "Region": "ap-southeast-1", "UseFIPS": false, - "Region": "sa-east-1" + "UseDualStack": false } }, { - "documentation": "For region sa-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://states.sa-east-1.amazonaws.com" + "url": "https://states.ap-southeast-2.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "ap-southeast-2", "UseFIPS": false, - "Region": "sa-east-1" - } - }, - { - "documentation": "For region ap-east-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://states-fips.ap-east-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": true, - "Region": "ap-east-1" + "UseDualStack": false } }, { - "documentation": "For region ap-east-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://states-fips.ap-east-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "ap-east-1" - } - }, - { - "documentation": "For region ap-east-1 with FIPS disabled and DualStack enabled", + "documentation": "For region ap-southeast-3 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://states.ap-east-1.api.aws" + "url": "https://states.ap-southeast-3.amazonaws.com" } }, "params": { - "UseDualStack": true, + "Region": "ap-southeast-3", "UseFIPS": false, - "Region": "ap-east-1" + "UseDualStack": false } }, { - "documentation": "For region ap-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region ca-central-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://states.ap-east-1.amazonaws.com" + "url": "https://states.ca-central-1.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "ca-central-1", "UseFIPS": false, - "Region": "ap-east-1" - } - }, - { - "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://states-fips.cn-north-1.api.amazonwebservices.com.cn" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": true, - "Region": "cn-north-1" - } - }, - { - "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://states-fips.cn-north-1.amazonaws.com.cn" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "cn-north-1" + "UseDualStack": false } }, { - "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", + "documentation": "For region eu-central-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://states.cn-north-1.api.amazonwebservices.com.cn" + "url": "https://states.eu-central-1.amazonaws.com" } }, "params": { - "UseDualStack": true, + "Region": "eu-central-1", "UseFIPS": false, - "Region": "cn-north-1" + "UseDualStack": false } }, { - "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", + "documentation": "For region eu-north-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://states.cn-north-1.amazonaws.com.cn" + "url": "https://states.eu-north-1.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "eu-north-1", "UseFIPS": false, - "Region": "cn-north-1" - } - }, - { - "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://states-fips.us-gov-west-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": true, - "Region": "us-gov-west-1" - } - }, - { - "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://states.us-gov-west-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "us-gov-west-1" + "UseDualStack": false } }, { - "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack enabled", + "documentation": "For region eu-south-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://states.us-gov-west-1.api.aws" + "url": "https://states.eu-south-1.amazonaws.com" } }, "params": { - "UseDualStack": true, + "Region": "eu-south-1", "UseFIPS": false, - "Region": "us-gov-west-1" + "UseDualStack": false } }, { - "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack disabled", + "documentation": "For region eu-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://states.us-gov-west-1.amazonaws.com" + "url": "https://states.eu-west-1.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "eu-west-1", "UseFIPS": false, - "Region": "us-gov-west-1" - } - }, - { - "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://states-fips.ap-southeast-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": true, - "Region": "ap-southeast-1" + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack disabled", + "documentation": "For region eu-west-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://states-fips.ap-southeast-1.amazonaws.com" + "url": "https://states.eu-west-2.amazonaws.com" } }, "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "ap-southeast-1" + "Region": "eu-west-2", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack enabled", + "documentation": "For region eu-west-3 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://states.ap-southeast-1.api.aws" + "url": "https://states.eu-west-3.amazonaws.com" } }, "params": { - "UseDualStack": true, + "Region": "eu-west-3", "UseFIPS": false, - "Region": "ap-southeast-1" + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", + "documentation": "For region me-south-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://states.ap-southeast-1.amazonaws.com" + "url": "https://states.me-south-1.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "me-south-1", "UseFIPS": false, - "Region": "ap-southeast-1" + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack enabled", + "documentation": "For region sa-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://states-fips.ap-southeast-2.api.aws" + "url": "https://states.sa-east-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "UseFIPS": true, - "Region": "ap-southeast-2" + "Region": "sa-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://states-fips.ap-southeast-2.amazonaws.com" + "url": "https://states.us-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "ap-southeast-2" + "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://states.ap-southeast-2.api.aws" + "url": "https://states-fips.us-east-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "UseFIPS": false, - "Region": "ap-southeast-2" + "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", + "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://states.ap-southeast-2.amazonaws.com" + "url": "https://states.us-east-2.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "us-east-2", "UseFIPS": false, - "Region": "ap-southeast-2" + "UseDualStack": false } }, { - "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-east-2 with FIPS enabled and DualStack disabled", "expect": { - "error": "FIPS and DualStack are enabled, but this partition does not support one or both" + "endpoint": { + "url": "https://states-fips.us-east-2.amazonaws.com" + } }, "params": { - "UseDualStack": true, + "Region": "us-east-2", "UseFIPS": true, - "Region": "us-iso-east-1" + "UseDualStack": false } }, { - "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://states-fips.us-iso-east-1.c2s.ic.gov" + "url": "https://states.us-west-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "us-iso-east-1" + "Region": "us-west-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-west-1 with FIPS enabled and DualStack disabled", "expect": { - "error": "DualStack is enabled but this partition does not support DualStack" + "endpoint": { + "url": "https://states-fips.us-west-1.amazonaws.com" + } }, "params": { - "UseDualStack": true, - "UseFIPS": false, - "Region": "us-iso-east-1" + "Region": "us-west-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-west-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://states.us-iso-east-1.c2s.ic.gov" + "url": "https://states.us-west-2.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "us-west-2", "UseFIPS": false, - "Region": "us-iso-east-1" + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-3 with FIPS enabled and DualStack enabled", + "documentation": "For region us-west-2 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://states-fips.ap-southeast-3.api.aws" + "url": "https://states-fips.us-west-2.amazonaws.com" } }, "params": { - "UseDualStack": true, + "Region": "us-west-2", "UseFIPS": true, - "Region": "ap-southeast-3" + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-3 with FIPS enabled and DualStack disabled", + "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://states-fips.ap-southeast-3.amazonaws.com" + "url": "https://states-fips.us-east-1.api.aws" } }, "params": { - "UseDualStack": false, + "Region": "us-east-1", "UseFIPS": true, - "Region": "ap-southeast-3" + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-3 with FIPS disabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://states.ap-southeast-3.api.aws" + "url": "https://states.us-east-1.api.aws" } }, "params": { - "UseDualStack": true, + "Region": "us-east-1", "UseFIPS": false, - "Region": "ap-southeast-3" + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-3 with FIPS disabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://states.ap-southeast-3.amazonaws.com" + "url": "https://states.cn-north-1.amazonaws.com.cn" } }, "params": { - "UseDualStack": false, + "Region": "cn-north-1", "UseFIPS": false, - "Region": "ap-southeast-3" + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-4 with FIPS enabled and DualStack enabled", + "documentation": "For region cn-northwest-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://states-fips.ap-southeast-4.api.aws" + "url": "https://states.cn-northwest-1.amazonaws.com.cn" } }, "params": { - "UseDualStack": true, - "UseFIPS": true, - "Region": "ap-southeast-4" + "Region": "cn-northwest-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-4 with FIPS enabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://states-fips.ap-southeast-4.amazonaws.com" + "url": "https://states-fips.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { - "UseDualStack": false, + "Region": "cn-north-1", "UseFIPS": true, - "Region": "ap-southeast-4" + "UseDualStack": true } }, { - "documentation": "For region ap-southeast-4 with FIPS disabled and DualStack enabled", + "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://states.ap-southeast-4.api.aws" + "url": "https://states-fips.cn-north-1.amazonaws.com.cn" } }, "params": { - "UseDualStack": true, - "UseFIPS": false, - "Region": "ap-southeast-4" + "Region": "cn-north-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-4 with FIPS disabled and DualStack disabled", + "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://states.ap-southeast-4.amazonaws.com" + "url": "https://states.cn-north-1.api.amazonwebservices.com.cn" } }, "params": { - "UseDualStack": false, + "Region": "cn-north-1", "UseFIPS": false, - "Region": "ap-southeast-4" + "UseDualStack": true } }, { - "documentation": "For region us-east-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://states-fips.us-east-1.api.aws" + "url": "https://states.us-gov-east-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "UseFIPS": true, - "Region": "us-east-1" + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://states-fips.us-east-1.amazonaws.com" + "url": "https://states-fips.us-gov-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "us-gov-east-1", "UseFIPS": true, - "Region": "us-east-1" + "UseDualStack": false } }, { - "documentation": "For region us-east-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-gov-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://states.us-east-1.api.aws" + "url": "https://states.us-gov-west-1.amazonaws.com" } }, "params": { - "UseDualStack": true, + "Region": "us-gov-west-1", "UseFIPS": false, - "Region": "us-east-1" + "UseDualStack": false } }, { - "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://states.us-east-1.amazonaws.com" + "url": "https://states.us-gov-west-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "UseFIPS": false, - "Region": "us-east-1" + "Region": "us-gov-west-1", + "UseFIPS": true, + "UseDualStack": false } }, { - "documentation": "For region us-east-2 with FIPS enabled and DualStack enabled", + "documentation": "For region us-gov-east-1 with FIPS enabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://states-fips.us-east-2.api.aws" + "url": "https://states-fips.us-gov-east-1.api.aws" } }, "params": { - "UseDualStack": true, + "Region": "us-gov-east-1", "UseFIPS": true, - "Region": "us-east-2" + "UseDualStack": true } }, { - "documentation": "For region us-east-2 with FIPS enabled and DualStack disabled", + "documentation": "For region us-gov-east-1 with FIPS disabled and DualStack enabled", "expect": { "endpoint": { - "url": "https://states-fips.us-east-2.amazonaws.com" + "url": "https://states.us-gov-east-1.api.aws" } }, "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "us-east-2" + "Region": "us-gov-east-1", + "UseFIPS": false, + "UseDualStack": true } }, { - "documentation": "For region us-east-2 with FIPS disabled and DualStack enabled", + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://states.us-east-2.api.aws" + "url": "https://states.us-iso-east-1.c2s.ic.gov" } }, "params": { - "UseDualStack": true, + "Region": "us-iso-east-1", "UseFIPS": false, - "Region": "us-east-2" + "UseDualStack": false } }, { - "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", + "documentation": "For region us-iso-west-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://states.us-east-2.amazonaws.com" + "url": "https://states.us-iso-west-1.c2s.ic.gov" } }, "params": { - "UseDualStack": false, + "Region": "us-iso-west-1", "UseFIPS": false, - "Region": "us-east-2" + "UseDualStack": false } }, { - "documentation": "For region cn-northwest-1 with FIPS enabled and DualStack enabled", + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://states-fips.cn-northwest-1.api.amazonwebservices.com.cn" - } + "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "UseDualStack": true, + "Region": "us-iso-east-1", "UseFIPS": true, - "Region": "cn-northwest-1" + "UseDualStack": true } }, { - "documentation": "For region cn-northwest-1 with FIPS enabled and DualStack disabled", + "documentation": "For region us-iso-east-1 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://states-fips.cn-northwest-1.amazonaws.com.cn" + "url": "https://states-fips.us-iso-east-1.c2s.ic.gov" } }, "params": { - "UseDualStack": false, + "Region": "us-iso-east-1", "UseFIPS": true, - "Region": "cn-northwest-1" + "UseDualStack": false } }, { - "documentation": "For region cn-northwest-1 with FIPS disabled and DualStack enabled", + "documentation": "For region us-iso-east-1 with FIPS disabled and DualStack enabled", "expect": { - "endpoint": { - "url": "https://states.cn-northwest-1.api.amazonwebservices.com.cn" - } + "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "UseDualStack": true, + "Region": "us-iso-east-1", "UseFIPS": false, - "Region": "cn-northwest-1" + "UseDualStack": true } }, { - "documentation": "For region cn-northwest-1 with FIPS disabled and DualStack disabled", + "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://states.cn-northwest-1.amazonaws.com.cn" + "url": "https://states.us-isob-east-1.sc2s.sgov.gov" } }, "params": { - "UseDualStack": false, + "Region": "us-isob-east-1", "UseFIPS": false, - "Region": "cn-northwest-1" + "UseDualStack": false } }, { @@ -2179,9 +1111,9 @@ "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { - "UseDualStack": true, + "Region": "us-isob-east-1", "UseFIPS": true, - "Region": "us-isob-east-1" + "UseDualStack": true } }, { @@ -2192,9 +1124,9 @@ } }, "params": { - "UseDualStack": false, + "Region": "us-isob-east-1", "UseFIPS": true, - "Region": "us-isob-east-1" + "UseDualStack": false } }, { @@ -2203,35 +1135,35 @@ "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { - "UseDualStack": true, + "Region": "us-isob-east-1", "UseFIPS": false, - "Region": "us-isob-east-1" + "UseDualStack": true } }, { - "documentation": "For region us-isob-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For custom endpoint with region set and fips disabled and dualstack disabled", "expect": { "endpoint": { - "url": "https://states.us-isob-east-1.sc2s.sgov.gov" + "url": "https://example.com" } }, "params": { - "UseDualStack": false, + "Region": "us-east-1", "UseFIPS": false, - "Region": "us-isob-east-1" + "UseDualStack": false, + "Endpoint": "https://example.com" } }, { - "documentation": "For custom endpoint with fips disabled and dualstack disabled", + "documentation": "For custom endpoint with region not set and fips disabled and dualstack disabled", "expect": { "endpoint": { "url": "https://example.com" } }, "params": { - "UseDualStack": false, "UseFIPS": false, - "Region": "us-east-1", + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -2241,9 +1173,9 @@ "error": "Invalid Configuration: FIPS and custom endpoint are not supported" }, "params": { - "UseDualStack": false, - "UseFIPS": true, "Region": "us-east-1", + "UseFIPS": true, + "UseDualStack": false, "Endpoint": "https://example.com" } }, @@ -2253,11 +1185,17 @@ "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" }, "params": { - "UseDualStack": true, - "UseFIPS": false, "Region": "us-east-1", + "UseFIPS": false, + "UseDualStack": true, "Endpoint": "https://example.com" } + }, + { + "documentation": "Missing region", + "expect": { + "error": "Invalid Configuration: Missing Region" + } } ], "version": "1.0" @@ -2327,7 +1265,7 @@ "name": { "target": "com.amazonaws.sfn#Name", "traits": { - "smithy.api#documentation": "

The name of the activity.

\n

A name must not contain:

\n
    \n
  • \n

    white space

    \n
  • \n
  • \n

    brackets < > { } [ ]\n

    \n
  • \n
  • \n

    wildcard characters ? *\n

    \n
  • \n
  • \n

    special characters \" # % \\ ^ | ~ ` $ & , ; : /\n

    \n
  • \n
  • \n

    control characters (U+0000-001F, U+007F-009F)

    \n
  • \n
\n

To enable logging with CloudWatch Logs, the name should only contain 0-9, A-Z, a-z, - and _.

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

The name of the activity.

\n

A name must not contain:

\n
    \n
  • \n

    white space

    \n
  • \n
  • \n

    brackets < > { } [ ]\n

    \n
  • \n
  • \n

    wildcard characters ? *\n

    \n
  • \n
  • \n

    special characters \" # % \\ ^ | ~ ` $ & , ; : /\n

    \n
  • \n
  • \n

    control characters (U+0000-001F, U+007F-009F)

    \n
  • \n
\n

To enable logging with CloudWatch Logs, the name should only contain 0-9, A-Z, a-z, - and _.

", "smithy.api#required": {} } }, @@ -2470,6 +1408,16 @@ "smithy.api#error": "client" } }, + "com.amazonaws.sfn#AliasDescription": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 256 + }, + "smithy.api#sensitive": {} + } + }, "com.amazonaws.sfn#Arn": { "type": "string", "traits": { @@ -2519,6 +1467,16 @@ "smithy.api#documentation": "

An object that describes workflow billing details.

" } }, + "com.amazonaws.sfn#CharacterRestrictedName": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 80 + }, + "smithy.api#pattern": "^(?=.*[a-zA-Z_\\-\\.])[a-zA-Z0-9_\\-\\.]+$" + } + }, "com.amazonaws.sfn#CloudWatchEventsExecutionDataDetails": { "type": "structure", "members": { @@ -2548,6 +1506,19 @@ "smithy.api#documentation": "

" } }, + "com.amazonaws.sfn#ConflictException": { + "type": "structure", + "members": { + "message": { + "target": "com.amazonaws.sfn#ErrorMessage" + } + }, + "traits": { + "smithy.api#documentation": "

Updating or deleting a resource can cause an inconsistent state. This error occurs when there're concurrent requests for DeleteStateMachineVersion, PublishStateMachineVersion, or UpdateStateMachine with the publish parameter set to true.

\n

HTTP Status Code: 409

", + "smithy.api#error": "client", + "smithy.api#httpError": 409 + } + }, "com.amazonaws.sfn#ConnectorParameters": { "type": "string", "traits": { @@ -2578,7 +1549,7 @@ } ], "traits": { - "smithy.api#documentation": "

Creates an activity. An activity is a task that you write in any programming language and\n host on any machine that has access to Step Functions. Activities must poll Step Functions using the\n GetActivityTask API action and respond using SendTask* API\n actions. This function lets Step Functions know the existence of your activity and returns an\n identifier for use in a state machine and when polling from the activity.

\n \n

This operation is eventually consistent. The results are best effort and may not reflect very recent updates and changes.

\n
\n \n

\n CreateActivity is an idempotent API. Subsequent requests won’t create a\n duplicate resource if it was already created. CreateActivity's idempotency\n check is based on the activity name. If a following request has different\n tags values, Step Functions will ignore these differences and treat it as an\n idempotent request of the previous. In this case, tags will not be updated,\n even if they are different.

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

Creates an activity. An activity is a task that you write in any programming language and\n host on any machine that has access to Step Functions. Activities must poll Step Functions using the\n GetActivityTask API action and respond using SendTask* API\n actions. This function lets Step Functions know the existence of your activity and returns an\n identifier for use in a state machine and when polling from the activity.

\n \n

This operation is eventually consistent. The results are best effort and may not reflect very recent updates and changes.

\n
\n \n

\n CreateActivity is an idempotent API. Subsequent requests won’t create a\n duplicate resource if it was already created. CreateActivity's idempotency\n check is based on the activity name. If a following request has different\n tags values, Step Functions will ignore these differences and treat it as an\n idempotent request of the previous. In this case, tags will not be updated,\n even if they are different.

\n
", "smithy.api#idempotent": {} } }, @@ -2588,16 +1559,19 @@ "name": { "target": "com.amazonaws.sfn#Name", "traits": { - "smithy.api#documentation": "

The name of the activity to create. This name must be unique for your Amazon Web Services account and region for 90 days. For more information,\n see \n Limits Related to State Machine Executions in the Step Functions Developer Guide.

\n

A name must not contain:

\n
    \n
  • \n

    white space

    \n
  • \n
  • \n

    brackets < > { } [ ]\n

    \n
  • \n
  • \n

    wildcard characters ? *\n

    \n
  • \n
  • \n

    special characters \" # % \\ ^ | ~ ` $ & , ; : /\n

    \n
  • \n
  • \n

    control characters (U+0000-001F, U+007F-009F)

    \n
  • \n
\n

To enable logging with CloudWatch Logs, the name should only contain 0-9, A-Z, a-z, - and _.

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

The name of the activity to create. This name must be unique for your Amazon Web Services account and region for 90 days. For more information,\n see \n Limits Related to State Machine Executions in the Step Functions Developer Guide.

\n

A name must not contain:

\n
    \n
  • \n

    white space

    \n
  • \n
  • \n

    brackets < > { } [ ]\n

    \n
  • \n
  • \n

    wildcard characters ? *\n

    \n
  • \n
  • \n

    special characters \" # % \\ ^ | ~ ` $ & , ; : /\n

    \n
  • \n
  • \n

    control characters (U+0000-001F, U+007F-009F)

    \n
  • \n
\n

To enable logging with CloudWatch Logs, the name should only contain 0-9, A-Z, a-z, - and _.

", "smithy.api#required": {} } }, "tags": { "target": "com.amazonaws.sfn#TagList", "traits": { - "smithy.api#documentation": "

The list of tags to add to a resource.

\n

An array of key-value pairs. For more information, see Using\n Cost Allocation Tags in the Amazon Web Services Billing and Cost Management User\n Guide, and Controlling Access Using IAM\n Tags.

\n

Tags may only contain Unicode letters, digits, white space, or these symbols: _ . : / = + - @.

" + "smithy.api#documentation": "

The list of tags to add to a resource.

\n

An array of key-value pairs. For more information, see Using\n Cost Allocation Tags in the Amazon Web Services Billing and Cost Management User\n Guide, and Controlling Access Using IAM\n Tags.

\n

Tags may only contain Unicode letters, digits, white space, or these symbols: _ . : / = + - @.

" } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.sfn#CreateActivityOutput": { @@ -2617,6 +1591,9 @@ "smithy.api#required": {} } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.sfn#CreateStateMachine": { @@ -2628,6 +1605,9 @@ "target": "com.amazonaws.sfn#CreateStateMachineOutput" }, "errors": [ + { + "target": "com.amazonaws.sfn#ConflictException" + }, { "target": "com.amazonaws.sfn#InvalidArn" }, @@ -2649,19 +1629,107 @@ { "target": "com.amazonaws.sfn#StateMachineDeleting" }, - { - "target": "com.amazonaws.sfn#StateMachineLimitExceeded" + { + "target": "com.amazonaws.sfn#StateMachineLimitExceeded" + }, + { + "target": "com.amazonaws.sfn#StateMachineTypeNotSupported" + }, + { + "target": "com.amazonaws.sfn#TooManyTags" + }, + { + "target": "com.amazonaws.sfn#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Creates a state machine. A state machine consists of a collection of states that can do\n work (Task states), determine to which states to transition next\n (Choice states), stop an execution with an error (Fail states),\n and so on. State machines are specified using a JSON-based, structured language. For more\n information, see Amazon States\n Language in the Step Functions User Guide.

\n

If you set the publish parameter of this API action to true, it\n publishes version 1 as the first revision of the state machine.

\n \n

This operation is eventually consistent. The results are best effort and may not reflect very recent updates and changes.

\n
\n \n

\n CreateStateMachine is an idempotent API. Subsequent requests won’t create a\n duplicate resource if it was already created. CreateStateMachine's idempotency\n check is based on the state machine name, definition,\n type, LoggingConfiguration, and\n TracingConfiguration. The check is also based on the publish and versionDescription parameters. If a following request has a different\n roleArn or tags, Step Functions will ignore these differences and treat\n it as an idempotent request of the previous. In this case, roleArn and\n tags will not be updated, even if they are different.

\n
", + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.sfn#CreateStateMachineAlias": { + "type": "operation", + "input": { + "target": "com.amazonaws.sfn#CreateStateMachineAliasInput" + }, + "output": { + "target": "com.amazonaws.sfn#CreateStateMachineAliasOutput" + }, + "errors": [ + { + "target": "com.amazonaws.sfn#ConflictException" + }, + { + "target": "com.amazonaws.sfn#InvalidArn" + }, + { + "target": "com.amazonaws.sfn#InvalidName" + }, + { + "target": "com.amazonaws.sfn#ResourceNotFound" + }, + { + "target": "com.amazonaws.sfn#ServiceQuotaExceededException" + }, + { + "target": "com.amazonaws.sfn#StateMachineDeleting" + }, + { + "target": "com.amazonaws.sfn#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Creates an alias for a state machine that points to one or two versions of the same state machine. You can set your application to call StartExecution with an alias and update the version the alias uses without changing the client's code.

\n

You can also map an alias to split StartExecution requests between two\n versions of a state machine. To do this, add a second RoutingConfig object in the\n routingConfiguration parameter. You must also specify the percentage of\n execution run requests each version should receive in both RoutingConfig objects.\n Step Functions randomly chooses which version runs a given execution based on the\n percentage you specify.

\n

To create an alias that points to a single version, specify a single\n RoutingConfig object with a weight set to 100.

\n

You can create up to 100 aliases for each state machine. You must delete unused aliases using the DeleteStateMachineAlias API action.

\n

\n CreateStateMachineAlias is an idempotent API. Step Functions bases the\n idempotency check on the stateMachineArn, description,\n name, and routingConfiguration parameters. Requests that contain\n the same values for these parameters return a successful idempotent response without creating\n a duplicate resource.

\n

\n Related operations:\n

\n " + } + }, + "com.amazonaws.sfn#CreateStateMachineAliasInput": { + "type": "structure", + "members": { + "description": { + "target": "com.amazonaws.sfn#AliasDescription", + "traits": { + "smithy.api#documentation": "

A description for the state machine alias.

" + } + }, + "name": { + "target": "com.amazonaws.sfn#CharacterRestrictedName", + "traits": { + "smithy.api#documentation": "

The name of the state machine alias.

\n

To avoid conflict with version ARNs, don't use an integer in the name of the alias.

", + "smithy.api#required": {} + } }, - { - "target": "com.amazonaws.sfn#StateMachineTypeNotSupported" + "routingConfiguration": { + "target": "com.amazonaws.sfn#RoutingConfigurationList", + "traits": { + "smithy.api#documentation": "

The routing configuration of a state machine alias. The routing configuration shifts\n execution traffic between two state machine versions. routingConfiguration\n contains an array of RoutingConfig objects that specify up to two state machine\n versions. Step Functions then randomly choses which version to run an execution with based\n on the weight assigned to each RoutingConfig.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.sfn#CreateStateMachineAliasOutput": { + "type": "structure", + "members": { + "stateMachineAliasArn": { + "target": "com.amazonaws.sfn#Arn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) that identifies the created state machine alias.

", + "smithy.api#required": {} + } }, - { - "target": "com.amazonaws.sfn#TooManyTags" + "creationDate": { + "target": "com.amazonaws.sfn#Timestamp", + "traits": { + "smithy.api#documentation": "

The date the state machine alias was created.

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

Creates a state machine. A state machine consists of a collection of states that can do\n work (Task states), determine to which states to transition next\n (Choice states), stop an execution with an error (Fail states),\n and so on. State machines are specified using a JSON-based, structured language. For more\n information, see Amazon States\n Language in the Step Functions User Guide.

\n \n

This operation is eventually consistent. The results are best effort and may not reflect very recent updates and changes.

\n
\n \n

\n CreateStateMachine is an idempotent API. Subsequent requests won’t create a\n duplicate resource if it was already created. CreateStateMachine's idempotency\n check is based on the state machine name, definition,\n type, LoggingConfiguration and\n TracingConfiguration. If a following request has a different\n roleArn or tags, Step Functions will ignore these differences and treat\n it as an idempotent request of the previous. In this case, roleArn and\n tags will not be updated, even if they are different.

\n
", - "smithy.api#idempotent": {} + "smithy.api#output": {} } }, "com.amazonaws.sfn#CreateStateMachineInput": { @@ -2670,7 +1738,7 @@ "name": { "target": "com.amazonaws.sfn#Name", "traits": { - "smithy.api#documentation": "

The name of the state machine.

\n

A name must not contain:

\n
    \n
  • \n

    white space

    \n
  • \n
  • \n

    brackets < > { } [ ]\n

    \n
  • \n
  • \n

    wildcard characters ? *\n

    \n
  • \n
  • \n

    special characters \" # % \\ ^ | ~ ` $ & , ; : /\n

    \n
  • \n
  • \n

    control characters (U+0000-001F, U+007F-009F)

    \n
  • \n
\n

To enable logging with CloudWatch Logs, the name should only contain 0-9, A-Z, a-z, - and _.

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

The name of the state machine.

\n

A name must not contain:

\n
    \n
  • \n

    white space

    \n
  • \n
  • \n

    brackets < > { } [ ]\n

    \n
  • \n
  • \n

    wildcard characters ? *\n

    \n
  • \n
  • \n

    special characters \" # % \\ ^ | ~ ` $ & , ; : /\n

    \n
  • \n
  • \n

    control characters (U+0000-001F, U+007F-009F)

    \n
  • \n
\n

To enable logging with CloudWatch Logs, the name should only contain 0-9, A-Z, a-z, - and _.

", "smithy.api#required": {} } }, @@ -2703,7 +1771,7 @@ "tags": { "target": "com.amazonaws.sfn#TagList", "traits": { - "smithy.api#documentation": "

Tags to be added when creating a state machine.

\n

An array of key-value pairs. For more information, see Using\n Cost Allocation Tags in the Amazon Web Services Billing and Cost Management User\n Guide, and Controlling Access Using IAM\n Tags.

\n

Tags may only contain Unicode letters, digits, white space, or these symbols: _ . : / = + - @.

" + "smithy.api#documentation": "

Tags to be added when creating a state machine.

\n

An array of key-value pairs. For more information, see Using\n Cost Allocation Tags in the Amazon Web Services Billing and Cost Management User\n Guide, and Controlling Access Using IAM\n Tags.

\n

Tags may only contain Unicode letters, digits, white space, or these symbols: _ . : / = + - @.

" } }, "tracingConfiguration": { @@ -2711,7 +1779,23 @@ "traits": { "smithy.api#documentation": "

Selects whether X-Ray tracing is enabled.

" } + }, + "publish": { + "target": "com.amazonaws.sfn#Publish", + "traits": { + "smithy.api#default": false, + "smithy.api#documentation": "

Set to true to publish the first version of the state machine during creation. The default is false.

" + } + }, + "versionDescription": { + "target": "com.amazonaws.sfn#VersionDescription", + "traits": { + "smithy.api#documentation": "

Sets description about the state machine version. You can only set the description if the publish parameter is set to true. Otherwise, if you set versionDescription, but publish to false, this API action throws ValidationException.

" + } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.sfn#CreateStateMachineOutput": { @@ -2730,7 +1814,16 @@ "smithy.api#documentation": "

The date the state machine is created.

", "smithy.api#required": {} } + }, + "stateMachineVersionArn": { + "target": "com.amazonaws.sfn#Arn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) that identifies the created state machine version. If you do not set the publish parameter to true, this field returns null value.

" + } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.sfn#Definition": { @@ -2770,11 +1863,17 @@ "smithy.api#required": {} } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.sfn#DeleteActivityOutput": { "type": "structure", - "members": {} + "members": {}, + "traits": { + "smithy.api#output": {} + } }, "com.amazonaws.sfn#DeleteStateMachine": { "type": "operation", @@ -2793,7 +1892,55 @@ } ], "traits": { - "smithy.api#documentation": "

Deletes a state machine. This is an asynchronous operation: It sets the state machine's\n status to DELETING and begins the deletion process.

\n \n

If the given state machine Amazon Resource Name (ARN) is a qualified state machine ARN, it will fail with ValidationException.

\n \n

A qualified state machine ARN refers to a Distributed Map state defined within a state machine. For example, the qualified state machine ARN arn:partition:states:region:account-id:stateMachine:stateMachineName/mapStateLabel refers to a Distributed Map state with a label mapStateLabel in the state machine named stateMachineName.

\n \n \n

For EXPRESS state machines, the deletion will happen eventually (usually\n less than a minute). Running executions may emit logs after DeleteStateMachine\n API is called.

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

Deletes a state machine. This is an asynchronous operation: It sets the state machine's\n status to DELETING and begins the deletion process.

\n

A qualified state machine ARN can either refer to a Distributed Map state defined within a state machine, a version ARN, or an alias ARN.

\n

The following are some examples of qualified and unqualified state machine ARNs:

\n
    \n
  • \n

    The following qualified state machine ARN refers to a Distributed Map state with a label mapStateLabel in a state machine named myStateMachine.

    \n

    \n arn:partition:states:region:account-id:stateMachine:myStateMachine/mapStateLabel\n

    \n \n

    If you provide a qualified state machine ARN that refers to a Distributed Map state, the request fails with ValidationException.

    \n
    \n
  • \n
  • \n

    The following unqualified state machine ARN refers to a state machine named myStateMachine.

    \n

    \n arn:partition:states:region:account-id:stateMachine:myStateMachine\n

    \n
  • \n
\n

This API action also deletes all versions and aliases associated with a state machine.

\n \n

For EXPRESS state machines, the deletion happens eventually (usually in\n less than a minute). Running executions may emit logs after DeleteStateMachine\n API is called.

\n
" + } + }, + "com.amazonaws.sfn#DeleteStateMachineAlias": { + "type": "operation", + "input": { + "target": "com.amazonaws.sfn#DeleteStateMachineAliasInput" + }, + "output": { + "target": "com.amazonaws.sfn#DeleteStateMachineAliasOutput" + }, + "errors": [ + { + "target": "com.amazonaws.sfn#ConflictException" + }, + { + "target": "com.amazonaws.sfn#InvalidArn" + }, + { + "target": "com.amazonaws.sfn#ResourceNotFound" + }, + { + "target": "com.amazonaws.sfn#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Deletes a state machine alias.

\n

After you delete a state machine alias, you can't use it to start executions. When you\n delete a state machine alias, Step Functions doesn't delete the state machine versions\n that alias references.

\n

\n Related operations:\n

\n " + } + }, + "com.amazonaws.sfn#DeleteStateMachineAliasInput": { + "type": "structure", + "members": { + "stateMachineAliasArn": { + "target": "com.amazonaws.sfn#Arn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the state machine alias to delete.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.sfn#DeleteStateMachineAliasOutput": { + "type": "structure", + "members": {}, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.sfn#DeleteStateMachineInput": { @@ -2806,11 +1953,62 @@ "smithy.api#required": {} } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.sfn#DeleteStateMachineOutput": { "type": "structure", - "members": {} + "members": {}, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.sfn#DeleteStateMachineVersion": { + "type": "operation", + "input": { + "target": "com.amazonaws.sfn#DeleteStateMachineVersionInput" + }, + "output": { + "target": "com.amazonaws.sfn#DeleteStateMachineVersionOutput" + }, + "errors": [ + { + "target": "com.amazonaws.sfn#ConflictException" + }, + { + "target": "com.amazonaws.sfn#InvalidArn" + }, + { + "target": "com.amazonaws.sfn#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Deletes a state machine version. After\n you delete a version, you can't call StartExecution using that version's ARN\n or use\n the\n version with a state machine alias.

\n \n

Deleting a state machine version won't terminate its in-progress executions.

\n
\n \n

You can't delete a state machine version currently referenced by one or more aliases. Before you delete a version, you must either delete the aliases or update them to point to another state machine version.

\n
\n

\n Related operations:\n

\n " + } + }, + "com.amazonaws.sfn#DeleteStateMachineVersionInput": { + "type": "structure", + "members": { + "stateMachineVersionArn": { + "target": "com.amazonaws.sfn#LongArn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the state machine version to delete.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.sfn#DeleteStateMachineVersionOutput": { + "type": "structure", + "members": {}, + "traits": { + "smithy.api#output": {} + } }, "com.amazonaws.sfn#DescribeActivity": { "type": "operation", @@ -2829,7 +2027,7 @@ } ], "traits": { - "smithy.api#documentation": "

Describes an activity.

\n \n

This operation is eventually consistent. The results are best effort and may not reflect very recent updates and changes.

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

Describes an activity.

\n \n

This operation is eventually consistent. The results are best effort and may not reflect very recent updates and changes.

\n
" } }, "com.amazonaws.sfn#DescribeActivityInput": { @@ -2842,6 +2040,9 @@ "smithy.api#required": {} } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.sfn#DescribeActivityOutput": { @@ -2857,7 +2058,7 @@ "name": { "target": "com.amazonaws.sfn#Name", "traits": { - "smithy.api#documentation": "

The name of the activity.

\n

A name must not contain:

\n
    \n
  • \n

    white space

    \n
  • \n
  • \n

    brackets < > { } [ ]\n

    \n
  • \n
  • \n

    wildcard characters ? *\n

    \n
  • \n
  • \n

    special characters \" # % \\ ^ | ~ ` $ & , ; : /\n

    \n
  • \n
  • \n

    control characters (U+0000-001F, U+007F-009F)

    \n
  • \n
\n

To enable logging with CloudWatch Logs, the name should only contain 0-9, A-Z, a-z, - and _.

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

The name of the activity.

\n

A name must not contain:

\n
    \n
  • \n

    white space

    \n
  • \n
  • \n

    brackets < > { } [ ]\n

    \n
  • \n
  • \n

    wildcard characters ? *\n

    \n
  • \n
  • \n

    special characters \" # % \\ ^ | ~ ` $ & , ; : /\n

    \n
  • \n
  • \n

    control characters (U+0000-001F, U+007F-009F)

    \n
  • \n
\n

To enable logging with CloudWatch Logs, the name should only contain 0-9, A-Z, a-z, - and _.

", "smithy.api#required": {} } }, @@ -2868,6 +2069,9 @@ "smithy.api#required": {} } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.sfn#DescribeExecution": { @@ -2887,7 +2091,7 @@ } ], "traits": { - "smithy.api#documentation": "

Provides all information about a state machine execution, such as the state machine associated with the execution, the execution input and output, and relevant execution metadata. Use this API action to return the Map Run ARN if the execution was dispatched by a Map Run.

\n \n

This operation is eventually consistent. The results are best effort and may not reflect very recent updates and changes.

\n
\n

This API action is not supported by EXPRESS state machine executions unless they were dispatched by a Map Run.

" + "smithy.api#documentation": "

Provides information about a state machine execution, such as the state machine\n associated with the execution, the execution input and output, and relevant execution\n metadata. Use this API action to return the Map Run Amazon Resource Name (ARN) if the execution was\n dispatched by a Map Run.

\n

If you specify a version or alias ARN when you call the StartExecution\n API action, DescribeExecution returns that ARN.

\n \n

This operation is eventually consistent. The results are best effort and may not reflect very recent updates and changes.

\n
\n

Executions of an EXPRESS state machinearen't supported by DescribeExecution unless a Map Run dispatched them.

" } }, "com.amazonaws.sfn#DescribeExecutionInput": { @@ -2900,6 +2104,9 @@ "smithy.api#required": {} } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.sfn#DescribeExecutionOutput": { @@ -2922,7 +2129,7 @@ "name": { "target": "com.amazonaws.sfn#Name", "traits": { - "smithy.api#documentation": "

The name of the execution.

\n

A name must not contain:

\n
    \n
  • \n

    white space

    \n
  • \n
  • \n

    brackets < > { } [ ]\n

    \n
  • \n
  • \n

    wildcard characters ? *\n

    \n
  • \n
  • \n

    special characters \" # % \\ ^ | ~ ` $ & , ; : /\n

    \n
  • \n
  • \n

    control characters (U+0000-001F, U+007F-009F)

    \n
  • \n
\n

To enable logging with CloudWatch Logs, the name should only contain 0-9, A-Z, a-z, - and _.

" + "smithy.api#documentation": "

The name of the execution.

\n

A name must not contain:

\n
    \n
  • \n

    white space

    \n
  • \n
  • \n

    brackets < > { } [ ]\n

    \n
  • \n
  • \n

    wildcard characters ? *\n

    \n
  • \n
  • \n

    special characters \" # % \\ ^ | ~ ` $ & , ; : /\n

    \n
  • \n
  • \n

    control characters (U+0000-001F, U+007F-009F)

    \n
  • \n
\n

To enable logging with CloudWatch Logs, the name should only contain 0-9, A-Z, a-z, - and _.

" } }, "status": { @@ -2942,7 +2149,7 @@ "stopDate": { "target": "com.amazonaws.sfn#Timestamp", "traits": { - "smithy.api#documentation": "

If the execution has already ended, the date the execution stopped.

" + "smithy.api#documentation": "

If the execution ended, the date the execution stopped.

" } }, "input": { @@ -2986,7 +2193,22 @@ "traits": { "smithy.api#documentation": "

The cause string if the state machine execution failed.

" } + }, + "stateMachineVersionArn": { + "target": "com.amazonaws.sfn#Arn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the state machine version associated with the execution. The version ARN is a combination of state machine ARN and the version number separated by a colon (:). For example, stateMachineARN:1.

\n

If you start an execution from a StartExecution request without specifying a\n state machine version or alias ARN, Step Functions returns a null value.

" + } + }, + "stateMachineAliasArn": { + "target": "com.amazonaws.sfn#Arn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the state machine alias associated with the execution. The alias ARN is a combination of state machine ARN and the alias name separated by a colon (:). For example, stateMachineARN:PROD.

\n

If you start an execution from a StartExecution request with a\n state machine version ARN, this field will be null.

" + } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.sfn#DescribeMapRun": { @@ -3019,6 +2241,9 @@ "smithy.api#required": {} } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.sfn#DescribeMapRunOutput": { @@ -3096,6 +2321,9 @@ "smithy.api#required": {} } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.sfn#DescribeStateMachine": { @@ -3115,7 +2343,89 @@ } ], "traits": { - "smithy.api#documentation": "

Provides information about a state machine's definition, its IAM role Amazon Resource Name (ARN), and configuration. If the state machine ARN is a qualified state machine ARN, the response returned includes the Map state's label.

\n \n

A qualified state machine ARN refers to a Distributed Map state defined within a state machine. For example, the qualified state machine ARN arn:partition:states:region:account-id:stateMachine:stateMachineName/mapStateLabel refers to a Distributed Map state with a label mapStateLabel in the state machine named stateMachineName.

\n \n \n

This operation is eventually consistent. The results are best effort and may not reflect very recent updates and changes.

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

Provides information about a state machine's definition, its IAM role Amazon Resource Name (ARN), and configuration.

\n

A qualified state machine ARN can either refer to a Distributed Map state defined within a state machine, a version ARN, or an alias ARN.

\n

The following are some examples of qualified and unqualified state machine ARNs:

\n
    \n
  • \n

    The following qualified state machine ARN refers to a Distributed Map state with a label mapStateLabel in a state machine named myStateMachine.

    \n

    \n arn:partition:states:region:account-id:stateMachine:myStateMachine/mapStateLabel\n

    \n \n

    If you provide a qualified state machine ARN that refers to a Distributed Map state, the request fails with ValidationException.

    \n
    \n
  • \n
  • \n

    The following qualified state machine ARN refers to an alias named PROD.

    \n

    \n arn::states:::stateMachine:\n

    \n \n

    If you provide a qualified state machine ARN that refers to a version ARN or an alias ARN, the request starts execution for that version or alias.

    \n
    \n
  • \n
  • \n

    The following unqualified state machine ARN refers to a state machine named myStateMachine.

    \n

    \n arn::states:::stateMachine:\n

    \n
  • \n
\n

This API action returns the details for a state machine version if the\n stateMachineArn you specify is a state machine version ARN.

\n \n

This operation is eventually consistent. The results are best effort and may not reflect very recent updates and changes.

\n
" + } + }, + "com.amazonaws.sfn#DescribeStateMachineAlias": { + "type": "operation", + "input": { + "target": "com.amazonaws.sfn#DescribeStateMachineAliasInput" + }, + "output": { + "target": "com.amazonaws.sfn#DescribeStateMachineAliasOutput" + }, + "errors": [ + { + "target": "com.amazonaws.sfn#InvalidArn" + }, + { + "target": "com.amazonaws.sfn#ResourceNotFound" + }, + { + "target": "com.amazonaws.sfn#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Returns details about a state machine alias.

\n

\n Related operations:\n

\n " + } + }, + "com.amazonaws.sfn#DescribeStateMachineAliasInput": { + "type": "structure", + "members": { + "stateMachineAliasArn": { + "target": "com.amazonaws.sfn#Arn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the state machine alias.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.sfn#DescribeStateMachineAliasOutput": { + "type": "structure", + "members": { + "stateMachineAliasArn": { + "target": "com.amazonaws.sfn#Arn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the state machine alias.

" + } + }, + "name": { + "target": "com.amazonaws.sfn#Name", + "traits": { + "smithy.api#documentation": "

The name of the state machine alias.

" + } + }, + "description": { + "target": "com.amazonaws.sfn#AliasDescription", + "traits": { + "smithy.api#documentation": "

A description of the alias.

" + } + }, + "routingConfiguration": { + "target": "com.amazonaws.sfn#RoutingConfigurationList", + "traits": { + "smithy.api#documentation": "

The routing configuration of the alias.

" + } + }, + "creationDate": { + "target": "com.amazonaws.sfn#Timestamp", + "traits": { + "smithy.api#documentation": "

The date the state machine alias was created.

" + } + }, + "updateDate": { + "target": "com.amazonaws.sfn#Timestamp", + "traits": { + "smithy.api#documentation": "

The date the state machine alias was last updated.

\n

For a newly created state machine, this is the same as the creation date.

" + } + } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.sfn#DescribeStateMachineForExecution": { @@ -3135,7 +2445,7 @@ } ], "traits": { - "smithy.api#documentation": "

Provides information about a state machine's definition, its execution role ARN, and configuration. If an execution was dispatched by a Map Run, the Map Run is returned in the response. Additionally, the state machine returned will be the state machine associated with the Map Run.

\n \n

This operation is eventually consistent. The results are best effort and may not reflect very recent updates and changes.

\n
\n

This API action is not supported by EXPRESS state machines.

" + "smithy.api#documentation": "

Provides information about a state machine's definition, its execution role ARN, and\n configuration. If a Map Run dispatched the execution, this action returns the Map Run\n Amazon Resource Name (ARN) in the response.\n The\n state machine returned is the state machine associated with the\n Map Run.

\n \n

This operation is eventually consistent. The results are best effort and may not reflect very recent updates and changes.

\n
\n

This API action is not supported by EXPRESS state machines.

" } }, "com.amazonaws.sfn#DescribeStateMachineForExecutionInput": { @@ -3148,6 +2458,9 @@ "smithy.api#required": {} } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.sfn#DescribeStateMachineForExecutionOutput": { @@ -3208,7 +2521,16 @@ "traits": { "smithy.api#documentation": "

A user-defined or an auto-generated string that identifies a Map state. This field is returned only if the executionArn is a child workflow execution that was started by a Distributed Map state.

" } + }, + "revisionId": { + "target": "com.amazonaws.sfn#RevisionId", + "traits": { + "smithy.api#documentation": "

The revision identifier for the state machine. The first revision ID when you create the state machine is null.

\n

Use the state machine revisionId parameter to compare the revision of a state machine with the configuration of the state machine used for executions without performing a diff of the properties, such as definition and roleArn.

" + } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.sfn#DescribeStateMachineInput": { @@ -3217,10 +2539,13 @@ "stateMachineArn": { "target": "com.amazonaws.sfn#Arn", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the state machine to describe.

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

The Amazon Resource Name (ARN) of the state machine for which you want the information.

\n

If you specify a state machine version ARN, this API returns details about that version. The version ARN is a combination of state machine ARN and the version number separated by a colon (:). For example, stateMachineARN:1.

", "smithy.api#required": {} } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.sfn#DescribeStateMachineOutput": { @@ -3229,14 +2554,14 @@ "stateMachineArn": { "target": "com.amazonaws.sfn#Arn", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) that identifies the state machine.

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

The Amazon Resource Name (ARN) that identifies the state machine.

\n

If you specified a state machine version ARN in your request, the API returns the version ARN. The version ARN is a combination of state machine ARN and the version number separated by a colon (:). For example, stateMachineARN:1.

", "smithy.api#required": {} } }, "name": { "target": "com.amazonaws.sfn#Name", "traits": { - "smithy.api#documentation": "

The name of the state machine.

\n

A name must not contain:

\n
    \n
  • \n

    white space

    \n
  • \n
  • \n

    brackets < > { } [ ]\n

    \n
  • \n
  • \n

    wildcard characters ? *\n

    \n
  • \n
  • \n

    special characters \" # % \\ ^ | ~ ` $ & , ; : /\n

    \n
  • \n
  • \n

    control characters (U+0000-001F, U+007F-009F)

    \n
  • \n
\n

To enable logging with CloudWatch Logs, the name should only contain 0-9, A-Z, a-z, - and _.

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

The name of the state machine.

\n

A name must not contain:

\n
    \n
  • \n

    white space

    \n
  • \n
  • \n

    brackets < > { } [ ]\n

    \n
  • \n
  • \n

    wildcard characters ? *\n

    \n
  • \n
  • \n

    special characters \" # % \\ ^ | ~ ` $ & , ; : /\n

    \n
  • \n
  • \n

    control characters (U+0000-001F, U+007F-009F)

    \n
  • \n
\n

To enable logging with CloudWatch Logs, the name should only contain 0-9, A-Z, a-z, - and _.

", "smithy.api#required": {} } }, @@ -3270,7 +2595,7 @@ "creationDate": { "target": "com.amazonaws.sfn#Timestamp", "traits": { - "smithy.api#documentation": "

The date the state machine is created.

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

The date the state machine is created.

\n

For a state machine version, creationDate is the date the version was created.

", "smithy.api#required": {} } }, @@ -3288,7 +2613,22 @@ "traits": { "smithy.api#documentation": "

A user-defined or an auto-generated string that identifies a Map state. This parameter is present only if the stateMachineArn specified in input is a qualified state machine ARN.

" } + }, + "revisionId": { + "target": "com.amazonaws.sfn#RevisionId", + "traits": { + "smithy.api#documentation": "

The revision identifier for the state machine.

\n

Use the revisionId parameter to compare between versions of a state machine\n configuration used for executions without performing a diff of the properties, such as\n definition and roleArn.

" + } + }, + "description": { + "target": "com.amazonaws.sfn#VersionDescription", + "traits": { + "smithy.api#documentation": "

The description of the state machine version.

" + } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.sfn#Enabled": { @@ -3401,14 +2741,14 @@ "stateMachineArn": { "target": "com.amazonaws.sfn#Arn", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the executed state machine.

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

The Amazon Resource Name (ARN) of the state machine that ran the execution.

", "smithy.api#required": {} } }, "name": { "target": "com.amazonaws.sfn#Name", "traits": { - "smithy.api#documentation": "

The name of the execution.

\n

A name must not contain:

\n
    \n
  • \n

    white space

    \n
  • \n
  • \n

    brackets < > { } [ ]\n

    \n
  • \n
  • \n

    wildcard characters ? *\n

    \n
  • \n
  • \n

    special characters \" # % \\ ^ | ~ ` $ & , ; : /\n

    \n
  • \n
  • \n

    control characters (U+0000-001F, U+007F-009F)

    \n
  • \n
\n

To enable logging with CloudWatch Logs, the name should only contain 0-9, A-Z, a-z, - and _.

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

The name of the execution.

\n

A name must not contain:

\n
    \n
  • \n

    white space

    \n
  • \n
  • \n

    brackets < > { } [ ]\n

    \n
  • \n
  • \n

    wildcard characters ? *\n

    \n
  • \n
  • \n

    special characters \" # % \\ ^ | ~ ` $ & , ; : /\n

    \n
  • \n
  • \n

    control characters (U+0000-001F, U+007F-009F)

    \n
  • \n
\n

To enable logging with CloudWatch Logs, the name should only contain 0-9, A-Z, a-z, - and _.

", "smithy.api#required": {} } }, @@ -3444,6 +2784,18 @@ "smithy.api#default": null, "smithy.api#documentation": "

The total number of items processed in a child workflow execution. This field is returned only if mapRunArn was specified in the ListExecutions API action. If stateMachineArn was specified in ListExecutions, the itemCount field isn't returned.

" } + }, + "stateMachineVersionArn": { + "target": "com.amazonaws.sfn#Arn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the state machine version associated with the execution.

\n

If the state machine execution was started with an unqualified ARN, it returns null.

\n

If the execution was started using a stateMachineAliasArn, both the stateMachineAliasArn and stateMachineVersionArn parameters contain the respective values.

" + } + }, + "stateMachineAliasArn": { + "target": "com.amazonaws.sfn#Arn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the state machine alias used to start an execution.

\n

If the state machine execution was started with an unqualified ARN or a version ARN, it returns null.

" + } } }, "traits": { @@ -3470,6 +2822,18 @@ "traits": { "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the IAM role used for executing Lambda tasks.

" } + }, + "stateMachineAliasArn": { + "target": "com.amazonaws.sfn#Arn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) that identifies a state machine alias used for starting the state machine execution.

" + } + }, + "stateMachineVersionArn": { + "target": "com.amazonaws.sfn#Arn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) that identifies a state machine version used for starting the state machine execution.

" + } } }, "traits": { @@ -3571,7 +2935,7 @@ } ], "traits": { - "smithy.api#documentation": "

Used by workers to retrieve a task (with the specified activity ARN) which has been\n scheduled for execution by a running state machine. This initiates a long poll, where the\n service holds the HTTP connection open and responds as soon as a task becomes available (i.e.\n an execution of a task of this type is needed.) The maximum time the service holds on to the\n request before responding is 60 seconds. If no task is available within 60 seconds, the poll\n returns a taskToken with a null string.

\n \n \n

This API action isn't logged in CloudTrail.

\n
\n \n \n

Workers should set their client side socket timeout to at least 65 seconds (5 seconds\n higher than the maximum time the service may hold the poll request).

\n

Polling with GetActivityTask can cause latency in some implementations. See\n Avoid\n Latency When Polling for Activity Tasks in the Step Functions Developer Guide.

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

Used by workers to retrieve a task (with the specified activity ARN) which has been\n scheduled for execution by a running state machine. This initiates a long poll, where the\n service holds the HTTP connection open and responds as soon as a task becomes available (i.e.\n an execution of a task of this type is needed.) The maximum time the service holds on to the\n request before responding is 60 seconds. If no task is available within 60 seconds, the poll\n returns a taskToken with a null string.

\n \n

This API action isn't logged in CloudTrail.

\n
\n \n

Workers should set their client side socket timeout to at least 65 seconds (5 seconds\n higher than the maximum time the service may hold the poll request).

\n

Polling with GetActivityTask can cause latency in some implementations. See\n Avoid\n Latency When Polling for Activity Tasks in the Step Functions Developer Guide.

\n
" } }, "com.amazonaws.sfn#GetActivityTaskInput": { @@ -3590,6 +2954,9 @@ "smithy.api#documentation": "

You can provide an arbitrary name in order to identify the worker that the task is\n assigned to. This name is used when it is logged in the execution history.

" } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.sfn#GetActivityTaskOutput": { @@ -3607,6 +2974,9 @@ "smithy.api#documentation": "

The string that contains the JSON input data for the task. Length constraints apply to the payload size, and are expressed as bytes in UTF-8 encoding.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.sfn#GetExecutionHistory": { @@ -3629,7 +2999,7 @@ } ], "traits": { - "smithy.api#documentation": "

Returns the history of the specified execution as a list of events. By default, the\n results are returned in ascending order of the timeStamp of the events. Use the\n reverseOrder parameter to get the latest events first.

\n

If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page.\n Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged. Each pagination token expires after 24 hours. Using an expired pagination token will return an HTTP 400 InvalidToken error.

\n

This API action is not supported by EXPRESS state machines.

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

Returns the history of the specified execution as a list of events. By default, the\n results are returned in ascending order of the timeStamp of the events. Use the\n reverseOrder parameter to get the latest events first.

\n

If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page.\n Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged. Each pagination token expires after 24 hours. Using an expired pagination token will return an HTTP 400 InvalidToken error.

\n

This API action is not supported by EXPRESS state machines.

", "smithy.api#paginated": { "inputToken": "nextToken", "outputToken": "nextToken", @@ -3652,7 +3022,7 @@ "target": "com.amazonaws.sfn#PageSize", "traits": { "smithy.api#default": 0, - "smithy.api#documentation": "

The maximum number of results that are returned per call. You can use nextToken to obtain further pages of results.\n The default is 100 and the maximum allowed page size is 1000. A value of 0 uses the default.

\n

This is only an upper limit. The actual number of results returned per call might be fewer than the specified maximum.

" + "smithy.api#documentation": "

The maximum number of results that are returned per call. You can use nextToken to obtain further pages of results.\n The default is 100 and the maximum allowed page size is 1000. A value of 0 uses the default.

\n

This is only an upper limit. The actual number of results returned per call might be fewer than the specified maximum.

" } }, "reverseOrder": { @@ -3674,6 +3044,9 @@ "smithy.api#documentation": "

You can select whether execution data (input or output of a history event) is returned.\n The default is true.

" } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.sfn#GetExecutionHistoryOutput": { @@ -3692,6 +3065,9 @@ "smithy.api#documentation": "

If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page.\n Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged. Each pagination token expires after 24 hours. Using an expired pagination token will return an HTTP 400 InvalidToken error.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.sfn#HistoryEvent": { @@ -4538,7 +3914,7 @@ } ], "traits": { - "smithy.api#documentation": "

Lists the existing activities.

\n

If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page.\n Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged. Each pagination token expires after 24 hours. Using an expired pagination token will return an HTTP 400 InvalidToken error.

\n \n

This operation is eventually consistent. The results are best effort and may not reflect very recent updates and changes.

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

Lists the existing activities.

\n

If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page.\n Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged. Each pagination token expires after 24 hours. Using an expired pagination token will return an HTTP 400 InvalidToken error.

\n \n

This operation is eventually consistent. The results are best effort and may not reflect very recent updates and changes.

\n
", "smithy.api#paginated": { "inputToken": "nextToken", "outputToken": "nextToken", @@ -4554,7 +3930,7 @@ "target": "com.amazonaws.sfn#PageSize", "traits": { "smithy.api#default": 0, - "smithy.api#documentation": "

The maximum number of results that are returned per call. You can use nextToken to obtain further pages of results.\n The default is 100 and the maximum allowed page size is 1000. A value of 0 uses the default.

\n

This is only an upper limit. The actual number of results returned per call might be fewer than the specified maximum.

" + "smithy.api#documentation": "

The maximum number of results that are returned per call. You can use nextToken to obtain further pages of results.\n The default is 100 and the maximum allowed page size is 1000. A value of 0 uses the default.

\n

This is only an upper limit. The actual number of results returned per call might be fewer than the specified maximum.

" } }, "nextToken": { @@ -4563,6 +3939,9 @@ "smithy.api#documentation": "

If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page.\n Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged. Each pagination token expires after 24 hours. Using an expired pagination token will return an HTTP 400 InvalidToken error.

" } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.sfn#ListActivitiesOutput": { @@ -4581,6 +3960,9 @@ "smithy.api#documentation": "

If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page.\n Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged. Each pagination token expires after 24 hours. Using an expired pagination token will return an HTTP 400 InvalidToken error.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.sfn#ListExecutions": { @@ -4612,7 +3994,7 @@ } ], "traits": { - "smithy.api#documentation": "

Lists all executions of a state machine or a Map Run. You can list all executions related to a state machine by specifying a state machine Amazon Resource Name (ARN), or those related to a Map Run by specifying a Map Run ARN.

\n

Results are\n sorted by time, with the most recent execution first.

\n

If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page.\n Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged. Each pagination token expires after 24 hours. Using an expired pagination token will return an HTTP 400 InvalidToken error.

\n \n

This operation is eventually consistent. The results are best effort and may not reflect very recent updates and changes.

\n
\n

This API action is not supported by EXPRESS state machines.

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

Lists all executions of a state machine or a Map Run. You can list all executions related to a state machine by specifying a state machine Amazon Resource Name (ARN), or those related to a Map Run by specifying a Map Run ARN.

\n

You can also provide a state machine alias ARN or version ARN to list the executions associated with a specific alias or version.

\n

Results are\n sorted by time, with the most recent execution first.

\n

If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page.\n Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged. Each pagination token expires after 24 hours. Using an expired pagination token will return an HTTP 400 InvalidToken error.

\n \n

This operation is eventually consistent. The results are best effort and may not reflect very recent updates and changes.

\n
\n

This API action is not supported by EXPRESS state machines.

", "smithy.api#paginated": { "inputToken": "nextToken", "outputToken": "nextToken", @@ -4627,7 +4009,7 @@ "stateMachineArn": { "target": "com.amazonaws.sfn#Arn", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the state machine whose executions is listed.

\n

You can specify either a mapRunArn or a stateMachineArn, but not both.

" + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the state machine whose executions is listed.

\n

You can specify either a mapRunArn or a stateMachineArn, but not both.

\n

You can also return a list of executions associated with a specific alias or version, by specifying an alias ARN or a version ARN in the stateMachineArn parameter.

" } }, "statusFilter": { @@ -4640,7 +4022,7 @@ "target": "com.amazonaws.sfn#PageSize", "traits": { "smithy.api#default": 0, - "smithy.api#documentation": "

The maximum number of results that are returned per call. You can use nextToken to obtain further pages of results.\n The default is 100 and the maximum allowed page size is 1000. A value of 0 uses the default.

\n

This is only an upper limit. The actual number of results returned per call might be fewer than the specified maximum.

" + "smithy.api#documentation": "

The maximum number of results that are returned per call. You can use nextToken to obtain further pages of results.\n The default is 100 and the maximum allowed page size is 1000. A value of 0 uses the default.

\n

This is only an upper limit. The actual number of results returned per call might be fewer than the specified maximum.

" } }, "nextToken": { @@ -4655,6 +4037,9 @@ "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the Map Run that started the child workflow executions. If the mapRunArn field is specified, a list of all of the child workflow executions started by a Map Run is returned. For more information, see Examining Map Run in the Step Functions Developer Guide.

\n

You can specify either a mapRunArn or a stateMachineArn, but not both.

" } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.sfn#ListExecutionsOutput": { @@ -4673,6 +4058,9 @@ "smithy.api#documentation": "

If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page.\n Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged. Each pagination token expires after 24 hours. Using an expired pagination token will return an HTTP 400 InvalidToken error.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.sfn#ListExecutionsPageToken": { @@ -4727,7 +4115,7 @@ "target": "com.amazonaws.sfn#PageSize", "traits": { "smithy.api#default": 0, - "smithy.api#documentation": "

The maximum number of results that are returned per call. You can use nextToken to obtain further pages of results.\n The default is 100 and the maximum allowed page size is 1000. A value of 0 uses the default.

\n

This is only an upper limit. The actual number of results returned per call might be fewer than the specified maximum.

" + "smithy.api#documentation": "

The maximum number of results that are returned per call. You can use nextToken to obtain further pages of results.\n The default is 100 and the maximum allowed page size is 1000. A value of 0 uses the default.

\n

This is only an upper limit. The actual number of results returned per call might be fewer than the specified maximum.

" } }, "nextToken": { @@ -4736,6 +4124,9 @@ "smithy.api#documentation": "

If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page.\n Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged. Each pagination token expires after 24 hours. Using an expired pagination token will return an HTTP 400 InvalidToken error.

" } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.sfn#ListMapRunsOutput": { @@ -4754,6 +4145,159 @@ "smithy.api#documentation": "

If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page.\n Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged. Each pagination token expires after 24 hours. Using an expired pagination token will return an HTTP 400 InvalidToken error.

" } } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.sfn#ListStateMachineAliases": { + "type": "operation", + "input": { + "target": "com.amazonaws.sfn#ListStateMachineAliasesInput" + }, + "output": { + "target": "com.amazonaws.sfn#ListStateMachineAliasesOutput" + }, + "errors": [ + { + "target": "com.amazonaws.sfn#InvalidArn" + }, + { + "target": "com.amazonaws.sfn#InvalidToken" + }, + { + "target": "com.amazonaws.sfn#ResourceNotFound" + }, + { + "target": "com.amazonaws.sfn#StateMachineDeleting" + }, + { + "target": "com.amazonaws.sfn#StateMachineDoesNotExist" + } + ], + "traits": { + "smithy.api#documentation": "

Lists aliases for a specified state machine ARN. Results are sorted by time, with the most recently created aliases listed first.

\n

To list aliases that reference a state machine version, you can specify the version ARN in the stateMachineArn parameter.

\n

If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page.\n Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged. Each pagination token expires after 24 hours. Using an expired pagination token will return an HTTP 400 InvalidToken error.

\n

\n Related operations:\n

\n " + } + }, + "com.amazonaws.sfn#ListStateMachineAliasesInput": { + "type": "structure", + "members": { + "stateMachineArn": { + "target": "com.amazonaws.sfn#Arn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the state machine for which you want to list aliases.

\n

If you specify a state machine version ARN, this API returns a list of aliases for that version.

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

If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page.\n Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged. Each pagination token expires after 24 hours. Using an expired pagination token will return an HTTP 400 InvalidToken error.

" + } + }, + "maxResults": { + "target": "com.amazonaws.sfn#PageSize", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "

The maximum number of results that are returned per call. You can use nextToken to obtain further pages of results.\n The default is 100 and the maximum allowed page size is 1000. A value of 0 uses the default.

\n

This is only an upper limit. The actual number of results returned per call might be fewer than the specified maximum.

" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.sfn#ListStateMachineAliasesOutput": { + "type": "structure", + "members": { + "stateMachineAliases": { + "target": "com.amazonaws.sfn#StateMachineAliasList", + "traits": { + "smithy.api#documentation": "

Aliases for the state machine.

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

If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page.\n Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged. Each pagination token expires after 24 hours. Using an expired pagination token will return an HTTP 400 InvalidToken error.

" + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, + "com.amazonaws.sfn#ListStateMachineVersions": { + "type": "operation", + "input": { + "target": "com.amazonaws.sfn#ListStateMachineVersionsInput" + }, + "output": { + "target": "com.amazonaws.sfn#ListStateMachineVersionsOutput" + }, + "errors": [ + { + "target": "com.amazonaws.sfn#InvalidArn" + }, + { + "target": "com.amazonaws.sfn#InvalidToken" + }, + { + "target": "com.amazonaws.sfn#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Lists versions for the specified state machine Amazon Resource Name (ARN).

\n

The results are sorted in descending order of the version creation time.

\n

If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page.\n Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged. Each pagination token expires after 24 hours. Using an expired pagination token will return an HTTP 400 InvalidToken error.

\n

\n Related operations:\n

\n " + } + }, + "com.amazonaws.sfn#ListStateMachineVersionsInput": { + "type": "structure", + "members": { + "stateMachineArn": { + "target": "com.amazonaws.sfn#Arn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the state machine.

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

If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page.\n Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged. Each pagination token expires after 24 hours. Using an expired pagination token will return an HTTP 400 InvalidToken error.

" + } + }, + "maxResults": { + "target": "com.amazonaws.sfn#PageSize", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "

The maximum number of results that are returned per call. You can use nextToken to obtain further pages of results.\n The default is 100 and the maximum allowed page size is 1000. A value of 0 uses the default.

\n

This is only an upper limit. The actual number of results returned per call might be fewer than the specified maximum.

" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.sfn#ListStateMachineVersionsOutput": { + "type": "structure", + "members": { + "stateMachineVersions": { + "target": "com.amazonaws.sfn#StateMachineVersionList", + "traits": { + "smithy.api#documentation": "

Versions for the state machine.

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

If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page.\n Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged. Each pagination token expires after 24 hours. Using an expired pagination token will return an HTTP 400 InvalidToken error.

" + } + } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.sfn#ListStateMachines": { @@ -4770,7 +4314,7 @@ } ], "traits": { - "smithy.api#documentation": "

Lists the existing state machines.

\n

If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page.\n Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged. Each pagination token expires after 24 hours. Using an expired pagination token will return an HTTP 400 InvalidToken error.

\n \n

This operation is eventually consistent. The results are best effort and may not reflect very recent updates and changes.

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

Lists the existing state machines.

\n

If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page.\n Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged. Each pagination token expires after 24 hours. Using an expired pagination token will return an HTTP 400 InvalidToken error.

\n \n

This operation is eventually consistent. The results are best effort and may not reflect very recent updates and changes.

\n
", "smithy.api#paginated": { "inputToken": "nextToken", "outputToken": "nextToken", @@ -4786,7 +4330,7 @@ "target": "com.amazonaws.sfn#PageSize", "traits": { "smithy.api#default": 0, - "smithy.api#documentation": "

The maximum number of results that are returned per call. You can use nextToken to obtain further pages of results.\n The default is 100 and the maximum allowed page size is 1000. A value of 0 uses the default.

\n

This is only an upper limit. The actual number of results returned per call might be fewer than the specified maximum.

" + "smithy.api#documentation": "

The maximum number of results that are returned per call. You can use nextToken to obtain further pages of results.\n The default is 100 and the maximum allowed page size is 1000. A value of 0 uses the default.

\n

This is only an upper limit. The actual number of results returned per call might be fewer than the specified maximum.

" } }, "nextToken": { @@ -4795,6 +4339,9 @@ "smithy.api#documentation": "

If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page.\n Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged. Each pagination token expires after 24 hours. Using an expired pagination token will return an HTTP 400 InvalidToken error.

" } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.sfn#ListStateMachinesOutput": { @@ -4812,6 +4359,9 @@ "smithy.api#documentation": "

If nextToken is returned, there are more results available. The value of nextToken is a unique pagination token for each page.\n Make the call again using the returned token to retrieve the next page. Keep all other arguments unchanged. Each pagination token expires after 24 hours. Using an expired pagination token will return an HTTP 400 InvalidToken error.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.sfn#ListTagsForResource": { @@ -4831,7 +4381,7 @@ } ], "traits": { - "smithy.api#documentation": "

List tags for a given resource.

\n

Tags may only contain Unicode letters, digits, white space, or these symbols: _ . : / = + - @.

" + "smithy.api#documentation": "

List tags for a given resource.

\n

Tags may only contain Unicode letters, digits, white space, or these symbols: _ . : / = + - @.

" } }, "com.amazonaws.sfn#ListTagsForResourceInput": { @@ -4844,6 +4394,9 @@ "smithy.api#required": {} } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.sfn#ListTagsForResourceOutput": { @@ -4855,6 +4408,9 @@ "smithy.api#documentation": "

An array of tags associated with the resource.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.sfn#LogDestination": { @@ -5227,84 +4783,210 @@ "length": { "target": "com.amazonaws.sfn#UnsignedInteger", "traits": { - "smithy.api#default": 0, - "smithy.api#documentation": "

The size of the array for Map state iterations.

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

The size of the array for Map state iterations.

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

Details about a Map state that was started.

" + } + }, + "com.amazonaws.sfn#MaxConcurrency": { + "type": "integer", + "traits": { + "smithy.api#default": 0, + "smithy.api#range": { + "min": 0 + } + } + }, + "com.amazonaws.sfn#MissingRequiredParameter": { + "type": "structure", + "members": { + "message": { + "target": "com.amazonaws.sfn#ErrorMessage" + } + }, + "traits": { + "smithy.api#documentation": "

Request is missing a required parameter. This error occurs if both definition\n and roleArn are not specified.

", + "smithy.api#error": "client" + } + }, + "com.amazonaws.sfn#Name": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 80 + } + } + }, + "com.amazonaws.sfn#PageSize": { + "type": "integer", + "traits": { + "smithy.api#default": 0, + "smithy.api#range": { + "min": 0, + "max": 1000 + } + } + }, + "com.amazonaws.sfn#PageToken": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 1024 + } + } + }, + "com.amazonaws.sfn#Publish": { + "type": "boolean", + "traits": { + "smithy.api#default": false + } + }, + "com.amazonaws.sfn#PublishStateMachineVersion": { + "type": "operation", + "input": { + "target": "com.amazonaws.sfn#PublishStateMachineVersionInput" + }, + "output": { + "target": "com.amazonaws.sfn#PublishStateMachineVersionOutput" + }, + "errors": [ + { + "target": "com.amazonaws.sfn#ConflictException" + }, + { + "target": "com.amazonaws.sfn#InvalidArn" + }, + { + "target": "com.amazonaws.sfn#ServiceQuotaExceededException" + }, + { + "target": "com.amazonaws.sfn#StateMachineDeleting" + }, + { + "target": "com.amazonaws.sfn#StateMachineDoesNotExist" + }, + { + "target": "com.amazonaws.sfn#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Creates a version from the\n current revision of a state machine. Use versions to create immutable snapshots of your state\n machine. You can start executions from versions either directly or with an alias. To create an\n alias, use CreateStateMachineAlias.

\n

You can publish up to 1000 versions for each state machine. You must manually delete unused versions using the DeleteStateMachineVersion API action.

\n

\n PublishStateMachineVersion is an idempotent API. It doesn't create a\n duplicate state machine version if it already exists for the current revision. Step Functions bases PublishStateMachineVersion's idempotency check on the\n stateMachineArn, name, and revisionId parameters.\n Requests with the same parameters return a successful idempotent response. If you don't\n specify a revisionId, Step Functions checks for a previously published\n version of the state machine's current revision.

\n

\n Related operations:\n

\n ", + "smithy.api#idempotent": {} + } + }, + "com.amazonaws.sfn#PublishStateMachineVersionInput": { + "type": "structure", + "members": { + "stateMachineArn": { + "target": "com.amazonaws.sfn#Arn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the state machine.

", + "smithy.api#required": {} + } + }, + "revisionId": { + "target": "com.amazonaws.sfn#RevisionId", + "traits": { + "smithy.api#documentation": "

Only publish the state machine version if the current state machine's revision ID matches the specified ID.

\n

Use this option to avoid publishing a version if the state machine changed since you last\n updated it. If the specified revision ID doesn't match the state machine's current revision\n ID, the API returns ConflictException.

\n \n

To specify an initial revision ID for a state machine with no revision ID assigned,\n specify the string INITIAL for the revisionId parameter. For\n example, you can specify a revisionID of INITIAL when you create a\n state machine using the CreateStateMachine API action.

\n
" + } + }, + "description": { + "target": "com.amazonaws.sfn#VersionDescription", + "traits": { + "smithy.api#documentation": "

An optional description of the state machine version.

" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.sfn#PublishStateMachineVersionOutput": { + "type": "structure", + "members": { + "creationDate": { + "target": "com.amazonaws.sfn#Timestamp", + "traits": { + "smithy.api#documentation": "

The date the version was created.

", + "smithy.api#required": {} + } + }, + "stateMachineVersionArn": { + "target": "com.amazonaws.sfn#Arn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) (ARN) that identifies the state machine version.

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

Details about a Map state that was started.

" - } - }, - "com.amazonaws.sfn#MaxConcurrency": { - "type": "integer", - "traits": { - "smithy.api#default": 0, - "smithy.api#range": { - "min": 0 - } + "smithy.api#output": {} } }, - "com.amazonaws.sfn#MissingRequiredParameter": { + "com.amazonaws.sfn#ResourceNotFound": { "type": "structure", "members": { "message": { "target": "com.amazonaws.sfn#ErrorMessage" + }, + "resourceName": { + "target": "com.amazonaws.sfn#Arn" } }, "traits": { - "smithy.api#documentation": "

Request is missing a required parameter. This error occurs if both definition\n and roleArn are not specified.

", - "smithy.api#error": "client" + "smithy.api#documentation": "

Could not find the referenced resource.

", + "smithy.api#error": "client", + "smithy.api#httpError": 404 } }, - "com.amazonaws.sfn#Name": { - "type": "string", + "com.amazonaws.sfn#ReverseOrder": { + "type": "boolean", "traits": { - "smithy.api#length": { - "min": 1, - "max": 80 - } + "smithy.api#default": false } }, - "com.amazonaws.sfn#PageSize": { - "type": "integer", - "traits": { - "smithy.api#default": 0, - "smithy.api#range": { - "min": 0, - "max": 1000 - } - } + "com.amazonaws.sfn#RevisionId": { + "type": "string" }, - "com.amazonaws.sfn#PageToken": { - "type": "string", + "com.amazonaws.sfn#RoutingConfigurationList": { + "type": "list", + "member": { + "target": "com.amazonaws.sfn#RoutingConfigurationListItem" + }, "traits": { "smithy.api#length": { "min": 1, - "max": 1024 + "max": 2 } } }, - "com.amazonaws.sfn#ResourceNotFound": { + "com.amazonaws.sfn#RoutingConfigurationListItem": { "type": "structure", "members": { - "message": { - "target": "com.amazonaws.sfn#ErrorMessage" + "stateMachineVersionArn": { + "target": "com.amazonaws.sfn#Arn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) that identifies one or two state machine versions defined in the routing configuration.

\n

If you specify the ARN of a second version, it must belong to the same state machine as the first version.

", + "smithy.api#required": {} + } }, - "resourceName": { - "target": "com.amazonaws.sfn#Arn" + "weight": { + "target": "com.amazonaws.sfn#VersionWeight", + "traits": { + "smithy.api#default": 0, + "smithy.api#documentation": "

The percentage of traffic you want to route to the second state machine\n version. The sum of the weights in the routing\n configuration must be equal to 100.

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

Could not find the referenced resource. Only state machine and activity ARNs are\n supported.

", - "smithy.api#error": "client", - "smithy.api#httpError": 404 - } - }, - "com.amazonaws.sfn#ReverseOrder": { - "type": "boolean", - "traits": { - "smithy.api#default": false + "smithy.api#documentation": "

Contains details about the routing configuration of a state machine alias. In a routing\n configuration, you define an array of objects that specify up to two state machine versions.\n You also specify the percentage of traffic to be routed to each version.

" } }, "com.amazonaws.sfn#SendTaskFailure": { @@ -5352,11 +5034,17 @@ "smithy.api#documentation": "

A more detailed explanation of the cause of the failure.

" } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.sfn#SendTaskFailureOutput": { "type": "structure", - "members": {} + "members": {}, + "traits": { + "smithy.api#output": {} + } }, "com.amazonaws.sfn#SendTaskHeartbeat": { "type": "operation", @@ -5391,11 +5079,17 @@ "smithy.api#required": {} } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.sfn#SendTaskHeartbeatOutput": { "type": "structure", - "members": {} + "members": {}, + "traits": { + "smithy.api#output": {} + } }, "com.amazonaws.sfn#SendTaskSuccess": { "type": "operation", @@ -5440,11 +5134,17 @@ "smithy.api#required": {} } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.sfn#SendTaskSuccessOutput": { "type": "structure", - "members": {} + "members": {}, + "traits": { + "smithy.api#output": {} + } }, "com.amazonaws.sfn#SensitiveCause": { "type": "string", @@ -5486,6 +5186,19 @@ "smithy.api#sensitive": {} } }, + "com.amazonaws.sfn#ServiceQuotaExceededException": { + "type": "structure", + "members": { + "message": { + "target": "com.amazonaws.sfn#ErrorMessage" + } + }, + "traits": { + "smithy.api#documentation": "

The request would cause a service quota to be exceeded.

\n

HTTP Status Code: 402

", + "smithy.api#error": "client", + "smithy.api#httpError": 402 + } + }, "com.amazonaws.sfn#StartExecution": { "type": "operation", "input": { @@ -5521,7 +5234,7 @@ } ], "traits": { - "smithy.api#documentation": "

Starts a state machine execution. If the given state machine Amazon Resource Name (ARN) is a qualified state machine ARN, it will fail with ValidationException.

\n \n

A qualified state machine ARN refers to a Distributed Map state defined within a state machine. For example, the qualified state machine ARN arn:partition:states:region:account-id:stateMachine:stateMachineName/mapStateLabel refers to a Distributed Map state with a label mapStateLabel in the state machine named stateMachineName.

\n \n \n

\n StartExecution is idempotent for STANDARD workflows. For a\n STANDARD workflow, if StartExecution is called with the same\n name and input as a running execution, the call will succeed and return the same response as\n the original request. If the execution is closed or if the input is different, it will\n return a 400 ExecutionAlreadyExists error. Names can be reused after 90 days.

\n

\n StartExecution is not idempotent for EXPRESS workflows.

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

Starts a state machine execution.

\n

A qualified state machine ARN can either refer to a Distributed Map state defined within a state machine, a version ARN, or an alias ARN.

\n

The following are some examples of qualified and unqualified state machine ARNs:

\n
    \n
  • \n

    The following qualified state machine ARN refers to a Distributed Map state with a label mapStateLabel in a state machine named myStateMachine.

    \n

    \n arn:partition:states:region:account-id:stateMachine:myStateMachine/mapStateLabel\n

    \n \n

    If you provide a qualified state machine ARN that refers to a Distributed Map state, the request fails with ValidationException.

    \n
    \n
  • \n
  • \n

    The following qualified state machine ARN refers to an alias named PROD.

    \n

    \n arn::states:::stateMachine:\n

    \n \n

    If you provide a qualified state machine ARN that refers to a version ARN or an alias ARN, the request starts execution for that version or alias.

    \n
    \n
  • \n
  • \n

    The following unqualified state machine ARN refers to a state machine named myStateMachine.

    \n

    \n arn::states:::stateMachine:\n

    \n
  • \n
\n

If you start an execution with an unqualified state machine ARN, Step Functions uses the latest revision of the state machine for the execution.

\n

To start executions of a state machine version, call\n StartExecution and provide the version ARN or the ARN of an alias that points to the version.

\n \n

\n StartExecution is idempotent for STANDARD workflows. For a\n STANDARD workflow, if you call StartExecution with the same name\n and input as a running execution, the call succeeds and return the same response as the\n original request. If the execution is closed or if the input is different, it returns a\n 400 ExecutionAlreadyExists error. You can reuse names after 90 days.

\n

\n StartExecution isn't idempotent for EXPRESS workflows.

\n
", "smithy.api#idempotent": {} } }, @@ -5531,14 +5244,14 @@ "stateMachineArn": { "target": "com.amazonaws.sfn#Arn", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the state machine to execute.

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

The Amazon Resource Name (ARN) of the state machine to execute.

\n

The stateMachineArn parameter accepts one of the following inputs:

\n
    \n
  • \n

    \n An unqualified state machine ARN – Refers to a state machine ARN that isn't qualified with a version or alias ARN. The following is an example of an unqualified state machine ARN.

    \n

    \n arn::states:::stateMachine:\n

    \n

    Step Functions doesn't associate state machine executions that you start with an unqualified ARN with a version. This is true even if that version uses the same revision that the execution used.

    \n
  • \n
  • \n

    \n A state machine version ARN – Refers to a version ARN, which is a combination of state machine ARN and the version number separated by a colon (:). The following is an example of the ARN for version 10.

    \n

    \n arn::states:::stateMachine::10\n

    \n

    Step Functions doesn't associate executions that you start with a version ARN with any aliases that point to that version.

    \n
  • \n
  • \n

    \n A state machine alias ARN – Refers to an alias ARN, which is a combination of state machine ARN and the alias name separated by a colon (:). The following is an example of the ARN for an alias named PROD.

    \n

    \n arn::states:::stateMachine:\n

    \n

    Step Functions associates executions\n that you start with an alias ARN with that alias and the state machine version used for\n that execution.

    \n
  • \n
", "smithy.api#required": {} } }, "name": { "target": "com.amazonaws.sfn#Name", "traits": { - "smithy.api#documentation": "

The name of the execution. This name must be unique for your Amazon Web Services account, region, and state machine for 90 days. For more information,\n see \n Limits Related to State Machine Executions in the Step Functions Developer Guide.

\n

A name must not contain:

\n
    \n
  • \n

    white space

    \n
  • \n
  • \n

    brackets < > { } [ ]\n

    \n
  • \n
  • \n

    wildcard characters ? *\n

    \n
  • \n
  • \n

    special characters \" # % \\ ^ | ~ ` $ & , ; : /\n

    \n
  • \n
  • \n

    control characters (U+0000-001F, U+007F-009F)

    \n
  • \n
\n

To enable logging with CloudWatch Logs, the name should only contain 0-9, A-Z, a-z, - and _.

" + "smithy.api#documentation": "

Optional name of the execution.\n This name must be unique for your Amazon Web Services account, Region, and state machine for 90 days. For more information,\n see \n Limits Related to State Machine Executions in the Step Functions Developer Guide.

\n

A name must not contain:

\n
    \n
  • \n

    white space

    \n
  • \n
  • \n

    brackets < > { } [ ]\n

    \n
  • \n
  • \n

    wildcard characters ? *\n

    \n
  • \n
  • \n

    special characters \" # % \\ ^ | ~ ` $ & , ; : /\n

    \n
  • \n
  • \n

    control characters (U+0000-001F, U+007F-009F)

    \n
  • \n
\n

To enable logging with CloudWatch Logs, the name should only contain 0-9, A-Z, a-z, - and _.

" } }, "input": { @@ -5553,6 +5266,9 @@ "smithy.api#documentation": "

Passes the X-Ray trace header. The trace header can also be passed in the request\n payload.

" } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.sfn#StartExecutionOutput": { @@ -5572,6 +5288,9 @@ "smithy.api#required": {} } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.sfn#StartSyncExecution": { @@ -5637,6 +5356,9 @@ "smithy.api#documentation": "

Passes the X-Ray trace header. The trace header can also be passed in the request\n payload.

" } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.sfn#StartSyncExecutionOutput": { @@ -5724,6 +5446,9 @@ "smithy.api#documentation": "

An object that describes workflow billing details, including billed duration and memory\n use.

" } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.sfn#StateEnteredEventDetails": { @@ -5780,6 +5505,34 @@ "smithy.api#documentation": "

Contains details about an exit from a state during an execution.

" } }, + "com.amazonaws.sfn#StateMachineAliasList": { + "type": "list", + "member": { + "target": "com.amazonaws.sfn#StateMachineAliasListItem" + } + }, + "com.amazonaws.sfn#StateMachineAliasListItem": { + "type": "structure", + "members": { + "stateMachineAliasArn": { + "target": "com.amazonaws.sfn#LongArn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) that identifies a state machine alias. The alias ARN is a combination of state machine ARN and the alias name separated by a colon (:). For example, stateMachineARN:PROD.

", + "smithy.api#required": {} + } + }, + "creationDate": { + "target": "com.amazonaws.sfn#Timestamp", + "traits": { + "smithy.api#documentation": "

The creation date of a state machine alias.

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

Contains details about a specific state machine alias.

" + } + }, "com.amazonaws.sfn#StateMachineAlreadyExists": { "type": "structure", "members": { @@ -5847,7 +5600,7 @@ "name": { "target": "com.amazonaws.sfn#Name", "traits": { - "smithy.api#documentation": "

The name of the state machine.

\n

A name must not contain:

\n
    \n
  • \n

    white space

    \n
  • \n
  • \n

    brackets < > { } [ ]\n

    \n
  • \n
  • \n

    wildcard characters ? *\n

    \n
  • \n
  • \n

    special characters \" # % \\ ^ | ~ ` $ & , ; : /\n

    \n
  • \n
  • \n

    control characters (U+0000-001F, U+007F-009F)

    \n
  • \n
\n

To enable logging with CloudWatch Logs, the name should only contain 0-9, A-Z, a-z, - and _.

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

The name of the state machine.

\n

A name must not contain:

\n
    \n
  • \n

    white space

    \n
  • \n
  • \n

    brackets < > { } [ ]\n

    \n
  • \n
  • \n

    wildcard characters ? *\n

    \n
  • \n
  • \n

    special characters \" # % \\ ^ | ~ ` $ & , ; : /\n

    \n
  • \n
  • \n

    control characters (U+0000-001F, U+007F-009F)

    \n
  • \n
\n

To enable logging with CloudWatch Logs, the name should only contain 0-9, A-Z, a-z, - and _.

", "smithy.api#required": {} } }, @@ -5916,6 +5669,34 @@ "smithy.api#error": "client" } }, + "com.amazonaws.sfn#StateMachineVersionList": { + "type": "list", + "member": { + "target": "com.amazonaws.sfn#StateMachineVersionListItem" + } + }, + "com.amazonaws.sfn#StateMachineVersionListItem": { + "type": "structure", + "members": { + "stateMachineVersionArn": { + "target": "com.amazonaws.sfn#LongArn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) that identifies a state machine version. The version ARN is a combination of state machine ARN and the version number separated by a colon (:). For example, stateMachineARN:1.

", + "smithy.api#required": {} + } + }, + "creationDate": { + "target": "com.amazonaws.sfn#Timestamp", + "traits": { + "smithy.api#documentation": "

The creation date of a state machine version.

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

Contains details about a specific state machine version.

" + } + }, "com.amazonaws.sfn#StopExecution": { "type": "operation", "input": { @@ -5936,7 +5717,7 @@ } ], "traits": { - "smithy.api#documentation": "

Stops an execution.

\n

This API action is not supported by EXPRESS state machines.

" + "smithy.api#documentation": "

Stops an execution.

\n

This API action is not supported by EXPRESS state machines.

" } }, "com.amazonaws.sfn#StopExecutionInput": { @@ -5961,6 +5742,9 @@ "smithy.api#documentation": "

A more detailed explanation of the cause of the failure.

" } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.sfn#StopExecutionOutput": { @@ -5973,6 +5757,9 @@ "smithy.api#required": {} } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.sfn#SyncExecutionStatus": { @@ -6015,7 +5802,7 @@ } }, "traits": { - "smithy.api#documentation": "

Tags are key-value pairs that can be associated with Step Functions state machines and\n activities.

\n

An array of key-value pairs. For more information, see Using\n Cost Allocation Tags in the Amazon Web Services Billing and Cost Management User\n Guide, and Controlling Access Using IAM\n Tags.

\n

Tags may only contain Unicode letters, digits, white space, or these symbols: _ . : / = + - @.

" + "smithy.api#documentation": "

Tags are key-value pairs that can be associated with Step Functions state machines and\n activities.

\n

An array of key-value pairs. For more information, see Using\n Cost Allocation Tags in the Amazon Web Services Billing and Cost Management User\n Guide, and Controlling Access Using IAM\n Tags.

\n

Tags may only contain Unicode letters, digits, white space, or these symbols: _ . : / = + - @.

" } }, "com.amazonaws.sfn#TagKey": { @@ -6059,7 +5846,7 @@ } ], "traits": { - "smithy.api#documentation": "

Add a tag to a Step Functions resource.

\n

An array of key-value pairs. For more information, see Using\n Cost Allocation Tags in the Amazon Web Services Billing and Cost Management User\n Guide, and Controlling Access Using IAM\n Tags.

\n

Tags may only contain Unicode letters, digits, white space, or these symbols: _ . : / = + - @.

" + "smithy.api#documentation": "

Add a tag to a Step Functions resource.

\n

An array of key-value pairs. For more information, see Using\n Cost Allocation Tags in the Amazon Web Services Billing and Cost Management User\n Guide, and Controlling Access Using IAM\n Tags.

\n

Tags may only contain Unicode letters, digits, white space, or these symbols: _ . : / = + - @.

" } }, "com.amazonaws.sfn#TagResourceInput": { @@ -6075,15 +5862,21 @@ "tags": { "target": "com.amazonaws.sfn#TagList", "traits": { - "smithy.api#documentation": "

The list of tags to add to a resource.

\n

Tags may only contain Unicode letters, digits, white space, or these symbols: _ . : / = + - @.

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

The list of tags to add to a resource.

\n

Tags may only contain Unicode letters, digits, white space, or these symbols: _ . : / = + - @.

", "smithy.api#required": {} } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.sfn#TagResourceOutput": { "type": "structure", - "members": {} + "members": {}, + "traits": { + "smithy.api#output": {} + } }, "com.amazonaws.sfn#TagValue": { "type": "string", @@ -6545,11 +6338,17 @@ "smithy.api#required": {} } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.sfn#UntagResourceOutput": { "type": "structure", - "members": {} + "members": {}, + "traits": { + "smithy.api#output": {} + } }, "com.amazonaws.sfn#UpdateMapRun": { "type": "operation", @@ -6605,11 +6404,17 @@ "smithy.api#documentation": "

The maximum number of failed items before the Map Run fails.

" } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.sfn#UpdateMapRunOutput": { "type": "structure", - "members": {} + "members": {}, + "traits": { + "smithy.api#output": {} + } }, "com.amazonaws.sfn#UpdateStateMachine": { "type": "operation", @@ -6620,6 +6425,9 @@ "target": "com.amazonaws.sfn#UpdateStateMachineOutput" }, "errors": [ + { + "target": "com.amazonaws.sfn#ConflictException" + }, { "target": "com.amazonaws.sfn#InvalidArn" }, @@ -6635,6 +6443,9 @@ { "target": "com.amazonaws.sfn#MissingRequiredParameter" }, + { + "target": "com.amazonaws.sfn#ServiceQuotaExceededException" + }, { "target": "com.amazonaws.sfn#StateMachineDeleting" }, @@ -6646,10 +6457,78 @@ } ], "traits": { - "smithy.api#documentation": "

Updates an existing state machine by modifying its definition,\n roleArn, or loggingConfiguration. Running executions will continue\n to use the previous definition and roleArn. You must include at\n least one of definition or roleArn or you will receive a\n MissingRequiredParameter error.

\n \n

If the given state machine Amazon Resource Name (ARN) is a qualified state machine ARN, it will fail with ValidationException.

\n \n

A qualified state machine ARN refers to a Distributed Map state defined within a state machine. For example, the qualified state machine ARN arn:partition:states:region:account-id:stateMachine:stateMachineName/mapStateLabel refers to a Distributed Map state with a label mapStateLabel in the state machine named stateMachineName.

\n \n \n

All StartExecution calls within a few seconds will use the updated\n definition and roleArn. Executions started immediately after\n calling UpdateStateMachine may use the previous state machine\n definition and roleArn.

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

Updates an existing state machine by modifying its definition,\n roleArn, or loggingConfiguration. Running executions will continue\n to use the previous definition and roleArn. You must include at\n least one of definition or roleArn or you will receive a\n MissingRequiredParameter error.

\n

A qualified state machine ARN refers to a Distributed Map state defined within a state machine. For example, the qualified state machine ARN arn:partition:states:region:account-id:stateMachine:stateMachineName/mapStateLabel refers to a Distributed Map state with a label mapStateLabel in the state machine named stateMachineName.

\n

A qualified state machine ARN can either refer to a Distributed Map state defined within a state machine, a version ARN, or an alias ARN.

\n

The following are some examples of qualified and unqualified state machine ARNs:

\n
    \n
  • \n

    The following qualified state machine ARN refers to a Distributed Map state with a label mapStateLabel in a state machine named myStateMachine.

    \n

    \n arn:partition:states:region:account-id:stateMachine:myStateMachine/mapStateLabel\n

    \n \n

    If you provide a qualified state machine ARN that refers to a Distributed Map state, the request fails with ValidationException.

    \n
    \n
  • \n
  • \n

    The following qualified state machine ARN refers to an alias named PROD.

    \n

    \n arn::states:::stateMachine:\n

    \n \n

    If you provide a qualified state machine ARN that refers to a version ARN or an alias ARN, the request starts execution for that version or alias.

    \n
    \n
  • \n
  • \n

    The following unqualified state machine ARN refers to a state machine named myStateMachine.

    \n

    \n arn::states:::stateMachine:\n

    \n
  • \n
\n

After you update your state machine, you can set the publish parameter to\n true in the same action to publish a new version. This\n way, you can opt-in to strict versioning of your state machine.

\n \n

Step Functions assigns monotonically increasing integers for state machine versions, starting at version number 1.

\n
\n \n

All StartExecution calls within a few seconds use the updated\n definition and roleArn. Executions started immediately after you\n call UpdateStateMachine may use the previous state machine\n definition and roleArn.

\n
", "smithy.api#idempotent": {} } }, + "com.amazonaws.sfn#UpdateStateMachineAlias": { + "type": "operation", + "input": { + "target": "com.amazonaws.sfn#UpdateStateMachineAliasInput" + }, + "output": { + "target": "com.amazonaws.sfn#UpdateStateMachineAliasOutput" + }, + "errors": [ + { + "target": "com.amazonaws.sfn#ConflictException" + }, + { + "target": "com.amazonaws.sfn#InvalidArn" + }, + { + "target": "com.amazonaws.sfn#ResourceNotFound" + }, + { + "target": "com.amazonaws.sfn#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Updates the configuration of an existing state machine alias by modifying its description or routingConfiguration.

\n

You must specify at least one of the description or routingConfiguration parameters to update a state machine alias.

\n \n

\n UpdateStateMachineAlias is an idempotent API. Step Functions bases the\n idempotency check on the stateMachineAliasArn, description, and\n routingConfiguration parameters. Requests with the same parameters return an\n idempotent response.

\n
\n \n

This operation is eventually consistent. All StartExecution requests\n made within a few seconds use the latest alias configuration. Executions started immediately\n after calling UpdateStateMachineAlias may use the previous routing\n configuration.

\n
\n

\n Related operations:\n

\n " + } + }, + "com.amazonaws.sfn#UpdateStateMachineAliasInput": { + "type": "structure", + "members": { + "stateMachineAliasArn": { + "target": "com.amazonaws.sfn#Arn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the state machine alias.

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

A description of the state machine alias.

" + } + }, + "routingConfiguration": { + "target": "com.amazonaws.sfn#RoutingConfigurationList", + "traits": { + "smithy.api#documentation": "

The routing configuration of the state machine alias.

\n

An array of RoutingConfig objects that specifies up to two state machine versions that the alias starts executions for.

" + } + } + }, + "traits": { + "smithy.api#input": {} + } + }, + "com.amazonaws.sfn#UpdateStateMachineAliasOutput": { + "type": "structure", + "members": { + "updateDate": { + "target": "com.amazonaws.sfn#Timestamp", + "traits": { + "smithy.api#documentation": "

The date and time the state machine alias was updated.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#output": {} + } + }, "com.amazonaws.sfn#UpdateStateMachineInput": { "type": "structure", "members": { @@ -6675,7 +6554,7 @@ "loggingConfiguration": { "target": "com.amazonaws.sfn#LoggingConfiguration", "traits": { - "smithy.api#documentation": "

The LoggingConfiguration data type is used to set CloudWatch Logs\n options.

" + "smithy.api#documentation": "

Use the LoggingConfiguration data type to set CloudWatch Logs\n options.

" } }, "tracingConfiguration": { @@ -6683,7 +6562,23 @@ "traits": { "smithy.api#documentation": "

Selects whether X-Ray tracing is enabled.

" } + }, + "publish": { + "target": "com.amazonaws.sfn#Publish", + "traits": { + "smithy.api#default": false, + "smithy.api#documentation": "

Specifies whether the state machine version is published. The default is\n false. To publish a version after updating the state machine, set\n publish to true.

" + } + }, + "versionDescription": { + "target": "com.amazonaws.sfn#VersionDescription", + "traits": { + "smithy.api#documentation": "

An optional description of the state machine version to publish.

\n

You can only specify the versionDescription parameter if you've set publish to true.

" + } } + }, + "traits": { + "smithy.api#input": {} } }, "com.amazonaws.sfn#UpdateStateMachineOutput": { @@ -6695,7 +6590,22 @@ "smithy.api#documentation": "

The date and time the state machine was updated.

", "smithy.api#required": {} } + }, + "revisionId": { + "target": "com.amazonaws.sfn#RevisionId", + "traits": { + "smithy.api#documentation": "

The revision identifier for the updated state machine.

" + } + }, + "stateMachineVersionArn": { + "target": "com.amazonaws.sfn#Arn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the published state machine version.

\n

If the publish parameter isn't set to true, this field returns null.

" + } } + }, + "traits": { + "smithy.api#output": {} } }, "com.amazonaws.sfn#ValidationException": { @@ -6737,6 +6647,32 @@ "traits": { "smithy.api#enumValue": "CANNOT_UPDATE_COMPLETED_MAP_RUN" } + }, + "INVALID_ROUTING_CONFIGURATION": { + "target": "smithy.api#Unit", + "traits": { + "smithy.api#enumValue": "INVALID_ROUTING_CONFIGURATION" + } + } + } + }, + "com.amazonaws.sfn#VersionDescription": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 256 + }, + "smithy.api#sensitive": {} + } + }, + "com.amazonaws.sfn#VersionWeight": { + "type": "integer", + "traits": { + "smithy.api#default": 0, + "smithy.api#range": { + "min": 0, + "max": 100 } } },