diff --git a/CHANGELOG.md b/CHANGELOG.md index 8489dcd3289..2e14a5b10e6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,14 @@ +Release v1.44.288 (2023-06-22) +=== + +### Service Client Updates +* `service/chime-sdk-identity`: Updates service API and documentation +* `service/chime-sdk-messaging`: Updates service API and documentation +* `service/kendra`: Updates service API and documentation + * Introducing Amazon Kendra Retrieve API that can be used to retrieve relevant passages or text excerpts given an input query. +* `service/states`: Updates service API and documentation + * Adds support for Versions and Aliases. Adds 8 operations: PublishStateMachineVersion, DeleteStateMachineVersion, ListStateMachineVersions, CreateStateMachineAlias, DescribeStateMachineAlias, UpdateStateMachineAlias, DeleteStateMachineAlias, ListStateMachineAliases + Release v1.44.287 (2023-06-21) === diff --git a/aws/version.go b/aws/version.go index ecaa947de8d..9a0c29aa5c3 100644 --- a/aws/version.go +++ b/aws/version.go @@ -5,4 +5,4 @@ package aws const SDKName = "aws-sdk-go" // SDKVersion is the version of this SDK -const SDKVersion = "1.44.287" +const SDKVersion = "1.44.288" diff --git a/models/apis/chime-sdk-identity/2021-04-20/api-2.json b/models/apis/chime-sdk-identity/2021-04-20/api-2.json index bcd215a2b1b..51a351d5556 100644 --- a/models/apis/chime-sdk-identity/2021-04-20/api-2.json +++ b/models/apis/chime-sdk-identity/2021-04-20/api-2.json @@ -658,8 +658,8 @@ "AppInstanceUserEndpoint":{ "type":"structure", "members":{ - "AppInstanceUserArn":{"shape":"SensitiveChimeArn"}, - "EndpointId":{"shape":"SensitiveString64"}, + "AppInstanceUserArn":{"shape":"ChimeArn"}, + "EndpointId":{"shape":"String64"}, "Name":{"shape":"SensitiveString1600"}, "Type":{"shape":"AppInstanceUserEndpointType"}, "ResourceArn":{"shape":"ChimeArn"}, @@ -673,8 +673,8 @@ "AppInstanceUserEndpointSummary":{ "type":"structure", "members":{ - "AppInstanceUserArn":{"shape":"SensitiveChimeArn"}, - "EndpointId":{"shape":"SensitiveString64"}, + "AppInstanceUserArn":{"shape":"ChimeArn"}, + "EndpointId":{"shape":"String64"}, "Name":{"shape":"SensitiveString1600"}, "Type":{"shape":"AppInstanceUserEndpointType"}, "AllowMessages":{"shape":"AllowMessages"}, @@ -904,12 +904,12 @@ ], "members":{ "AppInstanceUserArn":{ - "shape":"SensitiveChimeArn", + "shape":"ChimeArn", "location":"uri", "locationName":"appInstanceUserArn" }, "EndpointId":{ - "shape":"SensitiveString64", + "shape":"String64", "location":"uri", "locationName":"endpointId" } @@ -982,12 +982,12 @@ ], "members":{ "AppInstanceUserArn":{ - "shape":"SensitiveString1600", + "shape":"String1600", "location":"uri", "locationName":"appInstanceUserArn" }, "EndpointId":{ - "shape":"SensitiveString64", + "shape":"String64", "location":"uri", "locationName":"endpointId" } @@ -1120,6 +1120,17 @@ "Name":{"shape":"ResourceName"} } }, + "InvokedBy":{ + "type":"structure", + "required":[ + "StandardMessages", + "TargetedMessages" + ], + "members":{ + "StandardMessages":{"shape":"StandardMessages"}, + "TargetedMessages":{"shape":"TargetedMessages"} + } + }, "LexBotAliasArn":{ "type":"string", "max":2048, @@ -1129,12 +1140,12 @@ "LexConfiguration":{ "type":"structure", "required":[ - "RespondsTo", "LexBotAliasArn", "LocaleId" ], "members":{ "RespondsTo":{"shape":"RespondsTo"}, + "InvokedBy":{"shape":"InvokedBy"}, "LexBotAliasArn":{"shape":"LexBotAliasArn"}, "LocaleId":{"shape":"String"}, "WelcomeIntent":{"shape":"LexIntentName"} @@ -1412,8 +1423,8 @@ "RegisterAppInstanceUserEndpointResponse":{ "type":"structure", "members":{ - "AppInstanceUserArn":{"shape":"SensitiveChimeArn"}, - "EndpointId":{"shape":"SensitiveString64"} + "AppInstanceUserArn":{"shape":"ChimeArn"}, + "EndpointId":{"shape":"String64"} } }, "ResourceLimitExceededException":{ @@ -1455,13 +1466,6 @@ "pattern":".*", "sensitive":true }, - "SensitiveString64":{ - "type":"string", - "max":64, - "min":0, - "pattern":".*", - "sensitive":true - }, "ServiceFailureException":{ "type":"structure", "members":{ @@ -1482,7 +1486,28 @@ "exception":true, "fault":true }, + "StandardMessages":{ + "type":"string", + "enum":[ + "AUTO", + "ALL", + "MENTIONS", + "NONE" + ] + }, "String":{"type":"string"}, + "String1600":{ + "type":"string", + "max":1600, + "min":0, + "pattern":".*" + }, + "String64":{ + "type":"string", + "max":64, + "min":0, + "pattern":".*" + }, "Tag":{ "type":"structure", "required":[ @@ -1529,6 +1554,13 @@ "min":1, "sensitive":true }, + "TargetedMessages":{ + "type":"string", + "enum":[ + "ALL", + "NONE" + ] + }, "ThrottledClientException":{ "type":"structure", "members":{ @@ -1573,7 +1605,8 @@ "locationName":"appInstanceBotArn" }, "Name":{"shape":"ResourceName"}, - "Metadata":{"shape":"Metadata"} + "Metadata":{"shape":"Metadata"}, + "Configuration":{"shape":"Configuration"} } }, "UpdateAppInstanceBotResponse":{ @@ -1613,12 +1646,12 @@ ], "members":{ "AppInstanceUserArn":{ - "shape":"SensitiveChimeArn", + "shape":"ChimeArn", "location":"uri", "locationName":"appInstanceUserArn" }, "EndpointId":{ - "shape":"SensitiveString64", + "shape":"String64", "location":"uri", "locationName":"endpointId" }, @@ -1629,8 +1662,8 @@ "UpdateAppInstanceUserEndpointResponse":{ "type":"structure", "members":{ - "AppInstanceUserArn":{"shape":"SensitiveChimeArn"}, - "EndpointId":{"shape":"SensitiveString64"} + "AppInstanceUserArn":{"shape":"ChimeArn"}, + "EndpointId":{"shape":"String64"} } }, "UpdateAppInstanceUserRequest":{ diff --git a/models/apis/chime-sdk-identity/2021-04-20/docs-2.json b/models/apis/chime-sdk-identity/2021-04-20/docs-2.json index f67f3c705a4..15c3b4bfb77 100644 --- a/models/apis/chime-sdk-identity/2021-04-20/docs-2.json +++ b/models/apis/chime-sdk-identity/2021-04-20/docs-2.json @@ -169,7 +169,9 @@ "AppInstanceBotSummary$AppInstanceBotArn": "

The ARN of the AppInstanceBot.

", "AppInstanceSummary$AppInstanceArn": "

The AppInstance ARN.

", "AppInstanceUser$AppInstanceUserArn": "

The ARN of the AppInstanceUser.

", + "AppInstanceUserEndpoint$AppInstanceUserArn": "

The ARN of the AppInstanceUser.

", "AppInstanceUserEndpoint$ResourceArn": "

The ARN of the resource to which the endpoint belongs.

", + "AppInstanceUserEndpointSummary$AppInstanceUserArn": "

The ARN of the AppInstanceUser.

", "AppInstanceUserSummary$AppInstanceUserArn": "

The ARN of the AppInstanceUser.

", "CreateAppInstanceAdminRequest$AppInstanceAdminArn": "

The ARN of the administrator of the current AppInstance.

", "CreateAppInstanceAdminRequest$AppInstanceArn": "

The ARN of the AppInstance.

", @@ -184,6 +186,7 @@ "DeleteAppInstanceBotRequest$AppInstanceBotArn": "

The ARN of the AppInstanceBot being deleted.

", "DeleteAppInstanceRequest$AppInstanceArn": "

The ARN of the AppInstance.

", "DeleteAppInstanceUserRequest$AppInstanceUserArn": "

The ARN of the user request being deleted.

", + "DeregisterAppInstanceUserEndpointRequest$AppInstanceUserArn": "

The ARN of the AppInstanceUser.

", "DescribeAppInstanceAdminRequest$AppInstanceAdminArn": "

The ARN of the AppInstanceAdmin.

", "DescribeAppInstanceAdminRequest$AppInstanceArn": "

The ARN of the AppInstance.

", "DescribeAppInstanceBotRequest$AppInstanceBotArn": "

The ARN of the AppInstanceBot.

", @@ -202,12 +205,15 @@ "PutAppInstanceUserExpirationSettingsRequest$AppInstanceUserArn": "

The ARN of the AppInstanceUser.

", "PutAppInstanceUserExpirationSettingsResponse$AppInstanceUserArn": "

The ARN of the AppInstanceUser.

", "RegisterAppInstanceUserEndpointRequest$ResourceArn": "

The ARN of the resource to which the endpoint belongs.

", + "RegisterAppInstanceUserEndpointResponse$AppInstanceUserArn": "

The ARN of the AppInstanceUser.

", "TagResourceRequest$ResourceARN": "

The resource ARN.

", "UntagResourceRequest$ResourceARN": "

The resource ARN.

", "UpdateAppInstanceBotRequest$AppInstanceBotArn": "

The ARN of the AppInstanceBot.

", "UpdateAppInstanceBotResponse$AppInstanceBotArn": "

The ARN of the AppInstanceBot.

", "UpdateAppInstanceRequest$AppInstanceArn": "

The ARN of the AppInstance.

", "UpdateAppInstanceResponse$AppInstanceArn": "

The ARN of the AppInstance.

", + "UpdateAppInstanceUserEndpointRequest$AppInstanceUserArn": "

The ARN of the AppInstanceUser.

", + "UpdateAppInstanceUserEndpointResponse$AppInstanceUserArn": "

The ARN of the AppInstanceUser.

", "UpdateAppInstanceUserRequest$AppInstanceUserArn": "

The ARN of the AppInstanceUser.

", "UpdateAppInstanceUserResponse$AppInstanceUserArn": "

The ARN of the AppInstanceUser.

" } @@ -225,7 +231,8 @@ "base": "

A structure that contains configuration data.

", "refs": { "AppInstanceBot$Configuration": "

The data processing instructions for an AppInstanceBot.

", - "CreateAppInstanceBotRequest$Configuration": "

Configuration information about the Amazon Lex V2 V2 bot.

" + "CreateAppInstanceBotRequest$Configuration": "

Configuration information about the Amazon Lex V2 V2 bot.

", + "UpdateAppInstanceBotRequest$Configuration": "

The configuration for the bot update.

" } }, "ConflictException": { @@ -432,6 +439,12 @@ "CreateAppInstanceAdminResponse$AppInstanceAdmin": "

The ARN and name of the administrator, the ARN of the AppInstance, and the created and last-updated timestamps. All timestamps use epoch milliseconds.

" } }, + "InvokedBy": { + "base": "

Specifies the type of message that triggers a bot.

", + "refs": { + "LexConfiguration$InvokedBy": "

Specifies the type of message that triggers a bot.

" + } + }, "LexBotAliasArn": { "base": null, "refs": { @@ -621,7 +634,7 @@ "RespondsTo": { "base": null, "refs": { - "LexConfiguration$RespondsTo": "

Determines whether the Amazon Lex V2 bot responds to all standard messages. Control messages are not supported.

" + "LexConfiguration$RespondsTo": "

Deprecated. Use InvokedBy instead.

Determines whether the Amazon Lex V2 bot responds to all standard messages. Control messages are not supported.

" } }, "RetentionDays": { @@ -633,14 +646,8 @@ "SensitiveChimeArn": { "base": null, "refs": { - "AppInstanceUserEndpoint$AppInstanceUserArn": "

The ARN of the AppInstanceUser.

", - "AppInstanceUserEndpointSummary$AppInstanceUserArn": "

The ARN of the AppInstanceUser.

", - "DeregisterAppInstanceUserEndpointRequest$AppInstanceUserArn": "

The ARN of the AppInstanceUser.

", "ListAppInstanceUserEndpointsRequest$AppInstanceUserArn": "

The ARN of the AppInstanceUser.

", - "RegisterAppInstanceUserEndpointRequest$AppInstanceUserArn": "

The ARN of the AppInstanceUser.

", - "RegisterAppInstanceUserEndpointResponse$AppInstanceUserArn": "

The ARN of the AppInstanceUser.

", - "UpdateAppInstanceUserEndpointRequest$AppInstanceUserArn": "

The ARN of the AppInstanceUser.

", - "UpdateAppInstanceUserEndpointResponse$AppInstanceUserArn": "

The ARN of the AppInstanceUser.

" + "RegisterAppInstanceUserEndpointRequest$AppInstanceUserArn": "

The ARN of the AppInstanceUser.

" } }, "SensitiveString1600": { @@ -648,23 +655,10 @@ "refs": { "AppInstanceUserEndpoint$Name": "

The name of the AppInstanceUserEndpoint.

", "AppInstanceUserEndpointSummary$Name": "

The name of the AppInstanceUserEndpoint.

", - "DescribeAppInstanceUserEndpointRequest$AppInstanceUserArn": "

The ARN of the AppInstanceUser.

", "RegisterAppInstanceUserEndpointRequest$Name": "

The name of the AppInstanceUserEndpoint.

", "UpdateAppInstanceUserEndpointRequest$Name": "

The name of the AppInstanceUserEndpoint.

" } }, - "SensitiveString64": { - "base": null, - "refs": { - "AppInstanceUserEndpoint$EndpointId": "

The unique identifier of the AppInstanceUserEndpoint.

", - "AppInstanceUserEndpointSummary$EndpointId": "

The unique identifier of the AppInstanceUserEndpoint.

", - "DeregisterAppInstanceUserEndpointRequest$EndpointId": "

The unique identifier of the AppInstanceUserEndpoint.

", - "DescribeAppInstanceUserEndpointRequest$EndpointId": "

The unique identifier of the AppInstanceUserEndpoint.

", - "RegisterAppInstanceUserEndpointResponse$EndpointId": "

The unique identifier of the AppInstanceUserEndpoint.

", - "UpdateAppInstanceUserEndpointRequest$EndpointId": "

The unique identifier of the AppInstanceUserEndpoint.

", - "UpdateAppInstanceUserEndpointResponse$EndpointId": "

The unique identifier of the AppInstanceUserEndpoint.

" - } - }, "ServiceFailureException": { "base": "

The service encountered an unexpected error.

", "refs": { @@ -675,6 +669,12 @@ "refs": { } }, + "StandardMessages": { + "base": null, + "refs": { + "InvokedBy$StandardMessages": "

Sets standard messages as the bot trigger. For standard messages:

" + } + }, "String": { "base": null, "refs": { @@ -690,6 +690,24 @@ "UnauthorizedClientException$Message": null } }, + "String1600": { + "base": null, + "refs": { + "DescribeAppInstanceUserEndpointRequest$AppInstanceUserArn": "

The ARN of the AppInstanceUser.

" + } + }, + "String64": { + "base": null, + "refs": { + "AppInstanceUserEndpoint$EndpointId": "

The unique identifier of the AppInstanceUserEndpoint.

", + "AppInstanceUserEndpointSummary$EndpointId": "

The unique identifier of the AppInstanceUserEndpoint.

", + "DeregisterAppInstanceUserEndpointRequest$EndpointId": "

The unique identifier of the AppInstanceUserEndpoint.

", + "DescribeAppInstanceUserEndpointRequest$EndpointId": "

The unique identifier of the AppInstanceUserEndpoint.

", + "RegisterAppInstanceUserEndpointResponse$EndpointId": "

The unique identifier of the AppInstanceUserEndpoint.

", + "UpdateAppInstanceUserEndpointRequest$EndpointId": "

The unique identifier of the AppInstanceUserEndpoint.

", + "UpdateAppInstanceUserEndpointResponse$EndpointId": "

The unique identifier of the AppInstanceUserEndpoint.

" + } + }, "Tag": { "base": "

A tag object containing a key-value pair.

", "refs": { @@ -730,6 +748,12 @@ "Tag$Value": "

The value in a tag.

" } }, + "TargetedMessages": { + "base": null, + "refs": { + "InvokedBy$TargetedMessages": "

Sets targeted messages as the bot trigger. For targeted messages:

" + } + }, "ThrottledClientException": { "base": "

The client exceeded its request rate limit.

", "refs": { diff --git a/models/apis/chime-sdk-identity/2021-04-20/endpoint-tests-1.json b/models/apis/chime-sdk-identity/2021-04-20/endpoint-tests-1.json index dd83a35bf05..faecf435fc9 100644 --- a/models/apis/chime-sdk-identity/2021-04-20/endpoint-tests-1.json +++ b/models/apis/chime-sdk-identity/2021-04-20/endpoint-tests-1.json @@ -8,9 +8,9 @@ } }, "params": { + "Region": "eu-central-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "eu-central-1" + "UseDualStack": false } }, { @@ -21,9 +21,9 @@ } }, "params": { + "Region": "us-east-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "us-east-1" + "UseDualStack": false } }, { @@ -34,9 +34,9 @@ } }, "params": { + "Region": "us-east-1", "UseFIPS": true, - "UseDualStack": false, - "Region": "us-east-1" + "UseDualStack": false } }, { @@ -47,9 +47,9 @@ } }, "params": { + "Region": "us-east-1", "UseFIPS": true, - "UseDualStack": true, - "Region": "us-east-1" + "UseDualStack": true } }, { @@ -60,9 +60,9 @@ } }, "params": { + "Region": "us-east-1", "UseFIPS": false, - "UseDualStack": true, - "Region": "us-east-1" + "UseDualStack": true } }, { @@ -73,9 +73,9 @@ } }, "params": { + "Region": "cn-north-1", "UseFIPS": true, - "UseDualStack": true, - "Region": "cn-north-1" + "UseDualStack": true } }, { @@ -86,9 +86,9 @@ } }, "params": { + "Region": "cn-north-1", "UseFIPS": true, - "UseDualStack": false, - "Region": "cn-north-1" + "UseDualStack": false } }, { @@ -99,9 +99,9 @@ } }, "params": { + "Region": "cn-north-1", "UseFIPS": false, - "UseDualStack": true, - "Region": "cn-north-1" + "UseDualStack": true } }, { @@ -112,9 +112,9 @@ } }, "params": { + "Region": "cn-north-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "cn-north-1" + "UseDualStack": false } }, { @@ -125,9 +125,9 @@ } }, "params": { + "Region": "us-gov-east-1", "UseFIPS": true, - "UseDualStack": true, - "Region": "us-gov-east-1" + "UseDualStack": true } }, { @@ -138,9 +138,9 @@ } }, "params": { + "Region": "us-gov-east-1", "UseFIPS": true, - "UseDualStack": false, - "Region": "us-gov-east-1" + "UseDualStack": false } }, { @@ -151,9 +151,9 @@ } }, "params": { + "Region": "us-gov-east-1", "UseFIPS": false, - "UseDualStack": true, - "Region": "us-gov-east-1" + "UseDualStack": true } }, { @@ -164,9 +164,9 @@ } }, "params": { + "Region": "us-gov-east-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "us-gov-east-1" + "UseDualStack": false } }, { @@ -175,9 +175,9 @@ "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { + "Region": "us-iso-east-1", "UseFIPS": true, - "UseDualStack": true, - "Region": "us-iso-east-1" + "UseDualStack": true } }, { @@ -188,9 +188,9 @@ } }, "params": { + "Region": "us-iso-east-1", "UseFIPS": true, - "UseDualStack": false, - "Region": "us-iso-east-1" + "UseDualStack": false } }, { @@ -199,9 +199,9 @@ "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { + "Region": "us-iso-east-1", "UseFIPS": false, - "UseDualStack": true, - "Region": "us-iso-east-1" + "UseDualStack": true } }, { @@ -212,9 +212,9 @@ } }, "params": { + "Region": "us-iso-east-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "us-iso-east-1" + "UseDualStack": false } }, { @@ -223,9 +223,9 @@ "error": "FIPS and DualStack are enabled, but this partition does not support one or both" }, "params": { + "Region": "us-isob-east-1", "UseFIPS": true, - "UseDualStack": true, - "Region": "us-isob-east-1" + "UseDualStack": true } }, { @@ -236,9 +236,9 @@ } }, "params": { + "Region": "us-isob-east-1", "UseFIPS": true, - "UseDualStack": false, - "Region": "us-isob-east-1" + "UseDualStack": false } }, { @@ -247,9 +247,9 @@ "error": "DualStack is enabled but this partition does not support DualStack" }, "params": { + "Region": "us-isob-east-1", "UseFIPS": false, - "UseDualStack": true, - "Region": "us-isob-east-1" + "UseDualStack": true } }, { @@ -260,9 +260,9 @@ } }, "params": { + "Region": "us-isob-east-1", "UseFIPS": false, - "UseDualStack": false, - "Region": "us-isob-east-1" + "UseDualStack": false } }, { @@ -273,9 +273,9 @@ } }, "params": { + "Region": "us-east-1", "UseFIPS": false, "UseDualStack": false, - "Region": "us-east-1", "Endpoint": "https://example.com" } }, @@ -298,9 +298,9 @@ "error": "Invalid Configuration: FIPS and custom endpoint are not supported" }, "params": { + "Region": "us-east-1", "UseFIPS": true, "UseDualStack": false, - "Region": "us-east-1", "Endpoint": "https://example.com" } }, @@ -310,9 +310,9 @@ "error": "Invalid Configuration: Dualstack and custom endpoint are not supported" }, "params": { + "Region": "us-east-1", "UseFIPS": false, "UseDualStack": true, - "Region": "us-east-1", "Endpoint": "https://example.com" } }, diff --git a/models/apis/chime-sdk-messaging/2021-05-15/api-2.json b/models/apis/chime-sdk-messaging/2021-05-15/api-2.json index fa4cc777686..60632f14ec2 100644 --- a/models/apis/chime-sdk-messaging/2021-05-15/api-2.json +++ b/models/apis/chime-sdk-messaging/2021-05-15/api-2.json @@ -1240,7 +1240,8 @@ "Status":{"shape":"ChannelMessageStatusStructure"}, "MessageAttributes":{"shape":"MessageAttributeMap"}, "SubChannelId":{"shape":"SubChannelId"}, - "ContentType":{"shape":"ContentType"} + "ContentType":{"shape":"ContentType"}, + "Target":{"shape":"TargetList"} } }, "ChannelMessageCallback":{ @@ -1293,7 +1294,8 @@ "Redacted":{"shape":"NonNullableBoolean"}, "Status":{"shape":"ChannelMessageStatusStructure"}, "MessageAttributes":{"shape":"MessageAttributeMap"}, - "ContentType":{"shape":"ContentType"} + "ContentType":{"shape":"ContentType"}, + "Target":{"shape":"TargetList"} } }, "ChannelMessageSummaryList":{ @@ -2978,7 +2980,8 @@ "PushNotification":{"shape":"PushNotificationConfiguration"}, "MessageAttributes":{"shape":"MessageAttributeMap"}, "SubChannelId":{"shape":"SubChannelId"}, - "ContentType":{"shape":"ContentType"} + "ContentType":{"shape":"ContentType"}, + "Target":{"shape":"TargetList"} } }, "SendChannelMessageResponse":{ @@ -3104,6 +3107,18 @@ "min":1, "sensitive":true }, + "Target":{ + "type":"structure", + "members":{ + "MemberArn":{"shape":"ChimeArn"} + } + }, + "TargetList":{ + "type":"list", + "member":{"shape":"Target"}, + "max":1, + "min":1 + }, "TargetMembershipsPerSubChannel":{ "type":"integer", "min":2 diff --git a/models/apis/chime-sdk-messaging/2021-05-15/docs-2.json b/models/apis/chime-sdk-messaging/2021-05-15/docs-2.json index 27537f0a9b2..2eec23b4529 100644 --- a/models/apis/chime-sdk-messaging/2021-05-15/docs-2.json +++ b/models/apis/chime-sdk-messaging/2021-05-15/docs-2.json @@ -1,13 +1,13 @@ { "version": "2.0", - "service": "

The Amazon Chime SDK Messaging APIs in this section allow software developers to send and receive messages in custom messaging applications. These APIs depend on the frameworks provided by the Amazon Chime SDK Identity APIs. For more information about the messaging APIs, see Amazon Chime SDK messaging.

", + "service": "

The Amazon Chime SDK messaging APIs in this section allow software developers to send and receive messages in custom messaging applications. These APIs depend on the frameworks provided by the Amazon Chime SDK identity APIs. For more information about the messaging APIs, see Amazon Chime SDK messaging.

", "operations": { "AssociateChannelFlow": "

Associates a channel flow with a channel. Once associated, all messages to that channel go through channel flow processors. To stop processing, use the DisassociateChannelFlow API.

Only administrators or channel moderators can associate a channel flow. The x-amz-chime-bearer request header is mandatory. Use the ARN of the AppInstanceUser or AppInstanceBot that makes the API call as the value in the header.

", "BatchCreateChannelMembership": "

Adds a specified number of users and bots to a channel.

", - "ChannelFlowCallback": "

Calls back Chime SDK Messaging with a processing response message. This should be invoked from the processor Lambda. This is a developer API.

You can return one of the following processing responses:

", + "ChannelFlowCallback": "

Calls back Amazon Chime SDK messaging with a processing response message. This should be invoked from the processor Lambda. This is a developer API.

You can return one of the following processing responses:

", "CreateChannel": "

Creates a channel to which you can add users and send messages.

Restriction: You can't change a channel's privacy.

The x-amz-chime-bearer request header is mandatory. Use the ARN of the AppInstanceUser or AppInstanceBot that makes the API call as the value in the header.

", "CreateChannelBan": "

Permanently bans a member from a channel. Moderators can't add banned members to a channel. To undo a ban, you first have to DeleteChannelBan, and then CreateChannelMembership. Bans are cleaned up when you delete users or channels.

If you ban a user who is already part of a channel, that user is automatically kicked from the channel.

The x-amz-chime-bearer request header is mandatory. Use the ARN of the AppInstanceUser or AppInstanceBot that makes the API call as the value in the header.

", - "CreateChannelFlow": "

Creates a channel flow, a container for processors. Processors are AWS Lambda functions that perform actions on chat messages, such as stripping out profanity. You can associate channel flows with channels, and the processors in the channel flow then take action on all messages sent to that channel. This is a developer API.

Channel flows process the following items:

  1. New and updated messages

  2. Persistent and non-persistent messages

  3. The Standard message type

Channel flows don't process Control or System messages. For more information about the message types provided by Chime SDK Messaging, refer to Message types in the Amazon Chime developer guide.

", + "CreateChannelFlow": "

Creates a channel flow, a container for processors. Processors are AWS Lambda functions that perform actions on chat messages, such as stripping out profanity. You can associate channel flows with channels, and the processors in the channel flow then take action on all messages sent to that channel. This is a developer API.

Channel flows process the following items:

  1. New and updated messages

  2. Persistent and non-persistent messages

  3. The Standard message type

Channel flows don't process Control or System messages. For more information about the message types provided by Chime SDK messaging, refer to Message types in the Amazon Chime developer guide.

", "CreateChannelMembership": "

Adds a member to a channel. The InvitedBy field in ChannelMembership is derived from the request header. A channel member can:

Privacy settings impact this action as follows:

The x-amz-chime-bearer request header is mandatory. Use the ARN of the AppInstanceUserArn or AppInstanceBot that makes the API call as the value in the header.

", "CreateChannelModerator": "

Creates a new ChannelModerator. A channel moderator can:

The x-amz-chime-bearer request header is mandatory. Use the ARN of the AppInstanceUser or AppInstanceBotof the user that makes the API call as the value in the header.

", "DeleteChannel": "

Immediately makes a channel and its memberships inaccessible and marks them for deletion. This is an irreversible process.

The x-amz-chime-bearer request header is mandatory. Use the ARN of the AppInstanceUserArn or AppInstanceBot that makes the API call as the value in the header.

", @@ -25,15 +25,15 @@ "DescribeChannelModeratedByAppInstanceUser": "

Returns the full details of a channel moderated by the specified AppInstanceUser or AppInstanceBot.

The x-amz-chime-bearer request header is mandatory. Use the ARN of the AppInstanceUser or AppInstanceBot that makes the API call as the value in the header.

", "DescribeChannelModerator": "

Returns the full details of a single ChannelModerator.

The x-amz-chime-bearer request header is mandatory. Use the AppInstanceUserArn of the user that makes the API call as the value in the header.

", "DisassociateChannelFlow": "

Disassociates a channel flow from all its channels. Once disassociated, all messages to that channel stop going through the channel flow processor.

Only administrators or channel moderators can disassociate a channel flow.

The x-amz-chime-bearer request header is mandatory. Use the ARN of the AppInstanceUser or AppInstanceBot that makes the API call as the value in the header.

", - "GetChannelMembershipPreferences": "

Gets the membership preferences of an AppInstanceUser or AppInstanceBot for the specified channel. A user or a bot must be a member of the channel and own the membership to be able to retrieve membership preferences. Users or bots in the AppInstanceAdmin and channel moderator roles can't retrieve preferences for other users or bots. Banned users or bots can't retrieve membership preferences for the channel from which they are banned.

The x-amz-chime-bearer request header is mandatory. Use the ARN of the AppInstanceUser or AppInstanceBot that makes the API call as the value in the header.

", + "GetChannelMembershipPreferences": "

Gets the membership preferences of an AppInstanceUser or AppInstanceBot for the specified channel. A user or a bot must be a member of the channel and own the membership in order to retrieve membership preferences. Users or bots in the AppInstanceAdmin and channel moderator roles can't retrieve preferences for other users or bots. Banned users or bots can't retrieve membership preferences for the channel from which they are banned.

The x-amz-chime-bearer request header is mandatory. Use the ARN of the AppInstanceUser or AppInstanceBot that makes the API call as the value in the header.

", "GetChannelMessage": "

Gets the full details of a channel message.

The x-amz-chime-bearer request header is mandatory. Use the ARN of the AppInstanceUser or AppInstanceBot that makes the API call as the value in the header.

", - "GetChannelMessageStatus": "

Gets message status for a specified messageId. Use this API to determine the intermediate status of messages going through channel flow processing. The API provides an alternative to retrieving message status if the event was not received because a client wasn't connected to a websocket.

Messages can have any one of these statuses.

SENT

Message processed successfully

PENDING

Ongoing processing

FAILED

Processing failed

DENIED

Messasge denied by the processor

", + "GetChannelMessageStatus": "

Gets message status for a specified messageId. Use this API to determine the intermediate status of messages going through channel flow processing. The API provides an alternative to retrieving message status if the event was not received because a client wasn't connected to a websocket.

Messages can have any one of these statuses.

SENT

Message processed successfully

PENDING

Ongoing processing

FAILED

Processing failed

DENIED

Message denied by the processor

", "GetMessagingSessionEndpoint": "

The details of the endpoint for the messaging session.

", "GetMessagingStreamingConfigurations": "

Retrieves the data streaming configuration for an AppInstance. For more information, see Streaming messaging data in the Amazon Chime SDK Developer Guide.

", "ListChannelBans": "

Lists all the users and bots banned from a particular channel.

The x-amz-chime-bearer request header is mandatory. Use the ARN of the AppInstanceUser or AppInstanceBot that makes the API call as the value in the header.

", "ListChannelFlows": "

Returns a paginated lists of all the channel flows created under a single Chime. This is a developer API.

", "ListChannelMemberships": "

Lists all channel memberships in a channel.

The x-amz-chime-bearer request header is mandatory. Use the ARN of the AppInstanceUser or AppInstanceBot that makes the API call as the value in the header.

If you want to list the channels to which a specific app instance user belongs, see the ListChannelMembershipsForAppInstanceUser API.

", - "ListChannelMembershipsForAppInstanceUser": "

Lists all channels that anr AppInstanceUser or AppInstanceBot is a part of. Only an AppInstanceAdmin can call the API with a user ARN that is not their own.

The x-amz-chime-bearer request header is mandatory. Use the ARN of the AppInstanceUser or AppInstanceBot that makes the API call as the value in the header.

", + "ListChannelMembershipsForAppInstanceUser": "

Lists all channels that an AppInstanceUser or AppInstanceBot is a part of. Only an AppInstanceAdmin can call the API with a user ARN that is not their own.

The x-amz-chime-bearer request header is mandatory. Use the ARN of the AppInstanceUser or AppInstanceBot that makes the API call as the value in the header.

", "ListChannelMessages": "

List all the messages in a channel. Returns a paginated list of ChannelMessages. By default, sorted by creation timestamp in descending order.

Redacted messages appear in the results as empty, since they are only redacted, not deleted. Deleted messages do not appear in the results. This action always returns the latest version of an edited message.

Also, the x-amz-chime-bearer request header is mandatory. Use the ARN of the AppInstanceUser or AppInstanceBot that makes the API call as the value in the header.

", "ListChannelModerators": "

Lists all the moderators for a channel.

The x-amz-chime-bearer request header is mandatory. Use the ARN of the AppInstanceUser or AppInstanceBot that makes the API call as the value in the header.

", "ListChannels": "

Lists all Channels created under a single Chime App as a paginated list. You can specify filters to narrow results.

Functionality & restrictions

The x-amz-chime-bearer request header is mandatory. Use the ARN of the AppInstanceUser or AppInstanceBot that makes the API call as the value in the header.

", @@ -42,11 +42,11 @@ "ListSubChannels": "

Lists all the SubChannels in an elastic channel when given a channel ID. Available only to the app instance admins and channel moderators of elastic channels.

", "ListTagsForResource": "

Lists the tags applied to an Amazon Chime SDK messaging resource.

", "PutChannelExpirationSettings": "

Sets the number of days before the channel is automatically deleted.

", - "PutChannelMembershipPreferences": "

Sets the membership preferences of an AppInstanceUser or AppIntanceBot for the specified channel. The user or bot must be a member of the channel. Only the user or bot who owns the membership can set preferences. Users or bots in the AppInstanceAdmin and channel moderator roles can't set preferences for other users or users. Banned users or bots can't set membership preferences for the channel from which they are banned.

The x-amz-chime-bearer request header is mandatory. Use the ARN of an AppInstanceUser or AppInstanceBot that makes the API call as the value in the header.

", + "PutChannelMembershipPreferences": "

Sets the membership preferences of an AppInstanceUser or AppInstanceBot for the specified channel. The user or bot must be a member of the channel. Only the user or bot who owns the membership can set preferences. Users or bots in the AppInstanceAdmin and channel moderator roles can't set preferences for other users. Banned users or bots can't set membership preferences for the channel from which they are banned.

The x-amz-chime-bearer request header is mandatory. Use the ARN of an AppInstanceUser or AppInstanceBot that makes the API call as the value in the header.

", "PutMessagingStreamingConfigurations": "

Sets the data streaming configuration for an AppInstance. For more information, see Streaming messaging data in the Amazon Chime SDK Developer Guide.

", "RedactChannelMessage": "

Redacts message content, but not metadata. The message exists in the back end, but the action returns null content, and the state shows as redacted.

The x-amz-chime-bearer request header is mandatory. Use the ARN of the AppInstanceUser or AppInstanceBot that makes the API call as the value in the header.

", "SearchChannels": "

Allows the ChimeBearer to search channels by channel members. Users or bots can search across the channels that they belong to. Users in the AppInstanceAdmin role can search across all channels.

The x-amz-chime-bearer request header is mandatory. Use the ARN of the AppInstanceUser or AppInstanceBot that makes the API call as the value in the header.

", - "SendChannelMessage": "

Sends a message to a particular channel that the member is a part of.

The x-amz-chime-bearer request header is mandatory. Use the ARN of the AppInstanceUser or AppInstanceBot that makes the API call as the value in the header.

Also, STANDARD messages can contain 4KB of data and the 1KB of metadata. CONTROL messages can contain 30 bytes of data and no metadata.

", + "SendChannelMessage": "

Sends a message to a particular channel that the member is a part of.

The x-amz-chime-bearer request header is mandatory. Use the ARN of the AppInstanceUser or AppInstanceBot that makes the API call as the value in the header.

Also, STANDARD messages can be up to 4KB in size and contain metadata. Metadata is arbitrary, and you can use it in a variety of ways, such as containing a link to an attachment.

CONTROL messages are limited to 30 bytes and do not contain metadata.

", "TagResource": "

Applies the specified tags to the specified Amazon Chime SDK messaging resource.

", "UntagResource": "

Removes the specified tags from the specified Amazon Chime SDK messaging resource.

", "UpdateChannel": "

Update a channel's attributes.

Restriction: You can't change a channel's privacy.

The x-amz-chime-bearer request header is mandatory. Use the ARN of the AppInstanceUser or AppInstanceBot that makes the API call as the value in the header.

", @@ -296,7 +296,7 @@ "refs": { "ChannelMessage$Type": "

The message type.

", "ChannelMessageSummary$Type": "

The type of message.

", - "SendChannelMessageRequest$Type": "

The type of message, STANDARD or CONTROL.

" + "SendChannelMessageRequest$Type": "

The type of message, STANDARD or CONTROL.

STANDARD messages can be up to 4KB in size and contain metadata. Metadata is arbitrary, and you can use it in a variety of ways, such as containing a link to an attachment.

CONTROL messages are limited to 30 bytes and do not contain metadata.

" } }, "ChannelMode": { @@ -500,6 +500,7 @@ "SendChannelMessageResponse$ChannelArn": "

The ARN of the channel.

", "StreamingConfiguration$ResourceArn": "

The ARN of the resource in the configuration.

", "TagResourceRequest$ResourceARN": "

The resource ARN.

", + "Target$MemberArn": "

The ARN of the target channel member.

", "UntagResourceRequest$ResourceARN": "

The resource ARN.

", "UpdateChannelFlowRequest$ChannelFlowArn": "

The ARN of the channel flow.

", "UpdateChannelFlowResponse$ChannelFlowArn": "

The ARN of the channel flow.

", @@ -530,16 +531,16 @@ "Content": { "base": null, "refs": { - "ChannelMessage$Content": "

The message content.

", - "ChannelMessageSummary$Content": "

The content of the message.

" + "ChannelMessage$Content": "

The content of the channel message. For Amazon Lex V2 bot responses, this field holds a list of messages originating from the bot. For more information, refer to Processing responses from an AppInstanceBot in the Amazon Chime SDK Messaging Developer Guide.

", + "ChannelMessageSummary$Content": "

The content of the channel message. For Amazon Lex V2 bot responses, this field holds a list of messages originating from the bot. For more information, refer to Processing responses from an AppInstanceBot in the Amazon Chime SDK Messaging Developer Guide.

" } }, "ContentType": { "base": null, "refs": { - "ChannelMessage$ContentType": "

The content type of the channel message.

", - "ChannelMessageCallback$ContentType": "

The content type of the call-back message.

", - "ChannelMessageSummary$ContentType": "

The content type of the channel messsage listed in the summary.

", + "ChannelMessage$ContentType": "

The content type of the channel message. For Amazon Lex V2 bot responses, the content type is application/amz-chime-lex-msgs for success responses and application/amz-chime-lex-error for failure responses. For more information, refer to Processing responses from an AppInstanceBot in the Amazon Chime SDK Messaging Developer Guide.

", + "ChannelMessageCallback$ContentType": "

The content type of the call-back message. For Amazon Lex V2 bot responses, the content type is application/amz-chime-lex-msgs for success responses and application/amz-chime-lex-error for failure responses. For more information, refer to Processing responses from an AppInstanceBot in the Amazon Chime SDK Messaging Developer Guide.

", + "ChannelMessageSummary$ContentType": "

The content type of the channel message listed in the summary. For Amazon Lex V2 bot responses, the content type is application/amz-chime-lex-msgs for success responses and application/amz-chime-lex-error for failure responses. For more information, refer to Processing responses from an AppInstanceBot in the Amazon Chime SDK Messaging Developer Guide.

", "SendChannelMessageRequest$ContentType": "

The content type of the channel message.

", "UpdateChannelMessageRequest$ContentType": "

The content type of the channel message.

" } @@ -1009,9 +1010,9 @@ "MessageAttributeMap": { "base": null, "refs": { - "ChannelMessage$MessageAttributes": "

The attributes for the message, used for message filtering along with a FilterRule defined in the PushNotificationPreferences.

", - "ChannelMessageCallback$MessageAttributes": "

The attributes for the message, used for message filtering along with a FilterRule defined in the PushNotificationPreferences.

", - "ChannelMessageSummary$MessageAttributes": "

The message attribues listed in a the summary of a channel message.

", + "ChannelMessage$MessageAttributes": "

The attributes for the channel message. For Amazon Lex V2 bot responses, the attributes are mapped to specific fields from the bot. For more information, refer to Processing responses from an AppInstanceBot in the Amazon Chime SDK Messaging Developer Guide.

", + "ChannelMessageCallback$MessageAttributes": "

The attributes for the channel message. For Amazon Lex V2 bot responses, the attributes are mapped to specific fields from the bot. For more information, refer to Processing responses from an AppInstanceBot in the Amazon Chime SDK Messaging Developer Guide.

", + "ChannelMessageSummary$MessageAttributes": "

The attributes for the channel message. For Amazon Lex V2 bot responses, the attributes are mapped to specific fields from the bot. For more information, refer to Processing responses from an AppInstanceBot in the Amazon Chime SDK Messaging Developer Guide.

", "SendChannelMessageRequest$MessageAttributes": "

The attributes for the message, used for message filtering along with a FilterRule defined in the PushNotificationPreferences.

" } }, @@ -1118,9 +1119,9 @@ "NonEmptyContent": { "base": null, "refs": { - "ChannelMessageCallback$Content": "

The message content.

", - "SendChannelMessageRequest$Content": "

The content of the message.

", - "UpdateChannelMessageRequest$Content": "

The content of the message being updated.

" + "ChannelMessageCallback$Content": "

The message content. For Amazon Lex V2 bot responses, this field holds a list of messages originating from the bot. For more information, refer to Processing responses from an AppInstanceBot in the Amazon Chime SDK Messaging Developer Guide.

", + "SendChannelMessageRequest$Content": "

The content of the channel message.

", + "UpdateChannelMessageRequest$Content": "

The content of the channel message.

" } }, "NonEmptyResourceName": { @@ -1329,7 +1330,7 @@ "StatusDetail": { "base": null, "refs": { - "ChannelMessageStatusStructure$Detail": "

Contains more details about the messasge status.

" + "ChannelMessageStatusStructure$Detail": "

Contains more details about the message status.

" } }, "StreamingConfiguration": { @@ -1440,6 +1441,20 @@ "Tag$Value": "

The value in a tag.

" } }, + "Target": { + "base": "

The target of a message, a sender, a user, or a bot. Only the target and the sender can view targeted messages. Only users who can see targeted messages can take actions on them. However, administrators can delete targeted messages that they can’t see.

", + "refs": { + "TargetList$member": null + } + }, + "TargetList": { + "base": null, + "refs": { + "ChannelMessage$Target": "

The target of a message, a sender, a user, or a bot. Only the target and the sender can view targeted messages. Only users who can see targeted messages can take actions on them. However, administrators can delete targeted messages that they can’t see.

", + "ChannelMessageSummary$Target": "

The target of a message, a sender, a user, or a bot. Only the target and the sender can view targeted messages. Only users who can see targeted messages can take actions on them. However, administrators can delete targeted messages that they can’t see.

", + "SendChannelMessageRequest$Target": "

The target of a message. Must be a member of the channel, such as another user, a bot, or the sender. Only the target and the sender can view targeted messages. Only users who can see targeted messages can take actions on them. However, administrators can delete targeted messages that they can’t see.

" + } + }, "TargetMembershipsPerSubChannel": { "base": null, "refs": { @@ -1470,7 +1485,7 @@ "ChannelMessageSummary$LastUpdatedTimestamp": "

The time at which a message was last updated.

", "ChannelMessageSummary$LastEditedTimestamp": "

The time at which a message was last edited.

", "ChannelModerator$CreatedTimestamp": "

The time at which the moderator was created.

", - "ChannelSummary$LastMessageTimestamp": "

The time at which the last persistent message in a channel was sent.

", + "ChannelSummary$LastMessageTimestamp": "

The time at which the last persistent message visible to the caller in a channel was sent.

", "ListChannelMessagesRequest$NotBefore": "

The initial or starting time stamp for your requested messages.

", "ListChannelMessagesRequest$NotAfter": "

The final or ending time stamp for your requested messages.

" } diff --git a/models/apis/kendra/2019-02-03/api-2.json b/models/apis/kendra/2019-02-03/api-2.json index 13a0438468c..0ffa69417fc 100644 --- a/models/apis/kendra/2019-02-03/api-2.json +++ b/models/apis/kendra/2019-02-03/api-2.json @@ -1663,6 +1663,42 @@ "shape": "QueryResult" } }, + "Retrieve": { + "errors": [ + { + "shape": "ValidationException" + }, + { + "shape": "ConflictException" + }, + { + "shape": "ResourceNotFoundException" + }, + { + "shape": "ThrottlingException" + }, + { + "shape": "AccessDeniedException" + }, + { + "shape": "ServiceQuotaExceededException" + }, + { + "shape": "InternalServerException" + } + ], + "http": { + "method": "POST", + "requestUri": "/" + }, + "input": { + "shape": "RetrieveRequest" + }, + "name": "Retrieve", + "output": { + "shape": "RetrieveResult" + } + }, "StartDataSourceSyncJob": { "errors": [ { @@ -3100,6 +3136,9 @@ ], "type": "structure" }, + "Content": { + "type": "string" + }, "ContentSourceConfiguration": { "members": { "DataSourceIds": { @@ -3533,6 +3572,8 @@ "DataSourceConfiguration": { "members": { "AlfrescoConfiguration": { + "deprecated": true, + "deprecatedMessage": "Deprecated AlfrescoConfiguration in favor of TemplateConfiguration", "shape": "AlfrescoConfiguration" }, "BoxConfiguration": { @@ -3639,7 +3680,7 @@ "type": "list" }, "DataSourceInclusionsExclusionsStrings": { - "max": 100, + "max": 250, "member": { "shape": "DataSourceInclusionsExclusionsStringsMember" }, @@ -3647,7 +3688,7 @@ "type": "list" }, "DataSourceInclusionsExclusionsStringsMember": { - "max": 150, + "max": 300, "min": 1, "type": "string" }, @@ -4900,6 +4941,9 @@ }, "type": "list" }, + "DocumentTitle": { + "type": "string" + }, "DocumentsMetadataConfiguration": { "members": { "S3Prefix": { @@ -7250,8 +7294,6 @@ "type": "string" }, "QueryText": { - "max": 1000, - "min": 1, "type": "string" }, "QueryTextList": { @@ -7415,6 +7457,79 @@ "min": 1, "type": "string" }, + "RetrieveRequest": { + "members": { + "AttributeFilter": { + "shape": "AttributeFilter" + }, + "DocumentRelevanceOverrideConfigurations": { + "shape": "DocumentRelevanceOverrideConfigurationList" + }, + "IndexId": { + "shape": "IndexId" + }, + "PageNumber": { + "shape": "Integer" + }, + "PageSize": { + "shape": "Integer" + }, + "QueryText": { + "shape": "QueryText" + }, + "RequestedDocumentAttributes": { + "shape": "DocumentAttributeKeyList" + }, + "UserContext": { + "shape": "UserContext" + } + }, + "required": [ + "IndexId", + "QueryText" + ], + "type": "structure" + }, + "RetrieveResult": { + "members": { + "QueryId": { + "shape": "QueryId" + }, + "ResultItems": { + "shape": "RetrieveResultItemList" + } + }, + "type": "structure" + }, + "RetrieveResultItem": { + "members": { + "Content": { + "shape": "Content" + }, + "DocumentAttributes": { + "shape": "DocumentAttributeList" + }, + "DocumentId": { + "shape": "DocumentId" + }, + "DocumentTitle": { + "shape": "DocumentTitle" + }, + "DocumentURI": { + "shape": "Url" + }, + "Id": { + "shape": "ResultId" + } + }, + "type": "structure" + }, + "RetrieveResultItemList": { + "member": { + "shape": "RetrieveResultItem" + }, + "type": "list" + }, "RoleArn": { "max": 1284, "min": 0, diff --git a/models/apis/kendra/2019-02-03/docs-2.json b/models/apis/kendra/2019-02-03/docs-2.json index cc8c18ccd82..12573c6e57d 100644 --- a/models/apis/kendra/2019-02-03/docs-2.json +++ b/models/apis/kendra/2019-02-03/docs-2.json @@ -53,7 +53,8 @@ "ListTagsForResource": "

Gets a list of tags associated with a specified resource. Indexes, FAQs, and data sources can have tags associated with them.

", "ListThesauri": "

Lists the thesauri for an index.

", "PutPrincipalMapping": "

Maps users to their groups so that you only need to provide the user ID when you issue the query.

You can also map sub groups to groups. For example, the group \"Company Intellectual Property Teams\" includes sub groups \"Research\" and \"Engineering\". These sub groups include their own list of users or people who work in these teams. Only users who work in research and engineering, and therefore belong in the intellectual property group, can see top-secret company documents in their search results.

This is useful for user context filtering, where search results are filtered based on the user or their group access to documents. For more information, see Filtering on user context.

If more than five PUT actions for a group are currently processing, a validation exception is thrown.

", - "Query": "

Searches an active index. Use this API to search your documents using query. The Query API enables to do faceted search and to filter results based on document attributes.

It also enables you to provide user context that Amazon Kendra uses to enforce document access control in the search results.

Amazon Kendra searches your index for text content and question and answer (FAQ) content. By default the response contains three types of results.

You can specify that the query return only one type of result using the QueryResultTypeFilter parameter.

Each query returns the 100 most relevant results.

", + "Query": "

Searches an index given an input query.

You can configure boosting or relevance tuning at the query level to override boosting at the index level, filter based on document fields/attributes and faceted search, and filter based on the user or their group access to documents. You can also include certain fields in the response that might provide useful additional information.

A query response contains three types of results.

You can specify that the query return only one type of result using the QueryResultTypeFilter parameter. Each query returns the 100 most relevant results. If you filter result type to only question-answers, a maximum of four results are returned. If you filter result type to only answers, a maximum of three results are returned.

", + "Retrieve": "

Retrieves relevant passages or text excerpts given an input query.

This API is similar to the Query API. However, by default, the Query API only returns excerpt passages of up to 100 token words. With the Retrieve API, you can retrieve longer passages of up to 200 token words and up to 100 semantically relevant passages. This doesn't include question-answer or FAQ type responses from your index. The passages are text excerpts that can be semantically extracted from multiple documents and multiple parts of the same document. If in extreme cases your documents produce no relevant passages using the Retrieve API, you can alternatively use the Query API.

You can also do the following:

You can also include certain fields in the response that might provide useful additional information.

", "StartDataSourceSyncJob": "

Starts a synchronization job for a data source connector. If a synchronization job is already in progress, Amazon Kendra returns a ResourceInUseException exception.

", "StopDataSourceSyncJob": "

Stops a synchronization job that is currently running. You can't stop a scheduled synchronization job.

", "SubmitFeedback": "

Enables you to provide feedback to Amazon Kendra to improve the performance of your index.

SubmitFeedback is currently not supported in the Amazon Web Services GovCloud (US-West) region.

", @@ -127,7 +128,7 @@ "base": null, "refs": { "FeaturedResultsItem$AdditionalAttributes": "

One or more additional attributes associated with the featured result.

", - "QueryResultItem$AdditionalAttributes": "

One or more additional attributes associated with the query result.

" + "QueryResultItem$AdditionalAttributes": "

One or more additional fields/attributes associated with the query result.

" } }, "AdditionalResultAttributeValue": { @@ -143,9 +144,9 @@ } }, "AlfrescoConfiguration": { - "base": "

Provides the configuration information to connect to Alfresco as your data source.

Alfresco data source connector is currently in preview mode. Basic authentication is currently supported. If you would like to use Alfresco connector in production, contact Support.

", + "base": "

Provides the configuration information to connect to Alfresco as your data source.

Support for AlfrescoConfiguration ended May 2023. We recommend migrating to or using the Alfresco data source template schema / TemplateConfiguration API.

", "refs": { - "DataSourceConfiguration$AlfrescoConfiguration": "

Provides the configuration information to connect to Alfresco as your data source.

" + "DataSourceConfiguration$AlfrescoConfiguration": "

Provides the configuration information to connect to Alfresco as your data source.

Support for AlfrescoConfiguration ended May 2023. We recommend migrating to or using the Alfresco data source template schema / TemplateConfiguration API.

" } }, "AlfrescoEntity": { @@ -200,7 +201,8 @@ "AttributeFilter$NotFilter": "

Performs a logical NOT operation on all supplied filters.

", "AttributeFilterList$member": null, "AttributeSuggestionsGetConfig$AttributeFilter": "

Filters the search results based on document fields/attributes.

", - "QueryRequest$AttributeFilter": "

Enables filtered searches based on document attributes. You can only provide one attribute filter; however, the AndAllFilters, NotFilter, and OrAllFilters parameters contain a list of other filters.

The AttributeFilter parameter enables you to create a set of filtering rules that a document must satisfy to be included in the query results.

" + "QueryRequest$AttributeFilter": "

Filters search results by document fields/attributes. You can only provide one attribute filter; however, the AndAllFilters, NotFilter, and OrAllFilters parameters contain a list of other filters.

The AttributeFilter parameter means you can create a set of filtering rules that a document must satisfy to be included in the query results.

", + "RetrieveRequest$AttributeFilter": "

Filters search results by document fields/attributes. You can only provide one attribute filter; however, the AndAllFilters, NotFilter, and OrAllFilters parameters contain a list of other filters.

The AttributeFilter parameter means you can create a set of filtering rules that a document must satisfy to be included in the query results.

" } }, "AttributeFilterList": { @@ -624,6 +626,12 @@ "DatabaseConfiguration$ConnectionConfiguration": "

Configuration information that's required to connect to a database.

" } }, + "Content": { + "base": null, + "refs": { + "RetrieveResultItem$Content": "

The contents of the relevant passage.

" + } + }, "ContentSourceConfiguration": { "base": "

Provides the configuration information for your content sources, such as data sources, FAQs, and content indexed directly via BatchPutDocument.

", "refs": { @@ -633,7 +641,7 @@ "ContentType": { "base": null, "refs": { - "Document$ContentType": "

The file type of the document in the Blob field.

" + "Document$ContentType": "

The file type of the document in the Blob field.

If you want to index snippets or subsets of HTML documents instead of the entirety of the HTML documents, you must add the HTML start and closing tags (<HTML>content</HTML>) around the content.

" } }, "Correction": { @@ -651,7 +659,7 @@ "CrawlDepth": { "base": null, "refs": { - "WebCrawlerConfiguration$CrawlDepth": "

Specifies the number of levels in a website that you want to crawl.

The first level begins from the website seed or starting point URL. For example, if a website has three levels—index level (the seed in this example), sections level, and subsections level—and you are only interested in crawling information up to the sections level (levels 0-1), you can set your depth to 1.

The default crawl depth is set to 2.

" + "WebCrawlerConfiguration$CrawlDepth": "

The 'depth' or number of levels from the seed level to crawl. For example, the seed URL page is depth 1 and any hyperlinks on this page that are also crawled are depth 2.

" } }, "CreateAccessControlConfigurationRequest": { @@ -847,8 +855,8 @@ "S3DataSourceConfiguration$ExclusionPatterns": "

A list of glob patterns for documents that should not be indexed. If a document that matches an inclusion prefix or inclusion pattern also matches an exclusion pattern, the document is not indexed.

Some examples are:

", "SalesforceConfiguration$IncludeAttachmentFilePatterns": "

A list of regular expression patterns to include certain documents in your Salesforce. Documents that match the patterns are included in the index. Documents that don't match the patterns are excluded from the index. If a document matches both an inclusion and exclusion pattern, the exclusion pattern takes precedence and the document isn't included in the index.

The pattern is applied to the name of the attached file.

", "SalesforceConfiguration$ExcludeAttachmentFilePatterns": "

A list of regular expression patterns to exclude certain documents in your Salesforce. Documents that match the patterns are excluded from the index. Documents that don't match the patterns are included in the index. If a document matches both an inclusion and exclusion pattern, the exclusion pattern takes precedence and the document isn't included in the index.

The pattern is applied to the name of the attached file.

", - "ServiceNowKnowledgeArticleConfiguration$IncludeAttachmentFilePatterns": "

A list of regular expression patterns to include certain attachments of knowledge articles in your ServiceNow. Item that match the patterns are included in the index. Items that don't match the patterns are excluded from the index. If an item matches both an inclusion and exclusion pattern, the exclusion pattern takes precedence and the item isn't included in the index.

The regex is applied to the field specified in the PatternTargetField.

", - "ServiceNowKnowledgeArticleConfiguration$ExcludeAttachmentFilePatterns": "

A list of regular expression patterns to exclude certain attachments of knowledge articles in your ServiceNow. Item that match the patterns are excluded from the index. Items that don't match the patterns are included in the index. If an item matches both an inclusion and exclusion pattern, the exclusion pattern takes precedence and the item isn't included in the index.

The regex is applied to the field specified in the PatternTargetField.

", + "ServiceNowKnowledgeArticleConfiguration$IncludeAttachmentFilePatterns": "

A list of regular expression patterns applied to include knowledge article attachments. Attachments that match the patterns are included in the index. Items that don't match the patterns are excluded from the index. If an item matches both an inclusion and exclusion pattern, the exclusion pattern takes precedence and the item isn't included in the index.

", + "ServiceNowKnowledgeArticleConfiguration$ExcludeAttachmentFilePatterns": "

A list of regular expression patterns applied to exclude certain knowledge article attachments. Attachments that match the patterns are excluded from the index. Items that don't match the patterns are included in the index. If an item matches both an inclusion and exclusion pattern, the exclusion pattern takes precedence and the item isn't included in the index.

", "ServiceNowServiceCatalogConfiguration$IncludeAttachmentFilePatterns": "

A list of regular expression patterns to include certain attachments of catalogs in your ServiceNow. Item that match the patterns are included in the index. Items that don't match the patterns are excluded from the index. If an item matches both an inclusion and exclusion pattern, the exclusion pattern takes precedence and the item isn't included in the index.

The regex is applied to the file name of the attachment.

", "ServiceNowServiceCatalogConfiguration$ExcludeAttachmentFilePatterns": "

A list of regular expression patterns to exclude certain attachments of catalogs in your ServiceNow. Item that match the patterns are excluded from the index. Items that don't match the patterns are included in the index. If an item matches both an inclusion and exclusion pattern, the exclusion pattern takes precedence and the item isn't included in the index.

The regex is applied to the file name of the attachment.

", "SharePointConfiguration$InclusionPatterns": "

A list of regular expression patterns to include certain documents in your SharePoint. Documents that match the patterns are included in the index. Documents that don't match the patterns are excluded from the index. If a document matches both an inclusion and exclusion pattern, the exclusion pattern takes precedence and the document isn't included in the index.

The regex applies to the display URL of the SharePoint document.

", @@ -1281,7 +1289,8 @@ "refs": { "AttributeSuggestionsGetConfig$SuggestionAttributes": "

The list of document field/attribute keys or field names to use for query suggestions. If the content within any of the fields match what your user starts typing as their query, then the field content is returned as a query suggestion.

", "AttributeSuggestionsGetConfig$AdditionalResponseAttributes": "

The list of additional document field/attribute keys or field names to include in the response. You can use additional fields to provide extra information in the response. Additional fields are not used to based suggestions on.

", - "QueryRequest$RequestedDocumentAttributes": "

An array of document attributes to include in the response. You can limit the response to include certain document attributes. By default all document attributes are included in the response.

", + "QueryRequest$RequestedDocumentAttributes": "

An array of document fields/attributes to include in the response. You can limit the response to include certain document fields. By default, all document attributes are included in the response.

", + "RetrieveRequest$RequestedDocumentAttributes": "

A list of document fields/attributes to include in the response. You can limit the response to include certain document fields. By default, all document fields are included in the response.

", "SourceDocument$SuggestionAttributes": "

The document fields/attributes used for a query suggestion.

" } }, @@ -1291,7 +1300,8 @@ "Document$Attributes": "

Custom attributes to apply to the document. Use the custom attributes to provide additional information for searching, to provide facets for refining searches, and to provide additional information in the query response.

For example, 'DataSourceId' and 'DataSourceSyncJobId' are custom attributes that provide information on the synchronization of documents running on a data source. Note, 'DataSourceSyncJobId' could be an optional custom attribute as Amazon Kendra will use the ID of a running sync job.

", "DocumentInfo$Attributes": "

Attributes that identify a specific version of a document to check.

The only valid attributes are:

The attributes follow these rules:

", "FeaturedResultsItem$DocumentAttributes": "

An array of document attributes assigned to a featured document in the search results. For example, the document author (_author) or the source URI (_source_uri) of the document.

", - "QueryResultItem$DocumentAttributes": "

An array of document attributes assigned to a document in the search results. For example, the document author (_author) or the source URI (_source_uri) of the document.

", + "QueryResultItem$DocumentAttributes": "

An array of document fields/attributes assigned to a document in the search results. For example, the document author (_author) or the source URI (_source_uri) of the document.

", + "RetrieveResultItem$DocumentAttributes": "

An array of document fields/attributes assigned to a document in the search results. For example, the document author (_author) or the source URI (_source_uri) of the document.

", "SourceDocument$AdditionalAttributes": "

The additional fields/attributes to include in the response. You can use additional fields to provide extra information in the response. Additional fields are not used to based suggestions on.

" } }, @@ -1355,6 +1365,7 @@ "FeaturedDocumentWithMetadata$Id": "

The identifier of the featured document with its metadata. You can use the Query API to search for specific documents with their document IDs included in the result items, or you can use the console.

", "FeaturedResultsItem$DocumentId": "

The identifier of the featured document.

", "QueryResultItem$DocumentId": "

The identifier for the document.

", + "RetrieveResultItem$DocumentId": "

The identifier of the document.

", "Status$DocumentId": "

The identifier of the document.

" } }, @@ -1417,7 +1428,8 @@ "DocumentRelevanceOverrideConfigurationList": { "base": null, "refs": { - "QueryRequest$DocumentRelevanceOverrideConfigurations": "

Overrides relevance tuning configurations of fields or attributes set at the index level.

If you use this API to override the relevance tuning configured at the index level, but there is no relevance tuning configured at the index level, then Amazon Kendra does not apply any relevance tuning.

If there is relevance tuning configured at the index level, but you do not use this API to override any relevance tuning in the index, then Amazon Kendra uses the relevance tuning that is configured at the index level.

If there is relevance tuning configured for fields at the index level, but you use this API to override only some of these fields, then for the fields you did not override, the importance is set to 1.

" + "QueryRequest$DocumentRelevanceOverrideConfigurations": "

Overrides relevance tuning configurations of fields/attributes set at the index level.

If you use this API to override the relevance tuning configured at the index level, but there is no relevance tuning configured at the index level, then Amazon Kendra does not apply any relevance tuning.

If there is relevance tuning configured for fields at the index level, and you use this API to override only some of these fields, then for the fields you did not override, the importance is set to 1.

", + "RetrieveRequest$DocumentRelevanceOverrideConfigurations": "

Overrides relevance tuning configurations of fields/attributes set at the index level.

If you use this API to override the relevance tuning configured at the index level, but there is no relevance tuning configured at the index level, then Amazon Kendra does not apply any relevance tuning.

If there is relevance tuning configured for fields at the index level, and you use this API to override only some of these fields, then for the fields you did not override, the importance is set to 1.

" } }, "DocumentStatus": { @@ -1432,6 +1444,12 @@ "BatchGetDocumentStatusResponse$DocumentStatusList": "

The status of documents. The status indicates if the document is waiting to be indexed, is in the process of indexing, has completed indexing, or failed indexing. If a document failed indexing, the status provides the reason why.

" } }, + "DocumentTitle": { + "base": null, + "refs": { + "RetrieveResultItem$DocumentTitle": "

The title of the document.

" + } + }, "DocumentsMetadataConfiguration": { "base": "

Document metadata files that contain information such as the document access control information, source URI, document author, and custom attributes. Each metadata file contains metadata about a single document.

", "refs": { @@ -1668,7 +1686,7 @@ "base": null, "refs": { "Facet$Facets": "

An array of document attributes that are nested facets within a facet.

For example, the document attribute or facet \"Department\" includes a value called \"Engineering\". In addition, the document attribute or facet \"SubDepartment\" includes the values \"Frontend\" and \"Backend\" for documents assigned to \"Engineering\". You can display nested facets in the search results so that documents can be searched not only by department but also by a sub department within a department. This helps your users further narrow their search.

You can only have one nested facet within a facet. If you want to increase this limit, contact Support.

", - "QueryRequest$Facets": "

An array of documents attributes. Amazon Kendra returns a count for each attribute key specified. This helps your users narrow their search.

" + "QueryRequest$Facets": "

An array of documents fields/attributes for faceted search. Amazon Kendra returns a count for each field key specified. This helps your users narrow their search.

" } }, "FacetResult": { @@ -1681,7 +1699,7 @@ "base": null, "refs": { "DocumentAttributeValueCountPair$FacetResults": "

Contains the results of a document attribute that is a nested facet. A FacetResult contains the counts for each facet nested within a facet.

For example, the document attribute or facet \"Department\" includes a value called \"Engineering\". In addition, the document attribute or facet \"SubDepartment\" includes the values \"Frontend\" and \"Backend\" for documents assigned to \"Engineering\". You can display nested facets in the search results so that documents can be searched not only by department but also by a sub department within a department. The counts for documents that belong to \"Frontend\" and \"Backend\" within \"Engineering\" are returned for a query.

", - "QueryResult$FacetResults": "

Contains the facet results. A FacetResult contains the counts for each attribute key that was specified in the Facets input parameter.

" + "QueryResult$FacetResults": "

Contains the facet results. A FacetResult contains the counts for each field/attribute key that was specified in the Facets input parameter.

" } }, "FailedEntity": { @@ -1708,7 +1726,7 @@ "FaqFileFormat": { "base": null, "refs": { - "CreateFaqRequest$FileFormat": "

The format of the FAQ input file. You can choose between a basic CSV format, a CSV format that includes customs attributes in a header, and a JSON format that includes custom attributes.

The format must match the format of the file stored in the S3 bucket identified in the S3Path parameter.

For more information, see Adding questions and answers.

", + "CreateFaqRequest$FileFormat": "

The format of the FAQ input file. You can choose between a basic CSV format, a CSV format that includes customs attributes in a header, and a JSON format that includes custom attributes.

The default format is CSV.

The format must match the format of the file stored in the S3 bucket identified in the S3Path parameter.

For more information, see Adding questions and answers.

", "DescribeFaqResponse$FileFormat": "

The file format used by the input files for the FAQ.

", "FaqSummary$FileFormat": "

The file type used to create the FAQ.

" } @@ -1888,7 +1906,7 @@ "base": null, "refs": { "FeaturedResultsItem$FeedbackToken": "

A token that identifies a particular featured result from a particular query. Use this token to provide click-through feedback for the result. For more information, see Submitting feedback.

", - "QueryResultItem$FeedbackToken": "

A token that identifies a particular result from a particular query. Use this token to provide click-through feedback for the result. For more information, see Submitting feedback .

" + "QueryResultItem$FeedbackToken": "

A token that identifies a particular result from a particular query. Use this token to provide click-through feedback for the result. For more information, see Submitting feedback.

" } }, "FileSystemId": { @@ -2156,7 +2174,8 @@ "ListQuerySuggestionsBlockListsRequest$IndexId": "

The identifier of the index for a list of all block lists that exist for that index.

For information on the current quota limits for block lists, see Quotas for Amazon Kendra.

", "ListThesauriRequest$IndexId": "

The identifier of the index with one or more thesauri.

", "PutPrincipalMappingRequest$IndexId": "

The identifier of the index you want to map users to their groups.

", - "QueryRequest$IndexId": "

The identifier of the index to search. The identifier is returned in the response from the CreateIndex API.

", + "QueryRequest$IndexId": "

The identifier of the index for the search.

", + "RetrieveRequest$IndexId": "

The identifier of the index to retrieve relevant passages for the search.

", "StartDataSourceSyncJobRequest$IndexId": "

The identifier of the index used with the data source connector.

", "StopDataSourceSyncJobRequest$IndexId": "

The identifier of the index used with the data source connector.

", "SubmitFeedbackRequest$IndexId": "

The identifier of the index that was queried.

", @@ -2237,8 +2256,10 @@ "Highlight$EndOffset": "

The zero-based location in the response string where the highlight ends.

", "QueryRequest$PageNumber": "

Query results are returned in pages the size of the PageSize parameter. By default, Amazon Kendra returns the first page of results. Use this parameter to get result pages after the first one.

", "QueryRequest$PageSize": "

Sets the number of results that are returned in each page of results. The default page size is 10. The maximum number of results returned is 100. If you ask for more than 100 results, only 100 are returned.

", - "QueryResult$TotalNumberOfResults": "

The total number of items found by the search; however, you can only retrieve up to 100 items. For example, if the search found 192 items, you can only retrieve the first 100 of the items.

", + "QueryResult$TotalNumberOfResults": "

The total number of items found by the search. However, you can only retrieve up to 100 items. For example, if the search found 192 items, you can only retrieve the first 100 of the items.

", "QuerySuggestionsBlockListSummary$ItemCount": "

The number of items in the block list file.

", + "RetrieveRequest$PageNumber": "

Retrieved relevant passages are returned in pages the size of the PageSize parameter. By default, Amazon Kendra returns the first page of results. Use this parameter to get result pages after the first one.

", + "RetrieveRequest$PageSize": "

Sets the number of retrieved relevant passages that are returned in each page of results. The default page size is 10. The maximum number of results returned is 100. If you ask for more than 100 results, only 100 are returned.

", "SuggestionHighlight$BeginOffset": "

The zero-based location in the response string where the highlight starts.

", "SuggestionHighlight$EndOffset": "

The zero-based location in the response string where the highlight ends.

", "TableExcerpt$TotalNumberOfRows": "

A count of the number of rows in the original table within the document.

", @@ -2863,7 +2884,8 @@ "QueryId": { "base": null, "refs": { - "QueryResult$QueryId": "

The identifier for the search. You use QueryId to identify the search when using the feedback API.

", + "QueryResult$QueryId": "

The identifier for the search. You also use QueryId to identify the search when using the SubmitFeedback API.

", + "RetrieveResult$QueryId": "

The identifier of query used for the search. You also use QueryId to identify the search when using the Submitfeedback API.

", "SubmitFeedbackRequest$QueryId": "

The identifier of the specific query for which you are submitting feedback. The query ID is returned in the response to the Query API.

" } }, @@ -2905,7 +2927,7 @@ "base": null, "refs": { "FeaturedResultsItem$Type": "

The type of document within the featured result response. For example, a response could include a question-answer type that's relevant to the query.

", - "QueryRequest$QueryResultTypeFilter": "

Sets the type of query. Only results for the specified query type are returned.

", + "QueryRequest$QueryResultTypeFilter": "

Sets the type of query result or response. Only results for the specified type are returned.

", "QueryResultItem$Type": "

The type of document within the response. For example, a response could include a question-answer that's relevant to the query.

" } }, @@ -2965,7 +2987,8 @@ "refs": { "ConflictingItem$QueryText": "

The text of the conflicting query.

", "QueryRequest$QueryText": "

The input query text for the search. Amazon Kendra truncates queries at 30 token words, which excludes punctuation and stop words. Truncation still applies if you use Boolean or more advanced, complex queries.

", - "QueryTextList$member": null + "QueryTextList$member": null, + "RetrieveRequest$QueryText": "

The input query text to retrieve relevant passages for the search. Amazon Kendra truncates queries at 30 token words, which excludes punctuation and stop words. Truncation still applies if you use Boolean or more advanced, complex queries.

" } }, "QueryTextList": { @@ -3053,9 +3076,32 @@ "FeaturedResultsItem$Id": "

The identifier of the featured result.

", "QueryResultItem$Id": "

The identifier for the query result.

", "RelevanceFeedback$ResultId": "

The identifier of the search result that the user provided relevance feedback for.

", + "RetrieveResultItem$Id": "

The identifier of the relevant passage result.

", "Suggestion$Id": "

The UUID (universally unique identifier) of a single query suggestion.

" } }, + "RetrieveRequest": { + "base": null, + "refs": { + } + }, + "RetrieveResult": { + "base": null, + "refs": { + } + }, + "RetrieveResultItem": { + "base": "

A single retrieved relevant passage result.

", + "refs": { + "RetrieveResultItemList$member": null + } + }, + "RetrieveResultItemList": { + "base": null, + "refs": { + "RetrieveResult$ResultItems": "

The results of the retrieved relevant passages for the search.

" + } + }, "RoleArn": { "base": null, "refs": { @@ -3228,15 +3274,15 @@ } }, "ScoreAttributes": { - "base": "

Provides a relative ranking that indicates how confident Amazon Kendra is that the response matches the query.

", + "base": "

Provides a relative ranking that indicates how confident Amazon Kendra is that the response is relevant to the query.

", "refs": { - "QueryResultItem$ScoreAttributes": "

Indicates the confidence that Amazon Kendra has that a result matches the query that you provided. Each result is placed into a bin that indicates the confidence, VERY_HIGH, HIGH, MEDIUM and LOW. You can use the score to determine if a response meets the confidence needed for your application.

The field is only set to LOW when the Type field is set to DOCUMENT and Amazon Kendra is not confident that the result matches the query.

" + "QueryResultItem$ScoreAttributes": "

Indicates the confidence level of Amazon Kendra providing a relevant result for the query. Each result is placed into a bin that indicates the confidence, VERY_HIGH, HIGH, MEDIUM and LOW. You can use the score to determine if a response meets the confidence needed for your application.

The field is only set to LOW when the Type field is set to DOCUMENT and Amazon Kendra is not confident that the result is relevant to the query.

" } }, "ScoreConfidence": { "base": "Enumeration for query score confidence.", "refs": { - "ScoreAttributes$ScoreConfidence": "

A relative ranking for how well the response matches the query.

" + "ScoreAttributes$ScoreConfidence": "

A relative ranking for how relevant the response is to the query.

" } }, "Search": { @@ -3964,6 +4010,7 @@ "JwtTokenTypeConfiguration$URL": "

The signing key URL.

", "OnPremiseConfiguration$HostUrl": "

The GitHub host URL or API endpoint URL. For example, https://on-prem-host-url/api/v3/

", "QueryResultItem$DocumentURI": "

The URI of the original location of the document.

", + "RetrieveResultItem$DocumentURI": "

The URI of the original location of the document.

", "SaaSConfiguration$HostUrl": "

The GitHub host URL or API endpoint URL. For example, https://api.github.com.

", "SalesforceConfiguration$ServerUrl": "

The instance URL for the Salesforce site that you want to index.

", "SharePointUrlList$member": null @@ -3985,7 +4032,8 @@ "base": "

Provides information about the user context for an Amazon Kendra index.

User context filtering is a kind of personalized search with the benefit of controlling access to documents. For example, not all teams that search the company portal for information should access top-secret company documents, nor are these documents relevant to all users. Only specific users or groups of teams given access to top-secret documents should see these documents in their search results.

You provide one of the following:

If you provide both, an exception is thrown.

", "refs": { "AttributeSuggestionsGetConfig$UserContext": "

Applies user context filtering so that only users who are given access to certain documents see these document in their search results.

", - "QueryRequest$UserContext": "

The user context token or user and group information.

" + "QueryRequest$UserContext": "

The user context token or user and group information.

", + "RetrieveRequest$UserContext": "

The user context token or user and group information.

" } }, "UserContextPolicy": { @@ -4104,7 +4152,7 @@ "WebCrawlerMode": { "base": null, "refs": { - "SeedUrlConfiguration$WebCrawlerMode": "

You can choose one of the following modes:

The default mode is set to HOST_ONLY.

" + "SeedUrlConfiguration$WebCrawlerMode": "

You can choose one of the following modes:

The default mode is set to HOST_ONLY.

" } }, "WorkDocsConfiguration": { diff --git a/models/apis/states/2016-11-23/api-2.json b/models/apis/states/2016-11-23/api-2.json index 569eda5cdc9..d2a9a7fadbd 100644 --- a/models/apis/states/2016-11-23/api-2.json +++ b/models/apis/states/2016-11-23/api-2.json @@ -46,10 +46,30 @@ {"shape":"StateMachineDeleting"}, {"shape":"StateMachineLimitExceeded"}, {"shape":"StateMachineTypeNotSupported"}, - {"shape":"TooManyTags"} + {"shape":"TooManyTags"}, + {"shape":"ValidationException"}, + {"shape":"ConflictException"} ], "idempotent":true }, + "CreateStateMachineAlias":{ + "name":"CreateStateMachineAlias", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"CreateStateMachineAliasInput"}, + "output":{"shape":"CreateStateMachineAliasOutput"}, + "errors":[ + {"shape":"InvalidArn"}, + {"shape":"InvalidName"}, + {"shape":"ValidationException"}, + {"shape":"StateMachineDeleting"}, + {"shape":"ResourceNotFound"}, + {"shape":"ConflictException"}, + {"shape":"ServiceQuotaExceededException"} + ] + }, "DeleteActivity":{ "name":"DeleteActivity", "http":{ @@ -75,6 +95,35 @@ {"shape":"ValidationException"} ] }, + "DeleteStateMachineAlias":{ + "name":"DeleteStateMachineAlias", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteStateMachineAliasInput"}, + "output":{"shape":"DeleteStateMachineAliasOutput"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"InvalidArn"}, + {"shape":"ResourceNotFound"}, + {"shape":"ConflictException"} + ] + }, + "DeleteStateMachineVersion":{ + "name":"DeleteStateMachineVersion", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DeleteStateMachineVersionInput"}, + "output":{"shape":"DeleteStateMachineVersionOutput"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"InvalidArn"}, + {"shape":"ConflictException"} + ] + }, "DescribeActivity":{ "name":"DescribeActivity", "http":{ @@ -127,6 +176,20 @@ {"shape":"StateMachineDoesNotExist"} ] }, + "DescribeStateMachineAlias":{ + "name":"DescribeStateMachineAlias", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"DescribeStateMachineAliasInput"}, + "output":{"shape":"DescribeStateMachineAliasOutput"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"InvalidArn"}, + {"shape":"ResourceNotFound"} + ] + }, "DescribeStateMachineForExecution":{ "name":"DescribeStateMachineForExecution", "http":{ @@ -211,6 +274,36 @@ {"shape":"InvalidToken"} ] }, + "ListStateMachineAliases":{ + "name":"ListStateMachineAliases", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListStateMachineAliasesInput"}, + "output":{"shape":"ListStateMachineAliasesOutput"}, + "errors":[ + {"shape":"InvalidArn"}, + {"shape":"InvalidToken"}, + {"shape":"ResourceNotFound"}, + {"shape":"StateMachineDoesNotExist"}, + {"shape":"StateMachineDeleting"} + ] + }, + "ListStateMachineVersions":{ + "name":"ListStateMachineVersions", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"ListStateMachineVersionsInput"}, + "output":{"shape":"ListStateMachineVersionsOutput"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"InvalidArn"}, + {"shape":"InvalidToken"} + ] + }, "ListStateMachines":{ "name":"ListStateMachines", "http":{ @@ -236,6 +329,24 @@ {"shape":"ResourceNotFound"} ] }, + "PublishStateMachineVersion":{ + "name":"PublishStateMachineVersion", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"PublishStateMachineVersionInput"}, + "output":{"shape":"PublishStateMachineVersionOutput"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"StateMachineDeleting"}, + {"shape":"StateMachineDoesNotExist"}, + {"shape":"ServiceQuotaExceededException"}, + {"shape":"ConflictException"}, + {"shape":"InvalidArn"} + ], + "idempotent":true + }, "SendTaskFailure":{ "name":"SendTaskFailure", "http":{ @@ -388,9 +499,26 @@ {"shape":"MissingRequiredParameter"}, {"shape":"StateMachineDeleting"}, {"shape":"StateMachineDoesNotExist"}, + {"shape":"ServiceQuotaExceededException"}, + {"shape":"ConflictException"}, {"shape":"ValidationException"} ], "idempotent":true + }, + "UpdateStateMachineAlias":{ + "name":"UpdateStateMachineAlias", + "http":{ + "method":"POST", + "requestUri":"/" + }, + "input":{"shape":"UpdateStateMachineAliasInput"}, + "output":{"shape":"UpdateStateMachineAliasOutput"}, + "errors":[ + {"shape":"ValidationException"}, + {"shape":"InvalidArn"}, + {"shape":"ResourceNotFound"}, + {"shape":"ConflictException"} + ] } }, "shapes":{ @@ -483,6 +611,11 @@ }, "exception":true }, + "AliasDescription":{ + "type":"string", + "max":256, + "sensitive":true + }, "Arn":{ "type":"string", "max":256, @@ -503,6 +636,12 @@ "billedDurationInMilliseconds":{"shape":"BilledDuration"} } }, + "CharacterRestrictedName":{ + "type":"string", + "max":80, + "min":1, + "pattern":"^(?=.*[a-zA-Z_\\-\\.])[a-zA-Z0-9_\\-\\.]+$" + }, "CloudWatchEventsExecutionDataDetails":{ "type":"structure", "members":{ @@ -515,6 +654,13 @@ "logGroupArn":{"shape":"Arn"} } }, + "ConflictException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "exception":true + }, "ConnectorParameters":{ "type":"string", "max":262144, @@ -540,6 +686,29 @@ "creationDate":{"shape":"Timestamp"} } }, + "CreateStateMachineAliasInput":{ + "type":"structure", + "required":[ + "name", + "routingConfiguration" + ], + "members":{ + "description":{"shape":"AliasDescription"}, + "name":{"shape":"CharacterRestrictedName"}, + "routingConfiguration":{"shape":"RoutingConfigurationList"} + } + }, + "CreateStateMachineAliasOutput":{ + "type":"structure", + "required":[ + "stateMachineAliasArn", + "creationDate" + ], + "members":{ + "stateMachineAliasArn":{"shape":"Arn"}, + "creationDate":{"shape":"Timestamp"} + } + }, "CreateStateMachineInput":{ "type":"structure", "required":[ @@ -554,7 +723,9 @@ "type":{"shape":"StateMachineType"}, "loggingConfiguration":{"shape":"LoggingConfiguration"}, "tags":{"shape":"TagList"}, - "tracingConfiguration":{"shape":"TracingConfiguration"} + "tracingConfiguration":{"shape":"TracingConfiguration"}, + "publish":{"shape":"Publish"}, + "versionDescription":{"shape":"VersionDescription"} } }, "CreateStateMachineOutput":{ @@ -565,7 +736,8 @@ ], "members":{ "stateMachineArn":{"shape":"Arn"}, - "creationDate":{"shape":"Timestamp"} + "creationDate":{"shape":"Timestamp"}, + "stateMachineVersionArn":{"shape":"Arn"} } }, "Definition":{ @@ -586,6 +758,18 @@ "members":{ } }, + "DeleteStateMachineAliasInput":{ + "type":"structure", + "required":["stateMachineAliasArn"], + "members":{ + "stateMachineAliasArn":{"shape":"Arn"} + } + }, + "DeleteStateMachineAliasOutput":{ + "type":"structure", + "members":{ + } + }, "DeleteStateMachineInput":{ "type":"structure", "required":["stateMachineArn"], @@ -598,6 +782,18 @@ "members":{ } }, + "DeleteStateMachineVersionInput":{ + "type":"structure", + "required":["stateMachineVersionArn"], + "members":{ + "stateMachineVersionArn":{"shape":"LongArn"} + } + }, + "DeleteStateMachineVersionOutput":{ + "type":"structure", + "members":{ + } + }, "DescribeActivityInput":{ "type":"structure", "required":["activityArn"], @@ -647,7 +843,9 @@ "traceHeader":{"shape":"TraceHeader"}, "mapRunArn":{"shape":"LongArn"}, "error":{"shape":"SensitiveError"}, - "cause":{"shape":"SensitiveCause"} + "cause":{"shape":"SensitiveCause"}, + "stateMachineVersionArn":{"shape":"Arn"}, + "stateMachineAliasArn":{"shape":"Arn"} } }, "DescribeMapRunInput":{ @@ -683,6 +881,24 @@ "executionCounts":{"shape":"MapRunExecutionCounts"} } }, + "DescribeStateMachineAliasInput":{ + "type":"structure", + "required":["stateMachineAliasArn"], + "members":{ + "stateMachineAliasArn":{"shape":"Arn"} + } + }, + "DescribeStateMachineAliasOutput":{ + "type":"structure", + "members":{ + "stateMachineAliasArn":{"shape":"Arn"}, + "name":{"shape":"Name"}, + "description":{"shape":"AliasDescription"}, + "routingConfiguration":{"shape":"RoutingConfigurationList"}, + "creationDate":{"shape":"Timestamp"}, + "updateDate":{"shape":"Timestamp"} + } + }, "DescribeStateMachineForExecutionInput":{ "type":"structure", "required":["executionArn"], @@ -708,7 +924,8 @@ "loggingConfiguration":{"shape":"LoggingConfiguration"}, "tracingConfiguration":{"shape":"TracingConfiguration"}, "mapRunArn":{"shape":"LongArn"}, - "label":{"shape":"MapRunLabel"} + "label":{"shape":"MapRunLabel"}, + "revisionId":{"shape":"RevisionId"} } }, "DescribeStateMachineInput":{ @@ -738,7 +955,9 @@ "creationDate":{"shape":"Timestamp"}, "loggingConfiguration":{"shape":"LoggingConfiguration"}, "tracingConfiguration":{"shape":"TracingConfiguration"}, - "label":{"shape":"MapRunLabel"} + "label":{"shape":"MapRunLabel"}, + "revisionId":{"shape":"RevisionId"}, + "description":{"shape":"VersionDescription"} } }, "Enabled":{"type":"boolean"}, @@ -803,7 +1022,9 @@ "itemCount":{ "shape":"UnsignedInteger", "box":true - } + }, + "stateMachineVersionArn":{"shape":"Arn"}, + "stateMachineAliasArn":{"shape":"Arn"} } }, "ExecutionStartedEventDetails":{ @@ -811,7 +1032,9 @@ "members":{ "input":{"shape":"SensitiveData"}, "inputDetails":{"shape":"HistoryEventExecutionDataDetails"}, - "roleArn":{"shape":"Arn"} + "roleArn":{"shape":"Arn"}, + "stateMachineAliasArn":{"shape":"Arn"}, + "stateMachineVersionArn":{"shape":"Arn"} } }, "ExecutionStatus":{ @@ -1163,6 +1386,40 @@ "nextToken":{"shape":"PageToken"} } }, + "ListStateMachineAliasesInput":{ + "type":"structure", + "required":["stateMachineArn"], + "members":{ + "stateMachineArn":{"shape":"Arn"}, + "nextToken":{"shape":"PageToken"}, + "maxResults":{"shape":"PageSize"} + } + }, + "ListStateMachineAliasesOutput":{ + "type":"structure", + "required":["stateMachineAliases"], + "members":{ + "stateMachineAliases":{"shape":"StateMachineAliasList"}, + "nextToken":{"shape":"PageToken"} + } + }, + "ListStateMachineVersionsInput":{ + "type":"structure", + "required":["stateMachineArn"], + "members":{ + "stateMachineArn":{"shape":"Arn"}, + "nextToken":{"shape":"PageToken"}, + "maxResults":{"shape":"PageSize"} + } + }, + "ListStateMachineVersionsOutput":{ + "type":"structure", + "required":["stateMachineVersions"], + "members":{ + "stateMachineVersions":{"shape":"StateMachineVersionList"}, + "nextToken":{"shape":"PageToken"} + } + }, "ListStateMachinesInput":{ "type":"structure", "members":{ @@ -1351,6 +1608,27 @@ "max":1024, "min":1 }, + "Publish":{"type":"boolean"}, + "PublishStateMachineVersionInput":{ + "type":"structure", + "required":["stateMachineArn"], + "members":{ + "stateMachineArn":{"shape":"Arn"}, + "revisionId":{"shape":"RevisionId"}, + "description":{"shape":"VersionDescription"} + } + }, + "PublishStateMachineVersionOutput":{ + "type":"structure", + "required":[ + "creationDate", + "stateMachineVersionArn" + ], + "members":{ + "creationDate":{"shape":"Timestamp"}, + "stateMachineVersionArn":{"shape":"Arn"} + } + }, "ResourceNotFound":{ "type":"structure", "members":{ @@ -1360,6 +1638,24 @@ "exception":true }, "ReverseOrder":{"type":"boolean"}, + "RevisionId":{"type":"string"}, + "RoutingConfigurationList":{ + "type":"list", + "member":{"shape":"RoutingConfigurationListItem"}, + "max":2, + "min":1 + }, + "RoutingConfigurationListItem":{ + "type":"structure", + "required":[ + "stateMachineVersionArn", + "weight" + ], + "members":{ + "stateMachineVersionArn":{"shape":"Arn"}, + "weight":{"shape":"VersionWeight"} + } + }, "SendTaskFailureInput":{ "type":"structure", "required":["taskToken"], @@ -1424,6 +1720,13 @@ "min":0, "sensitive":true }, + "ServiceQuotaExceededException":{ + "type":"structure", + "members":{ + "message":{"shape":"ErrorMessage"} + }, + "exception":true + }, "StartExecutionInput":{ "type":"structure", "required":["stateMachineArn"], @@ -1498,6 +1801,21 @@ "outputDetails":{"shape":"HistoryEventExecutionDataDetails"} } }, + "StateMachineAliasList":{ + "type":"list", + "member":{"shape":"StateMachineAliasListItem"} + }, + "StateMachineAliasListItem":{ + "type":"structure", + "required":[ + "stateMachineAliasArn", + "creationDate" + ], + "members":{ + "stateMachineAliasArn":{"shape":"LongArn"}, + "creationDate":{"shape":"Timestamp"} + } + }, "StateMachineAlreadyExists":{ "type":"structure", "members":{ @@ -1566,6 +1884,21 @@ }, "exception":true }, + "StateMachineVersionList":{ + "type":"list", + "member":{"shape":"StateMachineVersionListItem"} + }, + "StateMachineVersionListItem":{ + "type":"structure", + "required":[ + "stateMachineVersionArn", + "creationDate" + ], + "members":{ + "stateMachineVersionArn":{"shape":"LongArn"}, + "creationDate":{"shape":"Timestamp"} + } + }, "StopExecutionInput":{ "type":"structure", "required":["executionArn"], @@ -1848,6 +2181,22 @@ "members":{ } }, + "UpdateStateMachineAliasInput":{ + "type":"structure", + "required":["stateMachineAliasArn"], + "members":{ + "stateMachineAliasArn":{"shape":"Arn"}, + "description":{"shape":"AliasDescription"}, + "routingConfiguration":{"shape":"RoutingConfigurationList"} + } + }, + "UpdateStateMachineAliasOutput":{ + "type":"structure", + "required":["updateDate"], + "members":{ + "updateDate":{"shape":"Timestamp"} + } + }, "UpdateStateMachineInput":{ "type":"structure", "required":["stateMachineArn"], @@ -1856,14 +2205,18 @@ "definition":{"shape":"Definition"}, "roleArn":{"shape":"Arn"}, "loggingConfiguration":{"shape":"LoggingConfiguration"}, - "tracingConfiguration":{"shape":"TracingConfiguration"} + "tracingConfiguration":{"shape":"TracingConfiguration"}, + "publish":{"shape":"Publish"}, + "versionDescription":{"shape":"VersionDescription"} } }, "UpdateStateMachineOutput":{ "type":"structure", "required":["updateDate"], "members":{ - "updateDate":{"shape":"Timestamp"} + "updateDate":{"shape":"Timestamp"}, + "revisionId":{"shape":"RevisionId"}, + "stateMachineVersionArn":{"shape":"Arn"} } }, "ValidationException":{ @@ -1879,9 +2232,20 @@ "enum":[ "API_DOES_NOT_SUPPORT_LABELED_ARNS", "MISSING_REQUIRED_PARAMETER", - "CANNOT_UPDATE_COMPLETED_MAP_RUN" + "CANNOT_UPDATE_COMPLETED_MAP_RUN", + "INVALID_ROUTING_CONFIGURATION" ] }, + "VersionDescription":{ + "type":"string", + "max":256, + "sensitive":true + }, + "VersionWeight":{ + "type":"integer", + "max":100, + "min":0 + }, "includedDetails":{"type":"boolean"}, "truncated":{"type":"boolean"} } diff --git a/models/apis/states/2016-11-23/docs-2.json b/models/apis/states/2016-11-23/docs-2.json index e9bab636df6..3028592c156 100644 --- a/models/apis/states/2016-11-23/docs-2.json +++ b/models/apis/states/2016-11-23/docs-2.json @@ -3,31 +3,39 @@ "service": "Step Functions

Step Functions is a service that lets you coordinate the components of distributed applications and microservices using visual workflows.

You can use Step Functions to build applications from individual components, each of which performs a discrete function, or task, allowing you to scale and change applications quickly. Step Functions provides a console that helps visualize the components of your application as a series of steps. Step Functions automatically triggers and tracks each step, and retries steps when there are errors, so your application executes predictably and in the right order every time. Step Functions logs the state of each step, so you can quickly diagnose and debug any issues.

Step Functions manages operations and underlying infrastructure to ensure your application is available at any scale. You can run tasks on Amazon Web Services, your own servers, or any system that has access to Amazon Web Services. You can access and use Step Functions using the console, the Amazon Web Services SDKs, or an HTTP API. For more information about Step Functions, see the Step Functions Developer Guide .

", "operations": { "CreateActivity": "

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

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

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

", - "CreateStateMachine": "

Creates a state machine. A state machine consists of a collection of states that can do work (Task states), determine to which states to transition next (Choice states), stop an execution with an error (Fail states), 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.

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

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 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.

", + "CreateStateMachine": "

Creates a state machine. A state machine consists of a collection of states that can do work (Task states), determine to which states to transition next (Choice states), stop an execution with an error (Fail states), 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.

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. 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.

", + "CreateStateMachineAlias": "

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:

", "DeleteActivity": "

Deletes an activity.

", - "DeleteStateMachine": "

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.

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

", + "DeleteStateMachine": "

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

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:

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

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

", + "DeleteStateMachineAlias": "

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:

", + "DeleteStateMachineVersion": "

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:

", "DescribeActivity": "

Describes an activity.

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

", - "DescribeExecution": "

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.

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.

", + "DescribeExecution": "

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.

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

", "DescribeMapRun": "

Provides information about a Map Run's configuration, progress, and results. For more information, see Examining Map Run in the Step Functions Developer Guide.

", - "DescribeStateMachine": "

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.

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

", - "DescribeStateMachineForExecution": "

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.

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 machines.

", + "DescribeStateMachine": "

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:

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.

", + "DescribeStateMachineAlias": "

Returns details about a state machine alias.

Related operations:

", + "DescribeStateMachineForExecution": "

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.

This API action is not supported by EXPRESS state machines.

", "GetActivityTask": "

Used by workers to retrieve a task (with the specified activity ARN) which has been scheduled for execution by a running state machine. This initiates a long poll, where the service holds the HTTP connection open and responds as soon as a task becomes available (i.e. 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).

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

", "GetExecutionHistory": "

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

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.

This API action is not supported by EXPRESS state machines.

", "ListActivities": "

Lists the existing activities.

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.

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

", - "ListExecutions": "

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.

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. 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.

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 machines.

", + "ListExecutions": "

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. 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.

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 machines.

", "ListMapRuns": "

Lists all Map Runs that were started by a given state machine execution. Use this API action to obtain Map Run ARNs, and then call DescribeMapRun to obtain more information, if needed.

", + "ListStateMachineAliases": "

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:

", + "ListStateMachineVersions": "

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:

", "ListStateMachines": "

Lists the existing state machines.

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.

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

", "ListTagsForResource": "

List tags for a given resource.

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

", + "PublishStateMachineVersion": "

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:

", "SendTaskFailure": "

Used by activity workers and task states using the callback pattern to report that the task identified by the taskToken failed.

", "SendTaskHeartbeat": "

Used by activity workers and task states using the callback pattern to report to Step Functions that the task represented by the specified taskToken is still making progress. This action resets the Heartbeat clock. The Heartbeat threshold is specified in the state machine's Amazon States Language definition (HeartbeatSeconds). This action does not in itself create an event in the execution history. However, if the task times out, the execution history contains an ActivityTimedOut entry for activities, or a TaskTimedOut entry for for tasks using the job run or callback pattern.

The Timeout of a task, defined in the state machine's Amazon States Language definition, is its maximum allowed duration, regardless of the number of SendTaskHeartbeat requests received. Use HeartbeatSeconds to configure the timeout interval for heartbeats.

", "SendTaskSuccess": "

Used by activity workers and task states using the callback pattern to report that the task identified by the taskToken completed successfully.

", - "StartExecution": "

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.

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.

StartExecution is not idempotent for EXPRESS workflows.

", + "StartExecution": "

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:

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 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 isn't idempotent for EXPRESS workflows.

", "StartSyncExecution": "

Starts a Synchronous Express state machine execution. StartSyncExecution is not available for STANDARD workflows.

StartSyncExecution will return a 200 OK response, even if your execution fails, because the status code in the API response doesn't reflect function errors. Error codes are reserved for errors that prevent your execution from running, such as permissions errors, limit errors, or issues with your state machine code and configuration.

This API action isn't logged in CloudTrail.

", "StopExecution": "

Stops an execution.

This API action is not supported by EXPRESS state machines.

", "TagResource": "

Add a tag to a Step Functions resource.

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

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

", "UntagResource": "

Remove a tag from a Step Functions resource

", "UpdateMapRun": "

Updates an in-progress Map Run's configuration to include changes to the settings that control maximum concurrency and Map Run failure.

", - "UpdateStateMachine": "

Updates an existing state machine by modifying its definition, roleArn, or loggingConfiguration. Running executions will continue 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.

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 definition and roleArn.

" + "UpdateStateMachine": "

Updates an existing state machine by modifying its definition, roleArn, or loggingConfiguration. Running executions will continue to use the previous definition and roleArn. You must include at least one of definition or roleArn or you will receive a MissingRequiredParameter error.

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:

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.

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.

", + "UpdateStateMachineAlias": "

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:

" }, "shapes": { "ActivityDoesNotExist": { @@ -93,6 +101,14 @@ "refs": { } }, + "AliasDescription": { + "base": null, + "refs": { + "CreateStateMachineAliasInput$description": "

A description for the state machine alias.

", + "DescribeStateMachineAliasOutput$description": "

A description of the alias.

", + "UpdateStateMachineAliasInput$description": "

A description of the state machine alias.

" + } + }, "Arn": { "base": null, "refs": { @@ -100,35 +116,51 @@ "ActivityScheduledEventDetails$resource": "

The Amazon Resource Name (ARN) of the scheduled activity.

", "CloudWatchLogsLogGroup$logGroupArn": "

The ARN of the the CloudWatch log group to which you want your logs emitted to. The ARN must end with :*

", "CreateActivityOutput$activityArn": "

The Amazon Resource Name (ARN) that identifies the created activity.

", + "CreateStateMachineAliasOutput$stateMachineAliasArn": "

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

", "CreateStateMachineInput$roleArn": "

The Amazon Resource Name (ARN) of the IAM role to use for this state machine.

", "CreateStateMachineOutput$stateMachineArn": "

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

", + "CreateStateMachineOutput$stateMachineVersionArn": "

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.

", "DeleteActivityInput$activityArn": "

The Amazon Resource Name (ARN) of the activity to delete.

", + "DeleteStateMachineAliasInput$stateMachineAliasArn": "

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

", "DeleteStateMachineInput$stateMachineArn": "

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

", "DescribeActivityInput$activityArn": "

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

", "DescribeActivityOutput$activityArn": "

The Amazon Resource Name (ARN) that identifies the activity.

", "DescribeExecutionInput$executionArn": "

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

", "DescribeExecutionOutput$executionArn": "

The Amazon Resource Name (ARN) that identifies the execution.

", "DescribeExecutionOutput$stateMachineArn": "

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

", + "DescribeExecutionOutput$stateMachineVersionArn": "

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.

", + "DescribeExecutionOutput$stateMachineAliasArn": "

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.

", "DescribeMapRunOutput$executionArn": "

The Amazon Resource Name (ARN) that identifies the execution in which the Map Run was started.

", + "DescribeStateMachineAliasInput$stateMachineAliasArn": "

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

", + "DescribeStateMachineAliasOutput$stateMachineAliasArn": "

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

", "DescribeStateMachineForExecutionInput$executionArn": "

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

", "DescribeStateMachineForExecutionOutput$stateMachineArn": "

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

", "DescribeStateMachineForExecutionOutput$roleArn": "

The Amazon Resource Name (ARN) of the IAM role of the State Machine for the execution.

", - "DescribeStateMachineInput$stateMachineArn": "

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

", - "DescribeStateMachineOutput$stateMachineArn": "

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

", + "DescribeStateMachineInput$stateMachineArn": "

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.

", + "DescribeStateMachineOutput$stateMachineArn": "

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.

", "DescribeStateMachineOutput$roleArn": "

The Amazon Resource Name (ARN) of the IAM role used when creating this state machine. (The IAM role maintains security by granting Step Functions access to Amazon Web Services resources.)

", "ExecutionListItem$executionArn": "

The Amazon Resource Name (ARN) that identifies the execution.

", - "ExecutionListItem$stateMachineArn": "

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

", + "ExecutionListItem$stateMachineArn": "

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

", + "ExecutionListItem$stateMachineVersionArn": "

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.

", + "ExecutionListItem$stateMachineAliasArn": "

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.

", "ExecutionStartedEventDetails$roleArn": "

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

", + "ExecutionStartedEventDetails$stateMachineAliasArn": "

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

", + "ExecutionStartedEventDetails$stateMachineVersionArn": "

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

", "GetActivityTaskInput$activityArn": "

The Amazon Resource Name (ARN) of the activity to retrieve tasks from (assigned when you create the task using CreateActivity.)

", "GetExecutionHistoryInput$executionArn": "

The Amazon Resource Name (ARN) of the execution.

", "LambdaFunctionScheduledEventDetails$resource": "

The Amazon Resource Name (ARN) of the scheduled Lambda function.

", - "ListExecutionsInput$stateMachineArn": "

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.

", + "ListExecutionsInput$stateMachineArn": "

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.

", "ListMapRunsInput$executionArn": "

The Amazon Resource Name (ARN) of the execution for which the Map Runs must be listed.

", + "ListStateMachineAliasesInput$stateMachineArn": "

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.

", + "ListStateMachineVersionsInput$stateMachineArn": "

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

", "ListTagsForResourceInput$resourceArn": "

The Amazon Resource Name (ARN) for the Step Functions state machine or activity.

", "MapRunListItem$executionArn": "

The executionArn of the execution from which the Map Run was started.

", "MapRunListItem$stateMachineArn": "

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

", + "PublishStateMachineVersionInput$stateMachineArn": "

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

", + "PublishStateMachineVersionOutput$stateMachineVersionArn": "

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

", "ResourceNotFound$resourceName": null, - "StartExecutionInput$stateMachineArn": "

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

", + "RoutingConfigurationListItem$stateMachineVersionArn": "

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.

", + "StartExecutionInput$stateMachineArn": "

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

The stateMachineArn parameter accepts one of the following inputs:

", "StartExecutionOutput$executionArn": "

The Amazon Resource Name (ARN) that identifies the execution.

", "StartSyncExecutionInput$stateMachineArn": "

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

", "StartSyncExecutionOutput$executionArn": "

The Amazon Resource Name (ARN) that identifies the execution.

", @@ -138,8 +170,10 @@ "TagResourceInput$resourceArn": "

The Amazon Resource Name (ARN) for the Step Functions state machine or activity.

", "TooManyTags$resourceName": null, "UntagResourceInput$resourceArn": "

The Amazon Resource Name (ARN) for the Step Functions state machine or activity.

", + "UpdateStateMachineAliasInput$stateMachineAliasArn": "

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

", "UpdateStateMachineInput$stateMachineArn": "

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

", - "UpdateStateMachineInput$roleArn": "

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

" + "UpdateStateMachineInput$roleArn": "

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

", + "UpdateStateMachineOutput$stateMachineVersionArn": "

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

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

" } }, "BilledDuration": { @@ -160,6 +194,12 @@ "StartSyncExecutionOutput$billingDetails": "

An object that describes workflow billing details, including billed duration and memory use.

" } }, + "CharacterRestrictedName": { + "base": null, + "refs": { + "CreateStateMachineAliasInput$name": "

The name of the state machine alias.

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

" + } + }, "CloudWatchEventsExecutionDataDetails": { "base": "

Provides details about execution input or output.

", "refs": { @@ -175,6 +215,11 @@ "LogDestination$cloudWatchLogsLogGroup": "

An object describing a CloudWatch log group. For more information, see AWS::Logs::LogGroup in the CloudFormation User Guide.

" } }, + "ConflictException": { + "base": "

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

", + "refs": { + } + }, "ConnectorParameters": { "base": null, "refs": { @@ -191,6 +236,16 @@ "refs": { } }, + "CreateStateMachineAliasInput": { + "base": null, + "refs": { + } + }, + "CreateStateMachineAliasOutput": { + "base": null, + "refs": { + } + }, "CreateStateMachineInput": { "base": null, "refs": { @@ -220,6 +275,16 @@ "refs": { } }, + "DeleteStateMachineAliasInput": { + "base": null, + "refs": { + } + }, + "DeleteStateMachineAliasOutput": { + "base": null, + "refs": { + } + }, "DeleteStateMachineInput": { "base": null, "refs": { @@ -230,6 +295,16 @@ "refs": { } }, + "DeleteStateMachineVersionInput": { + "base": null, + "refs": { + } + }, + "DeleteStateMachineVersionOutput": { + "base": null, + "refs": { + } + }, "DescribeActivityInput": { "base": null, "refs": { @@ -260,6 +335,16 @@ "refs": { } }, + "DescribeStateMachineAliasInput": { + "base": null, + "refs": { + } + }, + "DescribeStateMachineAliasOutput": { + "base": null, + "refs": { + } + }, "DescribeStateMachineForExecutionInput": { "base": null, "refs": { @@ -292,6 +377,7 @@ "ActivityDoesNotExist$message": null, "ActivityLimitExceeded$message": null, "ActivityWorkerLimitExceeded$message": null, + "ConflictException$message": null, "ExecutionAlreadyExists$message": null, "ExecutionDoesNotExist$message": null, "ExecutionLimitExceeded$message": null, @@ -305,6 +391,7 @@ "InvalidTracingConfiguration$message": null, "MissingRequiredParameter$message": null, "ResourceNotFound$message": null, + "ServiceQuotaExceededException$message": null, "StateMachineAlreadyExists$message": null, "StateMachineDeleting$message": null, "StateMachineDoesNotExist$message": null, @@ -572,6 +659,26 @@ "refs": { } }, + "ListStateMachineAliasesInput": { + "base": null, + "refs": { + } + }, + "ListStateMachineAliasesOutput": { + "base": null, + "refs": { + } + }, + "ListStateMachineVersionsInput": { + "base": null, + "refs": { + } + }, + "ListStateMachineVersionsOutput": { + "base": null, + "refs": { + } + }, "ListStateMachinesInput": { "base": null, "refs": { @@ -616,12 +723,13 @@ "CreateStateMachineInput$loggingConfiguration": "

Defines what execution history events are logged and where they are logged.

By default, the level is set to OFF. For more information see Log Levels in the Step Functions User Guide.

", "DescribeStateMachineForExecutionOutput$loggingConfiguration": null, "DescribeStateMachineOutput$loggingConfiguration": null, - "UpdateStateMachineInput$loggingConfiguration": "

The LoggingConfiguration data type is used to set CloudWatch Logs options.

" + "UpdateStateMachineInput$loggingConfiguration": "

Use the LoggingConfiguration data type to set CloudWatch Logs options.

" } }, "LongArn": { "base": null, "refs": { + "DeleteStateMachineVersionInput$stateMachineVersionArn": "

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

", "DescribeExecutionOutput$mapRunArn": "

The Amazon Resource Name (ARN) that identifies a Map Run, which dispatched this execution.

", "DescribeMapRunInput$mapRunArn": "

The Amazon Resource Name (ARN) that identifies a Map Run.

", "DescribeMapRunOutput$mapRunArn": "

The Amazon Resource Name (ARN) that identifies a Map Run.

", @@ -630,6 +738,8 @@ "ListExecutionsInput$mapRunArn": "

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.

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

", "MapRunListItem$mapRunArn": "

The Amazon Resource Name (ARN) of the Map Run.

", "MapRunStartedEventDetails$mapRunArn": "

The Amazon Resource Name (ARN) of a Map Run that was started.

", + "StateMachineAliasListItem$stateMachineAliasArn": "

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.

", + "StateMachineVersionListItem$stateMachineVersionArn": "

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.

", "TaskCredentials$roleArn": "

The ARN of an IAM role that Step Functions assumes for the task. The role can allow cross-account access to resources.

", "UpdateMapRunInput$mapRunArn": "

The Amazon Resource Name (ARN) of a Map Run.

" } @@ -718,12 +828,13 @@ "CreateStateMachineInput$name": "

The name of the state machine.

A name must not contain:

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

", "DescribeActivityOutput$name": "

The name of the activity.

A name must not contain:

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

", "DescribeExecutionOutput$name": "

The name of the execution.

A name must not contain:

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

", + "DescribeStateMachineAliasOutput$name": "

The name of the state machine alias.

", "DescribeStateMachineForExecutionOutput$name": "

The name of the state machine associated with the execution.

", "DescribeStateMachineOutput$name": "

The name of the state machine.

A name must not contain:

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

", "ExecutionListItem$name": "

The name of the execution.

A name must not contain:

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

", "GetActivityTaskInput$workerName": "

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

", "MapIterationEventDetails$name": "

The name of the iteration’s parent Map state.

", - "StartExecutionInput$name": "

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, see Limits Related to State Machine Executions in the Step Functions Developer Guide.

A name must not contain:

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

", + "StartExecutionInput$name": "

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:

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

", "StartSyncExecutionInput$name": "

The name of the execution.

", "StartSyncExecutionOutput$name": "

The name of the execution.

", "StateEnteredEventDetails$name": "

The name of the state.

", @@ -755,6 +866,8 @@ "ListActivitiesInput$maxResults": "

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.

", "ListExecutionsInput$maxResults": "

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.

", "ListMapRunsInput$maxResults": "

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.

", + "ListStateMachineAliasesInput$maxResults": "

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.

", + "ListStateMachineVersionsInput$maxResults": "

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.

", "ListStateMachinesInput$maxResults": "

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.

" } }, @@ -767,12 +880,33 @@ "ListActivitiesOutput$nextToken": "

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.

", "ListMapRunsInput$nextToken": "

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.

", "ListMapRunsOutput$nextToken": "

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.

", + "ListStateMachineAliasesInput$nextToken": "

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.

", + "ListStateMachineAliasesOutput$nextToken": "

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.

", + "ListStateMachineVersionsInput$nextToken": "

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.

", + "ListStateMachineVersionsOutput$nextToken": "

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.

", "ListStateMachinesInput$nextToken": "

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.

", "ListStateMachinesOutput$nextToken": "

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.

" } }, + "Publish": { + "base": null, + "refs": { + "CreateStateMachineInput$publish": "

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

", + "UpdateStateMachineInput$publish": "

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.

" + } + }, + "PublishStateMachineVersionInput": { + "base": null, + "refs": { + } + }, + "PublishStateMachineVersionOutput": { + "base": null, + "refs": { + } + }, "ResourceNotFound": { - "base": "

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

", + "base": "

Could not find the referenced resource.

", "refs": { } }, @@ -782,6 +916,29 @@ "GetExecutionHistoryInput$reverseOrder": "

Lists events in descending order of their timeStamp.

" } }, + "RevisionId": { + "base": null, + "refs": { + "DescribeStateMachineForExecutionOutput$revisionId": "

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.

", + "DescribeStateMachineOutput$revisionId": "

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.

", + "PublishStateMachineVersionInput$revisionId": "

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.

", + "UpdateStateMachineOutput$revisionId": "

The revision identifier for the updated state machine.

" + } + }, + "RoutingConfigurationList": { + "base": null, + "refs": { + "CreateStateMachineAliasInput$routingConfiguration": "

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.

", + "DescribeStateMachineAliasOutput$routingConfiguration": "

The routing configuration of the alias.

", + "UpdateStateMachineAliasInput$routingConfiguration": "

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.

" + } + }, + "RoutingConfigurationListItem": { + "base": "

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.

", + "refs": { + "RoutingConfigurationList$member": null + } + }, "SendTaskFailureInput": { "base": null, "refs": { @@ -888,6 +1045,11 @@ "TaskTimedOutEventDetails$error": "

The error code of the failure.

" } }, + "ServiceQuotaExceededException": { + "base": "

The request would cause a service quota to be exceeded.

HTTP Status Code: 402

", + "refs": { + } + }, "StartExecutionInput": { "base": null, "refs": { @@ -920,6 +1082,18 @@ "HistoryEvent$stateExitedEventDetails": null } }, + "StateMachineAliasList": { + "base": null, + "refs": { + "ListStateMachineAliasesOutput$stateMachineAliases": "

Aliases for the state machine.

" + } + }, + "StateMachineAliasListItem": { + "base": "

Contains details about a specific state machine alias.

", + "refs": { + "StateMachineAliasList$member": null + } + }, "StateMachineAlreadyExists": { "base": "

A state machine with the same name but a different definition or role ARN already exists.

", "refs": { @@ -971,6 +1145,18 @@ "refs": { } }, + "StateMachineVersionList": { + "base": null, + "refs": { + "ListStateMachineVersionsOutput$stateMachineVersions": "

Versions for the state machine.

" + } + }, + "StateMachineVersionListItem": { + "base": "

Contains details about a specific state machine version.

", + "refs": { + "StateMachineVersionList$member": null + } + }, "StopExecutionInput": { "base": null, "refs": { @@ -1120,24 +1306,31 @@ "refs": { "ActivityListItem$creationDate": "

The date the activity is created.

", "CreateActivityOutput$creationDate": "

The date the activity is created.

", + "CreateStateMachineAliasOutput$creationDate": "

The date the state machine alias was created.

", "CreateStateMachineOutput$creationDate": "

The date the state machine is created.

", "DescribeActivityOutput$creationDate": "

The date the activity is created.

", "DescribeExecutionOutput$startDate": "

The date the execution is started.

", - "DescribeExecutionOutput$stopDate": "

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

", + "DescribeExecutionOutput$stopDate": "

If the execution ended, the date the execution stopped.

", "DescribeMapRunOutput$startDate": "

The date when the Map Run was started.

", "DescribeMapRunOutput$stopDate": "

The date when the Map Run was stopped.

", + "DescribeStateMachineAliasOutput$creationDate": "

The date the state machine alias was created.

", + "DescribeStateMachineAliasOutput$updateDate": "

The date the state machine alias was last updated.

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

", "DescribeStateMachineForExecutionOutput$updateDate": "

The date and time the state machine associated with an execution was updated. For a newly created state machine, this is the creation date.

", - "DescribeStateMachineOutput$creationDate": "

The date the state machine is created.

", + "DescribeStateMachineOutput$creationDate": "

The date the state machine is created.

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

", "ExecutionListItem$startDate": "

The date the execution started.

", "ExecutionListItem$stopDate": "

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

", "HistoryEvent$timestamp": "

The date and time the event occurred.

", "MapRunListItem$startDate": "

The date on which the Map Run started.

", "MapRunListItem$stopDate": "

The date on which the Map Run stopped.

", + "PublishStateMachineVersionOutput$creationDate": "

The date the version was created.

", "StartExecutionOutput$startDate": "

The date the execution is started.

", "StartSyncExecutionOutput$startDate": "

The date the execution is started.

", "StartSyncExecutionOutput$stopDate": "

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

", + "StateMachineAliasListItem$creationDate": "

The creation date of a state machine alias.

", "StateMachineListItem$creationDate": "

The date the state machine is created.

", + "StateMachineVersionListItem$creationDate": "

The creation date of a state machine version.

", "StopExecutionOutput$stopDate": "

The date the execution is stopped.

", + "UpdateStateMachineAliasOutput$updateDate": "

The date and time the state machine alias was updated.

", "UpdateStateMachineOutput$updateDate": "

The date and time the state machine was updated.

" } }, @@ -1227,6 +1420,16 @@ "refs": { } }, + "UpdateStateMachineAliasInput": { + "base": null, + "refs": { + } + }, + "UpdateStateMachineAliasOutput": { + "base": null, + "refs": { + } + }, "UpdateStateMachineInput": { "base": null, "refs": { @@ -1248,6 +1451,21 @@ "ValidationException$reason": "

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

" } }, + "VersionDescription": { + "base": null, + "refs": { + "CreateStateMachineInput$versionDescription": "

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.

", + "DescribeStateMachineOutput$description": "

The description of the state machine version.

", + "PublishStateMachineVersionInput$description": "

An optional description of the state machine version.

", + "UpdateStateMachineInput$versionDescription": "

An optional description of the state machine version to publish.

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

" + } + }, + "VersionWeight": { + "base": null, + "refs": { + "RoutingConfigurationListItem$weight": "

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.

" + } + }, "includedDetails": { "base": null, "refs": { diff --git a/models/apis/states/2016-11-23/endpoint-rule-set-1.json b/models/apis/states/2016-11-23/endpoint-rule-set-1.json index 59fd81e898d..4d52cffb427 100644 --- a/models/apis/states/2016-11-23/endpoint-rule-set-1.json +++ b/models/apis/states/2016-11-23/endpoint-rule-set-1.json @@ -3,7 +3,7 @@ "parameters": { "Region": { "builtIn": "AWS::Region", - "required": true, + "required": false, "documentation": "The AWS region used to dispatch the request.", "type": "String" }, @@ -32,13 +32,12 @@ { "conditions": [ { - "fn": "aws.partition", + "fn": "isSet", "argv": [ { - "ref": "Region" + "ref": "Endpoint" } - ], - "assign": "PartitionResult" + ] } ], "type": "tree", @@ -46,23 +45,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": [ { @@ -71,67 +67,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" + } ] } ], @@ -140,193 +111,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" } ] } diff --git a/models/apis/states/2016-11-23/endpoint-tests-1.json b/models/apis/states/2016-11-23/endpoint-tests-1.json index a3e18f2bb95..203779f9268 100644 --- a/models/apis/states/2016-11-23/endpoint-tests-1.json +++ b/models/apis/states/2016-11-23/endpoint-tests-1.json @@ -1,1711 +1,584 @@ { "testCases": [ { - "documentation": "For region ap-south-2 with FIPS enabled and DualStack enabled", - "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" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": false, - "Region": "ap-northeast-3" - } - }, - { - "documentation": "For region ap-northeast-3 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://states.ap-northeast-3.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "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" - } - }, - { - "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://states.ap-northeast-2.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": false, - "Region": "ap-northeast-2" - } - }, - { - "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://states.ap-northeast-2.amazonaws.com" - } - }, - "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, - "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" - } - }, - { - "documentation": "For region me-south-1 with FIPS disabled and DualStack enabled", - "expect": { - "endpoint": { - "url": "https://states.me-south-1.api.aws" - } - }, - "params": { - "UseDualStack": true, - "UseFIPS": false, - "Region": "me-south-1" - } - }, - { - "documentation": "For region me-south-1 with FIPS disabled and DualStack disabled", - "expect": { - "endpoint": { - "url": "https://states.me-south-1.amazonaws.com" - } - }, - "params": { - "UseDualStack": false, - "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" - } - }, - { - "documentation": "For region sa-east-1 with FIPS disabled and DualStack enabled", + "documentation": "For region af-south-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://states.sa-east-1.api.aws" + "url": "https://states.af-south-1.amazonaws.com" } }, "params": { - "UseDualStack": true, + "Region": "af-south-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-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://states.sa-east-1.amazonaws.com" + "url": "https://states.ap-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "ap-east-1", "UseFIPS": false, - "Region": "sa-east-1" + "UseDualStack": false } }, { - "documentation": "For region ap-east-1 with FIPS enabled and DualStack enabled", + "documentation": "For region ap-northeast-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://states-fips.ap-east-1.api.aws" + "url": "https://states.ap-northeast-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "UseFIPS": true, - "Region": "ap-east-1" + "Region": "ap-northeast-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-east-1 with FIPS enabled and DualStack disabled", + "documentation": "For region ap-northeast-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://states-fips.ap-east-1.amazonaws.com" + "url": "https://states.ap-northeast-2.amazonaws.com" } }, "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "ap-east-1" + "Region": "ap-northeast-2", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-east-1 with FIPS disabled and DualStack enabled", + "documentation": "For region ap-northeast-3 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://states.ap-east-1.api.aws" + "url": "https://states.ap-northeast-3.amazonaws.com" } }, "params": { - "UseDualStack": true, + "Region": "ap-northeast-3", "UseFIPS": false, - "Region": "ap-east-1" + "UseDualStack": false } }, { - "documentation": "For region ap-east-1 with FIPS disabled and DualStack disabled", + "documentation": "For region ap-south-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://states.ap-east-1.amazonaws.com" + "url": "https://states.ap-south-1.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "ap-south-1", "UseFIPS": false, - "Region": "ap-east-1" + "UseDualStack": false } }, { - "documentation": "For region cn-north-1 with FIPS enabled and DualStack enabled", + "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://states-fips.cn-north-1.api.amazonwebservices.com.cn" + "url": "https://states.ap-southeast-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "UseFIPS": true, - "Region": "cn-north-1" + "Region": "ap-southeast-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region cn-north-1 with FIPS enabled and DualStack disabled", + "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://states-fips.cn-north-1.amazonaws.com.cn" + "url": "https://states.ap-southeast-2.amazonaws.com" } }, "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "cn-north-1" + "Region": "ap-southeast-2", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region cn-north-1 with FIPS disabled and DualStack enabled", + "documentation": "For region ap-southeast-3 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://states.cn-north-1.api.amazonwebservices.com.cn" + "url": "https://states.ap-southeast-3.amazonaws.com" } }, "params": { - "UseDualStack": true, + "Region": "ap-southeast-3", "UseFIPS": false, - "Region": "cn-north-1" + "UseDualStack": false } }, { - "documentation": "For region cn-north-1 with FIPS disabled and DualStack disabled", + "documentation": "For region ca-central-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://states.cn-north-1.amazonaws.com.cn" + "url": "https://states.ca-central-1.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "ca-central-1", "UseFIPS": false, - "Region": "cn-north-1" + "UseDualStack": false } }, { - "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack enabled", + "documentation": "For region eu-central-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://states-fips.us-gov-west-1.api.aws" + "url": "https://states.eu-central-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "UseFIPS": true, - "Region": "us-gov-west-1" + "Region": "eu-central-1", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region us-gov-west-1 with FIPS enabled and DualStack disabled", + "documentation": "For region eu-north-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://states.us-gov-west-1.amazonaws.com" + "url": "https://states.eu-north-1.amazonaws.com" } }, "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "us-gov-west-1" + "Region": "eu-north-1", + "UseFIPS": false, + "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" + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack enabled", + "documentation": "For region eu-west-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://states-fips.ap-southeast-1.api.aws" + "url": "https://states.eu-west-2.amazonaws.com" } }, "params": { - "UseDualStack": true, - "UseFIPS": true, - "Region": "ap-southeast-1" + "Region": "eu-west-2", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-1 with FIPS enabled and DualStack disabled", + "documentation": "For region eu-west-3 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://states-fips.ap-southeast-1.amazonaws.com" + "url": "https://states.eu-west-3.amazonaws.com" } }, "params": { - "UseDualStack": false, - "UseFIPS": true, - "Region": "ap-southeast-1" + "Region": "eu-west-3", + "UseFIPS": false, + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack enabled", + "documentation": "For region me-south-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://states.ap-southeast-1.api.aws" + "url": "https://states.me-south-1.amazonaws.com" } }, "params": { - "UseDualStack": true, + "Region": "me-south-1", "UseFIPS": false, - "Region": "ap-southeast-1" + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-1 with FIPS disabled and DualStack disabled", + "documentation": "For region sa-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://states.ap-southeast-1.amazonaws.com" + "url": "https://states.sa-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "sa-east-1", "UseFIPS": false, - "Region": "ap-southeast-1" + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-2 with FIPS enabled and DualStack enabled", + "documentation": "For region us-east-1 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://states-fips.ap-southeast-2.api.aws" + "url": "https://states.us-east-1.amazonaws.com" } }, "params": { - "UseDualStack": true, - "UseFIPS": true, - "Region": "ap-southeast-2" + "Region": "us-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 enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://states-fips.ap-southeast-2.amazonaws.com" + "url": "https://states-fips.us-east-1.amazonaws.com" } }, "params": { - "UseDualStack": false, + "Region": "us-east-1", "UseFIPS": true, - "Region": "ap-southeast-2" + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack enabled", + "documentation": "For region us-east-2 with FIPS disabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://states.ap-southeast-2.api.aws" + "url": "https://states.us-east-2.amazonaws.com" } }, "params": { - "UseDualStack": true, + "Region": "us-east-2", "UseFIPS": false, - "Region": "ap-southeast-2" + "UseDualStack": false } }, { - "documentation": "For region ap-southeast-2 with FIPS disabled and DualStack disabled", + "documentation": "For region us-east-2 with FIPS enabled and DualStack disabled", "expect": { "endpoint": { - "url": "https://states.ap-southeast-2.amazonaws.com" + "url": "https://states-fips.us-east-2.amazonaws.com" } }, "params": { - "UseDualStack": false, - "UseFIPS": false, - "Region": "ap-southeast-2" - } - }, - { - "documentation": "For region us-iso-east-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, + "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 } }, { @@ -1714,9 +587,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 } }, { @@ -1727,9 +600,9 @@ } }, "params": { - "UseDualStack": false, + "Region": "us-isob-east-1", "UseFIPS": true, - "Region": "us-isob-east-1" + "UseDualStack": false } }, { @@ -1738,35 +611,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" } }, @@ -1776,9 +649,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" } }, @@ -1788,11 +661,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" diff --git a/service/chimesdkidentity/api.go b/service/chimesdkidentity/api.go index 580180512fe..a7003fd292d 100644 --- a/service/chimesdkidentity/api.go +++ b/service/chimesdkidentity/api.go @@ -3750,11 +3750,7 @@ type AppInstanceUserEndpoint struct { AllowMessages *string `type:"string" enum:"AllowMessages"` // The ARN of the AppInstanceUser. - // - // AppInstanceUserArn is a sensitive parameter and its value will be - // replaced with "sensitive" in string returned by AppInstanceUserEndpoint's - // String and GoString methods. - AppInstanceUserArn *string `min:"5" type:"string" sensitive:"true"` + AppInstanceUserArn *string `min:"5" type:"string"` // The time at which an AppInstanceUserEndpoint was created. CreatedTimestamp *time.Time `type:"timestamp"` @@ -3763,11 +3759,7 @@ type AppInstanceUserEndpoint struct { EndpointAttributes *EndpointAttributes `type:"structure"` // The unique identifier of the AppInstanceUserEndpoint. - // - // EndpointId is a sensitive parameter and its value will be - // replaced with "sensitive" in string returned by AppInstanceUserEndpoint's - // String and GoString methods. - EndpointId *string `type:"string" sensitive:"true"` + EndpointId *string `type:"string"` // A read-only field that represents the state of an AppInstanceUserEndpoint. // Supported values: @@ -3892,18 +3884,10 @@ type AppInstanceUserEndpointSummary struct { AllowMessages *string `type:"string" enum:"AllowMessages"` // The ARN of the AppInstanceUser. - // - // AppInstanceUserArn is a sensitive parameter and its value will be - // replaced with "sensitive" in string returned by AppInstanceUserEndpointSummary's - // String and GoString methods. - AppInstanceUserArn *string `min:"5" type:"string" sensitive:"true"` + AppInstanceUserArn *string `min:"5" type:"string"` // The unique identifier of the AppInstanceUserEndpoint. - // - // EndpointId is a sensitive parameter and its value will be - // replaced with "sensitive" in string returned by AppInstanceUserEndpointSummary's - // String and GoString methods. - EndpointId *string `type:"string" sensitive:"true"` + EndpointId *string `type:"string"` // A read-only field that represent the state of an AppInstanceUserEndpoint. EndpointState *EndpointState `type:"structure"` @@ -5150,21 +5134,13 @@ type DeregisterAppInstanceUserEndpointInput struct { // The ARN of the AppInstanceUser. // - // AppInstanceUserArn is a sensitive parameter and its value will be - // replaced with "sensitive" in string returned by DeregisterAppInstanceUserEndpointInput's - // String and GoString methods. - // // AppInstanceUserArn is a required field - AppInstanceUserArn *string `location:"uri" locationName:"appInstanceUserArn" min:"5" type:"string" required:"true" sensitive:"true"` + AppInstanceUserArn *string `location:"uri" locationName:"appInstanceUserArn" min:"5" type:"string" required:"true"` // The unique identifier of the AppInstanceUserEndpoint. // - // EndpointId is a sensitive parameter and its value will be - // replaced with "sensitive" in string returned by DeregisterAppInstanceUserEndpointInput's - // String and GoString methods. - // // EndpointId is a required field - EndpointId *string `location:"uri" locationName:"endpointId" type:"string" required:"true" sensitive:"true"` + EndpointId *string `location:"uri" locationName:"endpointId" type:"string" required:"true"` } // String returns the string representation. @@ -5505,21 +5481,13 @@ type DescribeAppInstanceUserEndpointInput struct { // The ARN of the AppInstanceUser. // - // AppInstanceUserArn is a sensitive parameter and its value will be - // replaced with "sensitive" in string returned by DescribeAppInstanceUserEndpointInput's - // String and GoString methods. - // // AppInstanceUserArn is a required field - AppInstanceUserArn *string `location:"uri" locationName:"appInstanceUserArn" type:"string" required:"true" sensitive:"true"` + AppInstanceUserArn *string `location:"uri" locationName:"appInstanceUserArn" type:"string" required:"true"` // The unique identifier of the AppInstanceUserEndpoint. // - // EndpointId is a sensitive parameter and its value will be - // replaced with "sensitive" in string returned by DescribeAppInstanceUserEndpointInput's - // String and GoString methods. - // // EndpointId is a required field - EndpointId *string `location:"uri" locationName:"endpointId" type:"string" required:"true" sensitive:"true"` + EndpointId *string `location:"uri" locationName:"endpointId" type:"string" required:"true"` } // String returns the string representation. @@ -6080,10 +6048,90 @@ func (s *Identity) SetName(v string) *Identity { return s } +// Specifies the type of message that triggers a bot. +type InvokedBy struct { + _ struct{} `type:"structure"` + + // Sets standard messages as the bot trigger. For standard messages: + // + // * ALL: The bot processes all standard messages. + // + // * AUTO: The bot responds to ALL messages when the channel has one other + // non-hidden member, and responds to MENTIONS when the channel has more + // than one other non-hidden member. + // + // * MENTIONS: The bot processes all standard messages that have a message + // attribute with CHIME.mentions and a value of the bot ARN. + // + // * NONE: The bot processes no standard messages. + // + // StandardMessages is a required field + StandardMessages *string `type:"string" required:"true" enum:"StandardMessages"` + + // Sets targeted messages as the bot trigger. For targeted messages: + // + // * ALL: The bot processes all TargetedMessages sent to it. The bot then + // responds with a targeted message back to the sender. + // + // * NONE: The bot processes no targeted messages. + // + // TargetedMessages is a required field + TargetedMessages *string `type:"string" required:"true" enum:"TargetedMessages"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s InvokedBy) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s InvokedBy) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *InvokedBy) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "InvokedBy"} + if s.StandardMessages == nil { + invalidParams.Add(request.NewErrParamRequired("StandardMessages")) + } + if s.TargetedMessages == nil { + invalidParams.Add(request.NewErrParamRequired("TargetedMessages")) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetStandardMessages sets the StandardMessages field's value. +func (s *InvokedBy) SetStandardMessages(v string) *InvokedBy { + s.StandardMessages = &v + return s +} + +// SetTargetedMessages sets the TargetedMessages field's value. +func (s *InvokedBy) SetTargetedMessages(v string) *InvokedBy { + s.TargetedMessages = &v + return s +} + // The configuration for an Amazon Lex V2 bot. type LexConfiguration struct { _ struct{} `type:"structure"` + // Specifies the type of message that triggers a bot. + InvokedBy *InvokedBy `type:"structure"` + // The ARN of the Amazon Lex V2 bot's alias. The ARN uses this format: arn:aws:lex:REGION:ACCOUNT:bot-alias/MYBOTID/MYBOTALIAS // // LexBotAliasArn is a required field @@ -6098,11 +6146,12 @@ type LexConfiguration struct { // LocaleId is a required field LocaleId *string `type:"string" required:"true"` + // + // Deprecated. Use InvokedBy instead. + // // Determines whether the Amazon Lex V2 bot responds to all standard messages. // Control messages are not supported. - // - // RespondsTo is a required field - RespondsTo *string `type:"string" required:"true" enum:"RespondsTo"` + RespondsTo *string `type:"string" enum:"RespondsTo"` // The name of the welcome intent configured in the Amazon Lex V2 bot. WelcomeIntent *string `min:"1" type:"string"` @@ -6138,12 +6187,14 @@ func (s *LexConfiguration) Validate() error { if s.LocaleId == nil { invalidParams.Add(request.NewErrParamRequired("LocaleId")) } - if s.RespondsTo == nil { - invalidParams.Add(request.NewErrParamRequired("RespondsTo")) - } if s.WelcomeIntent != nil && len(*s.WelcomeIntent) < 1 { invalidParams.Add(request.NewErrParamMinLen("WelcomeIntent", 1)) } + if s.InvokedBy != nil { + if err := s.InvokedBy.Validate(); err != nil { + invalidParams.AddNested("InvokedBy", err.(request.ErrInvalidParams)) + } + } if invalidParams.Len() > 0 { return invalidParams @@ -6151,6 +6202,12 @@ func (s *LexConfiguration) Validate() error { return nil } +// SetInvokedBy sets the InvokedBy field's value. +func (s *LexConfiguration) SetInvokedBy(v *InvokedBy) *LexConfiguration { + s.InvokedBy = v + return s +} + // SetLexBotAliasArn sets the LexBotAliasArn field's value. func (s *LexConfiguration) SetLexBotAliasArn(v string) *LexConfiguration { s.LexBotAliasArn = &v @@ -7297,18 +7354,10 @@ type RegisterAppInstanceUserEndpointOutput struct { _ struct{} `type:"structure"` // The ARN of the AppInstanceUser. - // - // AppInstanceUserArn is a sensitive parameter and its value will be - // replaced with "sensitive" in string returned by RegisterAppInstanceUserEndpointOutput's - // String and GoString methods. - AppInstanceUserArn *string `min:"5" type:"string" sensitive:"true"` + AppInstanceUserArn *string `min:"5" type:"string"` // The unique identifier of the AppInstanceUserEndpoint. - // - // EndpointId is a sensitive parameter and its value will be - // replaced with "sensitive" in string returned by RegisterAppInstanceUserEndpointOutput's - // String and GoString methods. - EndpointId *string `type:"string" sensitive:"true"` + EndpointId *string `type:"string"` } // String returns the string representation. @@ -7940,6 +7989,9 @@ type UpdateAppInstanceBotInput struct { // AppInstanceBotArn is a required field AppInstanceBotArn *string `location:"uri" locationName:"appInstanceBotArn" min:"5" type:"string" required:"true"` + // The configuration for the bot update. + Configuration *Configuration `type:"structure"` + // The metadata of the AppInstanceBot. // // Metadata is a sensitive parameter and its value will be @@ -7992,6 +8044,11 @@ func (s *UpdateAppInstanceBotInput) Validate() error { if s.Name == nil { invalidParams.Add(request.NewErrParamRequired("Name")) } + if s.Configuration != nil { + if err := s.Configuration.Validate(); err != nil { + invalidParams.AddNested("Configuration", err.(request.ErrInvalidParams)) + } + } if invalidParams.Len() > 0 { return invalidParams @@ -8005,6 +8062,12 @@ func (s *UpdateAppInstanceBotInput) SetAppInstanceBotArn(v string) *UpdateAppIns return s } +// SetConfiguration sets the Configuration field's value. +func (s *UpdateAppInstanceBotInput) SetConfiguration(v *Configuration) *UpdateAppInstanceBotInput { + s.Configuration = v + return s +} + // SetMetadata sets the Metadata field's value. func (s *UpdateAppInstanceBotInput) SetMetadata(v string) *UpdateAppInstanceBotInput { s.Metadata = &v @@ -8177,21 +8240,13 @@ type UpdateAppInstanceUserEndpointInput struct { // The ARN of the AppInstanceUser. // - // AppInstanceUserArn is a sensitive parameter and its value will be - // replaced with "sensitive" in string returned by UpdateAppInstanceUserEndpointInput's - // String and GoString methods. - // // AppInstanceUserArn is a required field - AppInstanceUserArn *string `location:"uri" locationName:"appInstanceUserArn" min:"5" type:"string" required:"true" sensitive:"true"` + AppInstanceUserArn *string `location:"uri" locationName:"appInstanceUserArn" min:"5" type:"string" required:"true"` // The unique identifier of the AppInstanceUserEndpoint. // - // EndpointId is a sensitive parameter and its value will be - // replaced with "sensitive" in string returned by UpdateAppInstanceUserEndpointInput's - // String and GoString methods. - // // EndpointId is a required field - EndpointId *string `location:"uri" locationName:"endpointId" type:"string" required:"true" sensitive:"true"` + EndpointId *string `location:"uri" locationName:"endpointId" type:"string" required:"true"` // The name of the AppInstanceUserEndpoint. // @@ -8269,18 +8324,10 @@ type UpdateAppInstanceUserEndpointOutput struct { _ struct{} `type:"structure"` // The ARN of the AppInstanceUser. - // - // AppInstanceUserArn is a sensitive parameter and its value will be - // replaced with "sensitive" in string returned by UpdateAppInstanceUserEndpointOutput's - // String and GoString methods. - AppInstanceUserArn *string `min:"5" type:"string" sensitive:"true"` + AppInstanceUserArn *string `min:"5" type:"string"` // The unique identifier of the AppInstanceUserEndpoint. - // - // EndpointId is a sensitive parameter and its value will be - // replaced with "sensitive" in string returned by UpdateAppInstanceUserEndpointOutput's - // String and GoString methods. - EndpointId *string `type:"string" sensitive:"true"` + EndpointId *string `type:"string"` } // String returns the string representation. @@ -8591,3 +8638,43 @@ func RespondsTo_Values() []string { RespondsToStandardMessages, } } + +const ( + // StandardMessagesAuto is a StandardMessages enum value + StandardMessagesAuto = "AUTO" + + // StandardMessagesAll is a StandardMessages enum value + StandardMessagesAll = "ALL" + + // StandardMessagesMentions is a StandardMessages enum value + StandardMessagesMentions = "MENTIONS" + + // StandardMessagesNone is a StandardMessages enum value + StandardMessagesNone = "NONE" +) + +// StandardMessages_Values returns all elements of the StandardMessages enum +func StandardMessages_Values() []string { + return []string{ + StandardMessagesAuto, + StandardMessagesAll, + StandardMessagesMentions, + StandardMessagesNone, + } +} + +const ( + // TargetedMessagesAll is a TargetedMessages enum value + TargetedMessagesAll = "ALL" + + // TargetedMessagesNone is a TargetedMessages enum value + TargetedMessagesNone = "NONE" +) + +// TargetedMessages_Values returns all elements of the TargetedMessages enum +func TargetedMessages_Values() []string { + return []string{ + TargetedMessagesAll, + TargetedMessagesNone, + } +} diff --git a/service/chimesdkmessaging/api.go b/service/chimesdkmessaging/api.go index 230e8ae07e2..e179a2299bb 100644 --- a/service/chimesdkmessaging/api.go +++ b/service/chimesdkmessaging/api.go @@ -264,8 +264,8 @@ func (c *ChimeSDKMessaging) ChannelFlowCallbackRequest(input *ChannelFlowCallbac // ChannelFlowCallback API operation for Amazon Chime SDK Messaging. // -// Calls back Chime SDK Messaging with a processing response message. This should -// be invoked from the processor Lambda. This is a developer API. +// Calls back Amazon Chime SDK messaging with a processing response message. +// This should be invoked from the processor Lambda. This is a developer API. // // You can return one of the following processing responses: // @@ -601,7 +601,7 @@ func (c *ChimeSDKMessaging) CreateChannelFlowRequest(input *CreateChannelFlowInp // # The Standard message type // // Channel flows don't process Control or System messages. For more information -// about the message types provided by Chime SDK Messaging, refer to Message +// about the message types provided by Chime SDK messaging, refer to Message // types (https://docs.aws.amazon.com/chime/latest/dg/using-the-messaging-sdk.html#msg-types) // in the Amazon Chime developer guide. // @@ -2444,7 +2444,7 @@ func (c *ChimeSDKMessaging) GetChannelMembershipPreferencesRequest(input *GetCha // // Gets the membership preferences of an AppInstanceUser or AppInstanceBot for // the specified channel. A user or a bot must be a member of the channel and -// own the membership to be able to retrieve membership preferences. Users or +// own the membership in order to retrieve membership preferences. Users or // bots in the AppInstanceAdmin and channel moderator roles can't retrieve preferences // for other users or bots. Banned users or bots can't retrieve membership preferences // for the channel from which they are banned. @@ -2665,7 +2665,7 @@ func (c *ChimeSDKMessaging) GetChannelMessageStatusRequest(input *GetChannelMess // // # DENIED // -// Messasge denied by the processor +// Message denied by the processor // // - This API does not return statuses for denied messages, because we don't // store them once the processor denies them. @@ -3428,7 +3428,7 @@ func (c *ChimeSDKMessaging) ListChannelMembershipsForAppInstanceUserRequest(inpu // ListChannelMembershipsForAppInstanceUser API operation for Amazon Chime SDK Messaging. // -// Lists all channels that anr AppInstanceUser or AppInstanceBot is a part of. +// Lists all channels that an AppInstanceUser or AppInstanceBot is a part of. // Only an AppInstanceAdmin can call the API with a user ARN that is not their // own. // @@ -4716,12 +4716,12 @@ func (c *ChimeSDKMessaging) PutChannelMembershipPreferencesRequest(input *PutCha // PutChannelMembershipPreferences API operation for Amazon Chime SDK Messaging. // -// Sets the membership preferences of an AppInstanceUser or AppIntanceBot for +// Sets the membership preferences of an AppInstanceUser or AppInstanceBot for // the specified channel. The user or bot must be a member of the channel. Only // the user or bot who owns the membership can set preferences. Users or bots // in the AppInstanceAdmin and channel moderator roles can't set preferences -// for other users or users. Banned users or bots can't set membership preferences -// for the channel from which they are banned. +// for other users. Banned users or bots can't set membership preferences for +// the channel from which they are banned. // // The x-amz-chime-bearer request header is mandatory. Use the ARN of an AppInstanceUser // or AppInstanceBot that makes the API call as the value in the header. @@ -5188,8 +5188,11 @@ func (c *ChimeSDKMessaging) SendChannelMessageRequest(input *SendChannelMessageI // The x-amz-chime-bearer request header is mandatory. Use the ARN of the AppInstanceUser // or AppInstanceBot that makes the API call as the value in the header. // -// Also, STANDARD messages can contain 4KB of data and the 1KB of metadata. -// CONTROL messages can contain 30 bytes of data and no metadata. +// Also, STANDARD messages can be up to 4KB in size and contain metadata. Metadata +// is arbitrary, and you can use it in a variety of ways, such as containing +// a link to an attachment. +// +// CONTROL messages are limited to 30 bytes and do not contain metadata. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -7110,14 +7113,21 @@ type ChannelMessage struct { // The ARN of the channel. ChannelArn *string `min:"5" type:"string"` - // The message content. + // The content of the channel message. For Amazon Lex V2 bot responses, this + // field holds a list of messages originating from the bot. For more information, + // refer to Processing responses from an AppInstanceBot (https://docs.aws.amazon.com/chime-sdk/latest/dg/appinstance-bots#process-response.html) + // in the Amazon Chime SDK Messaging Developer Guide. // // Content is a sensitive parameter and its value will be // replaced with "sensitive" in string returned by ChannelMessage's // String and GoString methods. Content *string `type:"string" sensitive:"true"` - // The content type of the channel message. + // The content type of the channel message. For Amazon Lex V2 bot responses, + // the content type is application/amz-chime-lex-msgs for success responses + // and application/amz-chime-lex-error for failure responses. For more information, + // refer to Processing responses from an AppInstanceBot (https://docs.aws.amazon.com/chime-sdk/latest/dg/appinstance-bots#process-response.html) + // in the Amazon Chime SDK Messaging Developer Guide. // // ContentType is a sensitive parameter and its value will be // replaced with "sensitive" in string returned by ChannelMessage's @@ -7133,8 +7143,10 @@ type ChannelMessage struct { // The time at which a message was updated. LastUpdatedTimestamp *time.Time `type:"timestamp"` - // The attributes for the message, used for message filtering along with a FilterRule - // defined in the PushNotificationPreferences. + // The attributes for the channel message. For Amazon Lex V2 bot responses, + // the attributes are mapped to specific fields from the bot. For more information, + // refer to Processing responses from an AppInstanceBot (https://docs.aws.amazon.com/chime-sdk/latest/dg/appinstance-bots#process-response.html) + // in the Amazon Chime SDK Messaging Developer Guide. MessageAttributes map[string]*MessageAttributeValue `type:"map"` // The ID of a message. @@ -7162,6 +7174,12 @@ type ChannelMessage struct { // The ID of the SubChannel. SubChannelId *string `min:"1" type:"string"` + // The target of a message, a sender, a user, or a bot. Only the target and + // the sender can view targeted messages. Only users who can see targeted messages + // can take actions on them. However, administrators can delete targeted messages + // that they can’t see. + Target []*Target `min:"1" type:"list"` + // The message type. Type *string `type:"string" enum:"ChannelMessageType"` } @@ -7268,6 +7286,12 @@ func (s *ChannelMessage) SetSubChannelId(v string) *ChannelMessage { return s } +// SetTarget sets the Target field's value. +func (s *ChannelMessage) SetTarget(v []*Target) *ChannelMessage { + s.Target = v + return s +} + // SetType sets the Type field's value. func (s *ChannelMessage) SetType(v string) *ChannelMessage { s.Type = &v @@ -7278,22 +7302,31 @@ func (s *ChannelMessage) SetType(v string) *ChannelMessage { type ChannelMessageCallback struct { _ struct{} `type:"structure"` - // The message content. + // The message content. For Amazon Lex V2 bot responses, this field holds a + // list of messages originating from the bot. For more information, refer to + // Processing responses from an AppInstanceBot (https://docs.aws.amazon.com/chime-sdk/latest/dg/appinstance-bots#process-response.html) + // in the Amazon Chime SDK Messaging Developer Guide. // // Content is a sensitive parameter and its value will be // replaced with "sensitive" in string returned by ChannelMessageCallback's // String and GoString methods. Content *string `min:"1" type:"string" sensitive:"true"` - // The content type of the call-back message. + // The content type of the call-back message. For Amazon Lex V2 bot responses, + // the content type is application/amz-chime-lex-msgs for success responses + // and application/amz-chime-lex-error for failure responses. For more information, + // refer to Processing responses from an AppInstanceBot (https://docs.aws.amazon.com/chime-sdk/latest/dg/appinstance-bots#process-response.html) + // in the Amazon Chime SDK Messaging Developer Guide. // // ContentType is a sensitive parameter and its value will be // replaced with "sensitive" in string returned by ChannelMessageCallback's // String and GoString methods. ContentType *string `type:"string" sensitive:"true"` - // The attributes for the message, used for message filtering along with a FilterRule - // defined in the PushNotificationPreferences. + // The attributes for the channel message. For Amazon Lex V2 bot responses, + // the attributes are mapped to specific fields from the bot. For more information, + // refer to Processing responses from an AppInstanceBot (https://docs.aws.amazon.com/chime-sdk/latest/dg/appinstance-bots#process-response.html) + // in the Amazon Chime SDK Messaging Developer Guide. MessageAttributes map[string]*MessageAttributeValue `type:"map"` // The message ID. @@ -7406,7 +7439,7 @@ func (s *ChannelMessageCallback) SetSubChannelId(v string) *ChannelMessageCallba type ChannelMessageStatusStructure struct { _ struct{} `type:"structure"` - // Contains more details about the messasge status. + // Contains more details about the message status. Detail *string `type:"string"` // The message status value. @@ -7447,14 +7480,22 @@ func (s *ChannelMessageStatusStructure) SetValue(v string) *ChannelMessageStatus type ChannelMessageSummary struct { _ struct{} `type:"structure"` - // The content of the message. + // The content of the channel message. For Amazon Lex V2 bot responses, this + // field holds a list of messages originating from the bot. For more information, + // refer to Processing responses from an AppInstanceBot (https://docs.aws.amazon.com/chime-sdk/latest/dg/appinstance-bots#process-response.html) + // in the Amazon Chime SDK Messaging Developer Guide. // // Content is a sensitive parameter and its value will be // replaced with "sensitive" in string returned by ChannelMessageSummary's // String and GoString methods. Content *string `type:"string" sensitive:"true"` - // The content type of the channel messsage listed in the summary. + // The content type of the channel message listed in the summary. For Amazon + // Lex V2 bot responses, the content type is application/amz-chime-lex-msgs + // for success responses and application/amz-chime-lex-error for failure responses. + // For more information, refer to Processing responses from an AppInstanceBot + // (https://docs.aws.amazon.com/chime-sdk/latest/dg/appinstance-bots#process-response.html) + // in the Amazon Chime SDK Messaging Developer Guide. // // ContentType is a sensitive parameter and its value will be // replaced with "sensitive" in string returned by ChannelMessageSummary's @@ -7470,7 +7511,10 @@ type ChannelMessageSummary struct { // The time at which a message was last updated. LastUpdatedTimestamp *time.Time `type:"timestamp"` - // The message attribues listed in a the summary of a channel message. + // The attributes for the channel message. For Amazon Lex V2 bot responses, + // the attributes are mapped to specific fields from the bot. For more information, + // refer to Processing responses from an AppInstanceBot (https://docs.aws.amazon.com/chime-sdk/latest/dg/appinstance-bots#process-response.html) + // in the Amazon Chime SDK Messaging Developer Guide. MessageAttributes map[string]*MessageAttributeValue `type:"map"` // The ID of the message. @@ -7494,6 +7538,12 @@ type ChannelMessageSummary struct { // determines the processing stage. Status *ChannelMessageStatusStructure `type:"structure"` + // The target of a message, a sender, a user, or a bot. Only the target and + // the sender can view targeted messages. Only users who can see targeted messages + // can take actions on them. However, administrators can delete targeted messages + // that they can’t see. + Target []*Target `min:"1" type:"list"` + // The type of message. Type *string `type:"string" enum:"ChannelMessageType"` } @@ -7582,6 +7632,12 @@ func (s *ChannelMessageSummary) SetStatus(v *ChannelMessageStatusStructure) *Cha return s } +// SetTarget sets the Target field's value. +func (s *ChannelMessageSummary) SetTarget(v []*Target) *ChannelMessageSummary { + s.Target = v + return s +} + // SetType sets the Type field's value. func (s *ChannelMessageSummary) SetType(v string) *ChannelMessageSummary { s.Type = &v @@ -7718,7 +7774,8 @@ type ChannelSummary struct { // The ARN of the channel. ChannelArn *string `min:"5" type:"string"` - // The time at which the last persistent message in a channel was sent. + // The time at which the last persistent message visible to the caller in a + // channel was sent. LastMessageTimestamp *time.Time `type:"timestamp"` // The metadata of the channel. @@ -13899,7 +13956,7 @@ type SendChannelMessageInput struct { // String and GoString methods. ClientRequestToken *string `min:"2" type:"string" idempotencyToken:"true" sensitive:"true"` - // The content of the message. + // The content of the channel message. // // Content is a sensitive parameter and its value will be // replaced with "sensitive" in string returned by SendChannelMessageInput's @@ -13937,8 +13994,20 @@ type SendChannelMessageInput struct { // The ID of the SubChannel in the request. SubChannelId *string `min:"1" type:"string"` + // The target of a message. Must be a member of the channel, such as another + // user, a bot, or the sender. Only the target and the sender can view targeted + // messages. Only users who can see targeted messages can take actions on them. + // However, administrators can delete targeted messages that they can’t see. + Target []*Target `min:"1" type:"list"` + // The type of message, STANDARD or CONTROL. // + // STANDARD messages can be up to 4KB in size and contain metadata. Metadata + // is arbitrary, and you can use it in a variety of ways, such as containing + // a link to an attachment. + // + // CONTROL messages are limited to 30 bytes and do not contain metadata. + // // Type is a required field Type *string `type:"string" required:"true" enum:"ChannelMessageType"` } @@ -13991,6 +14060,9 @@ func (s *SendChannelMessageInput) Validate() error { if s.SubChannelId != nil && len(*s.SubChannelId) < 1 { invalidParams.Add(request.NewErrParamMinLen("SubChannelId", 1)) } + if s.Target != nil && len(s.Target) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Target", 1)) + } if s.Type == nil { invalidParams.Add(request.NewErrParamRequired("Type")) } @@ -13999,6 +14071,16 @@ func (s *SendChannelMessageInput) Validate() error { invalidParams.AddNested("PushNotification", err.(request.ErrInvalidParams)) } } + if s.Target != nil { + for i, v := range s.Target { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Target", i), err.(request.ErrInvalidParams)) + } + } + } if invalidParams.Len() > 0 { return invalidParams @@ -14066,6 +14148,12 @@ func (s *SendChannelMessageInput) SetSubChannelId(v string) *SendChannelMessageI return s } +// SetTarget sets the Target field's value. +func (s *SendChannelMessageInput) SetTarget(v []*Target) *SendChannelMessageInput { + s.Target = v + return s +} + // SetType sets the Type field's value. func (s *SendChannelMessageInput) SetType(v string) *SendChannelMessageInput { s.Type = &v @@ -14540,6 +14628,54 @@ func (s TagResourceOutput) GoString() string { return s.String() } +// The target of a message, a sender, a user, or a bot. Only the target and +// the sender can view targeted messages. Only users who can see targeted messages +// can take actions on them. However, administrators can delete targeted messages +// that they can’t see. +type Target struct { + _ struct{} `type:"structure"` + + // The ARN of the target channel member. + MemberArn *string `min:"5" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s Target) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s Target) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *Target) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "Target"} + if s.MemberArn != nil && len(*s.MemberArn) < 5 { + invalidParams.Add(request.NewErrParamMinLen("MemberArn", 5)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMemberArn sets the MemberArn field's value. +func (s *Target) SetMemberArn(v string) *Target { + s.MemberArn = &v + return s +} + // The client exceeded its request rate limit. type ThrottledClientException struct { _ struct{} `type:"structure"` @@ -15005,7 +15141,7 @@ type UpdateChannelMessageInput struct { // ChimeBearer is a required field ChimeBearer *string `location:"header" locationName:"x-amz-chime-bearer" min:"5" type:"string" required:"true"` - // The content of the message being updated. + // The content of the channel message. // // Content is a sensitive parameter and its value will be // replaced with "sensitive" in string returned by UpdateChannelMessageInput's diff --git a/service/chimesdkmessaging/doc.go b/service/chimesdkmessaging/doc.go index 83f070a2000..2bd2ff2563b 100644 --- a/service/chimesdkmessaging/doc.go +++ b/service/chimesdkmessaging/doc.go @@ -3,9 +3,9 @@ // Package chimesdkmessaging provides the client and types for making API // requests to Amazon Chime SDK Messaging. // -// The Amazon Chime SDK Messaging APIs in this section allow software developers +// The Amazon Chime SDK messaging APIs in this section allow software developers // to send and receive messages in custom messaging applications. These APIs -// depend on the frameworks provided by the Amazon Chime SDK Identity APIs. +// depend on the frameworks provided by the Amazon Chime SDK identity APIs. // For more information about the messaging APIs, see Amazon Chime SDK messaging // (https://docs.aws.amazon.com/chime/latest/APIReference/API_Operations_Amazon_Chime_SDK_Messaging.html). // diff --git a/service/kendra/api.go b/service/kendra/api.go index 297598890c9..eded51e9276 100644 --- a/service/kendra/api.go +++ b/service/kendra/api.go @@ -6099,26 +6099,30 @@ func (c *Kendra) QueryRequest(input *QueryInput) (req *request.Request, output * // Query API operation for AWSKendraFrontendService. // -// Searches an active index. Use this API to search your documents using query. -// The Query API enables to do faceted search and to filter results based on -// document attributes. +// Searches an index given an input query. // -// It also enables you to provide user context that Amazon Kendra uses to enforce -// document access control in the search results. +// You can configure boosting or relevance tuning at the query level to override +// boosting at the index level, filter based on document fields/attributes and +// faceted search, and filter based on the user or their group access to documents. +// You can also include certain fields in the response that might provide useful +// additional information. // -// Amazon Kendra searches your index for text content and question and answer -// (FAQ) content. By default the response contains three types of results. +// A query response contains three types of results. // -// - Relevant passages +// - Relevant suggested answers. The answers can be either a text excerpt +// or table excerpt. The answer can be highlighted in the excerpt. // -// - Matching FAQs +// - Matching FAQs or questions-answer from your FAQ file. // -// - Relevant documents +// - Relevant documents. This result type includes an excerpt of the document +// with the document title. The searched terms can be highlighted in the +// excerpt. // // You can specify that the query return only one type of result using the QueryResultTypeFilter -// parameter. -// -// Each query returns the 100 most relevant results. +// parameter. Each query returns the 100 most relevant results. If you filter +// result type to only question-answers, a maximum of four results are returned. +// If you filter result type to only answers, a maximum of three results are +// returned. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -6182,6 +6186,134 @@ func (c *Kendra) QueryWithContext(ctx aws.Context, input *QueryInput, opts ...re return out, req.Send() } +const opRetrieve = "Retrieve" + +// RetrieveRequest generates a "aws/request.Request" representing the +// client's request for the Retrieve operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See Retrieve for more information on using the Retrieve +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the RetrieveRequest method. +// req, resp := client.RetrieveRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/Retrieve +func (c *Kendra) RetrieveRequest(input *RetrieveInput) (req *request.Request, output *RetrieveOutput) { + op := &request.Operation{ + Name: opRetrieve, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &RetrieveInput{} + } + + output = &RetrieveOutput{} + req = c.newRequest(op, input, output) + return +} + +// Retrieve API operation for AWSKendraFrontendService. +// +// Retrieves relevant passages or text excerpts given an input query. +// +// This API is similar to the Query (https://docs.aws.amazon.com/kendra/latest/APIReference/API_Query.html) +// API. However, by default, the Query API only returns excerpt passages of +// up to 100 token words. With the Retrieve API, you can retrieve longer passages +// of up to 200 token words and up to 100 semantically relevant passages. This +// doesn't include question-answer or FAQ type responses from your index. The +// passages are text excerpts that can be semantically extracted from multiple +// documents and multiple parts of the same document. If in extreme cases your +// documents produce no relevant passages using the Retrieve API, you can alternatively +// use the Query API. +// +// You can also do the following: +// +// - Override boosting at the index level +// +// - Filter based on document fields or attributes +// +// - Filter based on the user or their group access to documents +// +// You can also include certain fields in the response that might provide useful +// additional information. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWSKendraFrontendService's +// API operation Retrieve for usage and error information. +// +// Returned Error Types: +// +// - ValidationException +// The input fails to satisfy the constraints set by the Amazon Kendra service. +// Please provide the correct input and try again. +// +// - ConflictException +// A conflict occurred with the request. Please fix any inconsistences with +// your resources and try again. +// +// - ResourceNotFoundException +// The resource you want to use doesn’t exist. Please check you have provided +// the correct resource and try again. +// +// - ThrottlingException +// The request was denied due to request throttling. Please reduce the number +// of requests and try again. +// +// - AccessDeniedException +// You don't have sufficient access to perform this action. Please ensure you +// have the required permission policies and user accounts and try again. +// +// - ServiceQuotaExceededException +// You have exceeded the set limits for your Amazon Kendra service. Please see +// Quotas (https://docs.aws.amazon.com/kendra/latest/dg/quotas.html) for more +// information, or contact Support (http://aws.amazon.com/contact-us/) to inquire +// about an increase of limits. +// +// - InternalServerException +// An issue occurred with the internal server used for your Amazon Kendra service. +// Please wait a few minutes and try again, or contact Support (http://aws.amazon.com/contact-us/) +// for help. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/kendra-2019-02-03/Retrieve +func (c *Kendra) Retrieve(input *RetrieveInput) (*RetrieveOutput, error) { + req, out := c.RetrieveRequest(input) + return out, req.Send() +} + +// RetrieveWithContext is the same as Retrieve with the addition of +// the ability to pass a context and additional request options. +// +// See Retrieve for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *Kendra) RetrieveWithContext(ctx aws.Context, input *RetrieveInput, opts ...request.Option) (*RetrieveOutput, error) { + req, out := c.RetrieveRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opStartDataSourceSyncJob = "StartDataSourceSyncJob" // StartDataSourceSyncJobRequest generates a "aws/request.Request" representing the @@ -7865,9 +7997,10 @@ func (s *AdditionalResultAttributeValue) SetTextWithHighlightsValue(v *TextWithH // Provides the configuration information to connect to Alfresco as your data // source. // -// Alfresco data source connector is currently in preview mode. Basic authentication -// is currently supported. If you would like to use Alfresco connector in production, -// contact Support (http://aws.amazon.com/contact-us/). +// Support for AlfrescoConfiguration ended May 2023. We recommend migrating +// to or using the Alfresco data source template schema / TemplateConfiguration +// (https://docs.aws.amazon.com/kendra/latest/APIReference/API_TemplateConfiguration.html) +// API. type AlfrescoConfiguration struct { _ struct{} `type:"structure"` @@ -10329,7 +10462,7 @@ type ConflictingItem struct { _ struct{} `type:"structure"` // The text of the conflicting query. - QueryText *string `min:"1" type:"string"` + QueryText *string `type:"string"` // The identifier of the set of featured results that the conflicting query // belongs to. @@ -12062,6 +12195,8 @@ type CreateFaqInput struct { // a CSV format that includes customs attributes in a header, and a JSON format // that includes custom attributes. // + // The default format is CSV. + // // The format must match the format of the file stored in the S3 bucket identified // in the S3Path parameter. // @@ -13148,7 +13283,14 @@ type DataSourceConfiguration struct { // Provides the configuration information to connect to Alfresco as your data // source. - AlfrescoConfiguration *AlfrescoConfiguration `type:"structure"` + // + // Support for AlfrescoConfiguration ended May 2023. We recommend migrating + // to or using the Alfresco data source template schema / TemplateConfiguration + // (https://docs.aws.amazon.com/kendra/latest/APIReference/API_TemplateConfiguration.html) + // API. + // + // Deprecated: Deprecated AlfrescoConfiguration in favor of TemplateConfiguration + AlfrescoConfiguration *AlfrescoConfiguration `deprecated:"true" type:"structure"` // Provides the configuration information to connect to Box as your data source. BoxConfiguration *BoxConfiguration `type:"structure"` @@ -17076,6 +17218,10 @@ type Document struct { Blob []byte `type:"blob"` // The file type of the document in the Blob field. + // + // If you want to index snippets or subsets of HTML documents instead of the + // entirety of the HTML documents, you must add the HTML start and closing tags + // (content) around the content. ContentType *string `type:"string" enum:"ContentType"` // The list of principal (https://docs.aws.amazon.com/kendra/latest/dg/API_Principal.html) @@ -24080,36 +24226,32 @@ func (s PutPrincipalMappingOutput) GoString() string { type QueryInput struct { _ struct{} `type:"structure"` - // Enables filtered searches based on document attributes. You can only provide + // Filters search results by document fields/attributes. You can only provide // one attribute filter; however, the AndAllFilters, NotFilter, and OrAllFilters // parameters contain a list of other filters. // - // The AttributeFilter parameter enables you to create a set of filtering rules + // The AttributeFilter parameter means you can create a set of filtering rules // that a document must satisfy to be included in the query results. AttributeFilter *AttributeFilter `type:"structure"` - // Overrides relevance tuning configurations of fields or attributes set at - // the index level. + // Overrides relevance tuning configurations of fields/attributes set at the + // index level. // // If you use this API to override the relevance tuning configured at the index // level, but there is no relevance tuning configured at the index level, then // Amazon Kendra does not apply any relevance tuning. // - // If there is relevance tuning configured at the index level, but you do not - // use this API to override any relevance tuning in the index, then Amazon Kendra - // uses the relevance tuning that is configured at the index level. - // - // If there is relevance tuning configured for fields at the index level, but + // If there is relevance tuning configured for fields at the index level, and // you use this API to override only some of these fields, then for the fields // you did not override, the importance is set to 1. DocumentRelevanceOverrideConfigurations []*DocumentRelevanceConfiguration `type:"list"` - // An array of documents attributes. Amazon Kendra returns a count for each - // attribute key specified. This helps your users narrow their search. + // An array of documents fields/attributes for faceted search. Amazon Kendra + // returns a count for each field key specified. This helps your users narrow + // their search. Facets []*Facet `type:"list"` - // The identifier of the index to search. The identifier is returned in the - // response from the CreateIndex API. + // The identifier of the index for the search. // // IndexId is a required field IndexId *string `min:"36" type:"string" required:"true"` @@ -24124,16 +24266,17 @@ type QueryInput struct { // you ask for more than 100 results, only 100 are returned. PageSize *int64 `type:"integer"` - // Sets the type of query. Only results for the specified query type are returned. + // Sets the type of query result or response. Only results for the specified + // type are returned. QueryResultTypeFilter *string `type:"string" enum:"QueryResultType"` // The input query text for the search. Amazon Kendra truncates queries at 30 // token words, which excludes punctuation and stop words. Truncation still // applies if you use Boolean or more advanced, complex queries. - QueryText *string `min:"1" type:"string"` + QueryText *string `type:"string"` - // An array of document attributes to include in the response. You can limit - // the response to include certain document attributes. By default all document + // An array of document fields/attributes to include in the response. You can + // limit the response to include certain document fields. By default, all document // attributes are included in the response. RequestedDocumentAttributes []*string `min:"1" type:"list"` @@ -24185,9 +24328,6 @@ func (s *QueryInput) Validate() error { if s.IndexId != nil && len(*s.IndexId) < 36 { invalidParams.Add(request.NewErrParamMinLen("IndexId", 36)) } - if s.QueryText != nil && len(*s.QueryText) < 1 { - invalidParams.Add(request.NewErrParamMinLen("QueryText", 1)) - } if s.RequestedDocumentAttributes != nil && len(s.RequestedDocumentAttributes) < 1 { invalidParams.Add(request.NewErrParamMinLen("RequestedDocumentAttributes", 1)) } @@ -24322,7 +24462,7 @@ func (s *QueryInput) SetVisitorId(v string) *QueryInput { type QueryOutput struct { _ struct{} `type:"structure"` - // Contains the facet results. A FacetResult contains the counts for each attribute + // Contains the facet results. A FacetResult contains the counts for each field/attribute // key that was specified in the Facets input parameter. FacetResults []*FacetResult `type:"list"` @@ -24332,8 +24472,9 @@ type QueryOutput struct { // featured in the search results. FeaturedResultsItems []*FeaturedResultsItem `type:"list"` - // The identifier for the search. You use QueryId to identify the search when - // using the feedback API. + // The identifier for the search. You also use QueryId to identify the search + // when using the SubmitFeedback (https://docs.aws.amazon.com/kendra/latest/APIReference/API_SubmitFeedback.html) + // API. QueryId *string `min:"1" type:"string"` // The results of the search. @@ -24342,7 +24483,7 @@ type QueryOutput struct { // A list of information related to suggested spell corrections for a query. SpellCorrectedQueries []*SpellCorrectedQuery `type:"list"` - // The total number of items found by the search; however, you can only retrieve + // The total number of items found by the search. However, you can only retrieve // up to 100 items. For example, if the search found 192 items, you can only // retrieve the first 100 of the items. TotalNumberOfResults *int64 `type:"integer"` @@ -24424,11 +24565,11 @@ func (s *QueryOutput) SetWarnings(v []*Warning) *QueryOutput { type QueryResultItem struct { _ struct{} `type:"structure"` - // One or more additional attributes associated with the query result. + // One or more additional fields/attributes associated with the query result. AdditionalAttributes []*AdditionalResultAttribute `type:"list"` - // An array of document attributes assigned to a document in the search results. - // For example, the document author (_author) or the source URI (_source_uri) + // An array of document fields/attributes assigned to a document in the search + // results. For example, the document author (_author) or the source URI (_source_uri) // of the document. DocumentAttributes []*DocumentAttribute `type:"list"` @@ -24460,13 +24601,13 @@ type QueryResultItem struct { // The identifier for the query result. Id *string `min:"1" type:"string"` - // Indicates the confidence that Amazon Kendra has that a result matches the - // query that you provided. Each result is placed into a bin that indicates - // the confidence, VERY_HIGH, HIGH, MEDIUM and LOW. You can use the score to - // determine if a response meets the confidence needed for your application. + // Indicates the confidence level of Amazon Kendra providing a relevant result + // for the query. Each result is placed into a bin that indicates the confidence, + // VERY_HIGH, HIGH, MEDIUM and LOW. You can use the score to determine if a + // response meets the confidence needed for your application. // // The field is only set to LOW when the Type field is set to DOCUMENT and Amazon - // Kendra is not confident that the result matches the query. + // Kendra is not confident that the result is relevant to the query. ScoreAttributes *ScoreAttributes `type:"structure"` // An excerpt from a table within a document. @@ -25326,6 +25467,290 @@ func (s *ResourceUnavailableException) RequestID() string { return s.RespMetadata.RequestID } +type RetrieveInput struct { + _ struct{} `type:"structure"` + + // Filters search results by document fields/attributes. You can only provide + // one attribute filter; however, the AndAllFilters, NotFilter, and OrAllFilters + // parameters contain a list of other filters. + // + // The AttributeFilter parameter means you can create a set of filtering rules + // that a document must satisfy to be included in the query results. + AttributeFilter *AttributeFilter `type:"structure"` + + // Overrides relevance tuning configurations of fields/attributes set at the + // index level. + // + // If you use this API to override the relevance tuning configured at the index + // level, but there is no relevance tuning configured at the index level, then + // Amazon Kendra does not apply any relevance tuning. + // + // If there is relevance tuning configured for fields at the index level, and + // you use this API to override only some of these fields, then for the fields + // you did not override, the importance is set to 1. + DocumentRelevanceOverrideConfigurations []*DocumentRelevanceConfiguration `type:"list"` + + // The identifier of the index to retrieve relevant passages for the search. + // + // IndexId is a required field + IndexId *string `min:"36" type:"string" required:"true"` + + // Retrieved relevant passages are returned in pages the size of the PageSize + // parameter. By default, Amazon Kendra returns the first page of results. Use + // this parameter to get result pages after the first one. + PageNumber *int64 `type:"integer"` + + // Sets the number of retrieved relevant passages that are returned in each + // page of results. The default page size is 10. The maximum number of results + // returned is 100. If you ask for more than 100 results, only 100 are returned. + PageSize *int64 `type:"integer"` + + // The input query text to retrieve relevant passages for the search. Amazon + // Kendra truncates queries at 30 token words, which excludes punctuation and + // stop words. Truncation still applies if you use Boolean or more advanced, + // complex queries. + // + // QueryText is a required field + QueryText *string `type:"string" required:"true"` + + // A list of document fields/attributes to include in the response. You can + // limit the response to include certain document fields. By default, all document + // fields are included in the response. + RequestedDocumentAttributes []*string `min:"1" type:"list"` + + // The user context token or user and group information. + UserContext *UserContext `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s RetrieveInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s RetrieveInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *RetrieveInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "RetrieveInput"} + if s.IndexId == nil { + invalidParams.Add(request.NewErrParamRequired("IndexId")) + } + if s.IndexId != nil && len(*s.IndexId) < 36 { + invalidParams.Add(request.NewErrParamMinLen("IndexId", 36)) + } + if s.QueryText == nil { + invalidParams.Add(request.NewErrParamRequired("QueryText")) + } + if s.RequestedDocumentAttributes != nil && len(s.RequestedDocumentAttributes) < 1 { + invalidParams.Add(request.NewErrParamMinLen("RequestedDocumentAttributes", 1)) + } + if s.AttributeFilter != nil { + if err := s.AttributeFilter.Validate(); err != nil { + invalidParams.AddNested("AttributeFilter", err.(request.ErrInvalidParams)) + } + } + if s.DocumentRelevanceOverrideConfigurations != nil { + for i, v := range s.DocumentRelevanceOverrideConfigurations { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "DocumentRelevanceOverrideConfigurations", i), err.(request.ErrInvalidParams)) + } + } + } + if s.UserContext != nil { + if err := s.UserContext.Validate(); err != nil { + invalidParams.AddNested("UserContext", err.(request.ErrInvalidParams)) + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetAttributeFilter sets the AttributeFilter field's value. +func (s *RetrieveInput) SetAttributeFilter(v *AttributeFilter) *RetrieveInput { + s.AttributeFilter = v + return s +} + +// SetDocumentRelevanceOverrideConfigurations sets the DocumentRelevanceOverrideConfigurations field's value. +func (s *RetrieveInput) SetDocumentRelevanceOverrideConfigurations(v []*DocumentRelevanceConfiguration) *RetrieveInput { + s.DocumentRelevanceOverrideConfigurations = v + return s +} + +// SetIndexId sets the IndexId field's value. +func (s *RetrieveInput) SetIndexId(v string) *RetrieveInput { + s.IndexId = &v + return s +} + +// SetPageNumber sets the PageNumber field's value. +func (s *RetrieveInput) SetPageNumber(v int64) *RetrieveInput { + s.PageNumber = &v + return s +} + +// SetPageSize sets the PageSize field's value. +func (s *RetrieveInput) SetPageSize(v int64) *RetrieveInput { + s.PageSize = &v + return s +} + +// SetQueryText sets the QueryText field's value. +func (s *RetrieveInput) SetQueryText(v string) *RetrieveInput { + s.QueryText = &v + return s +} + +// SetRequestedDocumentAttributes sets the RequestedDocumentAttributes field's value. +func (s *RetrieveInput) SetRequestedDocumentAttributes(v []*string) *RetrieveInput { + s.RequestedDocumentAttributes = v + return s +} + +// SetUserContext sets the UserContext field's value. +func (s *RetrieveInput) SetUserContext(v *UserContext) *RetrieveInput { + s.UserContext = v + return s +} + +type RetrieveOutput struct { + _ struct{} `type:"structure"` + + // The identifier of query used for the search. You also use QueryId to identify + // the search when using the Submitfeedback (https://docs.aws.amazon.com/kendra/latest/APIReference/API_SubmitFeedback.html) + // API. + QueryId *string `min:"1" type:"string"` + + // The results of the retrieved relevant passages for the search. + ResultItems []*RetrieveResultItem `type:"list"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s RetrieveOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s RetrieveOutput) GoString() string { + return s.String() +} + +// SetQueryId sets the QueryId field's value. +func (s *RetrieveOutput) SetQueryId(v string) *RetrieveOutput { + s.QueryId = &v + return s +} + +// SetResultItems sets the ResultItems field's value. +func (s *RetrieveOutput) SetResultItems(v []*RetrieveResultItem) *RetrieveOutput { + s.ResultItems = v + return s +} + +// A single retrieved relevant passage result. +type RetrieveResultItem struct { + _ struct{} `type:"structure"` + + // The contents of the relevant passage. + Content *string `type:"string"` + + // An array of document fields/attributes assigned to a document in the search + // results. For example, the document author (_author) or the source URI (_source_uri) + // of the document. + DocumentAttributes []*DocumentAttribute `type:"list"` + + // The identifier of the document. + DocumentId *string `min:"1" type:"string"` + + // The title of the document. + DocumentTitle *string `type:"string"` + + // The URI of the original location of the document. + DocumentURI *string `min:"1" type:"string"` + + // The identifier of the relevant passage result. + Id *string `min:"1" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s RetrieveResultItem) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s RetrieveResultItem) GoString() string { + return s.String() +} + +// SetContent sets the Content field's value. +func (s *RetrieveResultItem) SetContent(v string) *RetrieveResultItem { + s.Content = &v + return s +} + +// SetDocumentAttributes sets the DocumentAttributes field's value. +func (s *RetrieveResultItem) SetDocumentAttributes(v []*DocumentAttribute) *RetrieveResultItem { + s.DocumentAttributes = v + return s +} + +// SetDocumentId sets the DocumentId field's value. +func (s *RetrieveResultItem) SetDocumentId(v string) *RetrieveResultItem { + s.DocumentId = &v + return s +} + +// SetDocumentTitle sets the DocumentTitle field's value. +func (s *RetrieveResultItem) SetDocumentTitle(v string) *RetrieveResultItem { + s.DocumentTitle = &v + return s +} + +// SetDocumentURI sets the DocumentURI field's value. +func (s *RetrieveResultItem) SetDocumentURI(v string) *RetrieveResultItem { + s.DocumentURI = &v + return s +} + +// SetId sets the Id field's value. +func (s *RetrieveResultItem) SetId(v string) *RetrieveResultItem { + s.Id = &v + return s +} + // Provides the configuration information to connect to an Amazon S3 bucket. type S3DataSourceConfiguration struct { _ struct{} `type:"structure"` @@ -26358,11 +26783,11 @@ func (s *SalesforceStandardObjectConfiguration) SetName(v string) *SalesforceSta } // Provides a relative ranking that indicates how confident Amazon Kendra is -// that the response matches the query. +// that the response is relevant to the query. type ScoreAttributes struct { _ struct{} `type:"structure"` - // A relative ranking for how well the response matches the query. + // A relative ranking for how relevant the response is to the query. ScoreConfidence *string `type:"string" enum:"ScoreConfidence"` } @@ -26475,15 +26900,15 @@ type SeedUrlConfiguration struct { // You can choose one of the following modes: // - // * HOST_ONLY – crawl only the website host names. For example, if the - // seed URL is "abc.example.com", then only URLs with host name "abc.example.com" + // * HOST_ONLY—crawl only the website host names. For example, if the seed + // URL is "abc.example.com", then only URLs with host name "abc.example.com" // are crawled. // - // * SUBDOMAINS – crawl the website host names with subdomains. For example, + // * SUBDOMAINS—crawl the website host names with subdomains. For example, // if the seed URL is "abc.example.com", then "a.abc.example.com" and "b.abc.example.com" // are also crawled. // - // * EVERYTHING – crawl the website host names with subdomains and other + // * EVERYTHING—crawl the website host names with subdomains and other // domains that the web pages link to. // // The default mode is set to HOST_ONLY. @@ -26736,13 +27161,11 @@ type ServiceNowKnowledgeArticleConfiguration struct { // field. DocumentTitleFieldName *string `min:"1" type:"string"` - // A list of regular expression patterns to exclude certain attachments of knowledge - // articles in your ServiceNow. Item that match the patterns are excluded from + // A list of regular expression patterns applied to exclude certain knowledge + // article attachments. Attachments that match the patterns are excluded from // the index. Items that don't match the patterns are included in the index. // If an item matches both an inclusion and exclusion pattern, the exclusion // pattern takes precedence and the item isn't included in the index. - // - // The regex is applied to the field specified in the PatternTargetField. ExcludeAttachmentFilePatterns []*string `type:"list"` // Maps attributes or field names of knoweldge articles to Amazon Kendra index @@ -26760,13 +27183,11 @@ type ServiceNowKnowledgeArticleConfiguration struct { // information, see Specifying documents to index with a query (https://docs.aws.amazon.com/kendra/latest/dg/servicenow-query.html). FilterQuery *string `min:"1" type:"string"` - // A list of regular expression patterns to include certain attachments of knowledge - // articles in your ServiceNow. Item that match the patterns are included in - // the index. Items that don't match the patterns are excluded from the index. - // If an item matches both an inclusion and exclusion pattern, the exclusion - // pattern takes precedence and the item isn't included in the index. - // - // The regex is applied to the field specified in the PatternTargetField. + // A list of regular expression patterns applied to include knowledge article + // attachments. Attachments that match the patterns are included in the index. + // Items that don't match the patterns are excluded from the index. If an item + // matches both an inclusion and exclusion pattern, the exclusion pattern takes + // precedence and the item isn't included in the index. IncludeAttachmentFilePatterns []*string `type:"list"` } @@ -30962,14 +31383,9 @@ type WebCrawlerConfiguration struct { // port is 443, the standard port for HTTPS. AuthenticationConfiguration *AuthenticationConfiguration `type:"structure"` - // Specifies the number of levels in a website that you want to crawl. - // - // The first level begins from the website seed or starting point URL. For example, - // if a website has three levels—index level (the seed in this example), sections - // level, and subsections level—and you are only interested in crawling information - // up to the sections level (levels 0-1), you can set your depth to 1. - // - // The default crawl depth is set to 2. + // The 'depth' or number of levels from the seed level to crawl. For example, + // the seed URL page is depth 1 and any hyperlinks on this page that are also + // crawled are depth 2. CrawlDepth *int64 `type:"integer"` // The maximum size (in MB) of a web page or attachment to crawl. diff --git a/service/kendra/kendraiface/interface.go b/service/kendra/kendraiface/interface.go index 4a44e599031..f142ecb1707 100644 --- a/service/kendra/kendraiface/interface.go +++ b/service/kendra/kendraiface/interface.go @@ -304,6 +304,10 @@ type KendraAPI interface { QueryWithContext(aws.Context, *kendra.QueryInput, ...request.Option) (*kendra.QueryOutput, error) QueryRequest(*kendra.QueryInput) (*request.Request, *kendra.QueryOutput) + Retrieve(*kendra.RetrieveInput) (*kendra.RetrieveOutput, error) + RetrieveWithContext(aws.Context, *kendra.RetrieveInput, ...request.Option) (*kendra.RetrieveOutput, error) + RetrieveRequest(*kendra.RetrieveInput) (*request.Request, *kendra.RetrieveOutput) + StartDataSourceSyncJob(*kendra.StartDataSourceSyncJobInput) (*kendra.StartDataSourceSyncJobOutput, error) StartDataSourceSyncJobWithContext(aws.Context, *kendra.StartDataSourceSyncJobInput, ...request.Option) (*kendra.StartDataSourceSyncJobOutput, error) StartDataSourceSyncJobRequest(*kendra.StartDataSourceSyncJobInput) (*request.Request, *kendra.StartDataSourceSyncJobOutput) diff --git a/service/sfn/api.go b/service/sfn/api.go index 5d91a43d7d4..db3c239740a 100644 --- a/service/sfn/api.go +++ b/service/sfn/api.go @@ -166,16 +166,20 @@ func (c *SFN) CreateStateMachineRequest(input *CreateStateMachineInput) (req *re // more information, see Amazon States Language (https://docs.aws.amazon.com/step-functions/latest/dg/concepts-amazon-states-language.html) // 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. // // 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 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. +// check is based on the state machine name, definition, 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. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -219,6 +223,17 @@ func (c *SFN) CreateStateMachineRequest(input *CreateStateMachineInput) (req *re // Topic (https://docs.aws.amazon.com/step-functions/latest/dg/limits.html) // in the Step Functions Developer Guide. // +// - ValidationException +// The input does not satisfy the constraints specified by an Amazon Web Services +// service. +// +// - ConflictException +// 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 +// // See also, https://docs.aws.amazon.com/goto/WebAPI/states-2016-11-23/CreateStateMachine func (c *SFN) CreateStateMachine(input *CreateStateMachineInput) (*CreateStateMachineOutput, error) { req, out := c.CreateStateMachineRequest(input) @@ -241,6 +256,142 @@ func (c *SFN) CreateStateMachineWithContext(ctx aws.Context, input *CreateStateM return out, req.Send() } +const opCreateStateMachineAlias = "CreateStateMachineAlias" + +// CreateStateMachineAliasRequest generates a "aws/request.Request" representing the +// client's request for the CreateStateMachineAlias operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See CreateStateMachineAlias for more information on using the CreateStateMachineAlias +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the CreateStateMachineAliasRequest method. +// req, resp := client.CreateStateMachineAliasRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/states-2016-11-23/CreateStateMachineAlias +func (c *SFN) CreateStateMachineAliasRequest(input *CreateStateMachineAliasInput) (req *request.Request, output *CreateStateMachineAliasOutput) { + op := &request.Operation{ + Name: opCreateStateMachineAlias, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &CreateStateMachineAliasInput{} + } + + output = &CreateStateMachineAliasOutput{} + req = c.newRequest(op, input, output) + return +} + +// CreateStateMachineAlias API operation for AWS Step Functions. +// +// Creates an alias (https://docs.aws.amazon.com/step-functions/latest/dg/concepts-state-machine-alias.html) +// for a state machine that points to one or two versions (https://docs.aws.amazon.com/step-functions/latest/dg/concepts-state-machine-version.html) +// 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: +// +// - DescribeStateMachineAlias +// +// - ListStateMachineAliases +// +// - UpdateStateMachineAlias +// +// - DeleteStateMachineAlias +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Step Functions's +// API operation CreateStateMachineAlias for usage and error information. +// +// Returned Error Types: +// +// - InvalidArn +// The provided Amazon Resource Name (ARN) is not valid. +// +// - InvalidName +// The provided name is not valid. +// +// - ValidationException +// The input does not satisfy the constraints specified by an Amazon Web Services +// service. +// +// - StateMachineDeleting +// The specified state machine is being deleted. +// +// - ResourceNotFound +// Could not find the referenced resource. +// +// - ConflictException +// 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 +// +// - ServiceQuotaExceededException +// The request would cause a service quota to be exceeded. +// +// HTTP Status Code: 402 +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/states-2016-11-23/CreateStateMachineAlias +func (c *SFN) CreateStateMachineAlias(input *CreateStateMachineAliasInput) (*CreateStateMachineAliasOutput, error) { + req, out := c.CreateStateMachineAliasRequest(input) + return out, req.Send() +} + +// CreateStateMachineAliasWithContext is the same as CreateStateMachineAlias with the addition of +// the ability to pass a context and additional request options. +// +// See CreateStateMachineAlias for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *SFN) CreateStateMachineAliasWithContext(ctx aws.Context, input *CreateStateMachineAliasInput, opts ...request.Option) (*CreateStateMachineAliasOutput, error) { + req, out := c.CreateStateMachineAliasRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDeleteActivity = "DeleteActivity" // DeleteActivityRequest generates a "aws/request.Request" representing the @@ -367,16 +518,27 @@ func (c *SFN) DeleteStateMachineRequest(input *DeleteStateMachineInput) (req *re // 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 can either refer to a Distributed Map state +// defined within a state machine, a version ARN, or an alias ARN. // -// 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. +// 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 // -// For EXPRESS state machines, the deletion will happen eventually (usually -// less than a minute). Running executions may emit logs after DeleteStateMachine +// This API action also deletes all versions (https://docs.aws.amazon.com/step-functions/latest/dg/concepts-state-machine-version.html) +// and aliases (https://docs.aws.amazon.com/step-functions/latest/dg/concepts-state-machine-alias.html) +// associated with a state machine. +// +// For EXPRESS state machines, the deletion happens eventually (usually in less +// than a minute). Running executions may emit logs after DeleteStateMachine // API is called. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -417,6 +579,219 @@ func (c *SFN) DeleteStateMachineWithContext(ctx aws.Context, input *DeleteStateM return out, req.Send() } +const opDeleteStateMachineAlias = "DeleteStateMachineAlias" + +// DeleteStateMachineAliasRequest generates a "aws/request.Request" representing the +// client's request for the DeleteStateMachineAlias operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DeleteStateMachineAlias for more information on using the DeleteStateMachineAlias +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the DeleteStateMachineAliasRequest method. +// req, resp := client.DeleteStateMachineAliasRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/states-2016-11-23/DeleteStateMachineAlias +func (c *SFN) DeleteStateMachineAliasRequest(input *DeleteStateMachineAliasInput) (req *request.Request, output *DeleteStateMachineAliasOutput) { + op := &request.Operation{ + Name: opDeleteStateMachineAlias, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteStateMachineAliasInput{} + } + + output = &DeleteStateMachineAliasOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteStateMachineAlias API operation for AWS Step Functions. +// +// Deletes a state machine alias (https://docs.aws.amazon.com/step-functions/latest/dg/concepts-state-machine-alias.html). +// +// 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: +// +// - CreateStateMachineAlias +// +// - DescribeStateMachineAlias +// +// - ListStateMachineAliases +// +// - UpdateStateMachineAlias +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Step Functions's +// API operation DeleteStateMachineAlias for usage and error information. +// +// Returned Error Types: +// +// - ValidationException +// The input does not satisfy the constraints specified by an Amazon Web Services +// service. +// +// - InvalidArn +// The provided Amazon Resource Name (ARN) is not valid. +// +// - ResourceNotFound +// Could not find the referenced resource. +// +// - ConflictException +// 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 +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/states-2016-11-23/DeleteStateMachineAlias +func (c *SFN) DeleteStateMachineAlias(input *DeleteStateMachineAliasInput) (*DeleteStateMachineAliasOutput, error) { + req, out := c.DeleteStateMachineAliasRequest(input) + return out, req.Send() +} + +// DeleteStateMachineAliasWithContext is the same as DeleteStateMachineAlias with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteStateMachineAlias for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *SFN) DeleteStateMachineAliasWithContext(ctx aws.Context, input *DeleteStateMachineAliasInput, opts ...request.Option) (*DeleteStateMachineAliasOutput, error) { + req, out := c.DeleteStateMachineAliasRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDeleteStateMachineVersion = "DeleteStateMachineVersion" + +// DeleteStateMachineVersionRequest generates a "aws/request.Request" representing the +// client's request for the DeleteStateMachineVersion operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DeleteStateMachineVersion for more information on using the DeleteStateMachineVersion +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the DeleteStateMachineVersionRequest method. +// req, resp := client.DeleteStateMachineVersionRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/states-2016-11-23/DeleteStateMachineVersion +func (c *SFN) DeleteStateMachineVersionRequest(input *DeleteStateMachineVersionInput) (req *request.Request, output *DeleteStateMachineVersionOutput) { + op := &request.Operation{ + Name: opDeleteStateMachineVersion, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DeleteStateMachineVersionInput{} + } + + output = &DeleteStateMachineVersionOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// DeleteStateMachineVersion API operation for AWS Step Functions. +// +// Deletes a state machine version (https://docs.aws.amazon.com/step-functions/latest/dg/concepts-state-machine-version.html). +// After you delete a version, you can't call StartExecution using that version's +// ARN or use the version with a state machine alias (https://docs.aws.amazon.com/step-functions/latest/dg/concepts-state-machine-alias.html). +// +// 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: +// +// - PublishStateMachineVersion +// +// - ListStateMachineVersions +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Step Functions's +// API operation DeleteStateMachineVersion for usage and error information. +// +// Returned Error Types: +// +// - ValidationException +// The input does not satisfy the constraints specified by an Amazon Web Services +// service. +// +// - InvalidArn +// The provided Amazon Resource Name (ARN) is not valid. +// +// - ConflictException +// 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 +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/states-2016-11-23/DeleteStateMachineVersion +func (c *SFN) DeleteStateMachineVersion(input *DeleteStateMachineVersionInput) (*DeleteStateMachineVersionOutput, error) { + req, out := c.DeleteStateMachineVersionRequest(input) + return out, req.Send() +} + +// DeleteStateMachineVersionWithContext is the same as DeleteStateMachineVersion with the addition of +// the ability to pass a context and additional request options. +// +// See DeleteStateMachineVersion for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *SFN) DeleteStateMachineVersionWithContext(ctx aws.Context, input *DeleteStateMachineVersionInput, opts ...request.Option) (*DeleteStateMachineVersionOutput, error) { + req, out := c.DeleteStateMachineVersionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opDescribeActivity = "DescribeActivity" // DescribeActivityRequest generates a "aws/request.Request" representing the @@ -545,16 +920,19 @@ func (c *SFN) DescribeExecutionRequest(input *DescribeExecutionInput) (req *requ // DescribeExecution API operation for AWS Step Functions. // -// 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. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -650,8 +1028,7 @@ func (c *SFN) DescribeMapRunRequest(input *DescribeMapRunInput) (req *request.Re // Returned Error Types: // // - ResourceNotFound -// Could not find the referenced resource. Only state machine and activity ARNs -// are supported. +// Could not find the referenced resource. // // - InvalidArn // The provided Amazon Resource Name (ARN) is not valid. @@ -722,13 +1099,31 @@ func (c *SFN) DescribeStateMachineRequest(input *DescribeStateMachineInput) (req // DescribeStateMachine API operation for AWS Step Functions. // // 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. +// Resource Name (ARN), and configuration. // -// 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: +// +// 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. @@ -770,24 +1165,120 @@ func (c *SFN) DescribeStateMachineWithContext(ctx aws.Context, input *DescribeSt return out, req.Send() } -const opDescribeStateMachineForExecution = "DescribeStateMachineForExecution" +const opDescribeStateMachineAlias = "DescribeStateMachineAlias" -// DescribeStateMachineForExecutionRequest generates a "aws/request.Request" representing the -// client's request for the DescribeStateMachineForExecution operation. The "output" return +// DescribeStateMachineAliasRequest generates a "aws/request.Request" representing the +// client's request for the DescribeStateMachineAlias operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See DescribeStateMachineForExecution for more information on using the DescribeStateMachineForExecution +// See DescribeStateMachineAlias for more information on using the DescribeStateMachineAlias // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the DescribeStateMachineForExecutionRequest method. -// req, resp := client.DescribeStateMachineForExecutionRequest(params) +// // Example sending a request using the DescribeStateMachineAliasRequest method. +// req, resp := client.DescribeStateMachineAliasRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/states-2016-11-23/DescribeStateMachineAlias +func (c *SFN) DescribeStateMachineAliasRequest(input *DescribeStateMachineAliasInput) (req *request.Request, output *DescribeStateMachineAliasOutput) { + op := &request.Operation{ + Name: opDescribeStateMachineAlias, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &DescribeStateMachineAliasInput{} + } + + output = &DescribeStateMachineAliasOutput{} + req = c.newRequest(op, input, output) + return +} + +// DescribeStateMachineAlias API operation for AWS Step Functions. +// +// Returns details about a state machine alias (https://docs.aws.amazon.com/step-functions/latest/dg/concepts-state-machine-alias.html). +// +// Related operations: +// +// - CreateStateMachineAlias +// +// - ListStateMachineAliases +// +// - UpdateStateMachineAlias +// +// - DeleteStateMachineAlias +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Step Functions's +// API operation DescribeStateMachineAlias for usage and error information. +// +// Returned Error Types: +// +// - ValidationException +// The input does not satisfy the constraints specified by an Amazon Web Services +// service. +// +// - InvalidArn +// The provided Amazon Resource Name (ARN) is not valid. +// +// - ResourceNotFound +// Could not find the referenced resource. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/states-2016-11-23/DescribeStateMachineAlias +func (c *SFN) DescribeStateMachineAlias(input *DescribeStateMachineAliasInput) (*DescribeStateMachineAliasOutput, error) { + req, out := c.DescribeStateMachineAliasRequest(input) + return out, req.Send() +} + +// DescribeStateMachineAliasWithContext is the same as DescribeStateMachineAlias with the addition of +// the ability to pass a context and additional request options. +// +// See DescribeStateMachineAlias for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *SFN) DescribeStateMachineAliasWithContext(ctx aws.Context, input *DescribeStateMachineAliasInput, opts ...request.Option) (*DescribeStateMachineAliasOutput, error) { + req, out := c.DescribeStateMachineAliasRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opDescribeStateMachineForExecution = "DescribeStateMachineForExecution" + +// DescribeStateMachineForExecutionRequest generates a "aws/request.Request" representing the +// client's request for the DescribeStateMachineForExecution operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See DescribeStateMachineForExecution for more information on using the DescribeStateMachineForExecution +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the DescribeStateMachineForExecutionRequest method. +// req, resp := client.DescribeStateMachineForExecutionRequest(params) // // err := req.Send() // if err == nil { // resp is now filled @@ -814,9 +1305,9 @@ func (c *SFN) DescribeStateMachineForExecutionRequest(input *DescribeStateMachin // DescribeStateMachineForExecution API operation for AWS Step Functions. // // 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. +// 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. @@ -1310,6 +1801,10 @@ func (c *SFN) ListExecutionsRequest(input *ListExecutionsInput) (req *request.Re // 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 (https://docs.aws.amazon.com/step-functions/latest/dg/concepts-state-machine-alias.html) +// ARN or version (https://docs.aws.amazon.com/step-functions/latest/dg/concepts-state-machine-version.html) +// 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 @@ -1348,8 +1843,7 @@ func (c *SFN) ListExecutionsRequest(input *ListExecutionsInput) (req *request.Re // service. // // - ResourceNotFound -// Could not find the referenced resource. Only state machine and activity ARNs -// are supported. +// Could not find the referenced resource. // // See also, https://docs.aws.amazon.com/goto/WebAPI/states-2016-11-23/ListExecutions func (c *SFN) ListExecutions(input *ListExecutionsInput) (*ListExecutionsOutput, error) { @@ -1568,6 +2062,219 @@ func (c *SFN) ListMapRunsPagesWithContext(ctx aws.Context, input *ListMapRunsInp return p.Err() } +const opListStateMachineAliases = "ListStateMachineAliases" + +// ListStateMachineAliasesRequest generates a "aws/request.Request" representing the +// client's request for the ListStateMachineAliases operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListStateMachineAliases for more information on using the ListStateMachineAliases +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the ListStateMachineAliasesRequest method. +// req, resp := client.ListStateMachineAliasesRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/states-2016-11-23/ListStateMachineAliases +func (c *SFN) ListStateMachineAliasesRequest(input *ListStateMachineAliasesInput) (req *request.Request, output *ListStateMachineAliasesOutput) { + op := &request.Operation{ + Name: opListStateMachineAliases, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &ListStateMachineAliasesInput{} + } + + output = &ListStateMachineAliasesOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListStateMachineAliases API operation for AWS Step Functions. +// +// Lists aliases (https://docs.aws.amazon.com/step-functions/latest/dg/concepts-state-machine-alias.html) +// 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 (https://docs.aws.amazon.com/step-functions/latest/dg/concepts-state-machine-version.html), +// 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: +// +// - CreateStateMachineAlias +// +// - DescribeStateMachineAlias +// +// - UpdateStateMachineAlias +// +// - DeleteStateMachineAlias +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Step Functions's +// API operation ListStateMachineAliases for usage and error information. +// +// Returned Error Types: +// +// - InvalidArn +// The provided Amazon Resource Name (ARN) is not valid. +// +// - InvalidToken +// The provided token is not valid. +// +// - ResourceNotFound +// Could not find the referenced resource. +// +// - StateMachineDoesNotExist +// The specified state machine does not exist. +// +// - StateMachineDeleting +// The specified state machine is being deleted. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/states-2016-11-23/ListStateMachineAliases +func (c *SFN) ListStateMachineAliases(input *ListStateMachineAliasesInput) (*ListStateMachineAliasesOutput, error) { + req, out := c.ListStateMachineAliasesRequest(input) + return out, req.Send() +} + +// ListStateMachineAliasesWithContext is the same as ListStateMachineAliases with the addition of +// the ability to pass a context and additional request options. +// +// See ListStateMachineAliases for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *SFN) ListStateMachineAliasesWithContext(ctx aws.Context, input *ListStateMachineAliasesInput, opts ...request.Option) (*ListStateMachineAliasesOutput, error) { + req, out := c.ListStateMachineAliasesRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opListStateMachineVersions = "ListStateMachineVersions" + +// ListStateMachineVersionsRequest generates a "aws/request.Request" representing the +// client's request for the ListStateMachineVersions operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See ListStateMachineVersions for more information on using the ListStateMachineVersions +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the ListStateMachineVersionsRequest method. +// req, resp := client.ListStateMachineVersionsRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/states-2016-11-23/ListStateMachineVersions +func (c *SFN) ListStateMachineVersionsRequest(input *ListStateMachineVersionsInput) (req *request.Request, output *ListStateMachineVersionsOutput) { + op := &request.Operation{ + Name: opListStateMachineVersions, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &ListStateMachineVersionsInput{} + } + + output = &ListStateMachineVersionsOutput{} + req = c.newRequest(op, input, output) + return +} + +// ListStateMachineVersions API operation for AWS Step Functions. +// +// Lists versions (https://docs.aws.amazon.com/step-functions/latest/dg/concepts-state-machine-version.html) +// 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: +// +// - PublishStateMachineVersion +// +// - DeleteStateMachineVersion +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Step Functions's +// API operation ListStateMachineVersions for usage and error information. +// +// Returned Error Types: +// +// - ValidationException +// The input does not satisfy the constraints specified by an Amazon Web Services +// service. +// +// - InvalidArn +// The provided Amazon Resource Name (ARN) is not valid. +// +// - InvalidToken +// The provided token is not valid. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/states-2016-11-23/ListStateMachineVersions +func (c *SFN) ListStateMachineVersions(input *ListStateMachineVersionsInput) (*ListStateMachineVersionsOutput, error) { + req, out := c.ListStateMachineVersionsRequest(input) + return out, req.Send() +} + +// ListStateMachineVersionsWithContext is the same as ListStateMachineVersions with the addition of +// the ability to pass a context and additional request options. +// +// See ListStateMachineVersions for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *SFN) ListStateMachineVersionsWithContext(ctx aws.Context, input *ListStateMachineVersionsInput, opts ...request.Option) (*ListStateMachineVersionsOutput, error) { + req, out := c.ListStateMachineVersionsRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + const opListStateMachines = "ListStateMachines" // ListStateMachinesRequest generates a "aws/request.Request" representing the @@ -1773,8 +2480,7 @@ func (c *SFN) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req * // The provided Amazon Resource Name (ARN) is not valid. // // - ResourceNotFound -// Could not find the referenced resource. Only state machine and activity ARNs -// are supported. +// Could not find the referenced resource. // // See also, https://docs.aws.amazon.com/goto/WebAPI/states-2016-11-23/ListTagsForResource func (c *SFN) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) { @@ -1798,65 +2504,186 @@ func (c *SFN) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsFor return out, req.Send() } -const opSendTaskFailure = "SendTaskFailure" +const opPublishStateMachineVersion = "PublishStateMachineVersion" -// SendTaskFailureRequest generates a "aws/request.Request" representing the -// client's request for the SendTaskFailure operation. The "output" return +// PublishStateMachineVersionRequest generates a "aws/request.Request" representing the +// client's request for the PublishStateMachineVersion operation. The "output" return // value will be populated with the request's response once the request completes // successfully. // // Use "Send" method on the returned Request to send the API call to the service. // the "output" return value is not valid until after Send returns without error. // -// See SendTaskFailure for more information on using the SendTaskFailure +// See PublishStateMachineVersion for more information on using the PublishStateMachineVersion // API call, and error handling. // // This method is useful when you want to inject custom logic or configuration // into the SDK's request lifecycle. Such as custom headers, or retry logic. // -// // Example sending a request using the SendTaskFailureRequest method. -// req, resp := client.SendTaskFailureRequest(params) +// // Example sending a request using the PublishStateMachineVersionRequest method. +// req, resp := client.PublishStateMachineVersionRequest(params) // // err := req.Send() // if err == nil { // resp is now filled // fmt.Println(resp) // } // -// See also, https://docs.aws.amazon.com/goto/WebAPI/states-2016-11-23/SendTaskFailure -func (c *SFN) SendTaskFailureRequest(input *SendTaskFailureInput) (req *request.Request, output *SendTaskFailureOutput) { +// See also, https://docs.aws.amazon.com/goto/WebAPI/states-2016-11-23/PublishStateMachineVersion +func (c *SFN) PublishStateMachineVersionRequest(input *PublishStateMachineVersionInput) (req *request.Request, output *PublishStateMachineVersionOutput) { op := &request.Operation{ - Name: opSendTaskFailure, + Name: opPublishStateMachineVersion, HTTPMethod: "POST", HTTPPath: "/", } if input == nil { - input = &SendTaskFailureInput{} + input = &PublishStateMachineVersionInput{} } - output = &SendTaskFailureOutput{} + output = &PublishStateMachineVersionOutput{} req = c.newRequest(op, input, output) - req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) return } -// SendTaskFailure API operation for AWS Step Functions. +// PublishStateMachineVersion API operation for AWS Step Functions. // -// Used by activity workers and task states using the callback (https://docs.aws.amazon.com/step-functions/latest/dg/connect-to-resource.html#connect-wait-token) -// pattern to report that the task identified by the taskToken failed. +// Creates a version (https://docs.aws.amazon.com/step-functions/latest/dg/concepts-state-machine-version.html) +// 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: +// +// - DeleteStateMachineVersion +// +// - ListStateMachineVersions // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about // the error. // // See the AWS API reference guide for AWS Step Functions's -// API operation SendTaskFailure for usage and error information. +// API operation PublishStateMachineVersion for usage and error information. // // Returned Error Types: // -// - TaskDoesNotExist -// -// - InvalidToken +// - ValidationException +// The input does not satisfy the constraints specified by an Amazon Web Services +// service. +// +// - StateMachineDeleting +// The specified state machine is being deleted. +// +// - StateMachineDoesNotExist +// The specified state machine does not exist. +// +// - ServiceQuotaExceededException +// The request would cause a service quota to be exceeded. +// +// HTTP Status Code: 402 +// +// - ConflictException +// 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 +// +// - InvalidArn +// The provided Amazon Resource Name (ARN) is not valid. +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/states-2016-11-23/PublishStateMachineVersion +func (c *SFN) PublishStateMachineVersion(input *PublishStateMachineVersionInput) (*PublishStateMachineVersionOutput, error) { + req, out := c.PublishStateMachineVersionRequest(input) + return out, req.Send() +} + +// PublishStateMachineVersionWithContext is the same as PublishStateMachineVersion with the addition of +// the ability to pass a context and additional request options. +// +// See PublishStateMachineVersion for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *SFN) PublishStateMachineVersionWithContext(ctx aws.Context, input *PublishStateMachineVersionInput, opts ...request.Option) (*PublishStateMachineVersionOutput, error) { + req, out := c.PublishStateMachineVersionRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + +const opSendTaskFailure = "SendTaskFailure" + +// SendTaskFailureRequest generates a "aws/request.Request" representing the +// client's request for the SendTaskFailure operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See SendTaskFailure for more information on using the SendTaskFailure +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the SendTaskFailureRequest method. +// req, resp := client.SendTaskFailureRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/states-2016-11-23/SendTaskFailure +func (c *SFN) SendTaskFailureRequest(input *SendTaskFailureInput) (req *request.Request, output *SendTaskFailureOutput) { + op := &request.Operation{ + Name: opSendTaskFailure, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &SendTaskFailureInput{} + } + + output = &SendTaskFailureOutput{} + req = c.newRequest(op, input, output) + req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) + return +} + +// SendTaskFailure API operation for AWS Step Functions. +// +// Used by activity workers and task states using the callback (https://docs.aws.amazon.com/step-functions/latest/dg/connect-to-resource.html#connect-wait-token) +// pattern to report that the task identified by the taskToken failed. +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Step Functions's +// API operation SendTaskFailure for usage and error information. +// +// Returned Error Types: +// +// - TaskDoesNotExist +// +// - InvalidToken // The provided token is not valid. // // - TaskTimedOut @@ -2112,21 +2939,43 @@ func (c *SFN) StartExecutionRequest(input *StartExecutionInput) (req *request.Re // StartExecution API operation for AWS Step Functions. // -// 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. +// Starts a state machine execution. // -// 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: +// +// 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 (https://docs.aws.amazon.com/step-functions/latest/dg/concepts-state-machine-version.html), +// call StartExecution and provide the version ARN or the ARN of an alias (https://docs.aws.amazon.com/step-functions/latest/dg/concepts-state-machine-alias.html) +// 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. +// 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. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions // with awserr.Error's Code and Message methods to get detailed information about @@ -2446,8 +3295,7 @@ func (c *SFN) TagResourceRequest(input *TagResourceInput) (req *request.Request, // The provided Amazon Resource Name (ARN) is not valid. // // - ResourceNotFound -// Could not find the referenced resource. Only state machine and activity ARNs -// are supported. +// Could not find the referenced resource. // // - TooManyTags // You've exceeded the number of tags allowed for a resource. See the Limits @@ -2535,8 +3383,7 @@ func (c *SFN) UntagResourceRequest(input *UntagResourceInput) (req *request.Requ // The provided Amazon Resource Name (ARN) is not valid. // // - ResourceNotFound -// Could not find the referenced resource. Only state machine and activity ARNs -// are supported. +// Could not find the referenced resource. // // See also, https://docs.aws.amazon.com/goto/WebAPI/states-2016-11-23/UntagResource func (c *SFN) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) { @@ -2617,8 +3464,7 @@ func (c *SFN) UpdateMapRunRequest(input *UpdateMapRunInput) (req *request.Reques // Returned Error Types: // // - ResourceNotFound -// Could not find the referenced resource. Only state machine and activity ARNs -// are supported. +// Could not find the referenced resource. // // - InvalidArn // The provided Amazon Resource Name (ARN) is not valid. @@ -2697,16 +3543,41 @@ func (c *SFN) UpdateStateMachineRequest(input *UpdateStateMachineInput) (req *re // 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. // -// All StartExecution calls within a few seconds will use the updated definition -// and roleArn. Executions started immediately after calling UpdateStateMachine +// 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 (https://docs.aws.amazon.com/step-functions/latest/dg/concepts-state-machine-version.html). +// This way, you can opt-in to strict versioning of your 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. // // Returns awserr.Error for service API and SDK errors. Use runtime type assertions @@ -2740,6 +3611,18 @@ func (c *SFN) UpdateStateMachineRequest(input *UpdateStateMachineInput) (req *re // - StateMachineDoesNotExist // The specified state machine does not exist. // +// - ServiceQuotaExceededException +// The request would cause a service quota to be exceeded. +// +// HTTP Status Code: 402 +// +// - ConflictException +// 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 +// // - ValidationException // The input does not satisfy the constraints specified by an Amazon Web Services // service. @@ -2766,6 +3649,122 @@ func (c *SFN) UpdateStateMachineWithContext(ctx aws.Context, input *UpdateStateM return out, req.Send() } +const opUpdateStateMachineAlias = "UpdateStateMachineAlias" + +// UpdateStateMachineAliasRequest generates a "aws/request.Request" representing the +// client's request for the UpdateStateMachineAlias operation. The "output" return +// value will be populated with the request's response once the request completes +// successfully. +// +// Use "Send" method on the returned Request to send the API call to the service. +// the "output" return value is not valid until after Send returns without error. +// +// See UpdateStateMachineAlias for more information on using the UpdateStateMachineAlias +// API call, and error handling. +// +// This method is useful when you want to inject custom logic or configuration +// into the SDK's request lifecycle. Such as custom headers, or retry logic. +// +// // Example sending a request using the UpdateStateMachineAliasRequest method. +// req, resp := client.UpdateStateMachineAliasRequest(params) +// +// err := req.Send() +// if err == nil { // resp is now filled +// fmt.Println(resp) +// } +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/states-2016-11-23/UpdateStateMachineAlias +func (c *SFN) UpdateStateMachineAliasRequest(input *UpdateStateMachineAliasInput) (req *request.Request, output *UpdateStateMachineAliasOutput) { + op := &request.Operation{ + Name: opUpdateStateMachineAlias, + HTTPMethod: "POST", + HTTPPath: "/", + } + + if input == nil { + input = &UpdateStateMachineAliasInput{} + } + + output = &UpdateStateMachineAliasOutput{} + req = c.newRequest(op, input, output) + return +} + +// UpdateStateMachineAlias API operation for AWS Step Functions. +// +// Updates the configuration of an existing state machine alias (https://docs.aws.amazon.com/step-functions/latest/dg/concepts-state-machine-alias.html) +// 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: +// +// - CreateStateMachineAlias +// +// - DescribeStateMachineAlias +// +// - ListStateMachineAliases +// +// - DeleteStateMachineAlias +// +// Returns awserr.Error for service API and SDK errors. Use runtime type assertions +// with awserr.Error's Code and Message methods to get detailed information about +// the error. +// +// See the AWS API reference guide for AWS Step Functions's +// API operation UpdateStateMachineAlias for usage and error information. +// +// Returned Error Types: +// +// - ValidationException +// The input does not satisfy the constraints specified by an Amazon Web Services +// service. +// +// - InvalidArn +// The provided Amazon Resource Name (ARN) is not valid. +// +// - ResourceNotFound +// Could not find the referenced resource. +// +// - ConflictException +// 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 +// +// See also, https://docs.aws.amazon.com/goto/WebAPI/states-2016-11-23/UpdateStateMachineAlias +func (c *SFN) UpdateStateMachineAlias(input *UpdateStateMachineAliasInput) (*UpdateStateMachineAliasOutput, error) { + req, out := c.UpdateStateMachineAliasRequest(input) + return out, req.Send() +} + +// UpdateStateMachineAliasWithContext is the same as UpdateStateMachineAlias with the addition of +// the ability to pass a context and additional request options. +// +// See UpdateStateMachineAlias for details on how to use this API operation. +// +// The context must be non-nil and will be used for request cancellation. If +// the context is nil a panic will occur. In the future the SDK may create +// sub-contexts for http.Requests. See https://golang.org/pkg/context/ +// for more information on using Contexts. +func (c *SFN) UpdateStateMachineAliasWithContext(ctx aws.Context, input *UpdateStateMachineAliasInput, opts ...request.Option) (*UpdateStateMachineAliasOutput, error) { + req, out := c.UpdateStateMachineAliasRequest(input) + req.SetContext(ctx) + req.ApplyOptions(opts...) + return out, req.Send() +} + // The specified activity does not exist. type ActivityDoesNotExist struct { _ struct{} `type:"structure"` @@ -3453,6 +4452,74 @@ func (s *CloudWatchLogsLogGroup) SetLogGroupArn(v string) *CloudWatchLogsLogGrou return s } +// 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 +type ConflictException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ConflictException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ConflictException) GoString() string { + return s.String() +} + +func newErrorConflictException(v protocol.ResponseMetadata) error { + return &ConflictException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *ConflictException) Code() string { + return "ConflictException" +} + +// Message returns the exception's message. +func (s *ConflictException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *ConflictException) OrigErr() error { + return nil +} + +func (s *ConflictException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *ConflictException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *ConflictException) RequestID() string { + return s.RespMetadata.RequestID +} + type CreateActivityInput struct { _ struct{} `type:"structure"` @@ -3591,27 +4658,168 @@ func (s *CreateActivityOutput) SetCreationDate(v time.Time) *CreateActivityOutpu return s } -type CreateStateMachineInput struct { +type CreateStateMachineAliasInput struct { _ struct{} `type:"structure"` - // The Amazon States Language definition of the state machine. See Amazon States - // Language (https://docs.aws.amazon.com/step-functions/latest/dg/concepts-amazon-states-language.html). + // A description for the state machine alias. // - // Definition is a sensitive parameter and its value will be - // replaced with "sensitive" in string returned by CreateStateMachineInput's + // Description is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by CreateStateMachineAliasInput's // String and GoString methods. - // - // Definition is a required field - Definition *string `locationName:"definition" min:"1" type:"string" required:"true" sensitive:"true"` + Description *string `locationName:"description" type:"string" sensitive:"true"` - // Defines what execution history events are logged and where they are logged. + // The name of the state machine alias. // - // By default, the level is set to OFF. For more information see Log Levels - // (https://docs.aws.amazon.com/step-functions/latest/dg/cloudwatch-log-level.html) - // in the Step Functions User Guide. - LoggingConfiguration *LoggingConfiguration `locationName:"loggingConfiguration" type:"structure"` + // To avoid conflict with version ARNs, don't use an integer in the name of + // the alias. + // + // Name is a required field + Name *string `locationName:"name" min:"1" type:"string" required:"true"` - // The name of the state machine. + // 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 is a required field + RoutingConfiguration []*RoutingConfigurationListItem `locationName:"routingConfiguration" min:"1" type:"list" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateStateMachineAliasInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateStateMachineAliasInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *CreateStateMachineAliasInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "CreateStateMachineAliasInput"} + if s.Name == nil { + invalidParams.Add(request.NewErrParamRequired("Name")) + } + if s.Name != nil && len(*s.Name) < 1 { + invalidParams.Add(request.NewErrParamMinLen("Name", 1)) + } + if s.RoutingConfiguration == nil { + invalidParams.Add(request.NewErrParamRequired("RoutingConfiguration")) + } + if s.RoutingConfiguration != nil && len(s.RoutingConfiguration) < 1 { + invalidParams.Add(request.NewErrParamMinLen("RoutingConfiguration", 1)) + } + if s.RoutingConfiguration != nil { + for i, v := range s.RoutingConfiguration { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "RoutingConfiguration", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDescription sets the Description field's value. +func (s *CreateStateMachineAliasInput) SetDescription(v string) *CreateStateMachineAliasInput { + s.Description = &v + return s +} + +// SetName sets the Name field's value. +func (s *CreateStateMachineAliasInput) SetName(v string) *CreateStateMachineAliasInput { + s.Name = &v + return s +} + +// SetRoutingConfiguration sets the RoutingConfiguration field's value. +func (s *CreateStateMachineAliasInput) SetRoutingConfiguration(v []*RoutingConfigurationListItem) *CreateStateMachineAliasInput { + s.RoutingConfiguration = v + return s +} + +type CreateStateMachineAliasOutput struct { + _ struct{} `type:"structure"` + + // The date the state machine alias was created. + // + // CreationDate is a required field + CreationDate *time.Time `locationName:"creationDate" type:"timestamp" required:"true"` + + // The Amazon Resource Name (ARN) that identifies the created state machine + // alias. + // + // StateMachineAliasArn is a required field + StateMachineAliasArn *string `locationName:"stateMachineAliasArn" min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateStateMachineAliasOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s CreateStateMachineAliasOutput) GoString() string { + return s.String() +} + +// SetCreationDate sets the CreationDate field's value. +func (s *CreateStateMachineAliasOutput) SetCreationDate(v time.Time) *CreateStateMachineAliasOutput { + s.CreationDate = &v + return s +} + +// SetStateMachineAliasArn sets the StateMachineAliasArn field's value. +func (s *CreateStateMachineAliasOutput) SetStateMachineAliasArn(v string) *CreateStateMachineAliasOutput { + s.StateMachineAliasArn = &v + return s +} + +type CreateStateMachineInput struct { + _ struct{} `type:"structure"` + + // The Amazon States Language definition of the state machine. See Amazon States + // Language (https://docs.aws.amazon.com/step-functions/latest/dg/concepts-amazon-states-language.html). + // + // Definition is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by CreateStateMachineInput's + // String and GoString methods. + // + // Definition is a required field + Definition *string `locationName:"definition" min:"1" type:"string" required:"true" sensitive:"true"` + + // Defines what execution history events are logged and where they are logged. + // + // By default, the level is set to OFF. For more information see Log Levels + // (https://docs.aws.amazon.com/step-functions/latest/dg/cloudwatch-log-level.html) + // in the Step Functions User Guide. + LoggingConfiguration *LoggingConfiguration `locationName:"loggingConfiguration" type:"structure"` + + // The name of the state machine. // // A name must not contain: // @@ -3631,6 +4839,10 @@ type CreateStateMachineInput struct { // Name is a required field Name *string `locationName:"name" min:"1" type:"string" required:"true"` + // Set to true to publish the first version of the state machine during creation. + // The default is false. + Publish *bool `locationName:"publish" type:"boolean"` + // The Amazon Resource Name (ARN) of the IAM role to use for this state machine. // // RoleArn is a required field @@ -3654,6 +4866,15 @@ type CreateStateMachineInput struct { // is STANDARD. You cannot update the type of a state machine once it has been // created. Type *string `locationName:"type" type:"string" enum:"StateMachineType"` + + // 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 is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by CreateStateMachineInput's + // String and GoString methods. + VersionDescription *string `locationName:"versionDescription" type:"string" sensitive:"true"` } // String returns the string representation. @@ -3735,6 +4956,12 @@ func (s *CreateStateMachineInput) SetName(v string) *CreateStateMachineInput { return s } +// SetPublish sets the Publish field's value. +func (s *CreateStateMachineInput) SetPublish(v bool) *CreateStateMachineInput { + s.Publish = &v + return s +} + // SetRoleArn sets the RoleArn field's value. func (s *CreateStateMachineInput) SetRoleArn(v string) *CreateStateMachineInput { s.RoleArn = &v @@ -3759,6 +4986,12 @@ func (s *CreateStateMachineInput) SetType(v string) *CreateStateMachineInput { return s } +// SetVersionDescription sets the VersionDescription field's value. +func (s *CreateStateMachineInput) SetVersionDescription(v string) *CreateStateMachineInput { + s.VersionDescription = &v + return s +} + type CreateStateMachineOutput struct { _ struct{} `type:"structure"` @@ -3771,6 +5004,11 @@ type CreateStateMachineOutput struct { // // StateMachineArn is a required field StateMachineArn *string `locationName:"stateMachineArn" min:"1" type:"string" required:"true"` + + // 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 `locationName:"stateMachineVersionArn" min:"1" type:"string"` } // String returns the string representation. @@ -3803,6 +5041,12 @@ func (s *CreateStateMachineOutput) SetStateMachineArn(v string) *CreateStateMach return s } +// SetStateMachineVersionArn sets the StateMachineVersionArn field's value. +func (s *CreateStateMachineOutput) SetStateMachineVersionArn(v string) *CreateStateMachineOutput { + s.StateMachineVersionArn = &v + return s +} + type DeleteActivityInput struct { _ struct{} `type:"structure"` @@ -3874,6 +5118,77 @@ func (s DeleteActivityOutput) GoString() string { return s.String() } +type DeleteStateMachineAliasInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the state machine alias to delete. + // + // StateMachineAliasArn is a required field + StateMachineAliasArn *string `locationName:"stateMachineAliasArn" min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteStateMachineAliasInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteStateMachineAliasInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteStateMachineAliasInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteStateMachineAliasInput"} + if s.StateMachineAliasArn == nil { + invalidParams.Add(request.NewErrParamRequired("StateMachineAliasArn")) + } + if s.StateMachineAliasArn != nil && len(*s.StateMachineAliasArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("StateMachineAliasArn", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetStateMachineAliasArn sets the StateMachineAliasArn field's value. +func (s *DeleteStateMachineAliasInput) SetStateMachineAliasArn(v string) *DeleteStateMachineAliasInput { + s.StateMachineAliasArn = &v + return s +} + +type DeleteStateMachineAliasOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteStateMachineAliasOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteStateMachineAliasOutput) GoString() string { + return s.String() +} + type DeleteStateMachineInput struct { _ struct{} `type:"structure"` @@ -3945,6 +5260,77 @@ func (s DeleteStateMachineOutput) GoString() string { return s.String() } +type DeleteStateMachineVersionInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the state machine version to delete. + // + // StateMachineVersionArn is a required field + StateMachineVersionArn *string `locationName:"stateMachineVersionArn" min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteStateMachineVersionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteStateMachineVersionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DeleteStateMachineVersionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DeleteStateMachineVersionInput"} + if s.StateMachineVersionArn == nil { + invalidParams.Add(request.NewErrParamRequired("StateMachineVersionArn")) + } + if s.StateMachineVersionArn != nil && len(*s.StateMachineVersionArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("StateMachineVersionArn", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetStateMachineVersionArn sets the StateMachineVersionArn field's value. +func (s *DeleteStateMachineVersionInput) SetStateMachineVersionArn(v string) *DeleteStateMachineVersionInput { + s.StateMachineVersionArn = &v + return s +} + +type DeleteStateMachineVersionOutput struct { + _ struct{} `type:"structure"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteStateMachineVersionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DeleteStateMachineVersionOutput) GoString() string { + return s.String() +} + type DescribeActivityInput struct { _ struct{} `type:"structure"` @@ -4187,17 +5573,33 @@ type DescribeExecutionOutput struct { // StartDate is a required field StartDate *time.Time `locationName:"startDate" type:"timestamp" required:"true"` + // 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 `locationName:"stateMachineAliasArn" min:"1" type:"string"` + // The Amazon Resource Name (ARN) of the executed stated machine. // // StateMachineArn is a required field StateMachineArn *string `locationName:"stateMachineArn" min:"1" type:"string" required:"true"` + // 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 `locationName:"stateMachineVersionArn" min:"1" type:"string"` + // The current status of the execution. // // Status is a required field Status *string `locationName:"status" type:"string" required:"true" enum:"ExecutionStatus"` - // If the execution has already ended, the date the execution stopped. + // If the execution ended, the date the execution stopped. StopDate *time.Time `locationName:"stopDate" type:"timestamp"` // The X-Ray trace header that was passed to the execution. @@ -4282,12 +5684,24 @@ func (s *DescribeExecutionOutput) SetStartDate(v time.Time) *DescribeExecutionOu return s } +// SetStateMachineAliasArn sets the StateMachineAliasArn field's value. +func (s *DescribeExecutionOutput) SetStateMachineAliasArn(v string) *DescribeExecutionOutput { + s.StateMachineAliasArn = &v + return s +} + // SetStateMachineArn sets the StateMachineArn field's value. func (s *DescribeExecutionOutput) SetStateMachineArn(v string) *DescribeExecutionOutput { s.StateMachineArn = &v return s } +// SetStateMachineVersionArn sets the StateMachineVersionArn field's value. +func (s *DescribeExecutionOutput) SetStateMachineVersionArn(v string) *DescribeExecutionOutput { + s.StateMachineVersionArn = &v + return s +} + // SetStatus sets the Status field's value. func (s *DescribeExecutionOutput) SetStatus(v string) *DescribeExecutionOutput { s.Status = &v @@ -4492,14 +5906,13 @@ func (s *DescribeMapRunOutput) SetToleratedFailurePercentage(v float64) *Describ return s } -type DescribeStateMachineForExecutionInput struct { +type DescribeStateMachineAliasInput struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of the execution you want state machine information - // for. + // The Amazon Resource Name (ARN) of the state machine alias. // - // ExecutionArn is a required field - ExecutionArn *string `locationName:"executionArn" min:"1" type:"string" required:"true"` + // StateMachineAliasArn is a required field + StateMachineAliasArn *string `locationName:"stateMachineAliasArn" min:"1" type:"string" required:"true"` } // String returns the string representation. @@ -4507,7 +5920,7 @@ type DescribeStateMachineForExecutionInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DescribeStateMachineForExecutionInput) String() string { +func (s DescribeStateMachineAliasInput) String() string { return awsutil.Prettify(s) } @@ -4516,18 +5929,18 @@ func (s DescribeStateMachineForExecutionInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s DescribeStateMachineForExecutionInput) GoString() string { +func (s DescribeStateMachineAliasInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *DescribeStateMachineForExecutionInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "DescribeStateMachineForExecutionInput"} - if s.ExecutionArn == nil { - invalidParams.Add(request.NewErrParamRequired("ExecutionArn")) +func (s *DescribeStateMachineAliasInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeStateMachineAliasInput"} + if s.StateMachineAliasArn == nil { + invalidParams.Add(request.NewErrParamRequired("StateMachineAliasArn")) } - if s.ExecutionArn != nil && len(*s.ExecutionArn) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ExecutionArn", 1)) + if s.StateMachineAliasArn != nil && len(*s.StateMachineAliasArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("StateMachineAliasArn", 1)) } if invalidParams.Len() > 0 { @@ -4536,13 +5949,145 @@ func (s *DescribeStateMachineForExecutionInput) Validate() error { return nil } -// SetExecutionArn sets the ExecutionArn field's value. -func (s *DescribeStateMachineForExecutionInput) SetExecutionArn(v string) *DescribeStateMachineForExecutionInput { - s.ExecutionArn = &v +// SetStateMachineAliasArn sets the StateMachineAliasArn field's value. +func (s *DescribeStateMachineAliasInput) SetStateMachineAliasArn(v string) *DescribeStateMachineAliasInput { + s.StateMachineAliasArn = &v return s } -type DescribeStateMachineForExecutionOutput struct { +type DescribeStateMachineAliasOutput struct { + _ struct{} `type:"structure"` + + // The date the state machine alias was created. + CreationDate *time.Time `locationName:"creationDate" type:"timestamp"` + + // A description of the alias. + // + // Description is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by DescribeStateMachineAliasOutput's + // String and GoString methods. + Description *string `locationName:"description" type:"string" sensitive:"true"` + + // The name of the state machine alias. + Name *string `locationName:"name" min:"1" type:"string"` + + // The routing configuration of the alias. + RoutingConfiguration []*RoutingConfigurationListItem `locationName:"routingConfiguration" min:"1" type:"list"` + + // The Amazon Resource Name (ARN) of the state machine alias. + StateMachineAliasArn *string `locationName:"stateMachineAliasArn" min:"1" type:"string"` + + // The date the state machine alias was last updated. + // + // For a newly created state machine, this is the same as the creation date. + UpdateDate *time.Time `locationName:"updateDate" type:"timestamp"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DescribeStateMachineAliasOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DescribeStateMachineAliasOutput) GoString() string { + return s.String() +} + +// SetCreationDate sets the CreationDate field's value. +func (s *DescribeStateMachineAliasOutput) SetCreationDate(v time.Time) *DescribeStateMachineAliasOutput { + s.CreationDate = &v + return s +} + +// SetDescription sets the Description field's value. +func (s *DescribeStateMachineAliasOutput) SetDescription(v string) *DescribeStateMachineAliasOutput { + s.Description = &v + return s +} + +// SetName sets the Name field's value. +func (s *DescribeStateMachineAliasOutput) SetName(v string) *DescribeStateMachineAliasOutput { + s.Name = &v + return s +} + +// SetRoutingConfiguration sets the RoutingConfiguration field's value. +func (s *DescribeStateMachineAliasOutput) SetRoutingConfiguration(v []*RoutingConfigurationListItem) *DescribeStateMachineAliasOutput { + s.RoutingConfiguration = v + return s +} + +// SetStateMachineAliasArn sets the StateMachineAliasArn field's value. +func (s *DescribeStateMachineAliasOutput) SetStateMachineAliasArn(v string) *DescribeStateMachineAliasOutput { + s.StateMachineAliasArn = &v + return s +} + +// SetUpdateDate sets the UpdateDate field's value. +func (s *DescribeStateMachineAliasOutput) SetUpdateDate(v time.Time) *DescribeStateMachineAliasOutput { + s.UpdateDate = &v + return s +} + +type DescribeStateMachineForExecutionInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the execution you want state machine information + // for. + // + // ExecutionArn is a required field + ExecutionArn *string `locationName:"executionArn" min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DescribeStateMachineForExecutionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s DescribeStateMachineForExecutionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *DescribeStateMachineForExecutionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "DescribeStateMachineForExecutionInput"} + if s.ExecutionArn == nil { + invalidParams.Add(request.NewErrParamRequired("ExecutionArn")) + } + if s.ExecutionArn != nil && len(*s.ExecutionArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ExecutionArn", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetExecutionArn sets the ExecutionArn field's value. +func (s *DescribeStateMachineForExecutionInput) SetExecutionArn(v string) *DescribeStateMachineForExecutionInput { + s.ExecutionArn = &v + return s +} + +type DescribeStateMachineForExecutionOutput struct { _ struct{} `type:"structure"` // The Amazon States Language definition of the state machine. See Amazon States @@ -4573,6 +6118,14 @@ type DescribeStateMachineForExecutionOutput struct { // Name is a required field Name *string `locationName:"name" min:"1" type:"string" required:"true"` + // 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 `locationName:"revisionId" type:"string"` + // The Amazon Resource Name (ARN) of the IAM role of the State Machine for the // execution. // @@ -4642,6 +6195,12 @@ func (s *DescribeStateMachineForExecutionOutput) SetName(v string) *DescribeStat return s } +// SetRevisionId sets the RevisionId field's value. +func (s *DescribeStateMachineForExecutionOutput) SetRevisionId(v string) *DescribeStateMachineForExecutionOutput { + s.RevisionId = &v + return s +} + // SetRoleArn sets the RoleArn field's value. func (s *DescribeStateMachineForExecutionOutput) SetRoleArn(v string) *DescribeStateMachineForExecutionOutput { s.RoleArn = &v @@ -4669,7 +6228,12 @@ func (s *DescribeStateMachineForExecutionOutput) SetUpdateDate(v time.Time) *Des type DescribeStateMachineInput struct { _ struct{} `type:"structure"` - // 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 is a required field StateMachineArn *string `locationName:"stateMachineArn" min:"1" type:"string" required:"true"` @@ -4720,6 +6284,8 @@ type DescribeStateMachineOutput struct { // The date the state machine is created. // + // For a state machine version, creationDate is the date the version was created. + // // CreationDate is a required field CreationDate *time.Time `locationName:"creationDate" type:"timestamp" required:"true"` @@ -4733,6 +6299,13 @@ type DescribeStateMachineOutput struct { // Definition is a required field Definition *string `locationName:"definition" min:"1" type:"string" required:"true" sensitive:"true"` + // The description of the state machine version. + // + // Description is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by DescribeStateMachineOutput's + // String and GoString methods. + Description *string `locationName:"description" type:"string" sensitive:"true"` + // 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. @@ -4761,6 +6334,13 @@ type DescribeStateMachineOutput struct { // Name is a required field Name *string `locationName:"name" min:"1" type:"string" required:"true"` + // 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 `locationName:"revisionId" type:"string"` + // The Amazon Resource Name (ARN) of the IAM role used when creating this state // machine. (The IAM role maintains security by granting Step Functions access // to Amazon Web Services resources.) @@ -4770,6 +6350,10 @@ type DescribeStateMachineOutput struct { // 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 is a required field StateMachineArn *string `locationName:"stateMachineArn" min:"1" type:"string" required:"true"` @@ -4815,6 +6399,12 @@ func (s *DescribeStateMachineOutput) SetDefinition(v string) *DescribeStateMachi return s } +// SetDescription sets the Description field's value. +func (s *DescribeStateMachineOutput) SetDescription(v string) *DescribeStateMachineOutput { + s.Description = &v + return s +} + // SetLabel sets the Label field's value. func (s *DescribeStateMachineOutput) SetLabel(v string) *DescribeStateMachineOutput { s.Label = &v @@ -4833,6 +6423,12 @@ func (s *DescribeStateMachineOutput) SetName(v string) *DescribeStateMachineOutp return s } +// SetRevisionId sets the RevisionId field's value. +func (s *DescribeStateMachineOutput) SetRevisionId(v string) *DescribeStateMachineOutput { + s.RevisionId = &v + return s +} + // SetRoleArn sets the RoleArn field's value. func (s *DescribeStateMachineOutput) SetRoleArn(v string) *DescribeStateMachineOutput { s.RoleArn = &v @@ -5201,11 +6797,28 @@ type ExecutionListItem struct { // StartDate is a required field StartDate *time.Time `locationName:"startDate" type:"timestamp" required:"true"` - // The Amazon Resource Name (ARN) of the executed state machine. + // 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 `locationName:"stateMachineAliasArn" min:"1" type:"string"` + + // The Amazon Resource Name (ARN) of the state machine that ran the execution. // // StateMachineArn is a required field StateMachineArn *string `locationName:"stateMachineArn" min:"1" type:"string" required:"true"` + // 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 `locationName:"stateMachineVersionArn" min:"1" type:"string"` + // The current status of the execution. // // Status is a required field @@ -5263,12 +6876,24 @@ func (s *ExecutionListItem) SetStartDate(v time.Time) *ExecutionListItem { return s } +// SetStateMachineAliasArn sets the StateMachineAliasArn field's value. +func (s *ExecutionListItem) SetStateMachineAliasArn(v string) *ExecutionListItem { + s.StateMachineAliasArn = &v + return s +} + // SetStateMachineArn sets the StateMachineArn field's value. func (s *ExecutionListItem) SetStateMachineArn(v string) *ExecutionListItem { s.StateMachineArn = &v return s } +// SetStateMachineVersionArn sets the StateMachineVersionArn field's value. +func (s *ExecutionListItem) SetStateMachineVersionArn(v string) *ExecutionListItem { + s.StateMachineVersionArn = &v + return s +} + // SetStatus sets the Status field's value. func (s *ExecutionListItem) SetStatus(v string) *ExecutionListItem { s.Status = &v @@ -5299,6 +6924,14 @@ type ExecutionStartedEventDetails struct { // The Amazon Resource Name (ARN) of the IAM role used for executing Lambda // tasks. RoleArn *string `locationName:"roleArn" min:"1" type:"string"` + + // The Amazon Resource Name (ARN) that identifies a state machine alias used + // for starting the state machine execution. + StateMachineAliasArn *string `locationName:"stateMachineAliasArn" min:"1" type:"string"` + + // The Amazon Resource Name (ARN) that identifies a state machine version used + // for starting the state machine execution. + StateMachineVersionArn *string `locationName:"stateMachineVersionArn" min:"1" type:"string"` } // String returns the string representation. @@ -5337,6 +6970,18 @@ func (s *ExecutionStartedEventDetails) SetRoleArn(v string) *ExecutionStartedEve return s } +// SetStateMachineAliasArn sets the StateMachineAliasArn field's value. +func (s *ExecutionStartedEventDetails) SetStateMachineAliasArn(v string) *ExecutionStartedEventDetails { + s.StateMachineAliasArn = &v + return s +} + +// SetStateMachineVersionArn sets the StateMachineVersionArn field's value. +func (s *ExecutionStartedEventDetails) SetStateMachineVersionArn(v string) *ExecutionStartedEventDetails { + s.StateMachineVersionArn = &v + return s +} + // Contains details about the successful termination of the execution. type ExecutionSucceededEventDetails struct { _ struct{} `type:"structure"` @@ -7064,14 +8709,288 @@ type ListExecutionsInput struct { // pagination token will return an HTTP 400 InvalidToken error. NextToken *string `locationName:"nextToken" min:"1" type:"string"` - // The Amazon Resource Name (ARN) of the state machine whose executions is listed. + // 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 + // (https://docs.aws.amazon.com/step-functions/latest/dg/concepts-state-machine-alias.html) + // or version (https://docs.aws.amazon.com/step-functions/latest/dg/concepts-state-machine-version.html), + // by specifying an alias ARN or a version ARN in the stateMachineArn parameter. + StateMachineArn *string `locationName:"stateMachineArn" min:"1" type:"string"` + + // If specified, only list the executions whose current execution status matches + // the given filter. + StatusFilter *string `locationName:"statusFilter" type:"string" enum:"ExecutionStatus"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListExecutionsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListExecutionsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListExecutionsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListExecutionsInput"} + if s.MapRunArn != nil && len(*s.MapRunArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("MapRunArn", 1)) + } + if s.NextToken != nil && len(*s.NextToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) + } + if s.StateMachineArn != nil && len(*s.StateMachineArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("StateMachineArn", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetMapRunArn sets the MapRunArn field's value. +func (s *ListExecutionsInput) SetMapRunArn(v string) *ListExecutionsInput { + s.MapRunArn = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListExecutionsInput) SetMaxResults(v int64) *ListExecutionsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListExecutionsInput) SetNextToken(v string) *ListExecutionsInput { + s.NextToken = &v + return s +} + +// SetStateMachineArn sets the StateMachineArn field's value. +func (s *ListExecutionsInput) SetStateMachineArn(v string) *ListExecutionsInput { + s.StateMachineArn = &v + return s +} + +// SetStatusFilter sets the StatusFilter field's value. +func (s *ListExecutionsInput) SetStatusFilter(v string) *ListExecutionsInput { + s.StatusFilter = &v + return s +} + +type ListExecutionsOutput struct { + _ struct{} `type:"structure"` + + // The list of matching executions. + // + // Executions is a required field + Executions []*ExecutionListItem `locationName:"executions" type:"list" required:"true"` + + // 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 `locationName:"nextToken" min:"1" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListExecutionsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListExecutionsOutput) GoString() string { + return s.String() +} + +// SetExecutions sets the Executions field's value. +func (s *ListExecutionsOutput) SetExecutions(v []*ExecutionListItem) *ListExecutionsOutput { + s.Executions = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListExecutionsOutput) SetNextToken(v string) *ListExecutionsOutput { + s.NextToken = &v + return s +} + +type ListMapRunsInput struct { + _ struct{} `type:"structure"` + + // The Amazon Resource Name (ARN) of the execution for which the Map Runs must + // be listed. + // + // ExecutionArn is a required field + ExecutionArn *string `locationName:"executionArn" min:"1" type:"string" required:"true"` + + // 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 *int64 `locationName:"maxResults" type:"integer"` + + // 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 `locationName:"nextToken" min:"1" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListMapRunsInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListMapRunsInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *ListMapRunsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListMapRunsInput"} + if s.ExecutionArn == nil { + invalidParams.Add(request.NewErrParamRequired("ExecutionArn")) + } + if s.ExecutionArn != nil && len(*s.ExecutionArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("ExecutionArn", 1)) + } + if s.NextToken != nil && len(*s.NextToken) < 1 { + invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetExecutionArn sets the ExecutionArn field's value. +func (s *ListMapRunsInput) SetExecutionArn(v string) *ListMapRunsInput { + s.ExecutionArn = &v + return s +} + +// SetMaxResults sets the MaxResults field's value. +func (s *ListMapRunsInput) SetMaxResults(v int64) *ListMapRunsInput { + s.MaxResults = &v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListMapRunsInput) SetNextToken(v string) *ListMapRunsInput { + s.NextToken = &v + return s +} + +type ListMapRunsOutput struct { + _ struct{} `type:"structure"` + + // An array that lists information related to a Map Run, such as the Amazon + // Resource Name (ARN) of the Map Run and the ARN of the state machine that + // started the Map Run. + // + // MapRuns is a required field + MapRuns []*MapRunListItem `locationName:"mapRuns" type:"list" required:"true"` + + // 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 `locationName:"nextToken" min:"1" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListMapRunsOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ListMapRunsOutput) GoString() string { + return s.String() +} + +// SetMapRuns sets the MapRuns field's value. +func (s *ListMapRunsOutput) SetMapRuns(v []*MapRunListItem) *ListMapRunsOutput { + s.MapRuns = v + return s +} + +// SetNextToken sets the NextToken field's value. +func (s *ListMapRunsOutput) SetNextToken(v string) *ListMapRunsOutput { + s.NextToken = &v + return s +} + +type ListStateMachineAliasesInput struct { + _ struct{} `type:"structure"` + + // 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 *int64 `locationName:"maxResults" type:"integer"` + + // 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 `locationName:"nextToken" min:"1" type:"string"` + + // The Amazon Resource Name (ARN) of the state machine for which you want to + // list aliases. // - // You can specify either a mapRunArn or a stateMachineArn, but not both. - StateMachineArn *string `locationName:"stateMachineArn" min:"1" type:"string"` - - // If specified, only list the executions whose current execution status matches - // the given filter. - StatusFilter *string `locationName:"statusFilter" type:"string" enum:"ExecutionStatus"` + // If you specify a state machine version ARN, this API returns a list of aliases + // for that version. + // + // StateMachineArn is a required field + StateMachineArn *string `locationName:"stateMachineArn" min:"1" type:"string" required:"true"` } // String returns the string representation. @@ -7079,7 +8998,7 @@ type ListExecutionsInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListExecutionsInput) String() string { +func (s ListStateMachineAliasesInput) String() string { return awsutil.Prettify(s) } @@ -7088,19 +9007,19 @@ func (s ListExecutionsInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListExecutionsInput) GoString() string { +func (s ListStateMachineAliasesInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *ListExecutionsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ListExecutionsInput"} - if s.MapRunArn != nil && len(*s.MapRunArn) < 1 { - invalidParams.Add(request.NewErrParamMinLen("MapRunArn", 1)) - } +func (s *ListStateMachineAliasesInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListStateMachineAliasesInput"} if s.NextToken != nil && len(*s.NextToken) < 1 { invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) } + if s.StateMachineArn == nil { + invalidParams.Add(request.NewErrParamRequired("StateMachineArn")) + } if s.StateMachineArn != nil && len(*s.StateMachineArn) < 1 { invalidParams.Add(request.NewErrParamMinLen("StateMachineArn", 1)) } @@ -7111,50 +9030,38 @@ func (s *ListExecutionsInput) Validate() error { return nil } -// SetMapRunArn sets the MapRunArn field's value. -func (s *ListExecutionsInput) SetMapRunArn(v string) *ListExecutionsInput { - s.MapRunArn = &v - return s -} - // SetMaxResults sets the MaxResults field's value. -func (s *ListExecutionsInput) SetMaxResults(v int64) *ListExecutionsInput { +func (s *ListStateMachineAliasesInput) SetMaxResults(v int64) *ListStateMachineAliasesInput { s.MaxResults = &v return s } // SetNextToken sets the NextToken field's value. -func (s *ListExecutionsInput) SetNextToken(v string) *ListExecutionsInput { +func (s *ListStateMachineAliasesInput) SetNextToken(v string) *ListStateMachineAliasesInput { s.NextToken = &v return s } // SetStateMachineArn sets the StateMachineArn field's value. -func (s *ListExecutionsInput) SetStateMachineArn(v string) *ListExecutionsInput { +func (s *ListStateMachineAliasesInput) SetStateMachineArn(v string) *ListStateMachineAliasesInput { s.StateMachineArn = &v return s } -// SetStatusFilter sets the StatusFilter field's value. -func (s *ListExecutionsInput) SetStatusFilter(v string) *ListExecutionsInput { - s.StatusFilter = &v - return s -} - -type ListExecutionsOutput struct { +type ListStateMachineAliasesOutput struct { _ struct{} `type:"structure"` - // The list of matching executions. - // - // Executions is a required field - Executions []*ExecutionListItem `locationName:"executions" type:"list" required:"true"` - // 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 `locationName:"nextToken" min:"1" type:"string"` + + // Aliases for the state machine. + // + // StateMachineAliases is a required field + StateMachineAliases []*StateMachineAliasListItem `locationName:"stateMachineAliases" type:"list" required:"true"` } // String returns the string representation. @@ -7162,7 +9069,7 @@ type ListExecutionsOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListExecutionsOutput) String() string { +func (s ListStateMachineAliasesOutput) String() string { return awsutil.Prettify(s) } @@ -7171,31 +9078,25 @@ func (s ListExecutionsOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListExecutionsOutput) GoString() string { +func (s ListStateMachineAliasesOutput) GoString() string { return s.String() } -// SetExecutions sets the Executions field's value. -func (s *ListExecutionsOutput) SetExecutions(v []*ExecutionListItem) *ListExecutionsOutput { - s.Executions = v +// SetNextToken sets the NextToken field's value. +func (s *ListStateMachineAliasesOutput) SetNextToken(v string) *ListStateMachineAliasesOutput { + s.NextToken = &v return s } -// SetNextToken sets the NextToken field's value. -func (s *ListExecutionsOutput) SetNextToken(v string) *ListExecutionsOutput { - s.NextToken = &v +// SetStateMachineAliases sets the StateMachineAliases field's value. +func (s *ListStateMachineAliasesOutput) SetStateMachineAliases(v []*StateMachineAliasListItem) *ListStateMachineAliasesOutput { + s.StateMachineAliases = v return s } -type ListMapRunsInput struct { +type ListStateMachineVersionsInput struct { _ struct{} `type:"structure"` - // The Amazon Resource Name (ARN) of the execution for which the Map Runs must - // be listed. - // - // ExecutionArn is a required field - ExecutionArn *string `locationName:"executionArn" min:"1" type:"string" required:"true"` - // 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. @@ -7210,6 +9111,11 @@ type ListMapRunsInput struct { // unchanged. Each pagination token expires after 24 hours. Using an expired // pagination token will return an HTTP 400 InvalidToken error. NextToken *string `locationName:"nextToken" min:"1" type:"string"` + + // The Amazon Resource Name (ARN) of the state machine. + // + // StateMachineArn is a required field + StateMachineArn *string `locationName:"stateMachineArn" min:"1" type:"string" required:"true"` } // String returns the string representation. @@ -7217,7 +9123,7 @@ type ListMapRunsInput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListMapRunsInput) String() string { +func (s ListStateMachineVersionsInput) String() string { return awsutil.Prettify(s) } @@ -7226,22 +9132,22 @@ func (s ListMapRunsInput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListMapRunsInput) GoString() string { +func (s ListStateMachineVersionsInput) GoString() string { return s.String() } // Validate inspects the fields of the type to determine if they are valid. -func (s *ListMapRunsInput) Validate() error { - invalidParams := request.ErrInvalidParams{Context: "ListMapRunsInput"} - if s.ExecutionArn == nil { - invalidParams.Add(request.NewErrParamRequired("ExecutionArn")) - } - if s.ExecutionArn != nil && len(*s.ExecutionArn) < 1 { - invalidParams.Add(request.NewErrParamMinLen("ExecutionArn", 1)) - } +func (s *ListStateMachineVersionsInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "ListStateMachineVersionsInput"} if s.NextToken != nil && len(*s.NextToken) < 1 { invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) } + if s.StateMachineArn == nil { + invalidParams.Add(request.NewErrParamRequired("StateMachineArn")) + } + if s.StateMachineArn != nil && len(*s.StateMachineArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("StateMachineArn", 1)) + } if invalidParams.Len() > 0 { return invalidParams @@ -7249,33 +9155,26 @@ func (s *ListMapRunsInput) Validate() error { return nil } -// SetExecutionArn sets the ExecutionArn field's value. -func (s *ListMapRunsInput) SetExecutionArn(v string) *ListMapRunsInput { - s.ExecutionArn = &v - return s -} - // SetMaxResults sets the MaxResults field's value. -func (s *ListMapRunsInput) SetMaxResults(v int64) *ListMapRunsInput { +func (s *ListStateMachineVersionsInput) SetMaxResults(v int64) *ListStateMachineVersionsInput { s.MaxResults = &v return s } // SetNextToken sets the NextToken field's value. -func (s *ListMapRunsInput) SetNextToken(v string) *ListMapRunsInput { +func (s *ListStateMachineVersionsInput) SetNextToken(v string) *ListStateMachineVersionsInput { s.NextToken = &v return s } -type ListMapRunsOutput struct { - _ struct{} `type:"structure"` +// SetStateMachineArn sets the StateMachineArn field's value. +func (s *ListStateMachineVersionsInput) SetStateMachineArn(v string) *ListStateMachineVersionsInput { + s.StateMachineArn = &v + return s +} - // An array that lists information related to a Map Run, such as the Amazon - // Resource Name (ARN) of the Map Run and the ARN of the state machine that - // started the Map Run. - // - // MapRuns is a required field - MapRuns []*MapRunListItem `locationName:"mapRuns" type:"list" required:"true"` +type ListStateMachineVersionsOutput struct { + _ struct{} `type:"structure"` // 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 @@ -7283,6 +9182,11 @@ type ListMapRunsOutput struct { // unchanged. Each pagination token expires after 24 hours. Using an expired // pagination token will return an HTTP 400 InvalidToken error. NextToken *string `locationName:"nextToken" min:"1" type:"string"` + + // Versions for the state machine. + // + // StateMachineVersions is a required field + StateMachineVersions []*StateMachineVersionListItem `locationName:"stateMachineVersions" type:"list" required:"true"` } // String returns the string representation. @@ -7290,7 +9194,7 @@ type ListMapRunsOutput struct { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListMapRunsOutput) String() string { +func (s ListStateMachineVersionsOutput) String() string { return awsutil.Prettify(s) } @@ -7299,19 +9203,19 @@ func (s ListMapRunsOutput) String() string { // API parameter values that are decorated as "sensitive" in the API will not // be included in the string output. The member name will be present, but the // value will be replaced with "sensitive". -func (s ListMapRunsOutput) GoString() string { +func (s ListStateMachineVersionsOutput) GoString() string { return s.String() } -// SetMapRuns sets the MapRuns field's value. -func (s *ListMapRunsOutput) SetMapRuns(v []*MapRunListItem) *ListMapRunsOutput { - s.MapRuns = v +// SetNextToken sets the NextToken field's value. +func (s *ListStateMachineVersionsOutput) SetNextToken(v string) *ListStateMachineVersionsOutput { + s.NextToken = &v return s } -// SetNextToken sets the NextToken field's value. -func (s *ListMapRunsOutput) SetNextToken(v string) *ListMapRunsOutput { - s.NextToken = &v +// SetStateMachineVersions sets the StateMachineVersions field's value. +func (s *ListStateMachineVersionsOutput) SetStateMachineVersions(v []*StateMachineVersionListItem) *ListStateMachineVersionsOutput { + s.StateMachineVersions = v return s } @@ -8161,8 +10065,132 @@ func (s *MissingRequiredParameter) RequestID() string { return s.RespMetadata.RequestID } -// Could not find the referenced resource. Only state machine and activity ARNs -// are supported. +type PublishStateMachineVersionInput struct { + _ struct{} `type:"structure"` + + // An optional description of the state machine version. + // + // Description is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by PublishStateMachineVersionInput's + // String and GoString methods. + Description *string `locationName:"description" type:"string" sensitive:"true"` + + // 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 `locationName:"revisionId" type:"string"` + + // The Amazon Resource Name (ARN) of the state machine. + // + // StateMachineArn is a required field + StateMachineArn *string `locationName:"stateMachineArn" min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s PublishStateMachineVersionInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s PublishStateMachineVersionInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *PublishStateMachineVersionInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "PublishStateMachineVersionInput"} + if s.StateMachineArn == nil { + invalidParams.Add(request.NewErrParamRequired("StateMachineArn")) + } + if s.StateMachineArn != nil && len(*s.StateMachineArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("StateMachineArn", 1)) + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDescription sets the Description field's value. +func (s *PublishStateMachineVersionInput) SetDescription(v string) *PublishStateMachineVersionInput { + s.Description = &v + return s +} + +// SetRevisionId sets the RevisionId field's value. +func (s *PublishStateMachineVersionInput) SetRevisionId(v string) *PublishStateMachineVersionInput { + s.RevisionId = &v + return s +} + +// SetStateMachineArn sets the StateMachineArn field's value. +func (s *PublishStateMachineVersionInput) SetStateMachineArn(v string) *PublishStateMachineVersionInput { + s.StateMachineArn = &v + return s +} + +type PublishStateMachineVersionOutput struct { + _ struct{} `type:"structure"` + + // The date the version was created. + // + // CreationDate is a required field + CreationDate *time.Time `locationName:"creationDate" type:"timestamp" required:"true"` + + // The Amazon Resource Name (ARN) (ARN) that identifies the state machine version. + // + // StateMachineVersionArn is a required field + StateMachineVersionArn *string `locationName:"stateMachineVersionArn" min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s PublishStateMachineVersionOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s PublishStateMachineVersionOutput) GoString() string { + return s.String() +} + +// SetCreationDate sets the CreationDate field's value. +func (s *PublishStateMachineVersionOutput) SetCreationDate(v time.Time) *PublishStateMachineVersionOutput { + s.CreationDate = &v + return s +} + +// SetStateMachineVersionArn sets the StateMachineVersionArn field's value. +func (s *PublishStateMachineVersionOutput) SetStateMachineVersionArn(v string) *PublishStateMachineVersionOutput { + s.StateMachineVersionArn = &v + return s +} + +// Could not find the referenced resource. type ResourceNotFound struct { _ struct{} `type:"structure"` RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` @@ -8201,31 +10229,103 @@ func (s *ResourceNotFound) Code() string { return "ResourceNotFound" } -// Message returns the exception's message. -func (s *ResourceNotFound) Message() string { - if s.Message_ != nil { - return *s.Message_ +// Message returns the exception's message. +func (s *ResourceNotFound) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *ResourceNotFound) OrigErr() error { + return nil +} + +func (s *ResourceNotFound) Error() string { + return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *ResourceNotFound) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *ResourceNotFound) RequestID() string { + return s.RespMetadata.RequestID +} + +// 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. +type RoutingConfigurationListItem struct { + _ struct{} `type:"structure"` + + // 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 is a required field + StateMachineVersionArn *string `locationName:"stateMachineVersionArn" min:"1" type:"string" required:"true"` + + // 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 is a required field + Weight *int64 `locationName:"weight" type:"integer" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s RoutingConfigurationListItem) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s RoutingConfigurationListItem) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *RoutingConfigurationListItem) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "RoutingConfigurationListItem"} + if s.StateMachineVersionArn == nil { + invalidParams.Add(request.NewErrParamRequired("StateMachineVersionArn")) + } + if s.StateMachineVersionArn != nil && len(*s.StateMachineVersionArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("StateMachineVersionArn", 1)) + } + if s.Weight == nil { + invalidParams.Add(request.NewErrParamRequired("Weight")) } - return "" -} -// OrigErr always returns nil, satisfies awserr.Error interface. -func (s *ResourceNotFound) OrigErr() error { + if invalidParams.Len() > 0 { + return invalidParams + } return nil } -func (s *ResourceNotFound) Error() string { - return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) -} - -// Status code returns the HTTP status code for the request's response error. -func (s *ResourceNotFound) StatusCode() int { - return s.RespMetadata.StatusCode +// SetStateMachineVersionArn sets the StateMachineVersionArn field's value. +func (s *RoutingConfigurationListItem) SetStateMachineVersionArn(v string) *RoutingConfigurationListItem { + s.StateMachineVersionArn = &v + return s } -// RequestID returns the service's response RequestID for request. -func (s *ResourceNotFound) RequestID() string { - return s.RespMetadata.RequestID +// SetWeight sets the Weight field's value. +func (s *RoutingConfigurationListItem) SetWeight(v int64) *RoutingConfigurationListItem { + s.Weight = &v + return s } type SendTaskFailureInput struct { @@ -8492,6 +10592,72 @@ func (s SendTaskSuccessOutput) GoString() string { return s.String() } +// The request would cause a service quota to be exceeded. +// +// HTTP Status Code: 402 +type ServiceQuotaExceededException struct { + _ struct{} `type:"structure"` + RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` + + Message_ *string `locationName:"message" type:"string"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ServiceQuotaExceededException) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s ServiceQuotaExceededException) GoString() string { + return s.String() +} + +func newErrorServiceQuotaExceededException(v protocol.ResponseMetadata) error { + return &ServiceQuotaExceededException{ + RespMetadata: v, + } +} + +// Code returns the exception type name. +func (s *ServiceQuotaExceededException) Code() string { + return "ServiceQuotaExceededException" +} + +// Message returns the exception's message. +func (s *ServiceQuotaExceededException) Message() string { + if s.Message_ != nil { + return *s.Message_ + } + return "" +} + +// OrigErr always returns nil, satisfies awserr.Error interface. +func (s *ServiceQuotaExceededException) OrigErr() error { + return nil +} + +func (s *ServiceQuotaExceededException) Error() string { + return fmt.Sprintf("%s: %s", s.Code(), s.Message()) +} + +// Status code returns the HTTP status code for the request's response error. +func (s *ServiceQuotaExceededException) StatusCode() int { + return s.RespMetadata.StatusCode +} + +// RequestID returns the service's response RequestID for request. +func (s *ServiceQuotaExceededException) RequestID() string { + return s.RespMetadata.RequestID +} + type StartExecutionInput struct { _ struct{} `type:"structure"` @@ -8510,9 +10676,9 @@ type StartExecutionInput struct { // String and GoString methods. Input *string `locationName:"input" type:"string" sensitive:"true"` - // 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, see - // Limits Related to State Machine Executions (https://docs.aws.amazon.com/step-functions/latest/dg/limits.html#service-limits-state-machine-executions) + // 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 (https://docs.aws.amazon.com/step-functions/latest/dg/limits.html#service-limits-state-machine-executions) // in the Step Functions Developer Guide. // // A name must not contain: @@ -8533,6 +10699,27 @@ type StartExecutionInput struct { // 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 is a required field StateMachineArn *string `locationName:"stateMachineArn" min:"1" type:"string" required:"true"` @@ -9045,6 +11232,53 @@ func (s *StateExitedEventDetails) SetOutputDetails(v *HistoryEventExecutionDataD return s } +// Contains details about a specific state machine alias. +type StateMachineAliasListItem struct { + _ struct{} `type:"structure"` + + // The creation date of a state machine alias. + // + // CreationDate is a required field + CreationDate *time.Time `locationName:"creationDate" type:"timestamp" required:"true"` + + // 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 is a required field + StateMachineAliasArn *string `locationName:"stateMachineAliasArn" min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s StateMachineAliasListItem) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s StateMachineAliasListItem) GoString() string { + return s.String() +} + +// SetCreationDate sets the CreationDate field's value. +func (s *StateMachineAliasListItem) SetCreationDate(v time.Time) *StateMachineAliasListItem { + s.CreationDate = &v + return s +} + +// SetStateMachineAliasArn sets the StateMachineAliasArn field's value. +func (s *StateMachineAliasListItem) SetStateMachineAliasArn(v string) *StateMachineAliasListItem { + s.StateMachineAliasArn = &v + return s +} + // A state machine with the same name but a different definition or role ARN // already exists. type StateMachineAlreadyExists struct { @@ -9446,6 +11680,53 @@ func (s *StateMachineTypeNotSupported) RequestID() string { return s.RespMetadata.RequestID } +// Contains details about a specific state machine version. +type StateMachineVersionListItem struct { + _ struct{} `type:"structure"` + + // The creation date of a state machine version. + // + // CreationDate is a required field + CreationDate *time.Time `locationName:"creationDate" type:"timestamp" required:"true"` + + // 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 is a required field + StateMachineVersionArn *string `locationName:"stateMachineVersionArn" min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s StateMachineVersionListItem) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s StateMachineVersionListItem) GoString() string { + return s.String() +} + +// SetCreationDate sets the CreationDate field's value. +func (s *StateMachineVersionListItem) SetCreationDate(v time.Time) *StateMachineVersionListItem { + s.CreationDate = &v + return s +} + +// SetStateMachineVersionArn sets the StateMachineVersionArn field's value. +func (s *StateMachineVersionListItem) SetStateMachineVersionArn(v string) *StateMachineVersionListItem { + s.StateMachineVersionArn = &v + return s +} + type StopExecutionInput struct { _ struct{} `type:"structure"` @@ -10724,6 +13005,126 @@ func (s UpdateMapRunOutput) GoString() string { return s.String() } +type UpdateStateMachineAliasInput struct { + _ struct{} `type:"structure"` + + // A description of the state machine alias. + // + // Description is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by UpdateStateMachineAliasInput's + // String and GoString methods. + Description *string `locationName:"description" type:"string" sensitive:"true"` + + // 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 `locationName:"routingConfiguration" min:"1" type:"list"` + + // The Amazon Resource Name (ARN) of the state machine alias. + // + // StateMachineAliasArn is a required field + StateMachineAliasArn *string `locationName:"stateMachineAliasArn" min:"1" type:"string" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateStateMachineAliasInput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateStateMachineAliasInput) GoString() string { + return s.String() +} + +// Validate inspects the fields of the type to determine if they are valid. +func (s *UpdateStateMachineAliasInput) Validate() error { + invalidParams := request.ErrInvalidParams{Context: "UpdateStateMachineAliasInput"} + if s.RoutingConfiguration != nil && len(s.RoutingConfiguration) < 1 { + invalidParams.Add(request.NewErrParamMinLen("RoutingConfiguration", 1)) + } + if s.StateMachineAliasArn == nil { + invalidParams.Add(request.NewErrParamRequired("StateMachineAliasArn")) + } + if s.StateMachineAliasArn != nil && len(*s.StateMachineAliasArn) < 1 { + invalidParams.Add(request.NewErrParamMinLen("StateMachineAliasArn", 1)) + } + if s.RoutingConfiguration != nil { + for i, v := range s.RoutingConfiguration { + if v == nil { + continue + } + if err := v.Validate(); err != nil { + invalidParams.AddNested(fmt.Sprintf("%s[%v]", "RoutingConfiguration", i), err.(request.ErrInvalidParams)) + } + } + } + + if invalidParams.Len() > 0 { + return invalidParams + } + return nil +} + +// SetDescription sets the Description field's value. +func (s *UpdateStateMachineAliasInput) SetDescription(v string) *UpdateStateMachineAliasInput { + s.Description = &v + return s +} + +// SetRoutingConfiguration sets the RoutingConfiguration field's value. +func (s *UpdateStateMachineAliasInput) SetRoutingConfiguration(v []*RoutingConfigurationListItem) *UpdateStateMachineAliasInput { + s.RoutingConfiguration = v + return s +} + +// SetStateMachineAliasArn sets the StateMachineAliasArn field's value. +func (s *UpdateStateMachineAliasInput) SetStateMachineAliasArn(v string) *UpdateStateMachineAliasInput { + s.StateMachineAliasArn = &v + return s +} + +type UpdateStateMachineAliasOutput struct { + _ struct{} `type:"structure"` + + // The date and time the state machine alias was updated. + // + // UpdateDate is a required field + UpdateDate *time.Time `locationName:"updateDate" type:"timestamp" required:"true"` +} + +// String returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateStateMachineAliasOutput) String() string { + return awsutil.Prettify(s) +} + +// GoString returns the string representation. +// +// API parameter values that are decorated as "sensitive" in the API will not +// be included in the string output. The member name will be present, but the +// value will be replaced with "sensitive". +func (s UpdateStateMachineAliasOutput) GoString() string { + return s.String() +} + +// SetUpdateDate sets the UpdateDate field's value. +func (s *UpdateStateMachineAliasOutput) SetUpdateDate(v time.Time) *UpdateStateMachineAliasOutput { + s.UpdateDate = &v + return s +} + type UpdateStateMachineInput struct { _ struct{} `type:"structure"` @@ -10735,9 +13136,14 @@ type UpdateStateMachineInput struct { // String and GoString methods. Definition *string `locationName:"definition" min:"1" type:"string" sensitive:"true"` - // The LoggingConfiguration data type is used to set CloudWatch Logs options. + // Use the LoggingConfiguration data type to set CloudWatch Logs options. LoggingConfiguration *LoggingConfiguration `locationName:"loggingConfiguration" type:"structure"` + // 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 *bool `locationName:"publish" type:"boolean"` + // The Amazon Resource Name (ARN) of the IAM role of the state machine. RoleArn *string `locationName:"roleArn" min:"1" type:"string"` @@ -10748,6 +13154,16 @@ type UpdateStateMachineInput struct { // Selects whether X-Ray tracing is enabled. TracingConfiguration *TracingConfiguration `locationName:"tracingConfiguration" type:"structure"` + + // 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 is a sensitive parameter and its value will be + // replaced with "sensitive" in string returned by UpdateStateMachineInput's + // String and GoString methods. + VersionDescription *string `locationName:"versionDescription" type:"string" sensitive:"true"` } // String returns the string representation. @@ -10807,6 +13223,12 @@ func (s *UpdateStateMachineInput) SetLoggingConfiguration(v *LoggingConfiguratio return s } +// SetPublish sets the Publish field's value. +func (s *UpdateStateMachineInput) SetPublish(v bool) *UpdateStateMachineInput { + s.Publish = &v + return s +} + // SetRoleArn sets the RoleArn field's value. func (s *UpdateStateMachineInput) SetRoleArn(v string) *UpdateStateMachineInput { s.RoleArn = &v @@ -10825,9 +13247,23 @@ func (s *UpdateStateMachineInput) SetTracingConfiguration(v *TracingConfiguratio return s } +// SetVersionDescription sets the VersionDescription field's value. +func (s *UpdateStateMachineInput) SetVersionDescription(v string) *UpdateStateMachineInput { + s.VersionDescription = &v + return s +} + type UpdateStateMachineOutput struct { _ struct{} `type:"structure"` + // The revision identifier for the updated state machine. + RevisionId *string `locationName:"revisionId" type:"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 `locationName:"stateMachineVersionArn" min:"1" type:"string"` + // The date and time the state machine was updated. // // UpdateDate is a required field @@ -10852,6 +13288,18 @@ func (s UpdateStateMachineOutput) GoString() string { return s.String() } +// SetRevisionId sets the RevisionId field's value. +func (s *UpdateStateMachineOutput) SetRevisionId(v string) *UpdateStateMachineOutput { + s.RevisionId = &v + return s +} + +// SetStateMachineVersionArn sets the StateMachineVersionArn field's value. +func (s *UpdateStateMachineOutput) SetStateMachineVersionArn(v string) *UpdateStateMachineOutput { + s.StateMachineVersionArn = &v + return s +} + // SetUpdateDate sets the UpdateDate field's value. func (s *UpdateStateMachineOutput) SetUpdateDate(v time.Time) *UpdateStateMachineOutput { s.UpdateDate = &v @@ -11308,6 +13756,9 @@ const ( // ValidationExceptionReasonCannotUpdateCompletedMapRun is a ValidationExceptionReason enum value ValidationExceptionReasonCannotUpdateCompletedMapRun = "CANNOT_UPDATE_COMPLETED_MAP_RUN" + + // ValidationExceptionReasonInvalidRoutingConfiguration is a ValidationExceptionReason enum value + ValidationExceptionReasonInvalidRoutingConfiguration = "INVALID_ROUTING_CONFIGURATION" ) // ValidationExceptionReason_Values returns all elements of the ValidationExceptionReason enum @@ -11316,5 +13767,6 @@ func ValidationExceptionReason_Values() []string { ValidationExceptionReasonApiDoesNotSupportLabeledArns, ValidationExceptionReasonMissingRequiredParameter, ValidationExceptionReasonCannotUpdateCompletedMapRun, + ValidationExceptionReasonInvalidRoutingConfiguration, } } diff --git a/service/sfn/errors.go b/service/sfn/errors.go index 342557d3da5..57e16852e20 100644 --- a/service/sfn/errors.go +++ b/service/sfn/errors.go @@ -28,6 +28,16 @@ const ( // been reached. ErrCodeActivityWorkerLimitExceeded = "ActivityWorkerLimitExceeded" + // ErrCodeConflictException for service response error code + // "ConflictException". + // + // 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 + ErrCodeConflictException = "ConflictException" + // ErrCodeExecutionAlreadyExists for service response error code // "ExecutionAlreadyExists". // @@ -106,10 +116,17 @@ const ( // ErrCodeResourceNotFound for service response error code // "ResourceNotFound". // - // Could not find the referenced resource. Only state machine and activity ARNs - // are supported. + // Could not find the referenced resource. ErrCodeResourceNotFound = "ResourceNotFound" + // ErrCodeServiceQuotaExceededException for service response error code + // "ServiceQuotaExceededException". + // + // The request would cause a service quota to be exceeded. + // + // HTTP Status Code: 402 + ErrCodeServiceQuotaExceededException = "ServiceQuotaExceededException" + // ErrCodeStateMachineAlreadyExists for service response error code // "StateMachineAlreadyExists". // @@ -165,29 +182,31 @@ const ( ) var exceptionFromCode = map[string]func(protocol.ResponseMetadata) error{ - "ActivityDoesNotExist": newErrorActivityDoesNotExist, - "ActivityLimitExceeded": newErrorActivityLimitExceeded, - "ActivityWorkerLimitExceeded": newErrorActivityWorkerLimitExceeded, - "ExecutionAlreadyExists": newErrorExecutionAlreadyExists, - "ExecutionDoesNotExist": newErrorExecutionDoesNotExist, - "ExecutionLimitExceeded": newErrorExecutionLimitExceeded, - "InvalidArn": newErrorInvalidArn, - "InvalidDefinition": newErrorInvalidDefinition, - "InvalidExecutionInput": newErrorInvalidExecutionInput, - "InvalidLoggingConfiguration": newErrorInvalidLoggingConfiguration, - "InvalidName": newErrorInvalidName, - "InvalidOutput": newErrorInvalidOutput, - "InvalidToken": newErrorInvalidToken, - "InvalidTracingConfiguration": newErrorInvalidTracingConfiguration, - "MissingRequiredParameter": newErrorMissingRequiredParameter, - "ResourceNotFound": newErrorResourceNotFound, - "StateMachineAlreadyExists": newErrorStateMachineAlreadyExists, - "StateMachineDeleting": newErrorStateMachineDeleting, - "StateMachineDoesNotExist": newErrorStateMachineDoesNotExist, - "StateMachineLimitExceeded": newErrorStateMachineLimitExceeded, - "StateMachineTypeNotSupported": newErrorStateMachineTypeNotSupported, - "TaskDoesNotExist": newErrorTaskDoesNotExist, - "TaskTimedOut": newErrorTaskTimedOut, - "TooManyTags": newErrorTooManyTags, - "ValidationException": newErrorValidationException, + "ActivityDoesNotExist": newErrorActivityDoesNotExist, + "ActivityLimitExceeded": newErrorActivityLimitExceeded, + "ActivityWorkerLimitExceeded": newErrorActivityWorkerLimitExceeded, + "ConflictException": newErrorConflictException, + "ExecutionAlreadyExists": newErrorExecutionAlreadyExists, + "ExecutionDoesNotExist": newErrorExecutionDoesNotExist, + "ExecutionLimitExceeded": newErrorExecutionLimitExceeded, + "InvalidArn": newErrorInvalidArn, + "InvalidDefinition": newErrorInvalidDefinition, + "InvalidExecutionInput": newErrorInvalidExecutionInput, + "InvalidLoggingConfiguration": newErrorInvalidLoggingConfiguration, + "InvalidName": newErrorInvalidName, + "InvalidOutput": newErrorInvalidOutput, + "InvalidToken": newErrorInvalidToken, + "InvalidTracingConfiguration": newErrorInvalidTracingConfiguration, + "MissingRequiredParameter": newErrorMissingRequiredParameter, + "ResourceNotFound": newErrorResourceNotFound, + "ServiceQuotaExceededException": newErrorServiceQuotaExceededException, + "StateMachineAlreadyExists": newErrorStateMachineAlreadyExists, + "StateMachineDeleting": newErrorStateMachineDeleting, + "StateMachineDoesNotExist": newErrorStateMachineDoesNotExist, + "StateMachineLimitExceeded": newErrorStateMachineLimitExceeded, + "StateMachineTypeNotSupported": newErrorStateMachineTypeNotSupported, + "TaskDoesNotExist": newErrorTaskDoesNotExist, + "TaskTimedOut": newErrorTaskTimedOut, + "TooManyTags": newErrorTooManyTags, + "ValidationException": newErrorValidationException, } diff --git a/service/sfn/sfniface/interface.go b/service/sfn/sfniface/interface.go index 652c92e003c..72d4e4676c9 100644 --- a/service/sfn/sfniface/interface.go +++ b/service/sfn/sfniface/interface.go @@ -68,6 +68,10 @@ type SFNAPI interface { CreateStateMachineWithContext(aws.Context, *sfn.CreateStateMachineInput, ...request.Option) (*sfn.CreateStateMachineOutput, error) CreateStateMachineRequest(*sfn.CreateStateMachineInput) (*request.Request, *sfn.CreateStateMachineOutput) + CreateStateMachineAlias(*sfn.CreateStateMachineAliasInput) (*sfn.CreateStateMachineAliasOutput, error) + CreateStateMachineAliasWithContext(aws.Context, *sfn.CreateStateMachineAliasInput, ...request.Option) (*sfn.CreateStateMachineAliasOutput, error) + CreateStateMachineAliasRequest(*sfn.CreateStateMachineAliasInput) (*request.Request, *sfn.CreateStateMachineAliasOutput) + DeleteActivity(*sfn.DeleteActivityInput) (*sfn.DeleteActivityOutput, error) DeleteActivityWithContext(aws.Context, *sfn.DeleteActivityInput, ...request.Option) (*sfn.DeleteActivityOutput, error) DeleteActivityRequest(*sfn.DeleteActivityInput) (*request.Request, *sfn.DeleteActivityOutput) @@ -76,6 +80,14 @@ type SFNAPI interface { DeleteStateMachineWithContext(aws.Context, *sfn.DeleteStateMachineInput, ...request.Option) (*sfn.DeleteStateMachineOutput, error) DeleteStateMachineRequest(*sfn.DeleteStateMachineInput) (*request.Request, *sfn.DeleteStateMachineOutput) + DeleteStateMachineAlias(*sfn.DeleteStateMachineAliasInput) (*sfn.DeleteStateMachineAliasOutput, error) + DeleteStateMachineAliasWithContext(aws.Context, *sfn.DeleteStateMachineAliasInput, ...request.Option) (*sfn.DeleteStateMachineAliasOutput, error) + DeleteStateMachineAliasRequest(*sfn.DeleteStateMachineAliasInput) (*request.Request, *sfn.DeleteStateMachineAliasOutput) + + DeleteStateMachineVersion(*sfn.DeleteStateMachineVersionInput) (*sfn.DeleteStateMachineVersionOutput, error) + DeleteStateMachineVersionWithContext(aws.Context, *sfn.DeleteStateMachineVersionInput, ...request.Option) (*sfn.DeleteStateMachineVersionOutput, error) + DeleteStateMachineVersionRequest(*sfn.DeleteStateMachineVersionInput) (*request.Request, *sfn.DeleteStateMachineVersionOutput) + DescribeActivity(*sfn.DescribeActivityInput) (*sfn.DescribeActivityOutput, error) DescribeActivityWithContext(aws.Context, *sfn.DescribeActivityInput, ...request.Option) (*sfn.DescribeActivityOutput, error) DescribeActivityRequest(*sfn.DescribeActivityInput) (*request.Request, *sfn.DescribeActivityOutput) @@ -92,6 +104,10 @@ type SFNAPI interface { DescribeStateMachineWithContext(aws.Context, *sfn.DescribeStateMachineInput, ...request.Option) (*sfn.DescribeStateMachineOutput, error) DescribeStateMachineRequest(*sfn.DescribeStateMachineInput) (*request.Request, *sfn.DescribeStateMachineOutput) + DescribeStateMachineAlias(*sfn.DescribeStateMachineAliasInput) (*sfn.DescribeStateMachineAliasOutput, error) + DescribeStateMachineAliasWithContext(aws.Context, *sfn.DescribeStateMachineAliasInput, ...request.Option) (*sfn.DescribeStateMachineAliasOutput, error) + DescribeStateMachineAliasRequest(*sfn.DescribeStateMachineAliasInput) (*request.Request, *sfn.DescribeStateMachineAliasOutput) + DescribeStateMachineForExecution(*sfn.DescribeStateMachineForExecutionInput) (*sfn.DescribeStateMachineForExecutionOutput, error) DescribeStateMachineForExecutionWithContext(aws.Context, *sfn.DescribeStateMachineForExecutionInput, ...request.Option) (*sfn.DescribeStateMachineForExecutionOutput, error) DescribeStateMachineForExecutionRequest(*sfn.DescribeStateMachineForExecutionInput) (*request.Request, *sfn.DescribeStateMachineForExecutionOutput) @@ -128,6 +144,14 @@ type SFNAPI interface { ListMapRunsPages(*sfn.ListMapRunsInput, func(*sfn.ListMapRunsOutput, bool) bool) error ListMapRunsPagesWithContext(aws.Context, *sfn.ListMapRunsInput, func(*sfn.ListMapRunsOutput, bool) bool, ...request.Option) error + ListStateMachineAliases(*sfn.ListStateMachineAliasesInput) (*sfn.ListStateMachineAliasesOutput, error) + ListStateMachineAliasesWithContext(aws.Context, *sfn.ListStateMachineAliasesInput, ...request.Option) (*sfn.ListStateMachineAliasesOutput, error) + ListStateMachineAliasesRequest(*sfn.ListStateMachineAliasesInput) (*request.Request, *sfn.ListStateMachineAliasesOutput) + + ListStateMachineVersions(*sfn.ListStateMachineVersionsInput) (*sfn.ListStateMachineVersionsOutput, error) + ListStateMachineVersionsWithContext(aws.Context, *sfn.ListStateMachineVersionsInput, ...request.Option) (*sfn.ListStateMachineVersionsOutput, error) + ListStateMachineVersionsRequest(*sfn.ListStateMachineVersionsInput) (*request.Request, *sfn.ListStateMachineVersionsOutput) + ListStateMachines(*sfn.ListStateMachinesInput) (*sfn.ListStateMachinesOutput, error) ListStateMachinesWithContext(aws.Context, *sfn.ListStateMachinesInput, ...request.Option) (*sfn.ListStateMachinesOutput, error) ListStateMachinesRequest(*sfn.ListStateMachinesInput) (*request.Request, *sfn.ListStateMachinesOutput) @@ -139,6 +163,10 @@ type SFNAPI interface { ListTagsForResourceWithContext(aws.Context, *sfn.ListTagsForResourceInput, ...request.Option) (*sfn.ListTagsForResourceOutput, error) ListTagsForResourceRequest(*sfn.ListTagsForResourceInput) (*request.Request, *sfn.ListTagsForResourceOutput) + PublishStateMachineVersion(*sfn.PublishStateMachineVersionInput) (*sfn.PublishStateMachineVersionOutput, error) + PublishStateMachineVersionWithContext(aws.Context, *sfn.PublishStateMachineVersionInput, ...request.Option) (*sfn.PublishStateMachineVersionOutput, error) + PublishStateMachineVersionRequest(*sfn.PublishStateMachineVersionInput) (*request.Request, *sfn.PublishStateMachineVersionOutput) + SendTaskFailure(*sfn.SendTaskFailureInput) (*sfn.SendTaskFailureOutput, error) SendTaskFailureWithContext(aws.Context, *sfn.SendTaskFailureInput, ...request.Option) (*sfn.SendTaskFailureOutput, error) SendTaskFailureRequest(*sfn.SendTaskFailureInput) (*request.Request, *sfn.SendTaskFailureOutput) @@ -178,6 +206,10 @@ type SFNAPI interface { UpdateStateMachine(*sfn.UpdateStateMachineInput) (*sfn.UpdateStateMachineOutput, error) UpdateStateMachineWithContext(aws.Context, *sfn.UpdateStateMachineInput, ...request.Option) (*sfn.UpdateStateMachineOutput, error) UpdateStateMachineRequest(*sfn.UpdateStateMachineInput) (*request.Request, *sfn.UpdateStateMachineOutput) + + UpdateStateMachineAlias(*sfn.UpdateStateMachineAliasInput) (*sfn.UpdateStateMachineAliasOutput, error) + UpdateStateMachineAliasWithContext(aws.Context, *sfn.UpdateStateMachineAliasInput, ...request.Option) (*sfn.UpdateStateMachineAliasOutput, error) + UpdateStateMachineAliasRequest(*sfn.UpdateStateMachineAliasInput) (*request.Request, *sfn.UpdateStateMachineAliasOutput) } var _ SFNAPI = (*sfn.SFN)(nil)