diff --git a/.changelog/09ecbc195d97417587b1e06d1582c671.json b/.changelog/09ecbc195d97417587b1e06d1582c671.json new file mode 100644 index 00000000000..1239a31d229 --- /dev/null +++ b/.changelog/09ecbc195d97417587b1e06d1582c671.json @@ -0,0 +1,314 @@ +{ + "id": "09ecbc19-5d97-4175-87b1-e06d1582c671", + "type": "feature", + "description": "API client updated", + "modules": [ + "example/service/dynamodb/createTable", + "example/service/dynamodb/scanItems", + "internal/protocoltest/awsrestjson", + "internal/protocoltest/ec2query", + "internal/protocoltest/jsonrpc", + "internal/protocoltest/jsonrpc10", + "internal/protocoltest/query", + "internal/protocoltest/restxml", + "internal/protocoltest/restxmlwithnamespace", + "service/accessanalyzer", + "service/account", + "service/acm", + "service/acmpca", + "service/alexaforbusiness", + "service/amp", + "service/amplify", + "service/amplifybackend", + "service/amplifyuibuilder", + "service/apigateway", + "service/apigatewaymanagementapi", + "service/apigatewayv2", + "service/appconfig", + "service/appconfigdata", + "service/appflow", + "service/appintegrations", + "service/applicationautoscaling", + "service/applicationcostprofiler", + "service/applicationdiscoveryservice", + "service/applicationinsights", + "service/appmesh", + "service/apprunner", + "service/appstream", + "service/appsync", + "service/athena", + "service/auditmanager", + "service/autoscaling", + "service/autoscalingplans", + "service/backup", + "service/backupgateway", + "service/batch", + "service/braket", + "service/budgets", + "service/chime", + "service/chimesdkidentity", + "service/chimesdkmeetings", + "service/chimesdkmessaging", + "service/cloud9", + "service/cloudcontrol", + "service/clouddirectory", + "service/cloudformation", + "service/cloudfront", + "service/cloudhsm", + "service/cloudhsmv2", + "service/cloudsearch", + "service/cloudsearchdomain", + "service/cloudtrail", + "service/cloudwatch", + "service/cloudwatchevents", + "service/cloudwatchlogs", + "service/codeartifact", + "service/codebuild", + "service/codecommit", + "service/codedeploy", + "service/codeguruprofiler", + "service/codegurureviewer", + "service/codepipeline", + "service/codestar", + "service/codestarconnections", + "service/codestarnotifications", + "service/cognitoidentity", + "service/cognitoidentityprovider", + "service/cognitosync", + "service/comprehend", + "service/comprehendmedical", + "service/computeoptimizer", + "service/configservice", + "service/connect", + "service/connectcontactlens", + "service/connectparticipant", + "service/costandusagereportservice", + "service/costexplorer", + "service/customerprofiles", + "service/databasemigrationservice", + "service/databrew", + "service/dataexchange", + "service/datapipeline", + "service/datasync", + "service/dax", + "service/detective", + "service/devicefarm", + "service/devopsguru", + "service/directconnect", + "service/directoryservice", + "service/dlm", + "service/docdb", + "service/drs", + "service/dynamodb", + "service/dynamodbstreams", + "service/ebs", + "service/ec2", + "service/ec2instanceconnect", + "service/ecr", + "service/ecrpublic", + "service/ecs", + "service/efs", + "service/eks", + "service/elasticache", + "service/elasticbeanstalk", + "service/elasticinference", + "service/elasticloadbalancing", + "service/elasticloadbalancingv2", + "service/elasticsearchservice", + "service/elastictranscoder", + "service/emr", + "service/emrcontainers", + "service/eventbridge", + "service/evidently", + "service/finspace", + "service/finspacedata", + "service/firehose", + "service/fis", + "service/fms", + "service/forecast", + "service/forecastquery", + "service/frauddetector", + "service/fsx", + "service/gamelift", + "service/glacier", + "service/globalaccelerator", + "service/glue", + "service/grafana", + "service/greengrass", + "service/greengrassv2", + "service/groundstation", + "service/guardduty", + "service/health", + "service/healthlake", + "service/honeycode", + "service/iam", + "service/identitystore", + "service/imagebuilder", + "service/inspector", + "service/inspector2", + "service/iot", + "service/iot1clickdevicesservice", + "service/iot1clickprojects", + "service/iotanalytics", + "service/iotdataplane", + "service/iotdeviceadvisor", + "service/iotevents", + "service/ioteventsdata", + "service/iotfleethub", + "service/iotjobsdataplane", + "service/iotsecuretunneling", + "service/iotsitewise", + "service/iotthingsgraph", + "service/iottwinmaker", + "service/iotwireless", + "service/ivs", + "service/kafka", + "service/kafkaconnect", + "service/kendra", + "service/kinesis", + "service/kinesisanalytics", + "service/kinesisanalyticsv2", + "service/kinesisvideo", + "service/kinesisvideoarchivedmedia", + "service/kinesisvideomedia", + "service/kinesisvideosignaling", + "service/kms", + "service/lakeformation", + "service/lambda", + "service/lexmodelbuildingservice", + "service/lexmodelsv2", + "service/lexruntimeservice", + "service/lexruntimev2", + "service/licensemanager", + "service/lightsail", + "service/location", + "service/lookoutequipment", + "service/lookoutmetrics", + "service/lookoutvision", + "service/machinelearning", + "service/macie", + "service/macie2", + "service/managedblockchain", + "service/marketplacecatalog", + "service/marketplacecommerceanalytics", + "service/marketplaceentitlementservice", + "service/marketplacemetering", + "service/mediaconnect", + "service/mediaconvert", + "service/medialive", + "service/mediapackage", + "service/mediapackagevod", + "service/mediastore", + "service/mediastoredata", + "service/mediatailor", + "service/memorydb", + "service/mgn", + "service/migrationhub", + "service/migrationhubconfig", + "service/migrationhubrefactorspaces", + "service/migrationhubstrategy", + "service/mobile", + "service/mq", + "service/mturk", + "service/mwaa", + "service/neptune", + "service/networkfirewall", + "service/networkmanager", + "service/nimble", + "service/opensearch", + "service/opsworks", + "service/opsworkscm", + "service/organizations", + "service/outposts", + "service/panorama", + "service/personalize", + "service/personalizeevents", + "service/personalizeruntime", + "service/pi", + "service/pinpoint", + "service/pinpointemail", + "service/pinpointsmsvoice", + "service/polly", + "service/pricing", + "service/proton", + "service/qldb", + "service/qldbsession", + "service/quicksight", + "service/ram", + "service/rbin", + "service/rds", + "service/rdsdata", + "service/redshift", + "service/redshiftdata", + "service/rekognition", + "service/resiliencehub", + "service/resourcegroups", + "service/resourcegroupstaggingapi", + "service/robomaker", + "service/route53", + "service/route53domains", + "service/route53recoverycluster", + "service/route53recoverycontrolconfig", + "service/route53recoveryreadiness", + "service/route53resolver", + "service/rum", + "service/s3", + "service/s3control", + "service/s3outposts", + "service/sagemaker", + "service/sagemakera2iruntime", + "service/sagemakeredge", + "service/sagemakerfeaturestoreruntime", + "service/sagemakerruntime", + "service/savingsplans", + "service/schemas", + "service/secretsmanager", + "service/securityhub", + "service/serverlessapplicationrepository", + "service/servicecatalog", + "service/servicecatalogappregistry", + "service/servicediscovery", + "service/servicequotas", + "service/ses", + "service/sesv2", + "service/sfn", + "service/shield", + "service/signer", + "service/sms", + "service/snowball", + "service/snowdevicemanagement", + "service/sns", + "service/sqs", + "service/ssm", + "service/ssmcontacts", + "service/ssmincidents", + "service/sso", + "service/ssoadmin", + "service/ssooidc", + "service/storagegateway", + "service/sts", + "service/support", + "service/swf", + "service/synthetics", + "service/textract", + "service/timestreamquery", + "service/timestreamwrite", + "service/transcribe", + "service/transcribestreaming", + "service/transfer", + "service/translate", + "service/voiceid", + "service/waf", + "service/wafregional", + "service/wafv2", + "service/wellarchitected", + "service/wisdom", + "service/workdocs", + "service/worklink", + "service/workmail", + "service/workmailmessageflow", + "service/workspaces", + "service/workspacesweb", + "service/xray" + ] +} \ No newline at end of file diff --git a/Makefile b/Makefile index e8f16507a4a..17cfb5523c8 100644 --- a/Makefile +++ b/Makefile @@ -163,7 +163,7 @@ add-module-license-files: sync-models: sync-endpoints-model sync-api-models -sync-endpoints-model: sync-endpoints.json gen-endpoint-prefix.json +sync-endpoints-model: sync-endpoints.json sync-endpoints.json: [[ ! -z "${ENDPOINTS_MODEL}" ]] && cp ${ENDPOINTS_MODEL} ${ENDPOINTS_JSON} || echo "ENDPOINTS_MODEL not set, must not be empty" diff --git a/codegen/sdk-codegen/aws-models/amplify.2017-07-25.json b/codegen/sdk-codegen/aws-models/amplify.2017-07-25.json index ef0a78bde14..e36f3dc08d5 100644 --- a/codegen/sdk-codegen/aws-models/amplify.2017-07-25.json +++ b/codegen/sdk-codegen/aws-models/amplify.2017-07-25.json @@ -50,6 +50,24 @@ }, "com.amazonaws.amplify#Amplify": { "type": "service", + "traits": { + "aws.api#service": { + "sdkId": "Amplify", + "arnNamespace": "amplify", + "cloudFormationName": "Amplify", + "cloudTrailEventSource": "amplify.amazonaws.com", + "endpointPrefix": "amplify" + }, + "aws.auth#sigv4": { + "name": "amplify" + }, + "aws.protocols#restJson1": {}, + "smithy.api#documentation": "

Amplify enables developers to develop and deploy cloud-powered mobile and web apps.\n The Amplify Console provides a continuous delivery and hosting service for web\n applications. For more information, see the Amplify Console User Guide. The\n Amplify Framework is a comprehensive set of SDKs, libraries, tools, and documentation\n for client app development. For more information, see the Amplify Framework.\n

", + "smithy.api#title": "AWS Amplify", + "smithy.api#xmlNamespace": { + "uri": "http://amplify.amazonaws.com" + } + }, "version": "2017-07-25", "operations": [ { @@ -163,25 +181,7 @@ { "target": "com.amazonaws.amplify#UpdateWebhook" } - ], - "traits": { - "aws.api#service": { - "sdkId": "Amplify", - "arnNamespace": "amplify", - "cloudFormationName": "Amplify", - "cloudTrailEventSource": "amplify.amazonaws.com", - "endpointPrefix": "amplify" - }, - "aws.auth#sigv4": { - "name": "amplify" - }, - "aws.protocols#restJson1": {}, - "smithy.api#documentation": "

Amplify enables developers to develop and deploy cloud-powered mobile and web apps.\n The Amplify Console provides a continuous delivery and hosting service for web\n applications. For more information, see the Amplify Console User Guide. The\n Amplify Framework is a comprehensive set of SDKs, libraries, tools, and documentation\n for client app development. For more information, see the Amplify Framework.\n

", - "smithy.api#title": "AWS Amplify", - "smithy.api#xmlNamespace": { - "uri": "http://amplify.amazonaws.com" - } - } + ] }, "com.amazonaws.amplify#App": { "type": "structure", @@ -291,7 +291,7 @@ "basicAuthCredentials": { "target": "com.amazonaws.amplify#BasicAuthCredentials", "traits": { - "smithy.api#documentation": "

The basic authorization credentials for branches for the Amplify app.

" + "smithy.api#documentation": "

The basic authorization credentials for branches for the Amplify app. You must base64-encode the authorization credentials and provide them in the format user:password.

" } }, "customRules": { @@ -357,7 +357,7 @@ "min": 1, "max": 20 }, - "smithy.api#pattern": "d[a-z0-9]+" + "smithy.api#pattern": "^d[a-z0-9]+$" } }, "com.amazonaws.amplify#Apps": { @@ -475,7 +475,7 @@ "basicAuthCredentials": { "target": "com.amazonaws.amplify#BasicAuthCredentials", "traits": { - "smithy.api#documentation": "

The basic authorization credentials for the autocreated branch.

" + "smithy.api#documentation": "

The basic authorization credentials for the autocreated branch. You must base64-encode the authorization credentials and provide them in the format user:password.

" } }, "enableBasicAuth": { @@ -550,7 +550,7 @@ "min": 0, "max": 1000 }, - "smithy.api#pattern": "^$|^arn:aws:iam::\\d{12}:role.+" + "smithy.api#pattern": "^$|^arn:aws:iam::\\d{12}:role.+$" } }, "com.amazonaws.amplify#BackendEnvironment": { @@ -768,7 +768,7 @@ "basicAuthCredentials": { "target": "com.amazonaws.amplify#BasicAuthCredentials", "traits": { - "smithy.api#documentation": "

The basic authorization credentials for a branch of an Amplify app.

" + "smithy.api#documentation": "

The basic authorization credentials for a branch of an Amplify app. You must base64-encode the authorization credentials and provide them in the format user:password.

" } }, "buildSpec": { @@ -1018,7 +1018,7 @@ "basicAuthCredentials": { "target": "com.amazonaws.amplify#BasicAuthCredentials", "traits": { - "smithy.api#documentation": "

The credentials for basic authorization for an Amplify app.

" + "smithy.api#documentation": "

The credentials for basic authorization for an Amplify app. You must base64-encode the authorization credentials and provide them in the format user:password.

" } }, "customRules": { @@ -1257,7 +1257,7 @@ "basicAuthCredentials": { "target": "com.amazonaws.amplify#BasicAuthCredentials", "traits": { - "smithy.api#documentation": "

The basic authorization credentials for the branch.

" + "smithy.api#documentation": "

The basic authorization credentials for the branch. You must base64-encode the authorization credentials and provide them in the format user:password.

" } }, "enableBasicAuth": { @@ -3992,7 +3992,7 @@ "com.amazonaws.amplify#ResourceArn": { "type": "string", "traits": { - "smithy.api#pattern": "^arn:aws:amplify:.*" + "smithy.api#pattern": "^arn:aws:amplify:" } }, "com.amazonaws.amplify#ResourceNotFoundException": { @@ -4883,7 +4883,7 @@ "basicAuthCredentials": { "target": "com.amazonaws.amplify#BasicAuthCredentials", "traits": { - "smithy.api#documentation": "

The basic authorization credentials for an Amplify app.

" + "smithy.api#documentation": "

The basic authorization credentials for an Amplify app. You must base64-encode the authorization credentials and provide them in the format user:password.

" } }, "customRules": { @@ -5052,7 +5052,7 @@ "basicAuthCredentials": { "target": "com.amazonaws.amplify#BasicAuthCredentials", "traits": { - "smithy.api#documentation": "

The basic authorization credentials for the branch.

" + "smithy.api#documentation": "

The basic authorization credentials for the branch. You must base64-encode the authorization credentials and provide them in the format user:password.

" } }, "enableBasicAuth": { diff --git a/codegen/sdk-codegen/aws-models/appconfig.2019-10-09.json b/codegen/sdk-codegen/aws-models/appconfig.2019-10-09.json index 1648565a95f..896ad4d4bfc 100644 --- a/codegen/sdk-codegen/aws-models/appconfig.2019-10-09.json +++ b/codegen/sdk-codegen/aws-models/appconfig.2019-10-09.json @@ -43,7 +43,7 @@ "name": "appconfig" }, "aws.protocols#restJson1": {}, - "smithy.api#documentation": "

Use AppConfig, a capability of Amazon Web Services Systems Manager, to create, manage, and quickly deploy\n application configurations. AppConfig supports controlled deployments to applications of\n any size and includes built-in validation checks and monitoring. You can use AppConfig with\n applications hosted on Amazon EC2 instances, Lambda, containers, mobile applications, or IoT\n devices.

\n

To prevent errors when deploying application configurations, especially for production\n systems where a simple typo could cause an unexpected outage, AppConfig includes\n validators. A validator provides a syntactic or semantic check to ensure that the\n configuration you want to deploy works as intended. To validate your application\n configuration data, you provide a schema or a Lambda function that runs against the\n configuration. The configuration deployment or update can only proceed when the\n configuration data is valid.

\n

During a configuration deployment, AppConfig monitors the application to ensure that the\n deployment is successful. If the system encounters an error, AppConfig rolls back the\n change to minimize impact for your application users. You can configure a deployment\n strategy for each application or environment that includes deployment criteria, including\n velocity, bake time, and alarms to monitor. Similar to error monitoring, if a deployment\n triggers an alarm, AppConfig automatically rolls back to the previous version.

\n

AppConfig supports multiple use cases. Here are some examples:

\n \n

This reference is intended to be used with the AppConfig User Guide.

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

Use AppConfig, a capability of Amazon Web Services Systems Manager, to create, manage, and quickly deploy\n application configurations. AppConfig supports controlled deployments to applications of\n any size and includes built-in validation checks and monitoring. You can use AppConfig with\n applications hosted on Amazon EC2 instances, Lambda, containers, mobile applications, or IoT\n devices.

\n

To prevent errors when deploying application configurations, especially for production\n systems where a simple typo could cause an unexpected outage, AppConfig includes\n validators. A validator provides a syntactic or semantic check to ensure that the\n configuration you want to deploy works as intended. To validate your application\n configuration data, you provide a schema or an Amazon Web Services Lambda function that runs against\n the configuration. The configuration deployment or update can only proceed when the\n configuration data is valid.

\n

During a configuration deployment, AppConfig monitors the application to ensure that the\n deployment is successful. If the system encounters an error, AppConfig rolls back the\n change to minimize impact for your application users. You can configure a deployment\n strategy for each application or environment that includes deployment criteria, including\n velocity, bake time, and alarms to monitor. Similar to error monitoring, if a deployment\n triggers an alarm, AppConfig automatically rolls back to the previous version.

\n

AppConfig supports multiple use cases. Here are some examples:

\n \n

This reference is intended to be used with the AppConfig User Guide.

", "smithy.api#title": "Amazon AppConfig" }, "version": "2019-10-09", @@ -211,12 +211,12 @@ "InvalidConfiguration": { "target": "com.amazonaws.appconfig#InvalidConfigurationDetailList", "traits": { - "smithy.api#documentation": "

Detailed information about the bad request exception error when creating a hosted configuration version.

" + "smithy.api#documentation": "

Detailed information about the bad request exception error when creating a hosted\n configuration version.

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

Detailed information about the input that failed to satisfy the constraints specified by an AWS service.

" + "smithy.api#documentation": "

Detailed information about the input that failed to satisfy the constraints specified by\n a call.

" } }, "com.amazonaws.appconfig#BadRequestException": { @@ -272,7 +272,7 @@ "Content": { "target": "com.amazonaws.appconfig#Blob", "traits": { - "smithy.api#documentation": "

The content of the configuration or the configuration data.

\n \n

Compare the configuration version numbers of the configuration cached locally on your\n machine and the configuration number in the the header. If the configuration numbers are\n the same, the content can be ignored. The Content section only appears if\n the system finds new or updated configuration data. If the system doesn't find new or\n updated configuration data, then the Content section is not\n returned.

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

The content of the configuration or the configuration data.

\n \n

The Content attribute only contains data if the system finds new or\n updated configuration data. If there is no new or updated data and\n ClientConfigurationVersion matches the version of the current\n configuration, AppConfig returns a 204 No Content HTTP response code and\n the Content value will be empty.

\n
", "smithy.api#httpPayload": {} } }, @@ -340,7 +340,7 @@ "Type": { "target": "com.amazonaws.appconfig#ConfigurationProfileType", "traits": { - "smithy.api#documentation": "

The type of configurations that the configuration profile contains. A configuration can\n be a feature flag used for enabling or disabling new features or a free-form configuration\n used for distributing configurations to your application.

" + "smithy.api#documentation": "

The type of configurations contained in the profile. AppConfig supports feature\n flags and freeform configurations. We recommend you create feature\n flag configurations to enable or disable new features and freeform configurations to\n distribute configurations to an application. When calling this API, enter one of the\n following values for Type:

\n

\n AWS.AppConfig.FeatureFlags\n

\n

\n AWS.Freeform\n

" } } } @@ -381,7 +381,7 @@ "Type": { "target": "com.amazonaws.appconfig#ConfigurationProfileType", "traits": { - "smithy.api#documentation": "

The type of configurations that the configuration profile contains. A configuration can\n be a feature flag used for enabling or disabling new features or a free-form configuration\n used to introduce changes to your application.

" + "smithy.api#documentation": "

The type of configurations contained in the profile. AppConfig supports feature\n flags and freeform configurations. We recommend you create feature\n flag configurations to enable or disable new features and freeform configurations to\n distribute configurations to an application. When calling this API, enter one of the\n following values for Type:

\n

\n AWS.AppConfig.FeatureFlags\n

\n

\n AWS.Freeform\n

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

Creates a configuration profile, which is information that enables AppConfig to access\n the configuration source. Valid configuration sources include the AppConfig hosted\n configuration store, Amazon Web Services Systems Manager (SSM) documents, SSM Parameter Store parameters, Amazon S3\n objects, or any integration source\n action supported by CodePipeline. A configuration profile includes the following\n information:

\n \n \n

For more information, see Create a\n Configuration and a Configuration Profile in the AppConfig User\n Guide.

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

Creates a configuration profile, which is information that enables AppConfig to access\n the configuration source. Valid configuration sources include the AppConfig hosted\n configuration store, Amazon Web Services Systems Manager (SSM) documents, SSM Parameter Store parameters, Amazon S3\n objects, or any integration source\n action supported by CodePipeline. A configuration profile includes the following\n information:

\n \n \n

For more information, see Create a\n Configuration and a Configuration Profile in the AppConfig User\n Guide.

", "smithy.api#http": { "method": "POST", "uri": "/applications/{ApplicationId}/configurationprofiles", @@ -560,7 +560,7 @@ "Type": { "target": "com.amazonaws.appconfig#ConfigurationProfileType", "traits": { - "smithy.api#documentation": "

The type of configurations that the configuration profile contains. A configuration can\n be a feature flag used for enabling or disabling new features or a free-form configuration\n used for distributing configurations to your application.

" + "smithy.api#documentation": "

The type of configurations contained in the profile. AppConfig supports feature\n flags and freeform configurations. We recommend you create feature\n flag configurations to enable or disable new features and freeform configurations to\n distribute configurations to an application. When calling this API, enter one of the\n following values for Type:

\n

\n AWS.AppConfig.FeatureFlags\n

\n

\n AWS.Freeform\n

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

Retrieves information about a configuration.

\n \n

AppConfig uses the value of the ClientConfigurationVersion parameter to\n identify the configuration version on your clients. If you don’t send\n ClientConfigurationVersion with each call to\n GetConfiguration, your clients receive the current configuration. You\n are charged each time your clients receive a configuration.

\n

To avoid excess charges, we recommend that you include the\n ClientConfigurationVersion value with every call to\n GetConfiguration. This value must be saved on your client. Subsequent\n calls to GetConfiguration must pass this value by using the\n ClientConfigurationVersion parameter.

\n
", + "smithy.api#deprecated": { + "message": "This API has been deprecated in favor of the GetLatestConfiguration API used in conjunction with StartConfigurationSession." + }, + "smithy.api#documentation": "

Retrieves the latest deployed configuration.

\n\n \n

Note the following important information.

\n \n
", "smithy.api#http": { "method": "GET", "uri": "/applications/{Application}/environments/{Environment}/configurations/{Configuration}", @@ -2050,13 +2053,13 @@ "Constraint": { "target": "com.amazonaws.appconfig#String", "traits": { - "smithy.api#documentation": "

The invalid or out-of-range validation constraint in your JSON schema that failed validation.

" + "smithy.api#documentation": "

The invalid or out-of-range validation constraint in your JSON schema that failed\n validation.

" } }, "Location": { "target": "com.amazonaws.appconfig#String", "traits": { - "smithy.api#documentation": "

Location of the validation constraint in the configuration JSON schema that failed validation.

" + "smithy.api#documentation": "

Location of the validation constraint in the configuration JSON schema that failed\n validation.

" } }, "Reason": { @@ -2073,7 +2076,7 @@ } }, "traits": { - "smithy.api#documentation": "

Detailed information about the bad request exception error when creating a hosted configuration version.

" + "smithy.api#documentation": "

Detailed information about the bad request exception error when creating a hosted\n configuration version.

" } }, "com.amazonaws.appconfig#InvalidConfigurationDetailList": { @@ -2200,7 +2203,7 @@ "Type": { "target": "com.amazonaws.appconfig#ConfigurationProfileType", "traits": { - "smithy.api#documentation": "

A filter based on the type of configurations that the configuration profile contains. A\n configuration can be a feature flag or a free-form configuration.

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

A filter based on the type of configurations that the configuration profile contains. A\n configuration can be a feature flag or a freeform configuration.

", "smithy.api#httpQuery": "type" } } @@ -2276,7 +2279,7 @@ } ], "traits": { - "smithy.api#documentation": "

Lists the deployments for an environment.

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

Lists the deployments for an environment in descending deployment number order.

", "smithy.api#http": { "method": "GET", "uri": "/applications/{ApplicationId}/environments/{EnvironmentId}/deployments", @@ -2312,14 +2315,14 @@ "target": "com.amazonaws.appconfig#MaxResults", "traits": { "smithy.api#box": {}, - "smithy.api#documentation": "

The maximum number of items to return for this call. The call also returns a token that\n you can specify in a subsequent call to get the next set of results.

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

The maximum number of items that may be returned for this call. If there are items that\n have not yet been returned, the response will include a non-null NextToken\n that you can provide in a subsequent call to get the next set of results.

", "smithy.api#httpQuery": "max_results" } }, "NextToken": { "target": "com.amazonaws.appconfig#NextToken", "traits": { - "smithy.api#documentation": "

A token to start the list. Use this token to get the next set of results.

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

The token returned by a prior call to this operation indicating the next set of results\n to be returned. If not specified, the operation will return the first set of\n results.

", "smithy.api#httpQuery": "next_token" } } @@ -3352,7 +3355,7 @@ } }, "traits": { - "smithy.api#documentation": "

A validator provides a syntactic or semantic check to ensure the configuration that you\n want to deploy functions as intended. To validate your application configuration data, you\n provide a schema or a Lambda function that runs against the configuration. The\n configuration deployment or update can only proceed when the configuration data is\n valid.

" + "smithy.api#documentation": "

A validator provides a syntactic or semantic check to ensure the configuration that you\n want to deploy functions as intended. To validate your application configuration data, you\n provide a schema or an Amazon Web Services Lambda function that runs against the configuration. The\n configuration deployment or update can only proceed when the configuration data is\n valid.

" } }, "com.amazonaws.appconfig#ValidatorList": { diff --git a/codegen/sdk-codegen/aws-models/appconfigdata.2021-11-11.json b/codegen/sdk-codegen/aws-models/appconfigdata.2021-11-11.json index aaa66cf99a8..7a56eccee1e 100644 --- a/codegen/sdk-codegen/aws-models/appconfigdata.2021-11-11.json +++ b/codegen/sdk-codegen/aws-models/appconfigdata.2021-11-11.json @@ -16,7 +16,7 @@ "name": "appconfig" }, "aws.protocols#restJson1": {}, - "smithy.api#documentation": "

Use the AppConfigData API, a capability of AWS AppConfig, to retrieve deployed configuration.

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

AppConfig Data provides the data plane APIs your application uses to retrieve configuration data.\n Here's how it works:

\n

Your application retrieves configuration data by first establishing a configuration\n session using the AppConfig Data StartConfigurationSession API action. Your session's\n client then makes periodic calls to GetLatestConfiguration to check for\n and retrieve the latest data available.

\n

When calling StartConfigurationSession, your code sends the following\n information:

\n \n

In response, AppConfig provides an InitialConfigurationToken to be given to\n the session's client and used the first time it calls GetLatestConfiguration\n for that session.

\n

When calling GetLatestConfiguration, your client code sends the most recent\n ConfigurationToken value it has and receives in response:

\n \n

For more information and to view example CLI commands that show how to retrieve a\n configuration using the AppConfig Data StartConfigurationSession and\n GetLatestConfiguration API actions, see Receiving the\n configuration in the AppConfig User Guide.

", "smithy.api#title": "AWS AppConfig Data" }, "version": "2021-11-11", @@ -37,12 +37,12 @@ "InvalidParameters": { "target": "com.amazonaws.appconfigdata#InvalidParameterMap", "traits": { - "smithy.api#documentation": "

Present if the Reason for the bad request was 'InvalidParameters'

" + "smithy.api#documentation": "

One or more specified parameters are not valid for the call.

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

Details describing why the request was invalid

" + "smithy.api#documentation": "

Detailed information about the input that failed to satisfy the constraints specified by\n a call.

" } }, "com.amazonaws.appconfigdata#BadRequestException": { @@ -60,7 +60,7 @@ "Details": { "target": "com.amazonaws.appconfigdata#BadRequestDetails", "traits": { - "smithy.api#documentation": "

Details describing why the request was invalid

" + "smithy.api#documentation": "

Details describing why the request was invalid.

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

Retrieves the latest deployed configuration. This API may return empty Configuration data if the client already has the latest version. See StartConfigurationSession to obtain an InitialConfigurationToken to call this API.

\n \n

Each call to GetLatestConfiguration returns a new ConfigurationToken (NextPollConfigurationToken\n in the response). This new token MUST be provided to the next call to GetLatestConfiguration when\n polling for configuration updates.

\n

To avoid excess charges, we recommend that you include the\n ClientConfigurationVersion value with every call to\n GetConfiguration. This value must be saved on your client. Subsequent\n calls to GetConfiguration must pass this value by using the\n ClientConfigurationVersion parameter.

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

Retrieves the latest deployed configuration. This API may return empty configuration\n data if the client already has the latest version. For more information about this API\n action and to view example CLI commands that show how to use it with the StartConfigurationSession API action, see Receiving the\n configuration in the AppConfig User Guide.

\n \n

Note the following important information.

\n \n
", "smithy.api#http": { "method": "GET", "uri": "/configuration", @@ -134,14 +134,11 @@ "ConfigurationToken": { "target": "com.amazonaws.appconfigdata#Token", "traits": { - "smithy.api#documentation": "

Token describing the current state of the configuration session. To obtain a token, first call the StartConfigurationSession API. Note that every call to GetLatestConfiguration will return a new ConfigurationToken (NextPollConfigurationToken in the response) and MUST be provided to subsequent GetLatestConfiguration API calls.

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

Token describing the current state of the configuration session. To obtain a token,\n first call the StartConfigurationSession API. Note that every call to\n GetLatestConfiguration will return a new ConfigurationToken\n (NextPollConfigurationToken in the response) and MUST be provided to\n subsequent GetLatestConfiguration API calls.

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

Request parameters for the GetLatestConfiguration API

" } }, "com.amazonaws.appconfigdata#GetLatestConfigurationResponse": { @@ -150,14 +147,14 @@ "NextPollConfigurationToken": { "target": "com.amazonaws.appconfigdata#Token", "traits": { - "smithy.api#documentation": "

The latest token describing the current state of the configuration session. This MUST be provided to the next call to GetLatestConfiguration.

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

The latest token describing the current state of the configuration session. This MUST be\n provided to the next call to GetLatestConfiguration.\n

", "smithy.api#httpHeader": "Next-Poll-Configuration-Token" } }, "NextPollIntervalInSeconds": { "target": "com.amazonaws.appconfigdata#Integer", "traits": { - "smithy.api#documentation": "

The amount of time the client should wait before polling for configuration updates again. See RequiredMinimumPollIntervalInSeconds to set the desired poll interval.

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

The amount of time the client should wait before polling for configuration updates\n again. Use RequiredMinimumPollIntervalInSeconds to set the desired poll\n interval.

", "smithy.api#httpHeader": "Next-Poll-Interval-In-Seconds" } }, @@ -171,14 +168,11 @@ "Configuration": { "target": "com.amazonaws.appconfigdata#Blob", "traits": { - "smithy.api#documentation": "

The data of the configuration. Note that this may be empty if the client already has the latest version of configuration.

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

The data of the configuration. This may be empty if the client already has the latest\n version of configuration.

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

Response parameters for the GetLatestConfiguration API

" } }, "com.amazonaws.appconfigdata#Id": { @@ -218,12 +212,12 @@ "Problem": { "target": "com.amazonaws.appconfigdata#InvalidParameterProblem", "traits": { - "smithy.api#documentation": "

Detail describing why an individual parameter did not satisfy the constraints specified by the service

" + "smithy.api#documentation": "

The reason the parameter is invalid.

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

Contains details about an invalid parameter.

" + "smithy.api#documentation": "

Information about an invalid parameter.

" } }, "com.amazonaws.appconfigdata#InvalidParameterMap": { @@ -347,7 +341,7 @@ } ], "traits": { - "smithy.api#documentation": "

Starts a configuration session used to retrieve a deployed configuration. See the GetLatestConfiguration API for more details.

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

Starts a configuration session used to retrieve a deployed configuration. For more\n information about this API action and to view example CLI commands that show how to use\n it with the GetLatestConfiguration API action, see Receiving the\n configuration in the AppConfig User Guide.

", "smithy.api#http": { "method": "POST", "uri": "/configurationsessions", @@ -382,12 +376,9 @@ "RequiredMinimumPollIntervalInSeconds": { "target": "com.amazonaws.appconfigdata#OptionalPollSeconds", "traits": { - "smithy.api#documentation": "

The interval at which your client will poll for configuration. If provided, the service\n will throw a BadRequestException if the client polls before the specified poll interval. By default,\n client poll intervals are not enforced.

" + "smithy.api#documentation": "

Sets a constraint on a session. If you specify a value of, for example, 60 seconds, then\n the client that established the session can't call GetLatestConfiguration\n more frequently then every 60 seconds.

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

Request parameters for the StartConfigurationSession API.

" } }, "com.amazonaws.appconfigdata#StartConfigurationSessionResponse": { @@ -396,12 +387,9 @@ "InitialConfigurationToken": { "target": "com.amazonaws.appconfigdata#Token", "traits": { - "smithy.api#documentation": "

Token encapsulating state about the configuration session. Provide this token to the GetLatestConfiguration API to retrieve configuration data.

\n \n

This token should only be used once in your first call to GetLatestConfiguration. You MUST use the\n new token in the GetConfiguration response (NextPollConfigurationToken) in each subsequent call to\n GetLatestConfiguration.

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

Token encapsulating state about the configuration session. Provide this token to the\n GetLatestConfiguration API to retrieve configuration data.

\n \n

This token should only be used once in your first call to\n GetLatestConfiguration. You MUST use the new token in the\n GetLatestConfiguration response\n (NextPollConfigurationToken) in each subsequent call to\n GetLatestConfiguration.

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

Response parameters for the StartConfigurationSession API.

" } }, "com.amazonaws.appconfigdata#String": { diff --git a/codegen/sdk-codegen/aws-models/appflow.2020-08-23.json b/codegen/sdk-codegen/aws-models/appflow.2020-08-23.json index cc93c1de620..27ef6fb5190 100644 --- a/codegen/sdk-codegen/aws-models/appflow.2020-08-23.json +++ b/codegen/sdk-codegen/aws-models/appflow.2020-08-23.json @@ -39,6 +39,19 @@ "smithy.api#pattern": "^arn:aws:.*:.*:[0-9]+:" } }, + "com.amazonaws.appflow#AccessDeniedException": { + "type": "structure", + "members": { + "message": { + "target": "com.amazonaws.appflow#ErrorMessage" + } + }, + "traits": { + "smithy.api#documentation": "

AppFlow/Requester has invalid or missing permissions.

", + "smithy.api#error": "client", + "smithy.api#httpError": 403 + } + }, "com.amazonaws.appflow#AccessKeyId": { "type": "string", "traits": { @@ -55,7 +68,7 @@ "traits": { "smithy.api#length": { "min": 0, - "max": 512 + "max": 2048 }, "smithy.api#pattern": "^\\S+$", "smithy.api#sensitive": {} @@ -169,7 +182,29 @@ "min": 0, "max": 256 }, - "smithy.api#pattern": "^\\S+$" + "smithy.api#pattern": "^\\S+$", + "smithy.api#sensitive": {} + } + }, + "com.amazonaws.appflow#ApiKeyCredentials": { + "type": "structure", + "members": { + "apiKey": { + "target": "com.amazonaws.appflow#ApiKey", + "traits": { + "smithy.api#documentation": "

The API key required for API key authentication.

", + "smithy.api#required": {} + } + }, + "apiSecretKey": { + "target": "com.amazonaws.appflow#ApiSecretKey", + "traits": { + "smithy.api#documentation": "

The API secret key required for API key authentication.

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

The API key credentials required for API key authentication.

" } }, "com.amazonaws.appflow#ApiSecretKey": { @@ -193,6 +228,16 @@ "smithy.api#pattern": "^\\S+$" } }, + "com.amazonaws.appflow#ApiVersion": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 256 + }, + "smithy.api#pattern": "^\\S+$" + } + }, "com.amazonaws.appflow#ApplicationHostUrl": { "type": "string", "traits": { @@ -223,6 +268,16 @@ "smithy.api#pattern": "^\\S+$" } }, + "com.amazonaws.appflow#ApplicationType": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 512 + }, + "smithy.api#pattern": "^\\S+$" + } + }, "com.amazonaws.appflow#AuthCode": { "type": "string", "traits": { @@ -243,6 +298,129 @@ "smithy.api#pattern": "^(https?)://[-a-zA-Z0-9+&@#/%?=~_|!:,.;]*[-a-zA-Z0-9+&@#/%=~_|]$" } }, + "com.amazonaws.appflow#AuthCodeUrlList": { + "type": "list", + "member": { + "target": "com.amazonaws.appflow#AuthCodeUrl" + } + }, + "com.amazonaws.appflow#AuthParameter": { + "type": "structure", + "members": { + "key": { + "target": "com.amazonaws.appflow#Key", + "traits": { + "smithy.api#documentation": "

The authentication key required to authenticate with the connector.

" + } + }, + "isRequired": { + "target": "com.amazonaws.appflow#Boolean", + "traits": { + "smithy.api#documentation": "

Indicates whether this authentication parameter is required.

" + } + }, + "label": { + "target": "com.amazonaws.appflow#Label", + "traits": { + "smithy.api#documentation": "

Label used for authentication parameter.

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

A description about the authentication parameter.

" + } + }, + "isSensitiveField": { + "target": "com.amazonaws.appflow#Boolean", + "traits": { + "smithy.api#documentation": "

Indicates whether this authentication parameter is a sensitive field.

" + } + }, + "connectorSuppliedValues": { + "target": "com.amazonaws.appflow#ConnectorSuppliedValueList", + "traits": { + "smithy.api#documentation": "

Contains default values for this authentication parameter that are supplied by the\n connector.

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

Information about required authentication parameters.

" + } + }, + "com.amazonaws.appflow#AuthParameterList": { + "type": "list", + "member": { + "target": "com.amazonaws.appflow#AuthParameter" + } + }, + "com.amazonaws.appflow#AuthenticationConfig": { + "type": "structure", + "members": { + "isBasicAuthSupported": { + "target": "com.amazonaws.appflow#Boolean", + "traits": { + "smithy.api#documentation": "

Indicates whether basic authentication is supported by the connector.

" + } + }, + "isApiKeyAuthSupported": { + "target": "com.amazonaws.appflow#Boolean", + "traits": { + "smithy.api#documentation": "

Indicates whether API key authentication is supported by the connector

" + } + }, + "isOAuth2Supported": { + "target": "com.amazonaws.appflow#Boolean", + "traits": { + "smithy.api#documentation": "

Indicates whether OAuth 2.0 authentication is supported by the connector.

" + } + }, + "isCustomAuthSupported": { + "target": "com.amazonaws.appflow#Boolean", + "traits": { + "smithy.api#documentation": "

Indicates whether custom authentication is supported by the connector

" + } + }, + "oAuth2Defaults": { + "target": "com.amazonaws.appflow#OAuth2Defaults", + "traits": { + "smithy.api#documentation": "

Contains the default values required for OAuth 2.0 authentication.

" + } + }, + "customAuthConfigs": { + "target": "com.amazonaws.appflow#CustomAuthConfigList", + "traits": { + "smithy.api#documentation": "

Contains information required for custom authentication.

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

Contains information about the authentication config that the connector supports.

" + } + }, + "com.amazonaws.appflow#AuthenticationType": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "OAUTH2", + "name": "OAUTH2" + }, + { + "value": "APIKEY", + "name": "APIKEY" + }, + { + "value": "BASIC", + "name": "BASIC" + }, + { + "value": "CUSTOM", + "name": "CUSTOM" + } + ] + } + }, "com.amazonaws.appflow#BasicAuthCredentials": { "type": "structure", "members": { @@ -421,6 +599,114 @@ "traits": { "smithy.api#documentation": "

Specifies connector-specific metadata such as oAuthScopes,\n supportedRegions, privateLinkServiceUrl, and so on.

" } + }, + "connectorType": { + "target": "com.amazonaws.appflow#ConnectorType", + "traits": { + "smithy.api#documentation": "

The connector type.

" + } + }, + "connectorLabel": { + "target": "com.amazonaws.appflow#ConnectorLabel", + "traits": { + "smithy.api#documentation": "

The label used for registering the connector.

" + } + }, + "connectorDescription": { + "target": "com.amazonaws.appflow#ConnectorDescription", + "traits": { + "smithy.api#documentation": "

A description about the connector.

" + } + }, + "connectorOwner": { + "target": "com.amazonaws.appflow#ConnectorOwner", + "traits": { + "smithy.api#documentation": "

The owner who developed the connector.

" + } + }, + "connectorName": { + "target": "com.amazonaws.appflow#ConnectorName", + "traits": { + "smithy.api#documentation": "

The connector name.

" + } + }, + "connectorVersion": { + "target": "com.amazonaws.appflow#ConnectorVersion", + "traits": { + "smithy.api#documentation": "

The connector version.

" + } + }, + "connectorArn": { + "target": "com.amazonaws.appflow#ARN", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) for the registered connector.

" + } + }, + "connectorModes": { + "target": "com.amazonaws.appflow#ConnectorModeList", + "traits": { + "smithy.api#documentation": "

The connection modes that the connector supports.

" + } + }, + "authenticationConfig": { + "target": "com.amazonaws.appflow#AuthenticationConfig", + "traits": { + "smithy.api#documentation": "

The authentication config required for the connector.

" + } + }, + "connectorRuntimeSettings": { + "target": "com.amazonaws.appflow#ConnectorRuntimeSettingList", + "traits": { + "smithy.api#documentation": "

The required connector runtime settings.

" + } + }, + "supportedApiVersions": { + "target": "com.amazonaws.appflow#SupportedApiVersionList", + "traits": { + "smithy.api#documentation": "

A list of API versions that are supported by the connector.

" + } + }, + "supportedOperators": { + "target": "com.amazonaws.appflow#SupportedOperatorList", + "traits": { + "smithy.api#documentation": "

A list of operators supported by the connector.

" + } + }, + "supportedWriteOperations": { + "target": "com.amazonaws.appflow#SupportedWriteOperationList", + "traits": { + "smithy.api#documentation": "

A list of write operations supported by the connector.

" + } + }, + "connectorProvisioningType": { + "target": "com.amazonaws.appflow#ConnectorProvisioningType", + "traits": { + "smithy.api#documentation": "

The provisioning type used to register the connector.

" + } + }, + "connectorProvisioningConfig": { + "target": "com.amazonaws.appflow#ConnectorProvisioningConfig", + "traits": { + "smithy.api#documentation": "

The configuration required for registering the connector.

" + } + }, + "logoURL": { + "target": "com.amazonaws.appflow#LogoURL", + "traits": { + "smithy.api#documentation": "

Logo URL of the connector.

" + } + }, + "registeredAt": { + "target": "com.amazonaws.appflow#Date", + "traits": { + "smithy.api#documentation": "

The date on which the connector was registered.

" + } + }, + "registeredBy": { + "target": "com.amazonaws.appflow#RegisteredBy", + "traits": { + "smithy.api#documentation": "

Information about who registered the connector.

" + } } }, "traits": { @@ -436,6 +722,90 @@ "target": "com.amazonaws.appflow#ConnectorConfiguration" } }, + "com.amazonaws.appflow#ConnectorDescription": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 2048 + }, + "smithy.api#pattern": "^[\\w!@#\\-.?,\\s]*$" + } + }, + "com.amazonaws.appflow#ConnectorDetail": { + "type": "structure", + "members": { + "connectorDescription": { + "target": "com.amazonaws.appflow#ConnectorDescription", + "traits": { + "smithy.api#documentation": "

A description about the registered connector.

" + } + }, + "connectorName": { + "target": "com.amazonaws.appflow#ConnectorName", + "traits": { + "smithy.api#documentation": "

The name of the connector.

" + } + }, + "connectorOwner": { + "target": "com.amazonaws.appflow#ConnectorOwner", + "traits": { + "smithy.api#documentation": "

The owner of the connector.

" + } + }, + "connectorVersion": { + "target": "com.amazonaws.appflow#ConnectorVersion", + "traits": { + "smithy.api#documentation": "

The connector version.

" + } + }, + "applicationType": { + "target": "com.amazonaws.appflow#ApplicationType", + "traits": { + "smithy.api#documentation": "

The application type of the connector.

" + } + }, + "connectorType": { + "target": "com.amazonaws.appflow#ConnectorType", + "traits": { + "smithy.api#documentation": "

The connector type.

" + } + }, + "connectorLabel": { + "target": "com.amazonaws.appflow#ConnectorLabel", + "traits": { + "smithy.api#documentation": "

A label used for the connector.

" + } + }, + "registeredAt": { + "target": "com.amazonaws.appflow#Date", + "traits": { + "smithy.api#documentation": "

The time at which the connector was registered.

" + } + }, + "registeredBy": { + "target": "com.amazonaws.appflow#RegisteredBy", + "traits": { + "smithy.api#documentation": "

The user who registered the connector.

" + } + }, + "connectorProvisioningType": { + "target": "com.amazonaws.appflow#ConnectorProvisioningType", + "traits": { + "smithy.api#documentation": "

The provisioning type that the connector uses.

" + } + }, + "connectorModes": { + "target": "com.amazonaws.appflow#ConnectorModeList", + "traits": { + "smithy.api#documentation": "

The connection mode that the connector supports.

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

Information about the registered connector.

" + } + }, "com.amazonaws.appflow#ConnectorEntity": { "type": "structure", "members": { @@ -473,26 +843,50 @@ "smithy.api#required": {} } }, + "parentIdentifier": { + "target": "com.amazonaws.appflow#Identifier", + "traits": { + "smithy.api#documentation": "

The parent identifier of the connector field.

" + } + }, "label": { "target": "com.amazonaws.appflow#Label", "traits": { "smithy.api#documentation": "

The label applied to a connector entity field.

" } }, - "supportedFieldTypeDetails": { - "target": "com.amazonaws.appflow#SupportedFieldTypeDetails", + "isPrimaryKey": { + "target": "com.amazonaws.appflow#Boolean", "traits": { - "smithy.api#documentation": "

Contains details regarding the supported FieldType, including the\n corresponding filterOperators and supportedValues.

" + "smithy.api#documentation": "

Booelan value that indicates whether this field can be used as a primary key.

" } }, - "description": { - "target": "com.amazonaws.appflow#Description", + "defaultValue": { + "target": "com.amazonaws.appflow#String", "traits": { - "smithy.api#documentation": "

A description of the connector entity field.

" + "smithy.api#documentation": "

Default value that can be assigned to this field.

" } }, - "sourceProperties": { - "target": "com.amazonaws.appflow#SourceFieldProperties", + "isDeprecated": { + "target": "com.amazonaws.appflow#Boolean", + "traits": { + "smithy.api#documentation": "

Booelan value that indicates whether this field is deprecated or not.

" + } + }, + "supportedFieldTypeDetails": { + "target": "com.amazonaws.appflow#SupportedFieldTypeDetails", + "traits": { + "smithy.api#documentation": "

Contains details regarding the supported FieldType, including the\n corresponding filterOperators and supportedValues.

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

A description of the connector entity field.

" + } + }, + "sourceProperties": { + "target": "com.amazonaws.appflow#SourceFieldProperties", "traits": { "smithy.api#documentation": "

The properties that can be applied to a field when the connector is being used as a\n source.

" } @@ -502,6 +896,12 @@ "traits": { "smithy.api#documentation": "

The properties applied to a field when the connector is being used as a destination.\n

" } + }, + "customProperties": { + "target": "com.amazonaws.appflow#CustomProperties", + "traits": { + "smithy.api#documentation": "

A map that has specific properties related to the ConnectorEntityField.

" + } } }, "traits": { @@ -529,6 +929,22 @@ "target": "com.amazonaws.appflow#ConnectorEntityList" } }, + "com.amazonaws.appflow#ConnectorLabel": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 256 + }, + "smithy.api#pattern": "^[a-zA-Z0-9][\\w!@#.-]+$" + } + }, + "com.amazonaws.appflow#ConnectorList": { + "type": "list", + "member": { + "target": "com.amazonaws.appflow#ConnectorDetail" + } + }, "com.amazonaws.appflow#ConnectorMetadata": { "type": "structure", "members": { @@ -660,6 +1076,32 @@ "smithy.api#documentation": "

A structure to specify connector-specific metadata such as oAuthScopes,\n supportedRegions, privateLinkServiceUrl, and so on.

" } }, + "com.amazonaws.appflow#ConnectorMode": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 256 + }, + "smithy.api#pattern": "^\\S+$" + } + }, + "com.amazonaws.appflow#ConnectorModeList": { + "type": "list", + "member": { + "target": "com.amazonaws.appflow#ConnectorMode" + } + }, + "com.amazonaws.appflow#ConnectorName": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 256 + }, + "smithy.api#pattern": ".*" + } + }, "com.amazonaws.appflow#ConnectorOAuthRequest": { "type": "structure", "members": { @@ -772,12 +1214,28 @@ "traits": { "smithy.api#documentation": "

The operation to be performed on the provided SAPOData source fields.

" } + }, + "CustomConnector": { + "target": "com.amazonaws.appflow#Operator", + "traits": { + "smithy.api#documentation": "

Operators supported by the custom connector.

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

The operation to be performed on the provided source fields.

" } }, + "com.amazonaws.appflow#ConnectorOwner": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 256 + }, + "smithy.api#pattern": ".*" + } + }, "com.amazonaws.appflow#ConnectorProfile": { "type": "structure", "members": { @@ -799,6 +1257,12 @@ "smithy.api#documentation": "

The type of connector, such as Salesforce, Amplitude, and so on.

" } }, + "connectorLabel": { + "target": "com.amazonaws.appflow#ConnectorLabel", + "traits": { + "smithy.api#documentation": "

The label for the connector profile being created.

" + } + }, "connectionMode": { "target": "com.amazonaws.appflow#ConnectionMode", "traits": { @@ -847,7 +1311,7 @@ "min": 0, "max": 512 }, - "smithy.api#pattern": "^arn:aws:kms:.*:[0-9]+:" + "smithy.api#pattern": "^arn:aws:appflow:.*:[0-9]+:" } }, "com.amazonaws.appflow#ConnectorProfileConfig": { @@ -973,6 +1437,9 @@ }, "SAPOData": { "target": "com.amazonaws.appflow#SAPODataConnectorProfileCredentials" + }, + "CustomConnector": { + "target": "com.amazonaws.appflow#CustomConnectorProfileCredentials" } }, "traits": { @@ -1108,12 +1575,120 @@ }, "SAPOData": { "target": "com.amazonaws.appflow#SAPODataConnectorProfileProperties" + }, + "CustomConnector": { + "target": "com.amazonaws.appflow#CustomConnectorProfileProperties", + "traits": { + "smithy.api#documentation": "

The properties required by the custom connector.

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

The connector-specific profile properties required by each connector.

" } }, + "com.amazonaws.appflow#ConnectorProvisioningConfig": { + "type": "structure", + "members": { + "lambda": { + "target": "com.amazonaws.appflow#LambdaConnectorProvisioningConfig", + "traits": { + "smithy.api#documentation": "

Contains information about the configuration of the lambda which is being registered as\n the connector.

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

Contains information about the configuration of the connector being registered.

" + } + }, + "com.amazonaws.appflow#ConnectorProvisioningType": { + "type": "string", + "traits": { + "smithy.api#documentation": "

The type of provisioning that the connector supports, such as Lambda.

", + "smithy.api#enum": [ + { + "value": "LAMBDA", + "name": "LAMBDA" + } + ] + } + }, + "com.amazonaws.appflow#ConnectorRuntimeSetting": { + "type": "structure", + "members": { + "key": { + "target": "com.amazonaws.appflow#Key", + "traits": { + "smithy.api#documentation": "

Contains value information about the connector runtime setting.

" + } + }, + "dataType": { + "target": "com.amazonaws.appflow#ConnectorRuntimeSettingDataType", + "traits": { + "smithy.api#documentation": "

Data type of the connector runtime setting.

" + } + }, + "isRequired": { + "target": "com.amazonaws.appflow#Boolean", + "traits": { + "smithy.api#documentation": "

Indicates whether this connector runtime setting is required.

" + } + }, + "label": { + "target": "com.amazonaws.appflow#Label", + "traits": { + "smithy.api#documentation": "

A label used for connector runtime setting.

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

A description about the connector runtime setting.

" + } + }, + "scope": { + "target": "com.amazonaws.appflow#ConnectorRuntimeSettingScope", + "traits": { + "smithy.api#documentation": "

Indicates the scope of the connector runtime setting.

" + } + }, + "connectorSuppliedValueOptions": { + "target": "com.amazonaws.appflow#ConnectorSuppliedValueOptionList", + "traits": { + "smithy.api#documentation": "

Contains default values for the connector runtime setting that are supplied by the\n connector.

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

Contains information about the connector runtime settings that are required for flow\n execution.

" + } + }, + "com.amazonaws.appflow#ConnectorRuntimeSettingDataType": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 256 + }, + "smithy.api#pattern": "^\\S+$" + } + }, + "com.amazonaws.appflow#ConnectorRuntimeSettingList": { + "type": "list", + "member": { + "target": "com.amazonaws.appflow#ConnectorRuntimeSetting" + } + }, + "com.amazonaws.appflow#ConnectorRuntimeSettingScope": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 256 + }, + "smithy.api#pattern": "^\\S+$" + } + }, "com.amazonaws.appflow#ConnectorServerException": { "type": "structure", "members": { @@ -1127,6 +1702,28 @@ "smithy.api#httpError": 400 } }, + "com.amazonaws.appflow#ConnectorSuppliedValue": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 256 + }, + "smithy.api#pattern": "^\\S+$" + } + }, + "com.amazonaws.appflow#ConnectorSuppliedValueList": { + "type": "list", + "member": { + "target": "com.amazonaws.appflow#ConnectorSuppliedValue" + } + }, + "com.amazonaws.appflow#ConnectorSuppliedValueOptionList": { + "type": "list", + "member": { + "target": "com.amazonaws.appflow#ConnectorSuppliedValue" + } + }, "com.amazonaws.appflow#ConnectorType": { "type": "string", "traits": { @@ -1218,6 +1815,10 @@ { "value": "SAPOData", "name": "SAPODATA" + }, + { + "value": "CustomConnector", + "name": "CUSTOMCONNECTOR" } ] } @@ -1234,6 +1835,16 @@ } } }, + "com.amazonaws.appflow#ConnectorVersion": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 256 + }, + "smithy.api#pattern": "^\\S+$" + } + }, "com.amazonaws.appflow#CreateConnectorProfile": { "type": "operation", "input": { @@ -1260,7 +1871,7 @@ } ], "traits": { - "smithy.api#documentation": "

Creates a new connector profile associated with your Amazon Web Services account. There is a soft quota\n of 100 connector profiles per Amazon Web Services account. If you need more connector profiles than this quota\n allows, you can submit a request to the Amazon AppFlow team through the Amazon AppFlow support\n channel.

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

Creates a new connector profile associated with your Amazon Web Services account. There\n is a soft quota of 100 connector profiles per Amazon Web Services account. If you need more\n connector profiles than this quota allows, you can submit a request to the Amazon AppFlow team\n through the Amazon AppFlow support channel.

", "smithy.api#http": { "method": "POST", "uri": "/create-connector-profile", @@ -1291,10 +1902,16 @@ "smithy.api#required": {} } }, + "connectorLabel": { + "target": "com.amazonaws.appflow#ConnectorLabel", + "traits": { + "smithy.api#documentation": "

The label of the connector. The label is unique for each\n ConnectorRegistration in your Amazon Web Services account. Only needed if\n calling for CUSTOMCONNECTOR connector type/.

" + } + }, "connectionMode": { "target": "com.amazonaws.appflow#ConnectionMode", "traits": { - "smithy.api#documentation": "

Indicates the connection mode and specifies whether it is public or private. Private\n flows use Amazon Web Services PrivateLink to route data over Amazon Web Services infrastructure without exposing it to the\n public internet.

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

Indicates the connection mode and specifies whether it is public or private. Private\n flows use Amazon Web Services PrivateLink to route data over Amazon Web Services infrastructure\n without exposing it to the public internet.

", "smithy.api#required": {} } }, @@ -1371,74 +1988,319 @@ "description": { "target": "com.amazonaws.appflow#FlowDescription", "traits": { - "smithy.api#documentation": "

A description of the flow you want to create.

" + "smithy.api#documentation": "

A description of the flow you want to create.

" + } + }, + "kmsArn": { + "target": "com.amazonaws.appflow#KMSArn", + "traits": { + "smithy.api#documentation": "

The ARN (Amazon Resource Name) of the Key Management Service (KMS) key you provide for\n encryption. This is required if you do not want to use the Amazon AppFlow-managed KMS key. If\n you don't provide anything here, Amazon AppFlow uses the Amazon AppFlow-managed KMS key.\n

" + } + }, + "triggerConfig": { + "target": "com.amazonaws.appflow#TriggerConfig", + "traits": { + "smithy.api#documentation": "

The trigger settings that determine how and when the flow runs.

", + "smithy.api#required": {} + } + }, + "sourceFlowConfig": { + "target": "com.amazonaws.appflow#SourceFlowConfig", + "traits": { + "smithy.api#documentation": "

The configuration that controls how Amazon AppFlow retrieves data from the source\n connector.

", + "smithy.api#required": {} + } + }, + "destinationFlowConfigList": { + "target": "com.amazonaws.appflow#DestinationFlowConfigList", + "traits": { + "smithy.api#documentation": "

The configuration that controls how Amazon AppFlow places data in the destination\n connector.

", + "smithy.api#required": {} + } + }, + "tasks": { + "target": "com.amazonaws.appflow#Tasks", + "traits": { + "smithy.api#documentation": "

A list of tasks that Amazon AppFlow performs while transferring the data in the flow run.\n

", + "smithy.api#required": {} + } + }, + "tags": { + "target": "com.amazonaws.appflow#TagMap", + "traits": { + "smithy.api#documentation": "

The tags used to organize, track, or control access for your flow.

" + } + } + } + }, + "com.amazonaws.appflow#CreateFlowResponse": { + "type": "structure", + "members": { + "flowArn": { + "target": "com.amazonaws.appflow#FlowArn", + "traits": { + "smithy.api#documentation": "

The flow's Amazon Resource Name (ARN).

" + } + }, + "flowStatus": { + "target": "com.amazonaws.appflow#FlowStatus", + "traits": { + "smithy.api#documentation": "

Indicates the current status of the flow.

" + } + } + } + }, + "com.amazonaws.appflow#CreatedBy": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 256 + }, + "smithy.api#pattern": "^\\S+$" + } + }, + "com.amazonaws.appflow#CredentialsMap": { + "type": "map", + "key": { + "target": "com.amazonaws.appflow#CredentialsMapKey" + }, + "value": { + "target": "com.amazonaws.appflow#CredentialsMapValue" + }, + "traits": { + "smithy.api#length": { + "min": 0, + "max": 50 + } + } + }, + "com.amazonaws.appflow#CredentialsMapKey": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 128 + }, + "smithy.api#pattern": "^[\\w]+$", + "smithy.api#sensitive": {} + } + }, + "com.amazonaws.appflow#CredentialsMapValue": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 2048 + }, + "smithy.api#pattern": "^\\S+$", + "smithy.api#sensitive": {} + } + }, + "com.amazonaws.appflow#CustomAuthConfig": { + "type": "structure", + "members": { + "customAuthenticationType": { + "target": "com.amazonaws.appflow#CustomAuthenticationType", + "traits": { + "smithy.api#documentation": "

The authentication type that the custom connector uses.

" + } + }, + "authParameters": { + "target": "com.amazonaws.appflow#AuthParameterList", + "traits": { + "smithy.api#documentation": "

Information about authentication parameters required for authentication.

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

Configuration information required for custom authentication.

" + } + }, + "com.amazonaws.appflow#CustomAuthConfigList": { + "type": "list", + "member": { + "target": "com.amazonaws.appflow#CustomAuthConfig" + } + }, + "com.amazonaws.appflow#CustomAuthCredentials": { + "type": "structure", + "members": { + "customAuthenticationType": { + "target": "com.amazonaws.appflow#CustomAuthenticationType", + "traits": { + "smithy.api#documentation": "

The custom authentication type that the connector uses.

", + "smithy.api#required": {} + } + }, + "credentialsMap": { + "target": "com.amazonaws.appflow#CredentialsMap", + "traits": { + "smithy.api#documentation": "

A map that holds custom authentication credentials.

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

The custom credentials required for custom authentication.

" + } + }, + "com.amazonaws.appflow#CustomAuthenticationType": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 256 + }, + "smithy.api#pattern": "^\\S+$" + } + }, + "com.amazonaws.appflow#CustomConnectorDestinationProperties": { + "type": "structure", + "members": { + "entityName": { + "target": "com.amazonaws.appflow#EntityName", + "traits": { + "smithy.api#documentation": "

The entity specified in the custom connector as a destination in the flow.

", + "smithy.api#required": {} + } + }, + "errorHandlingConfig": { + "target": "com.amazonaws.appflow#ErrorHandlingConfig", + "traits": { + "smithy.api#documentation": "

The settings that determine how Amazon AppFlow handles an error when placing data in the\n custom connector as destination.

" + } + }, + "writeOperationType": { + "target": "com.amazonaws.appflow#WriteOperationType", + "traits": { + "smithy.api#documentation": "

Specifies the type of write operation to be performed in the custom connector when it's\n used as destination.

" + } + }, + "idFieldNames": { + "target": "com.amazonaws.appflow#IdFieldNameList", + "traits": { + "smithy.api#documentation": "

The name of the field that Amazon AppFlow uses as an ID when performing a write operation\n such as update, delete, or upsert.

" } }, - "kmsArn": { - "target": "com.amazonaws.appflow#KMSArn", + "customProperties": { + "target": "com.amazonaws.appflow#CustomProperties", "traits": { - "smithy.api#documentation": "

The ARN (Amazon Resource Name) of the Key Management Service (KMS) key you provide for\n encryption. This is required if you do not want to use the Amazon AppFlow-managed KMS key. If\n you don't provide anything here, Amazon AppFlow uses the Amazon AppFlow-managed KMS key.\n

" + "smithy.api#documentation": "

The custom properties that are specific to the connector when it's used as a destination\n in the flow.

" } - }, - "triggerConfig": { - "target": "com.amazonaws.appflow#TriggerConfig", + } + }, + "traits": { + "smithy.api#documentation": "

The properties that are applied when the custom connector is being used as a\n destination.

" + } + }, + "com.amazonaws.appflow#CustomConnectorProfileCredentials": { + "type": "structure", + "members": { + "authenticationType": { + "target": "com.amazonaws.appflow#AuthenticationType", "traits": { - "smithy.api#documentation": "

The trigger settings that determine how and when the flow runs.

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

The authentication type that the custom connector uses for authenticating while creating a\n connector profile.

", "smithy.api#required": {} } }, - "sourceFlowConfig": { - "target": "com.amazonaws.appflow#SourceFlowConfig", + "basic": { + "target": "com.amazonaws.appflow#BasicAuthCredentials", "traits": { - "smithy.api#documentation": "

The configuration that controls how Amazon AppFlow retrieves data from the source\n connector.

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

The basic credentials that are required for the authentication of the user.

" } }, - "destinationFlowConfigList": { - "target": "com.amazonaws.appflow#DestinationFlowConfigList", + "oauth2": { + "target": "com.amazonaws.appflow#OAuth2Credentials", "traits": { - "smithy.api#documentation": "

The configuration that controls how Amazon AppFlow places data in the destination\n connector.

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

The OAuth 2.0 credentials required for the authentication of the user.

" } }, - "tasks": { - "target": "com.amazonaws.appflow#Tasks", + "apiKey": { + "target": "com.amazonaws.appflow#ApiKeyCredentials", "traits": { - "smithy.api#documentation": "

A list of tasks that Amazon AppFlow performs while transferring the data in the flow run.\n

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

The API keys required for the authentication of the user.

" } }, - "tags": { - "target": "com.amazonaws.appflow#TagMap", + "custom": { + "target": "com.amazonaws.appflow#CustomAuthCredentials", "traits": { - "smithy.api#documentation": "

The tags used to organize, track, or control access for your flow.

" + "smithy.api#documentation": "

If the connector uses the custom authentication mechanism, this holds the required\n credentials.

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

The connector-specific profile credentials that are required when using the custom\n connector.

" } }, - "com.amazonaws.appflow#CreateFlowResponse": { + "com.amazonaws.appflow#CustomConnectorProfileProperties": { "type": "structure", "members": { - "flowArn": { - "target": "com.amazonaws.appflow#FlowArn", + "profileProperties": { + "target": "com.amazonaws.appflow#ProfilePropertiesMap", "traits": { - "smithy.api#documentation": "

The flow's Amazon Resource Name (ARN).

" + "smithy.api#documentation": "

A map of properties that are required to create a profile for the custom connector.

" } }, - "flowStatus": { - "target": "com.amazonaws.appflow#FlowStatus", + "oAuth2Properties": { + "target": "com.amazonaws.appflow#OAuth2Properties" + } + }, + "traits": { + "smithy.api#documentation": "

The profile properties required by the custom connector.

" + } + }, + "com.amazonaws.appflow#CustomConnectorSourceProperties": { + "type": "structure", + "members": { + "entityName": { + "target": "com.amazonaws.appflow#EntityName", "traits": { - "smithy.api#documentation": "

Indicates the current status of the flow.

" + "smithy.api#documentation": "

The entity specified in the custom connector as a source in the flow.

", + "smithy.api#required": {} + } + }, + "customProperties": { + "target": "com.amazonaws.appflow#CustomProperties", + "traits": { + "smithy.api#documentation": "

Custom properties that are required to use the custom connector as a source.

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

The properties that are applied when the custom connector is being used as a\n source.

" } }, - "com.amazonaws.appflow#CreatedBy": { + "com.amazonaws.appflow#CustomProperties": { + "type": "map", + "key": { + "target": "com.amazonaws.appflow#CustomPropertyKey" + }, + "value": { + "target": "com.amazonaws.appflow#CustomPropertyValue" + }, + "traits": { + "smithy.api#length": { + "min": 0, + "max": 50 + } + } + }, + "com.amazonaws.appflow#CustomPropertyKey": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 128 + }, + "smithy.api#pattern": "^[\\w]+$" + } + }, + "com.amazonaws.appflow#CustomPropertyValue": { "type": "string", "traits": { "smithy.api#length": { "min": 0, - "max": 256 + "max": 2048 }, "smithy.api#pattern": "^\\S+$" } @@ -1735,6 +2597,34 @@ "type": "structure", "members": {} }, + "com.amazonaws.appflow#DescribeConnector": { + "type": "operation", + "input": { + "target": "com.amazonaws.appflow#DescribeConnectorRequest" + }, + "output": { + "target": "com.amazonaws.appflow#DescribeConnectorResponse" + }, + "errors": [ + { + "target": "com.amazonaws.appflow#InternalServerException" + }, + { + "target": "com.amazonaws.appflow#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.appflow#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Describes the given custom connector registered in your Amazon Web Services account. This\n API can be used for custom connectors that are registered in your account and also for Amazon\n authored connectors.

", + "smithy.api#http": { + "method": "POST", + "uri": "/describe-connector", + "code": 200 + } + } + }, "com.amazonaws.appflow#DescribeConnectorEntity": { "type": "operation", "input": { @@ -1773,7 +2663,7 @@ "type": "structure", "members": { "connectorEntityName": { - "target": "com.amazonaws.appflow#Name", + "target": "com.amazonaws.appflow#EntityName", "traits": { "smithy.api#documentation": "

The entity name for that connector.

", "smithy.api#required": {} @@ -1790,6 +2680,12 @@ "traits": { "smithy.api#documentation": "

The name of the connector profile. The name is unique for each\n ConnectorProfile in the Amazon Web Services account.

" } + }, + "apiVersion": { + "target": "com.amazonaws.appflow#ApiVersion", + "traits": { + "smithy.api#documentation": "

The version of the API that's used by the connector.

" + } } } }, @@ -1850,6 +2746,12 @@ "smithy.api#documentation": "

The type of connector, such as Salesforce, Amplitude, and so on.

" } }, + "connectorLabel": { + "target": "com.amazonaws.appflow#ConnectorLabel", + "traits": { + "smithy.api#documentation": "

The name of the connector. The name is unique for each ConnectorRegistration\n in your Amazon Web Services account. Only needed if calling for CUSTOMCONNECTOR connector\n type/.

" + } + }, "maxResults": { "target": "com.amazonaws.appflow#MaxResults", "traits": { @@ -1881,6 +2783,35 @@ } } }, + "com.amazonaws.appflow#DescribeConnectorRequest": { + "type": "structure", + "members": { + "connectorType": { + "target": "com.amazonaws.appflow#ConnectorType", + "traits": { + "smithy.api#documentation": "

The connector type, such as CUSTOMCONNECTOR, Saleforce, Marketo. Please choose\n CUSTOMCONNECTOR for Lambda based custom connectors.

", + "smithy.api#required": {} + } + }, + "connectorLabel": { + "target": "com.amazonaws.appflow#ConnectorLabel", + "traits": { + "smithy.api#documentation": "

The label of the connector. The label is unique for each\n ConnectorRegistration in your Amazon Web Services account. Only needed if\n calling for CUSTOMCONNECTOR connector type/.

" + } + } + } + }, + "com.amazonaws.appflow#DescribeConnectorResponse": { + "type": "structure", + "members": { + "connectorConfiguration": { + "target": "com.amazonaws.appflow#ConnectorConfiguration", + "traits": { + "smithy.api#documentation": "

Configuration info of all the connectors that the user requested.

" + } + } + } + }, "com.amazonaws.appflow#DescribeConnectors": { "type": "operation", "input": { @@ -1906,7 +2837,8 @@ }, "smithy.api#paginated": { "inputToken": "nextToken", - "outputToken": "nextToken" + "outputToken": "nextToken", + "pageSize": "maxResults" } } }, @@ -1919,6 +2851,12 @@ "smithy.api#documentation": "

The type of connector, such as Salesforce, Amplitude, and so on.

" } }, + "maxResults": { + "target": "com.amazonaws.appflow#MaxResults", + "traits": { + "smithy.api#documentation": "

The maximum number of items that should be returned in the result set. The default is\n 20.

" + } + }, "nextToken": { "target": "com.amazonaws.appflow#NextToken", "traits": { @@ -1936,6 +2874,12 @@ "smithy.api#documentation": "

The configuration that is applied to the connectors used in the flow.

" } }, + "connectors": { + "target": "com.amazonaws.appflow#ConnectorList", + "traits": { + "smithy.api#documentation": "

Information about the connectors supported in Amazon AppFlow.

" + } + }, "nextToken": { "target": "com.amazonaws.appflow#NextToken", "traits": { @@ -2228,6 +3172,18 @@ "traits": { "smithy.api#documentation": "

The properties required to query Zendesk.

" } + }, + "CustomConnector": { + "target": "com.amazonaws.appflow#CustomConnectorDestinationProperties", + "traits": { + "smithy.api#documentation": "

The properties that are required to query the custom Connector.

" + } + }, + "SAPOData": { + "target": "com.amazonaws.appflow#SAPODataDestinationProperties", + "traits": { + "smithy.api#documentation": "

The properties required to query SAPOData.

" + } } }, "traits": { @@ -2271,6 +3227,12 @@ "smithy.api#documentation": "

Specifies whether the field can be updated during an UPDATE or\n UPSERT write operation.

" } }, + "isDefaultedOnCreate": { + "target": "com.amazonaws.appflow#Boolean", + "traits": { + "smithy.api#documentation": "

Specifies whether the field can use the default value during a Create operation.

" + } + }, "supportedWriteOperations": { "target": "com.amazonaws.appflow#SupportedWriteOperationList", "traits": { @@ -2292,6 +3254,12 @@ "smithy.api#required": {} } }, + "apiVersion": { + "target": "com.amazonaws.appflow#ApiVersion", + "traits": { + "smithy.api#documentation": "

The API version that the destination connector uses.

" + } + }, "connectorProfileName": { "target": "com.amazonaws.appflow#ConnectorProfileName", "traits": { @@ -2336,6 +3304,9 @@ "smithy.api#pattern": "^\\S+$" } }, + "com.amazonaws.appflow#Double": { + "type": "double" + }, "com.amazonaws.appflow#DynatraceConnectorOperator": { "type": "string", "traits": { @@ -2465,6 +3436,16 @@ "smithy.api#pattern": "^[\\s\\w/!@#+=.-]*$" } }, + "com.amazonaws.appflow#EntityName": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 1024 + }, + "smithy.api#pattern": "^\\S+$" + } + }, "com.amazonaws.appflow#ErrorHandlingConfig": { "type": "structure", "members": { @@ -2718,6 +3699,30 @@ "traits": { "smithy.api#documentation": "

The list of values that a field can contain. For example, a Boolean\n fieldType can have two values: \"true\" and \"false\".

" } + }, + "valueRegexPattern": { + "target": "com.amazonaws.appflow#String", + "traits": { + "smithy.api#documentation": "

The regular expression pattern for the field name.

" + } + }, + "supportedDateFormat": { + "target": "com.amazonaws.appflow#String", + "traits": { + "smithy.api#documentation": "

The date format that the field supports.

" + } + }, + "fieldValueRange": { + "target": "com.amazonaws.appflow#Range", + "traits": { + "smithy.api#documentation": "

The range of values this field can hold.

" + } + }, + "fieldLengthRange": { + "target": "com.amazonaws.appflow#Range", + "traits": { + "smithy.api#documentation": "

This is the allowable length range for this field's value.

" + } } }, "traits": { @@ -2792,12 +3797,24 @@ "smithy.api#documentation": "

Specifies the source connector type, such as Salesforce, Amazon S3, Amplitude, and so on.\n

" } }, + "sourceConnectorLabel": { + "target": "com.amazonaws.appflow#ConnectorLabel", + "traits": { + "smithy.api#documentation": "

The label of the source connector in the flow.

" + } + }, "destinationConnectorType": { "target": "com.amazonaws.appflow#ConnectorType", "traits": { "smithy.api#documentation": "

Specifies the destination connector type, such as Salesforce, Amazon S3, Amplitude, and\n so on.

" } }, + "destinationConnectorLabel": { + "target": "com.amazonaws.appflow#ConnectorLabel", + "traits": { + "smithy.api#documentation": "

The label of the destination connector in the flow.

" + } + }, "triggerType": { "target": "com.amazonaws.appflow#TriggerType", "traits": { @@ -3089,8 +4106,7 @@ "traits": { "smithy.api#documentation": "

A list of field names that can be used as an ID field when performing a write operation.\n

", "smithy.api#length": { - "min": 0, - "max": 1 + "min": 0 } } }, @@ -3311,71 +4327,156 @@ "smithy.api#pattern": ".*" } }, - "com.amazonaws.appflow#ListConnectorEntities": { + "com.amazonaws.appflow#LambdaConnectorProvisioningConfig": { + "type": "structure", + "members": { + "lambdaArn": { + "target": "com.amazonaws.appflow#ARN", + "traits": { + "smithy.api#documentation": "

Lambda ARN of the connector being registered.

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

Contains information about the configuration of the lambda which is being registered as\n the connector.

" + } + }, + "com.amazonaws.appflow#ListConnectorEntities": { + "type": "operation", + "input": { + "target": "com.amazonaws.appflow#ListConnectorEntitiesRequest" + }, + "output": { + "target": "com.amazonaws.appflow#ListConnectorEntitiesResponse" + }, + "errors": [ + { + "target": "com.amazonaws.appflow#ConnectorAuthenticationException" + }, + { + "target": "com.amazonaws.appflow#ConnectorServerException" + }, + { + "target": "com.amazonaws.appflow#InternalServerException" + }, + { + "target": "com.amazonaws.appflow#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.appflow#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Returns the list of available connector entities supported by Amazon AppFlow. For\n example, you can query Salesforce for Account and\n Opportunity entities, or query ServiceNow for the\n Incident entity.

", + "smithy.api#http": { + "method": "POST", + "uri": "/list-connector-entities", + "code": 200 + } + } + }, + "com.amazonaws.appflow#ListConnectorEntitiesRequest": { + "type": "structure", + "members": { + "connectorProfileName": { + "target": "com.amazonaws.appflow#ConnectorProfileName", + "traits": { + "smithy.api#documentation": "

The name of the connector profile. The name is unique for each\n ConnectorProfile in the Amazon Web Services account, and is used to query the\n downstream connector.

" + } + }, + "connectorType": { + "target": "com.amazonaws.appflow#ConnectorType", + "traits": { + "smithy.api#documentation": "

The type of connector, such as Salesforce, Amplitude, and so on.

" + } + }, + "entitiesPath": { + "target": "com.amazonaws.appflow#EntitiesPath", + "traits": { + "smithy.api#documentation": "

This optional parameter is specific to connector implementation. Some connectors support\n multiple levels or categories of entities. You can find out the list of roots for such\n providers by sending a request without the entitiesPath parameter. If the\n connector supports entities at different roots, this initial request returns the list of\n roots. Otherwise, this request returns all entities supported by the provider.

" + } + }, + "apiVersion": { + "target": "com.amazonaws.appflow#ApiVersion", + "traits": { + "smithy.api#documentation": "

The version of the API that's used by the connector.

" + } + } + } + }, + "com.amazonaws.appflow#ListConnectorEntitiesResponse": { + "type": "structure", + "members": { + "connectorEntityMap": { + "target": "com.amazonaws.appflow#ConnectorEntityMap", + "traits": { + "smithy.api#documentation": "

The response of ListConnectorEntities lists entities grouped by category.\n This map's key represents the group name, and its value contains the list of entities\n belonging to that group.

", + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.appflow#ListConnectors": { "type": "operation", "input": { - "target": "com.amazonaws.appflow#ListConnectorEntitiesRequest" + "target": "com.amazonaws.appflow#ListConnectorsRequest" }, "output": { - "target": "com.amazonaws.appflow#ListConnectorEntitiesResponse" + "target": "com.amazonaws.appflow#ListConnectorsResponse" }, "errors": [ - { - "target": "com.amazonaws.appflow#ConnectorAuthenticationException" - }, - { - "target": "com.amazonaws.appflow#ConnectorServerException" - }, { "target": "com.amazonaws.appflow#InternalServerException" }, - { - "target": "com.amazonaws.appflow#ResourceNotFoundException" - }, { "target": "com.amazonaws.appflow#ValidationException" } ], "traits": { - "smithy.api#documentation": "

Returns the list of available connector entities supported by Amazon AppFlow. For\n example, you can query Salesforce for Account and\n Opportunity entities, or query ServiceNow for the\n Incident entity.

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

Returns the list of all registered custom connectors in your Amazon Web Services account.\n This API lists only custom connectors registered in this account, not the Amazon Web Services\n authored connectors.

", "smithy.api#http": { "method": "POST", - "uri": "/list-connector-entities", + "uri": "/list-connectors", "code": 200 + }, + "smithy.api#paginated": { + "inputToken": "nextToken", + "outputToken": "nextToken", + "pageSize": "maxResults" } } }, - "com.amazonaws.appflow#ListConnectorEntitiesRequest": { + "com.amazonaws.appflow#ListConnectorsRequest": { "type": "structure", "members": { - "connectorProfileName": { - "target": "com.amazonaws.appflow#ConnectorProfileName", - "traits": { - "smithy.api#documentation": "

The name of the connector profile. The name is unique for each\n ConnectorProfile in the Amazon Web Services account, and is used to query the downstream\n connector.

" - } - }, - "connectorType": { - "target": "com.amazonaws.appflow#ConnectorType", + "maxResults": { + "target": "com.amazonaws.appflow#MaxResults", "traits": { - "smithy.api#documentation": "

The type of connector, such as Salesforce, Amplitude, and so on.

" + "smithy.api#documentation": "

Specifies the maximum number of items that should be returned in the result set. The\n default for maxResults is 20 (for all paginated API operations).

" } }, - "entitiesPath": { - "target": "com.amazonaws.appflow#EntitiesPath", + "nextToken": { + "target": "com.amazonaws.appflow#NextToken", "traits": { - "smithy.api#documentation": "

This optional parameter is specific to connector implementation. Some connectors support\n multiple levels or categories of entities. You can find out the list of roots for such\n providers by sending a request without the entitiesPath parameter. If the\n connector supports entities at different roots, this initial request returns the list of\n roots. Otherwise, this request returns all entities supported by the provider.

" + "smithy.api#documentation": "

The pagination token for the next page of data.

" } } } }, - "com.amazonaws.appflow#ListConnectorEntitiesResponse": { + "com.amazonaws.appflow#ListConnectorsResponse": { "type": "structure", "members": { - "connectorEntityMap": { - "target": "com.amazonaws.appflow#ConnectorEntityMap", + "connectors": { + "target": "com.amazonaws.appflow#ConnectorList", "traits": { - "smithy.api#documentation": "

The response of ListConnectorEntities lists entities grouped by category.\n This map's key represents the group name, and its value contains the list of entities\n belonging to that group.

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

Contains information about the connectors supported by Amazon AppFlow.

" + } + }, + "nextToken": { + "target": "com.amazonaws.appflow#NextToken", + "traits": { + "smithy.api#documentation": "

The pagination token for the next page of data. If nextToken=null, this means that all\n records have been fetched.

" } } } @@ -3496,6 +4597,16 @@ } } }, + "com.amazonaws.appflow#LogoURL": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 256 + }, + "smithy.api#pattern": "^(https?|ftp|file)://[-a-zA-Z0-9+&@#/%?=~_|!:,.;]*[-a-zA-Z0-9+&@#/%=~_|]$" + } + }, "com.amazonaws.appflow#LogonLanguage": { "type": "string", "traits": { @@ -3701,6 +4812,116 @@ "smithy.api#pattern": "^\\S+$" } }, + "com.amazonaws.appflow#OAuth2Credentials": { + "type": "structure", + "members": { + "clientId": { + "target": "com.amazonaws.appflow#ClientId", + "traits": { + "smithy.api#documentation": "

The identifier for the desired client.

" + } + }, + "clientSecret": { + "target": "com.amazonaws.appflow#ClientSecret", + "traits": { + "smithy.api#documentation": "

The client secret used by the OAuth client to authenticate to the authorization\n server.

" + } + }, + "accessToken": { + "target": "com.amazonaws.appflow#AccessToken", + "traits": { + "smithy.api#documentation": "

The access token used to access the connector on your behalf.

" + } + }, + "refreshToken": { + "target": "com.amazonaws.appflow#RefreshToken", + "traits": { + "smithy.api#documentation": "

The refresh token used to refresh an expired access token.

" + } + }, + "oAuthRequest": { + "target": "com.amazonaws.appflow#ConnectorOAuthRequest" + } + }, + "traits": { + "smithy.api#documentation": "

The OAuth 2.0 credentials required for OAuth 2.0 authentication.

" + } + }, + "com.amazonaws.appflow#OAuth2Defaults": { + "type": "structure", + "members": { + "oauthScopes": { + "target": "com.amazonaws.appflow#OAuthScopeList", + "traits": { + "smithy.api#documentation": "

OAuth 2.0 scopes that the connector supports.

" + } + }, + "tokenUrls": { + "target": "com.amazonaws.appflow#TokenUrlList", + "traits": { + "smithy.api#documentation": "

Token URLs that can be used for OAuth 2.0 authentication.

" + } + }, + "authCodeUrls": { + "target": "com.amazonaws.appflow#AuthCodeUrlList", + "traits": { + "smithy.api#documentation": "

Auth code URLs that can be used for OAuth 2.0 authentication.

" + } + }, + "oauth2GrantTypesSupported": { + "target": "com.amazonaws.appflow#OAuth2GrantTypeSupportedList", + "traits": { + "smithy.api#documentation": "

OAuth 2.0 grant types supported by the connector.

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

Contains the default values required for OAuth 2.0 authentication.

" + } + }, + "com.amazonaws.appflow#OAuth2GrantType": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "CLIENT_CREDENTIALS", + "name": "CLIENT_CREDENTIALS" + }, + { + "value": "AUTHORIZATION_CODE", + "name": "AUTHORIZATION_CODE" + } + ] + } + }, + "com.amazonaws.appflow#OAuth2GrantTypeSupportedList": { + "type": "list", + "member": { + "target": "com.amazonaws.appflow#OAuth2GrantType" + } + }, + "com.amazonaws.appflow#OAuth2Properties": { + "type": "structure", + "members": { + "tokenUrl": { + "target": "com.amazonaws.appflow#TokenUrl", + "traits": { + "smithy.api#documentation": "

The token URL required for OAuth 2.0 authentication.

", + "smithy.api#required": {} + } + }, + "oAuth2GrantType": { + "target": "com.amazonaws.appflow#OAuth2GrantType", + "traits": { + "smithy.api#documentation": "

The OAuth 2.0 grant type used by connector for OAuth 2.0 authentication.

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

The OAuth 2.0 properties required for OAuth 2.0 authentication.

" + } + }, "com.amazonaws.appflow#OAuthCredentials": { "type": "structure", "members": { @@ -3747,14 +4968,14 @@ "tokenUrl": { "target": "com.amazonaws.appflow#TokenUrl", "traits": { - "smithy.api#documentation": "

The token url required to fetch access/refresh tokens using authorization code and also to refresh expired\n access token using refresh token.

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

The token url required to fetch access/refresh tokens using authorization code and also\n to refresh expired access token using refresh token.

", "smithy.api#required": {} } }, "authCodeUrl": { "target": "com.amazonaws.appflow#AuthCodeUrl", "traits": { - "smithy.api#documentation": "

The authorization code url required to redirect to SAP Login Page to fetch authorization code for OAuth type\n authentication.

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

The authorization code url required to redirect to SAP Login Page to fetch authorization\n code for OAuth type authentication.

", "smithy.api#required": {} } }, @@ -3777,7 +4998,7 @@ "min": 0, "max": 128 }, - "smithy.api#pattern": "^[/\\w]*$" + "smithy.api#pattern": "^\\S+$" } }, "com.amazonaws.appflow#OAuthScopeList": { @@ -3964,6 +5185,97 @@ ] } }, + "com.amazonaws.appflow#Operators": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "PROJECTION", + "name": "PROJECTION" + }, + { + "value": "LESS_THAN", + "name": "LESS_THAN" + }, + { + "value": "GREATER_THAN", + "name": "GREATER_THAN" + }, + { + "value": "CONTAINS", + "name": "CONTAINS" + }, + { + "value": "BETWEEN", + "name": "BETWEEN" + }, + { + "value": "LESS_THAN_OR_EQUAL_TO", + "name": "LESS_THAN_OR_EQUAL_TO" + }, + { + "value": "GREATER_THAN_OR_EQUAL_TO", + "name": "GREATER_THAN_OR_EQUAL_TO" + }, + { + "value": "EQUAL_TO", + "name": "EQUAL_TO" + }, + { + "value": "NOT_EQUAL_TO", + "name": "NOT_EQUAL_TO" + }, + { + "value": "ADDITION", + "name": "ADDITION" + }, + { + "value": "MULTIPLICATION", + "name": "MULTIPLICATION" + }, + { + "value": "DIVISION", + "name": "DIVISION" + }, + { + "value": "SUBTRACTION", + "name": "SUBTRACTION" + }, + { + "value": "MASK_ALL", + "name": "MASK_ALL" + }, + { + "value": "MASK_FIRST_N", + "name": "MASK_FIRST_N" + }, + { + "value": "MASK_LAST_N", + "name": "MASK_LAST_N" + }, + { + "value": "VALIDATE_NON_NULL", + "name": "VALIDATE_NON_NULL" + }, + { + "value": "VALIDATE_NON_ZERO", + "name": "VALIDATE_NON_ZERO" + }, + { + "value": "VALIDATE_NON_NEGATIVE", + "name": "VALIDATE_NON_NEGATIVE" + }, + { + "value": "VALIDATE_NUMERIC", + "name": "VALIDATE_NUMERIC" + }, + { + "value": "NO_OP", + "name": "NO_OP" + } + ] + } + }, "com.amazonaws.appflow#Password": { "type": "string", "traits": { @@ -4132,14 +5444,49 @@ ] } }, - "com.amazonaws.appflow#PrivateLinkServiceName": { + "com.amazonaws.appflow#PrivateLinkServiceName": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 512 + }, + "smithy.api#pattern": "^$|com.amazonaws.vpce.[\\w/!:@#.\\-]+$" + } + }, + "com.amazonaws.appflow#ProfilePropertiesMap": { + "type": "map", + "key": { + "target": "com.amazonaws.appflow#ProfilePropertyKey" + }, + "value": { + "target": "com.amazonaws.appflow#ProfilePropertyValue" + }, + "traits": { + "smithy.api#length": { + "min": 0, + "max": 50 + } + } + }, + "com.amazonaws.appflow#ProfilePropertyKey": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 128 + }, + "smithy.api#pattern": "^[\\w]+$" + } + }, + "com.amazonaws.appflow#ProfilePropertyValue": { "type": "string", "traits": { "smithy.api#length": { "min": 0, - "max": 512 + "max": 2048 }, - "smithy.api#pattern": "^$|com.amazonaws.vpce.[\\w/!:@#.\\-]+$" + "smithy.api#pattern": "^\\S+$" } }, "com.amazonaws.appflow#Property": { @@ -4152,6 +5499,26 @@ "smithy.api#pattern": "^.+$" } }, + "com.amazonaws.appflow#Range": { + "type": "structure", + "members": { + "maximum": { + "target": "com.amazonaws.appflow#Double", + "traits": { + "smithy.api#documentation": "

Maximum value supported by the field.

" + } + }, + "minimum": { + "target": "com.amazonaws.appflow#Double", + "traits": { + "smithy.api#documentation": "

Minimum value supported by the field.

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

The range of values that the property supports.

" + } + }, "com.amazonaws.appflow#RedirectUri": { "type": "string", "traits": { @@ -4265,7 +5632,7 @@ "traits": { "smithy.api#length": { "min": 0, - "max": 512 + "max": 1024 }, "smithy.api#pattern": "^\\S+$" } @@ -4286,6 +5653,102 @@ "target": "com.amazonaws.appflow#Region" } }, + "com.amazonaws.appflow#RegisterConnector": { + "type": "operation", + "input": { + "target": "com.amazonaws.appflow#RegisterConnectorRequest" + }, + "output": { + "target": "com.amazonaws.appflow#RegisterConnectorResponse" + }, + "errors": [ + { + "target": "com.amazonaws.appflow#AccessDeniedException" + }, + { + "target": "com.amazonaws.appflow#ConflictException" + }, + { + "target": "com.amazonaws.appflow#ConnectorAuthenticationException" + }, + { + "target": "com.amazonaws.appflow#ConnectorServerException" + }, + { + "target": "com.amazonaws.appflow#InternalServerException" + }, + { + "target": "com.amazonaws.appflow#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.appflow#ServiceQuotaExceededException" + }, + { + "target": "com.amazonaws.appflow#ThrottlingException" + }, + { + "target": "com.amazonaws.appflow#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Registers a new connector with your Amazon Web Services account. Before you can register\n the connector, you must deploy lambda in your account.

", + "smithy.api#http": { + "method": "POST", + "uri": "/register-connector", + "code": 200 + } + } + }, + "com.amazonaws.appflow#RegisterConnectorRequest": { + "type": "structure", + "members": { + "connectorLabel": { + "target": "com.amazonaws.appflow#ConnectorLabel", + "traits": { + "smithy.api#documentation": "

The name of the connector. The name is unique for each ConnectorRegistration\n in your Amazon Web Services account.

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

A description about the connector that's being registered.

" + } + }, + "connectorProvisioningType": { + "target": "com.amazonaws.appflow#ConnectorProvisioningType", + "traits": { + "smithy.api#documentation": "

The provisioning type of the connector. Currently the only supported value is LAMBDA.\n

" + } + }, + "connectorProvisioningConfig": { + "target": "com.amazonaws.appflow#ConnectorProvisioningConfig", + "traits": { + "smithy.api#documentation": "

The provisioning type of the connector. Currently the only supported value is\n LAMBDA.

" + } + } + } + }, + "com.amazonaws.appflow#RegisterConnectorResponse": { + "type": "structure", + "members": { + "connectorArn": { + "target": "com.amazonaws.appflow#ARN", + "traits": { + "smithy.api#documentation": "

The ARN of the connector being registered.

" + } + } + } + }, + "com.amazonaws.appflow#RegisteredBy": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 512 + }, + "smithy.api#pattern": "^\\S+$" + } + }, "com.amazonaws.appflow#ResourceNotFoundException": { "type": "structure", "members": { @@ -4669,6 +6132,36 @@ "smithy.api#documentation": "

The connector-specific profile properties required when using SAPOData.

" } }, + "com.amazonaws.appflow#SAPODataDestinationProperties": { + "type": "structure", + "members": { + "objectPath": { + "target": "com.amazonaws.appflow#Object", + "traits": { + "smithy.api#documentation": "

The object path specified in the SAPOData flow destination.

", + "smithy.api#required": {} + } + }, + "successResponseHandlingConfig": { + "target": "com.amazonaws.appflow#SuccessResponseHandlingConfig", + "traits": { + "smithy.api#documentation": "

Determines how Amazon AppFlow handles the success response that it gets\n from the connector after placing data.

\n

For example, this setting would determine where to write the response from a destination\n connector upon a successful insert operation.

" + } + }, + "idFieldNames": { + "target": "com.amazonaws.appflow#IdFieldNameList" + }, + "errorHandlingConfig": { + "target": "com.amazonaws.appflow#ErrorHandlingConfig" + }, + "writeOperationType": { + "target": "com.amazonaws.appflow#WriteOperationType" + } + }, + "traits": { + "smithy.api#documentation": "

The properties that are applied when using SAPOData as a flow destination

" + } + }, "com.amazonaws.appflow#SAPODataMetadata": { "type": "structure", "members": {}, @@ -4909,6 +6402,21 @@ }, "com.amazonaws.appflow#SandstoneConfigurationServiceLambda": { "type": "service", + "traits": { + "aws.api#service": { + "sdkId": "Appflow", + "arnNamespace": "appflow", + "cloudFormationName": "Appflow", + "cloudTrailEventSource": "appflow.amazonaws.com", + "endpointPrefix": "appflow" + }, + "aws.auth#sigv4": { + "name": "appflow" + }, + "aws.protocols#restJson1": {}, + "smithy.api#documentation": "

Welcome to the Amazon AppFlow API reference. This guide is for developers who need\n detailed information about the Amazon AppFlow API operations, data types, and errors.

\n\n

Amazon AppFlow is a fully managed integration service that enables you to securely\n transfer data between software as a service (SaaS) applications like Salesforce, Marketo,\n Slack, and ServiceNow, and Amazon Web Services like Amazon S3 and Amazon Redshift.

\n\n\n\n

Use the following links to get started on the Amazon AppFlow API:

\n\n \n\n

If you're new to Amazon AppFlow, we recommend that you review the Amazon AppFlow User\n Guide.

\n

Amazon AppFlow API users can use vendor-specific mechanisms for OAuth, and include\n applicable OAuth attributes (such as auth-code and redirecturi) with\n the connector-specific ConnectorProfileProperties when creating a new connector\n profile using Amazon AppFlow API operations. For example, Salesforce users can refer to the\n \n Authorize Apps with OAuth\n documentation.

", + "smithy.api#title": "Amazon Appflow" + }, "version": "2020-08-23", "operations": [ { @@ -4923,6 +6431,9 @@ { "target": "com.amazonaws.appflow#DeleteFlow" }, + { + "target": "com.amazonaws.appflow#DescribeConnector" + }, { "target": "com.amazonaws.appflow#DescribeConnectorEntity" }, @@ -4941,12 +6452,18 @@ { "target": "com.amazonaws.appflow#ListConnectorEntities" }, + { + "target": "com.amazonaws.appflow#ListConnectors" + }, { "target": "com.amazonaws.appflow#ListFlows" }, { "target": "com.amazonaws.appflow#ListTagsForResource" }, + { + "target": "com.amazonaws.appflow#RegisterConnector" + }, { "target": "com.amazonaws.appflow#StartFlow" }, @@ -4956,6 +6473,9 @@ { "target": "com.amazonaws.appflow#TagResource" }, + { + "target": "com.amazonaws.appflow#UnregisterConnector" + }, { "target": "com.amazonaws.appflow#UntagResource" }, @@ -4965,22 +6485,7 @@ { "target": "com.amazonaws.appflow#UpdateFlow" } - ], - "traits": { - "aws.api#service": { - "sdkId": "Appflow", - "arnNamespace": "appflow", - "cloudFormationName": "Appflow", - "cloudTrailEventSource": "appflow.amazonaws.com", - "endpointPrefix": "appflow" - }, - "aws.auth#sigv4": { - "name": "appflow" - }, - "aws.protocols#restJson1": {}, - "smithy.api#documentation": "

Welcome to the Amazon AppFlow API reference. This guide is for developers who need\n detailed information about the Amazon AppFlow API operations, data types, and errors.

\n\n

Amazon AppFlow is a fully managed integration service that enables you to securely\n transfer data between software as a service (SaaS) applications like Salesforce, Marketo,\n Slack, and ServiceNow, and Amazon Web Services like Amazon S3 and Amazon Redshift.

\n\n\n\n

Use the following links to get started on the Amazon AppFlow API:

\n\n \n\n

If you're new to Amazon AppFlow, we recommend that you review the Amazon AppFlow User\n Guide.

\n

Amazon AppFlow API users can use vendor-specific mechanisms for OAuth, and include\n applicable OAuth attributes (such as auth-code and redirecturi) with\n the connector-specific ConnectorProfileProperties when creating a new connector\n profile using Amazon AppFlow API operations. For example, Salesforce users can refer to the\n \n Authorize Apps with OAuth\n documentation.

", - "smithy.api#title": "Amazon Appflow" - } + ] }, "com.amazonaws.appflow#ScheduleExpression": { "type": "string", @@ -5744,6 +7249,9 @@ }, "SAPOData": { "target": "com.amazonaws.appflow#SAPODataSourceProperties" + }, + "CustomConnector": { + "target": "com.amazonaws.appflow#CustomConnectorSourceProperties" } }, "traits": { @@ -5764,6 +7272,12 @@ "traits": { "smithy.api#documentation": "

Indicates if the field can be queried.

" } + }, + "isTimestampFieldForIncrementalQueries": { + "target": "com.amazonaws.appflow#Boolean", + "traits": { + "smithy.api#documentation": "

Indicates if this timestamp field can be used for incremental queries.

" + } } }, "traits": { @@ -5786,6 +7300,12 @@ "smithy.api#required": {} } }, + "apiVersion": { + "target": "com.amazonaws.appflow#ApiVersion", + "traits": { + "smithy.api#documentation": "

The API version of the connector when it's used as a source in the flow.

" + } + }, "connectorProfileName": { "target": "com.amazonaws.appflow#ConnectorProfileName", "traits": { @@ -5956,6 +7476,42 @@ "smithy.api#pattern": ".*" } }, + "com.amazonaws.appflow#SuccessResponseHandlingConfig": { + "type": "structure", + "members": { + "bucketPrefix": { + "target": "com.amazonaws.appflow#BucketPrefix", + "traits": { + "smithy.api#documentation": "

The Amazon S3 bucket prefix.

" + } + }, + "bucketName": { + "target": "com.amazonaws.appflow#BucketName", + "traits": { + "smithy.api#documentation": "

The name of the Amazon S3 bucket.

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

Determines how Amazon AppFlow handles the success response that it gets\n from the connector after placing data.

\n

For example, this setting would determine\n where to write the response from the destination connector upon a successful insert\n operation.

" + } + }, + "com.amazonaws.appflow#SupportedApiVersion": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 256 + }, + "smithy.api#pattern": "^\\S+$" + } + }, + "com.amazonaws.appflow#SupportedApiVersionList": { + "type": "list", + "member": { + "target": "com.amazonaws.appflow#SupportedApiVersion" + } + }, "com.amazonaws.appflow#SupportedFieldTypeDetails": { "type": "structure", "members": { @@ -5971,6 +7527,12 @@ "smithy.api#documentation": "

Contains details regarding all the supported FieldTypes and their\n corresponding filterOperators and supportedValues.

" } }, + "com.amazonaws.appflow#SupportedOperatorList": { + "type": "list", + "member": { + "target": "com.amazonaws.appflow#Operators" + } + }, "com.amazonaws.appflow#SupportedValueList": { "type": "list", "member": { @@ -6159,6 +7721,10 @@ "value": "Merge", "name": "MERGE" }, + { + "value": "Passthrough", + "name": "PASSTHROUGH" + }, { "value": "Truncate", "name": "TRUNCATE" @@ -6176,6 +7742,19 @@ "target": "com.amazonaws.appflow#Task" } }, + "com.amazonaws.appflow#ThrottlingException": { + "type": "structure", + "members": { + "message": { + "target": "com.amazonaws.appflow#ErrorMessage" + } + }, + "traits": { + "smithy.api#documentation": "

API calls have exceeded the maximum allowed API request rate per account and per Region.\n

", + "smithy.api#error": "client", + "smithy.api#httpError": 429 + } + }, "com.amazonaws.appflow#Timezone": { "type": "string", "traits": { @@ -6196,6 +7775,12 @@ "smithy.api#pattern": "^(https?)://[-a-zA-Z0-9+&@#/%?=~_|!:,.;]*[-a-zA-Z0-9+&@#/%=~_|]$" } }, + "com.amazonaws.appflow#TokenUrlList": { + "type": "list", + "member": { + "target": "com.amazonaws.appflow#TokenUrl" + } + }, "com.amazonaws.appflow#TrendmicroConnectorOperator": { "type": "string", "traits": { @@ -6363,6 +7948,56 @@ "target": "com.amazonaws.appflow#TriggerType" } }, + "com.amazonaws.appflow#UnregisterConnector": { + "type": "operation", + "input": { + "target": "com.amazonaws.appflow#UnregisterConnectorRequest" + }, + "output": { + "target": "com.amazonaws.appflow#UnregisterConnectorResponse" + }, + "errors": [ + { + "target": "com.amazonaws.appflow#ConflictException" + }, + { + "target": "com.amazonaws.appflow#InternalServerException" + }, + { + "target": "com.amazonaws.appflow#ResourceNotFoundException" + } + ], + "traits": { + "smithy.api#documentation": "

Unregisters the custom connector registered in your account that matches the\n connectorLabel provided in the request.

", + "smithy.api#http": { + "method": "POST", + "uri": "/unregister-connector", + "code": 200 + } + } + }, + "com.amazonaws.appflow#UnregisterConnectorRequest": { + "type": "structure", + "members": { + "connectorLabel": { + "target": "com.amazonaws.appflow#ConnectorLabel", + "traits": { + "smithy.api#documentation": "

The label of the connector. The label is unique for each\n ConnectorRegistration in your Amazon Web Services account.

", + "smithy.api#required": {} + } + }, + "forceDelete": { + "target": "com.amazonaws.appflow#Boolean", + "traits": { + "smithy.api#documentation": "

Indicates whether Amazon AppFlow should unregister the connector, even if it is currently\n in use in one or more connector profiles. The default value is false.

" + } + } + } + }, + "com.amazonaws.appflow#UnregisterConnectorResponse": { + "type": "structure", + "members": {} + }, "com.amazonaws.appflow#UnsupportedOperationException": { "type": "structure", "members": { @@ -6907,6 +8542,10 @@ { "value": "UPDATE", "name": "UPDATE" + }, + { + "value": "DELETE", + "name": "DELETE" } ] } diff --git a/codegen/sdk-codegen/aws-models/apprunner.2020-05-15.json b/codegen/sdk-codegen/aws-models/apprunner.2020-05-15.json index f6f4db01af1..fb15ef1fe53 100644 --- a/codegen/sdk-codegen/aws-models/apprunner.2020-05-15.json +++ b/codegen/sdk-codegen/aws-models/apprunner.2020-05-15.json @@ -61,6 +61,24 @@ }, "com.amazonaws.apprunner#AppRunner": { "type": "service", + "traits": { + "aws.api#service": { + "sdkId": "AppRunner", + "arnNamespace": "apprunner", + "cloudFormationName": "AppRunner", + "cloudTrailEventSource": "apprunner.amazonaws.com", + "endpointPrefix": "apprunner" + }, + "aws.auth#sigv4": { + "name": "apprunner" + }, + "aws.protocols#awsJson1_0": {}, + "smithy.api#documentation": "App Runner\n\n \n\n

App Runner is an application service that provides a fast, simple, and cost-effective way to go directly from an existing container image or source code\n to a running service in the Amazon Web Services Cloud in seconds. You don't need to learn new technologies, decide which compute service to use, or understand how to\n provision and configure Amazon Web Services resources.

\n

App Runner connects directly to your container registry or source code repository. It provides an automatic delivery pipeline with fully managed operations,\n high performance, scalability, and security.

\n

For more information about App Runner, see the App Runner Developer Guide.\n For release information, see the App Runner Release Notes.

\n

\n To install the Software Development Kits (SDKs), Integrated\n Development Environment (IDE) Toolkits, and command line tools that you can use to access the API, see Tools for\n Amazon Web Services.

\n

\n Endpoints\n

\n

For a list of Region-specific endpoints that App Runner supports, see App Runner\n endpoints and quotas in the Amazon Web Services General Reference.

", + "smithy.api#title": "AWS App Runner", + "smithy.api#xmlNamespace": { + "uri": "http://apprunner.amazonaws.com/doc/2020-05-15/" + } + }, "version": "2020-05-15", "operations": [ { @@ -75,6 +93,9 @@ { "target": "com.amazonaws.apprunner#CreateService" }, + { + "target": "com.amazonaws.apprunner#CreateVpcConnector" + }, { "target": "com.amazonaws.apprunner#DeleteAutoScalingConfiguration" }, @@ -84,6 +105,9 @@ { "target": "com.amazonaws.apprunner#DeleteService" }, + { + "target": "com.amazonaws.apprunner#DeleteVpcConnector" + }, { "target": "com.amazonaws.apprunner#DescribeAutoScalingConfiguration" }, @@ -93,6 +117,9 @@ { "target": "com.amazonaws.apprunner#DescribeService" }, + { + "target": "com.amazonaws.apprunner#DescribeVpcConnector" + }, { "target": "com.amazonaws.apprunner#DisassociateCustomDomain" }, @@ -111,6 +138,9 @@ { "target": "com.amazonaws.apprunner#ListTagsForResource" }, + { + "target": "com.amazonaws.apprunner#ListVpcConnectors" + }, { "target": "com.amazonaws.apprunner#PauseService" }, @@ -129,25 +159,7 @@ { "target": "com.amazonaws.apprunner#UpdateService" } - ], - "traits": { - "aws.api#service": { - "sdkId": "AppRunner", - "arnNamespace": "apprunner", - "cloudFormationName": "AppRunner", - "cloudTrailEventSource": "apprunner.amazonaws.com", - "endpointPrefix": "apprunner" - }, - "aws.auth#sigv4": { - "name": "apprunner" - }, - "aws.protocols#awsJson1_0": {}, - "smithy.api#documentation": "App Runner\n\n \n\n

App Runner is an application service that provides a fast, simple, and cost-effective way to go directly from an existing container image or source code\n to a running service in the Amazon Web Services Cloud in seconds. You don't need to learn new technologies, decide which compute service to use, or understand how to\n provision and configure Amazon Web Services resources.

\n

App Runner connects directly to your container registry or source code repository. It provides an automatic delivery pipeline with fully managed operations,\n high performance, scalability, and security.

\n

For more information about App Runner, see the App Runner Developer Guide.\n For release information, see the App Runner Release Notes.

\n

\n To install the Software Development Kits (SDKs), Integrated\n Development Environment (IDE) Toolkits, and command line tools that you can use to access the API, see Tools for\n Amazon Web Services.

\n

\n Endpoints\n

\n

For a list of Region-specific endpoints that App Runner supports, see App Runner\n endpoints and quotas in the Amazon Web Services General Reference.

", - "smithy.api#title": "AWS App Runner", - "smithy.api#xmlNamespace": { - "uri": "http://apprunner.amazonaws.com/doc/2020-05-15/" - } - } + ] }, "com.amazonaws.apprunner#AppRunnerResourceArn": { "type": "string", @@ -318,7 +330,7 @@ } }, "traits": { - "smithy.api#documentation": "

Describes an App Runner automatic scaling configuration resource. Multiple revisions of a configuration have the same\n AutoScalingConfigurationName and different AutoScalingConfigurationRevision values.

\n

A higher MinSize increases the spread of your App Runner service over more Availability Zones in the Amazon Web Services Region. The tradeoff is a higher\n minimal cost.

\n

A lower MaxSize controls your cost. The tradeoff is lower responsiveness during peak demand.

" + "smithy.api#documentation": "

Describes an App Runner automatic scaling configuration resource.

\n

A higher MinSize increases the spread of your App Runner service over more Availability Zones in the Amazon Web Services Region. The tradeoff is a higher\n minimal cost.

\n

A lower MaxSize controls your cost. The tradeoff is lower responsiveness during peak demand.

\n

Multiple revisions of a configuration might have the same AutoScalingConfigurationName and different\n AutoScalingConfigurationRevision values.

" } }, "com.amazonaws.apprunner#AutoScalingConfigurationName": { @@ -384,6 +396,7 @@ "com.amazonaws.apprunner#BuildCommand": { "type": "string", "traits": { + "smithy.api#pattern": "^[^\\x0a\\x0d]+$", "smithy.api#sensitive": {} } }, @@ -692,7 +705,7 @@ } ], "traits": { - "smithy.api#documentation": "

Create an App Runner automatic scaling configuration resource. App Runner requires this resource\n when you create App Runner services that require non-default auto scaling settings. You can share an\n auto scaling configuration across multiple services.

\n

Create multiple revisions of a configuration by using the same AutoScalingConfigurationName and different\n AutoScalingConfigurationRevision values. When you create a service, you can set it to use the latest active revision of an auto scaling\n configuration or a specific revision.

\n

Configure a higher MinSize to increase the spread of your App Runner service over more Availability Zones in the Amazon Web Services Region. The tradeoff is\n a higher minimal cost.

\n

Configure a lower MaxSize to control your cost. The tradeoff is lower responsiveness during peak demand.

" + "smithy.api#documentation": "

Create an App Runner automatic scaling configuration resource. App Runner requires this resource\n when you create App Runner services that require non-default auto scaling settings. You can share an\n auto scaling configuration across multiple services.

\n

Create multiple revisions of a configuration by calling this action multiple times using the same AutoScalingConfigurationName. The call\n returns incremental AutoScalingConfigurationRevision values. When you create a service, you can set it to use the latest active revision of\n an auto scaling configuration or a specific revision.

\n

Configure a higher MinSize to increase the spread of your App Runner service over more Availability Zones in the Amazon Web Services Region. The tradeoff is\n a higher minimal cost.

\n

Configure a lower MaxSize to control your cost. The tradeoff is lower responsiveness during peak demand.

" } }, "com.amazonaws.apprunner#CreateAutoScalingConfigurationRequest": { @@ -701,7 +714,7 @@ "AutoScalingConfigurationName": { "target": "com.amazonaws.apprunner#AutoScalingConfigurationName", "traits": { - "smithy.api#documentation": "

A name for the auto scaling configuration. When you use it for the first time in an Amazon Web Services Region, App Runner creates revision number 1 of this\n name. When you use the same name in subsequent calls, App Runner creates incremental revisions of the configuration.

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

A name for the auto scaling configuration. When you use it for the first time in an Amazon Web Services Region, App Runner creates revision number 1 of this\n name. When you use the same name in subsequent calls, App Runner creates incremental revisions of the configuration.

\n \n

The name DefaultConfiguration is reserved (it's the configuration that App Runner uses if you don't provide a custome one). You can't use it\n to create a new auto scaling configuration, and you can't create a revision of it.

\n

When you want to use your own auto scaling configuration for your App Runner service, create a configuration with a different name,\n and then provide it when you create or update your service.

\n
", "smithy.api#required": {} } }, @@ -832,7 +845,7 @@ "ServiceName": { "target": "com.amazonaws.apprunner#ServiceName", "traits": { - "smithy.api#documentation": "

A name for the new service. It must be unique across all the running App Runner services in your Amazon Web Services account in the Amazon Web Services Region.

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

A name for the App Runner service. It must be unique across all the running App Runner services in your Amazon Web Services account in the Amazon Web Services Region.

", "smithy.api#required": {} } }, @@ -852,25 +865,31 @@ "Tags": { "target": "com.amazonaws.apprunner#TagList", "traits": { - "smithy.api#documentation": "

An optional list of metadata items that you can associate with your service resource. A tag is a key-value pair.

" + "smithy.api#documentation": "

An optional list of metadata items that you can associate with the App Runner service resource. A tag is a key-value pair.

" } }, "EncryptionConfiguration": { "target": "com.amazonaws.apprunner#EncryptionConfiguration", "traits": { - "smithy.api#documentation": "

An optional custom encryption key that App Runner uses to encrypt the copy of your source repository that it maintains and your service logs. By default,\n App Runner uses an Amazon Web Services managed CMK.

" + "smithy.api#documentation": "

An optional custom encryption key that App Runner uses to encrypt the copy of your source repository that it maintains and your service logs. By default,\n App Runner uses an Amazon Web Services managed key.

" } }, "HealthCheckConfiguration": { "target": "com.amazonaws.apprunner#HealthCheckConfiguration", "traits": { - "smithy.api#documentation": "

The settings for the health check that App Runner performs to monitor the health of your service.

" + "smithy.api#documentation": "

The settings for the health check that App Runner performs to monitor the health of the App Runner service.

" } }, "AutoScalingConfigurationArn": { "target": "com.amazonaws.apprunner#AppRunnerResourceArn", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of an App Runner automatic scaling configuration resource that you want to associate with your service. If not provided, App Runner\n associates the latest revision of a default auto scaling configuration.

" + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of an App Runner automatic scaling configuration resource that you want to associate with the App Runner service. If not provided,\n App Runner associates the latest revision of a default auto scaling configuration.

" + } + }, + "NetworkConfiguration": { + "target": "com.amazonaws.apprunner#NetworkConfiguration", + "traits": { + "smithy.api#documentation": "

Configuration settings related to network traffic of the web application that the App Runner service runs.

" } } } @@ -894,6 +913,72 @@ } } }, + "com.amazonaws.apprunner#CreateVpcConnector": { + "type": "operation", + "input": { + "target": "com.amazonaws.apprunner#CreateVpcConnectorRequest" + }, + "output": { + "target": "com.amazonaws.apprunner#CreateVpcConnectorResponse" + }, + "errors": [ + { + "target": "com.amazonaws.apprunner#InternalServiceErrorException" + }, + { + "target": "com.amazonaws.apprunner#InvalidRequestException" + }, + { + "target": "com.amazonaws.apprunner#ServiceQuotaExceededException" + } + ], + "traits": { + "smithy.api#documentation": "

Create an App Runner VPC connector resource. App Runner requires this resource when you want to associate your App Runner service to a custom Amazon Virtual Private Cloud\n (Amazon VPC).

" + } + }, + "com.amazonaws.apprunner#CreateVpcConnectorRequest": { + "type": "structure", + "members": { + "VpcConnectorName": { + "target": "com.amazonaws.apprunner#VpcConnectorName", + "traits": { + "smithy.api#documentation": "

A name for the VPC connector.

", + "smithy.api#required": {} + } + }, + "Subnets": { + "target": "com.amazonaws.apprunner#StringList", + "traits": { + "smithy.api#documentation": "

A list of IDs of subnets that App Runner should use when it associates your service with a custom Amazon VPC. Specify IDs of subnets of a single\n Amazon VPC. App Runner determines the Amazon VPC from the subnets you specify.

", + "smithy.api#required": {} + } + }, + "SecurityGroups": { + "target": "com.amazonaws.apprunner#StringList", + "traits": { + "smithy.api#documentation": "

A list of IDs of security groups that App Runner should use for access to Amazon Web Services resources under the specified subnets. If not specified, App Runner uses the\n default security group of the Amazon VPC. The default security group allows all outbound traffic.

" + } + }, + "Tags": { + "target": "com.amazonaws.apprunner#TagList", + "traits": { + "smithy.api#documentation": "

A list of metadata items that you can associate with your VPC connector resource. A tag is a key-value pair.

" + } + } + } + }, + "com.amazonaws.apprunner#CreateVpcConnectorResponse": { + "type": "structure", + "members": { + "VpcConnector": { + "target": "com.amazonaws.apprunner#VpcConnector", + "traits": { + "smithy.api#documentation": "

A description of the App Runner VPC connector that's created by this request.

", + "smithy.api#required": {} + } + } + } + }, "com.amazonaws.apprunner#CustomDomain": { "type": "structure", "members": { @@ -1120,6 +1205,53 @@ } } }, + "com.amazonaws.apprunner#DeleteVpcConnector": { + "type": "operation", + "input": { + "target": "com.amazonaws.apprunner#DeleteVpcConnectorRequest" + }, + "output": { + "target": "com.amazonaws.apprunner#DeleteVpcConnectorResponse" + }, + "errors": [ + { + "target": "com.amazonaws.apprunner#InternalServiceErrorException" + }, + { + "target": "com.amazonaws.apprunner#InvalidRequestException" + }, + { + "target": "com.amazonaws.apprunner#ResourceNotFoundException" + } + ], + "traits": { + "smithy.api#documentation": "

Delete an App Runner VPC connector resource. You can't delete a\n connector that's used by one or more App Runner services.

" + } + }, + "com.amazonaws.apprunner#DeleteVpcConnectorRequest": { + "type": "structure", + "members": { + "VpcConnectorArn": { + "target": "com.amazonaws.apprunner#AppRunnerResourceArn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the App Runner VPC connector that you want to delete.

\n

The ARN must be a full VPC connector ARN.

", + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.apprunner#DeleteVpcConnectorResponse": { + "type": "structure", + "members": { + "VpcConnector": { + "target": "com.amazonaws.apprunner#VpcConnector", + "traits": { + "smithy.api#documentation": "

A description of the App Runner VPC connector that this request just deleted.

", + "smithy.api#required": {} + } + } + } + }, "com.amazonaws.apprunner#DescribeAutoScalingConfiguration": { "type": "operation", "input": { @@ -1308,6 +1440,53 @@ } } }, + "com.amazonaws.apprunner#DescribeVpcConnector": { + "type": "operation", + "input": { + "target": "com.amazonaws.apprunner#DescribeVpcConnectorRequest" + }, + "output": { + "target": "com.amazonaws.apprunner#DescribeVpcConnectorResponse" + }, + "errors": [ + { + "target": "com.amazonaws.apprunner#InternalServiceErrorException" + }, + { + "target": "com.amazonaws.apprunner#InvalidRequestException" + }, + { + "target": "com.amazonaws.apprunner#ResourceNotFoundException" + } + ], + "traits": { + "smithy.api#documentation": "

Return a description of an App Runner VPC connector resource.

" + } + }, + "com.amazonaws.apprunner#DescribeVpcConnectorRequest": { + "type": "structure", + "members": { + "VpcConnectorArn": { + "target": "com.amazonaws.apprunner#AppRunnerResourceArn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the App Runner VPC connector that you want a description for.

\n

The ARN must be a full VPC connector ARN.

", + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.apprunner#DescribeVpcConnectorResponse": { + "type": "structure", + "members": { + "VpcConnector": { + "target": "com.amazonaws.apprunner#VpcConnector", + "traits": { + "smithy.api#documentation": "

A description of the App Runner VPC connector that you specified in this request.

", + "smithy.api#required": {} + } + } + } + }, "com.amazonaws.apprunner#DisassociateCustomDomain": { "type": "operation", "input": { @@ -1385,7 +1564,43 @@ "smithy.api#length": { "min": 1, "max": 255 + }, + "smithy.api#pattern": "^[A-Za-z0-9*.-]{1,255}$" + } + }, + "com.amazonaws.apprunner#EgressConfiguration": { + "type": "structure", + "members": { + "EgressType": { + "target": "com.amazonaws.apprunner#EgressType", + "traits": { + "smithy.api#documentation": "

The type of egress configuration.

\n

Set to DEFAULT for access to resources hosted on public networks.

\n

Set to VPC to associate your service to a custom VPC specified by VpcConnectorArn.

" + } + }, + "VpcConnectorArn": { + "target": "com.amazonaws.apprunner#AppRunnerResourceArn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the App Runner VPC connector that you want to associate with your App Runner service. Only valid when EgressType =\n VPC.

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

Describes configuration settings related to outbound network traffic of an App Runner service.

" + } + }, + "com.amazonaws.apprunner#EgressType": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "DEFAULT", + "name": "DEFAULT" + }, + { + "value": "VPC", + "name": "VPC" + } + ] } }, "com.amazonaws.apprunner#EncryptionConfiguration": { @@ -1529,7 +1744,7 @@ } }, "StartCommand": { - "target": "com.amazonaws.apprunner#String", + "target": "com.amazonaws.apprunner#StartCommand", "traits": { "smithy.api#documentation": "

An optional command that App Runner runs to start the application in the source image. If specified, this command overrides the Docker image’s default start\n command.

" } @@ -2014,6 +2229,66 @@ } } }, + "com.amazonaws.apprunner#ListVpcConnectors": { + "type": "operation", + "input": { + "target": "com.amazonaws.apprunner#ListVpcConnectorsRequest" + }, + "output": { + "target": "com.amazonaws.apprunner#ListVpcConnectorsResponse" + }, + "errors": [ + { + "target": "com.amazonaws.apprunner#InternalServiceErrorException" + }, + { + "target": "com.amazonaws.apprunner#InvalidRequestException" + } + ], + "traits": { + "smithy.api#documentation": "

Returns a list of App Runner VPC connectors in your Amazon Web Services account.

", + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "pageSize": "MaxResults" + } + } + }, + "com.amazonaws.apprunner#ListVpcConnectorsRequest": { + "type": "structure", + "members": { + "MaxResults": { + "target": "com.amazonaws.apprunner#MaxResults", + "traits": { + "smithy.api#documentation": "

The maximum number of results to include in each response (result page). It's used for a paginated request.

\n

If you don't specify MaxResults, the request retrieves all available results in a single response.

" + } + }, + "NextToken": { + "target": "com.amazonaws.apprunner#NextToken", + "traits": { + "smithy.api#documentation": "

A token from a previous result page. It's used for a paginated request. The request retrieves the next result page. All other parameter values must be\n identical to the ones that are specified in the initial request.

\n

If you don't specify NextToken, the request retrieves the first result page.

" + } + } + } + }, + "com.amazonaws.apprunner#ListVpcConnectorsResponse": { + "type": "structure", + "members": { + "VpcConnectors": { + "target": "com.amazonaws.apprunner#VpcConnectors", + "traits": { + "smithy.api#documentation": "

A list of information records for VPC connectors. In a paginated request, the request returns up to MaxResults records for each\n call.

", + "smithy.api#required": {} + } + }, + "NextToken": { + "target": "com.amazonaws.apprunner#NextToken", + "traits": { + "smithy.api#documentation": "

The token that you can pass in a subsequent request to get the next result page. It's returned in a paginated request.

" + } + } + } + }, "com.amazonaws.apprunner#MaxResults": { "type": "integer", "traits": { @@ -2034,6 +2309,20 @@ "smithy.api#pattern": "^2048|3072|4096|(2|3|4) GB$" } }, + "com.amazonaws.apprunner#NetworkConfiguration": { + "type": "structure", + "members": { + "EgressConfiguration": { + "target": "com.amazonaws.apprunner#EgressConfiguration", + "traits": { + "smithy.api#documentation": "

Network configuration settings for outbound message traffic.

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

Describes configuration settings related to network traffic of an App Runner service. Consists of embedded objects for each configurable network\n feature.

" + } + }, "com.amazonaws.apprunner#NextToken": { "type": "string", "traits": { @@ -2329,6 +2618,18 @@ { "value": "NODEJS_12", "name": "NODEJS_12" + }, + { + "value": "NODEJS_14", + "name": "NODEJS_14" + }, + { + "value": "CORRETTO_8", + "name": "CORRETTO_8" + }, + { + "value": "CORRETTO_11", + "name": "CORRETTO_11" } ] } @@ -2345,12 +2646,22 @@ "com.amazonaws.apprunner#RuntimeEnvironmentVariablesKey": { "type": "string", "traits": { + "smithy.api#length": { + "min": 1, + "max": 51200 + }, + "smithy.api#pattern": ".*", "smithy.api#sensitive": {} } }, "com.amazonaws.apprunner#RuntimeEnvironmentVariablesValue": { "type": "string", "traits": { + "smithy.api#length": { + "min": 0, + "max": 51200 + }, + "smithy.api#pattern": ".*", "smithy.api#sensitive": {} } }, @@ -2429,7 +2740,7 @@ "EncryptionConfiguration": { "target": "com.amazonaws.apprunner#EncryptionConfiguration", "traits": { - "smithy.api#documentation": "

The encryption key that App Runner uses to encrypt the service logs and the copy of the source repository that App Runner maintains for the service. It can be\n either a customer-provided encryption key or an Amazon Web Services managed CMK.

" + "smithy.api#documentation": "

The encryption key that App Runner uses to encrypt the service logs and the copy of the source repository that App Runner maintains for the service. It can be\n either a customer-provided encryption key or an Amazon Web Services managed key.

" } }, "HealthCheckConfiguration": { @@ -2444,6 +2755,13 @@ "smithy.api#documentation": "

Summary information for the App Runner automatic scaling configuration resource that's associated with this service.

", "smithy.api#required": {} } + }, + "NetworkConfiguration": { + "target": "com.amazonaws.apprunner#NetworkConfiguration", + "traits": { + "smithy.api#documentation": "

Configuration settings related to network traffic of the web application that this service runs.

", + "smithy.api#required": {} + } } }, "traits": { @@ -2652,6 +2970,7 @@ "com.amazonaws.apprunner#StartCommand": { "type": "string", "traits": { + "smithy.api#pattern": "^[^\\x0a\\x0d]+$", "smithy.api#sensitive": {} } }, @@ -2712,6 +3031,12 @@ "smithy.api#pattern": ".*" } }, + "com.amazonaws.apprunner#StringList": { + "type": "list", + "member": { + "target": "com.amazonaws.apprunner#String" + } + }, "com.amazonaws.apprunner#Tag": { "type": "structure", "members": { @@ -2926,13 +3251,19 @@ "AutoScalingConfigurationArn": { "target": "com.amazonaws.apprunner#AppRunnerResourceArn", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of an App Runner automatic scaling configuration resource that you want to associate with your service.

" + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of an App Runner automatic scaling configuration resource that you want to associate with the App Runner service.

" } }, "HealthCheckConfiguration": { "target": "com.amazonaws.apprunner#HealthCheckConfiguration", "traits": { - "smithy.api#documentation": "

The settings for the health check that App Runner performs to monitor the health of your service.

" + "smithy.api#documentation": "

The settings for the health check that App Runner performs to monitor the health of the App Runner service.

" + } + }, + "NetworkConfiguration": { + "target": "com.amazonaws.apprunner#NetworkConfiguration", + "traits": { + "smithy.api#documentation": "

Configuration settings related to network traffic of the web application that the App Runner service runs.

" } } } @@ -2955,6 +3286,93 @@ } } } + }, + "com.amazonaws.apprunner#VpcConnector": { + "type": "structure", + "members": { + "VpcConnectorName": { + "target": "com.amazonaws.apprunner#VpcConnectorName", + "traits": { + "smithy.api#documentation": "

The customer-provided VPC connector name.

" + } + }, + "VpcConnectorArn": { + "target": "com.amazonaws.apprunner#AppRunnerResourceArn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of this VPC connector.

" + } + }, + "VpcConnectorRevision": { + "target": "com.amazonaws.apprunner#Integer", + "traits": { + "smithy.api#documentation": "

The revision of this VPC connector. It's unique among all the active connectors (\"Status\": \"ACTIVE\") that share the same\n Name.

\n \n

At this time, App Runner supports only one revision per name.

\n
" + } + }, + "Subnets": { + "target": "com.amazonaws.apprunner#StringList", + "traits": { + "smithy.api#documentation": "

A list of IDs of subnets that App Runner uses for your service. All IDs are of subnets of a single Amazon VPC.

" + } + }, + "SecurityGroups": { + "target": "com.amazonaws.apprunner#StringList", + "traits": { + "smithy.api#documentation": "

A list of IDs of security groups that App Runner uses for access to Amazon Web Services resources under the specified subnets. If not specified, App Runner uses the default\n security group of the Amazon VPC. The default security group allows all outbound traffic.

" + } + }, + "Status": { + "target": "com.amazonaws.apprunner#VpcConnectorStatus", + "traits": { + "smithy.api#documentation": "

The current state of the VPC connector. If the status of a connector revision is INACTIVE, it was deleted and can't be\n used. Inactive connector revisions are permanently removed some time after they are deleted.

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

The time when the VPC connector was created. It's in Unix time stamp format.

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

The time when the VPC connector was deleted. It's in Unix time stamp format.

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

Describes an App Runner VPC connector resource. A VPC connector describes the Amazon Virtual Private Cloud (Amazon VPC) that an App Runner service is\n associated with, and the subnets and security group that are used.

\n

Multiple revisions of a connector might have the same Name and different Revision values.

\n \n

At this time, App Runner supports only one revision per name.

\n
" + } + }, + "com.amazonaws.apprunner#VpcConnectorName": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 4, + "max": 40 + }, + "smithy.api#pattern": "^[A-Za-z0-9][A-Za-z0-9\\-_]{3,39}$" + } + }, + "com.amazonaws.apprunner#VpcConnectorStatus": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "ACTIVE", + "name": "ACTIVE" + }, + { + "value": "INACTIVE", + "name": "INACTIVE" + } + ] + } + }, + "com.amazonaws.apprunner#VpcConnectors": { + "type": "list", + "member": { + "target": "com.amazonaws.apprunner#VpcConnector" + } } } } diff --git a/codegen/sdk-codegen/aws-models/athena.2017-05-18.json b/codegen/sdk-codegen/aws-models/athena.2017-05-18.json index db53d0de74f..74c5ded157c 100644 --- a/codegen/sdk-codegen/aws-models/athena.2017-05-18.json +++ b/codegen/sdk-codegen/aws-models/athena.2017-05-18.json @@ -31,6 +31,21 @@ "shapes": { "com.amazonaws.athena#AmazonAthena": { "type": "service", + "traits": { + "aws.api#service": { + "sdkId": "Athena", + "arnNamespace": "athena", + "cloudFormationName": "Athena", + "cloudTrailEventSource": "athena.amazonaws.com", + "endpointPrefix": "athena" + }, + "aws.auth#sigv4": { + "name": "athena" + }, + "aws.protocols#awsJson1_1": {}, + "smithy.api#documentation": "

Amazon Athena is an interactive query service that lets you use standard SQL\n to analyze data directly in Amazon S3. You can point Athena at your\n data in Amazon S3 and run ad-hoc queries and get results in seconds. Athena is serverless, so there is no infrastructure to set up or manage. You pay\n only for the queries you run. Athena scales automatically—executing queries\n in parallel—so results are fast, even with large datasets and complex queries. For more\n information, see What is Amazon Athena in the Amazon Athena User\n Guide.

\n

If you connect to Athena using the JDBC driver, use version 1.1.0 of the\n driver or later with the Amazon Athena API. Earlier version drivers do not\n support the API. For more information and to download the driver, see Accessing\n Amazon Athena with JDBC.

\n

For code samples using the Amazon Web Services SDK for Java, see Examples and\n Code Samples in the Amazon Athena User\n Guide.

", + "smithy.api#title": "Amazon Athena" + }, "version": "2017-05-18", "operations": [ { @@ -135,22 +150,7 @@ { "target": "com.amazonaws.athena#UpdateWorkGroup" } - ], - "traits": { - "aws.api#service": { - "sdkId": "Athena", - "arnNamespace": "athena", - "cloudFormationName": "Athena", - "cloudTrailEventSource": "athena.amazonaws.com", - "endpointPrefix": "athena" - }, - "aws.auth#sigv4": { - "name": "athena" - }, - "aws.protocols#awsJson1_1": {}, - "smithy.api#documentation": "

Amazon Athena is an interactive query service that lets you use standard SQL\n to analyze data directly in Amazon S3. You can point Athena at your\n data in Amazon S3 and run ad-hoc queries and get results in seconds. Athena is serverless, so there is no infrastructure to set up or manage. You pay\n only for the queries you run. Athena scales automatically—executing queries\n in parallel—so results are fast, even with large datasets and complex queries. For more\n information, see What is Amazon Athena in the Amazon Athena User\n Guide.

\n

If you connect to Athena using the JDBC driver, use version 1.1.0 of the\n driver or later with the Amazon Athena API. Earlier version drivers do not\n support the API. For more information and to download the driver, see Accessing\n Amazon Athena with JDBC.

\n

For code samples using the Amazon Web Services SDK for Java, see Examples and\n Code Samples in the Amazon Athena User\n Guide.

", - "smithy.api#title": "Amazon Athena" - } + ] }, "com.amazonaws.athena#AmazonResourceName": { "type": "string", @@ -161,6 +161,26 @@ } } }, + "com.amazonaws.athena#AthenaError": { + "type": "structure", + "members": { + "ErrorCategory": { + "target": "com.amazonaws.athena#ErrorCategory", + "traits": { + "smithy.api#documentation": "

An integer value that specifies the category of a query failure error. The following\n list shows the category for each integer value.

\n

\n 1 - System

\n

\n 2 - User

\n

\n 3 - Unknown

" + } + }, + "ErrorType": { + "target": "com.amazonaws.athena#ErrorType", + "traits": { + "smithy.api#documentation": "

An integer value that provides specific information about an Athena query\n error. For the meaning of specific values, see the Error Type Reference in the Amazon Athena User\n Guide.

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

Provides information about an Athena query error. The\n AthenaError feature provides standardized error information to help you\n understand failed queries and take steps after a query failure occurs.\n AthenaError includes an ErrorCategory field that specifies\n whether the cause of the failed query is due to system error, user error, or unknown\n error.

" + } + }, "com.amazonaws.athena#BatchGetNamedQuery": { "type": "operation", "input": { @@ -451,7 +471,7 @@ "Name": { "target": "com.amazonaws.athena#CatalogNameString", "traits": { - "smithy.api#documentation": "

The name of the data catalog to create. The catalog name must be unique for the\n Amazon Web Services account and can use a maximum of 128 alphanumeric, underscore, at\n sign, or hyphen characters.

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

The name of the data catalog to create. The catalog name must be unique for the\n Amazon Web Services account and can use a maximum of 127 alphanumeric, underscore, at\n sign, or hyphen characters. The remainder of the length constraint of 256 is reserved\n for use by Athena.

", "smithy.api#required": {} } }, @@ -679,7 +699,7 @@ "Name": { "target": "com.amazonaws.athena#CatalogNameString", "traits": { - "smithy.api#documentation": "

The name of the data catalog. The catalog name must be unique for the Amazon Web Services account and can use a maximum of 128 alphanumeric, underscore, at sign,\n or hyphen characters.

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

The name of the data catalog. The catalog name must be unique for the Amazon Web Services account and can use a maximum of 127 alphanumeric, underscore, at sign,\n or hyphen characters. The remainder of the length constraint of 256 is reserved for use\n by Athena.

", "smithy.api#required": {} } }, @@ -713,7 +733,7 @@ "CatalogName": { "target": "com.amazonaws.athena#CatalogNameString", "traits": { - "smithy.api#documentation": "

The name of the data catalog.

" + "smithy.api#documentation": "

The name of the data catalog. The catalog name is unique for the Amazon Web Services account and can use a maximum of 127 alphanumeric, underscore, at sign,\n or hyphen characters. The remainder of the length constraint of 256 is reserved for use\n by Athena.

" } }, "Type": { @@ -1055,6 +1075,16 @@ } } }, + "com.amazonaws.athena#ErrorCategory": { + "type": "integer", + "traits": { + "smithy.api#box": {}, + "smithy.api#range": { + "min": 1, + "max": 3 + } + } + }, "com.amazonaws.athena#ErrorCode": { "type": "string", "traits": { @@ -1068,6 +1098,16 @@ "com.amazonaws.athena#ErrorMessage": { "type": "string" }, + "com.amazonaws.athena#ErrorType": { + "type": "integer", + "traits": { + "smithy.api#box": {}, + "smithy.api#range": { + "min": 0, + "max": 9999 + } + } + }, "com.amazonaws.athena#ExpressionString": { "type": "string", "traits": { @@ -2478,7 +2518,7 @@ "Database": { "target": "com.amazonaws.athena#DatabaseString", "traits": { - "smithy.api#documentation": "

The name of the database used in the query execution. The database must exist in the catalog.

" + "smithy.api#documentation": "

The name of the database used in the query execution. The database must exist in the\n catalog.

" } }, "Catalog": { @@ -2616,6 +2656,12 @@ "traits": { "smithy.api#documentation": "

The date and time that the query completed.

" } + }, + "AthenaError": { + "target": "com.amazonaws.athena#AthenaError", + "traits": { + "smithy.api#documentation": "

Provides information about an Athena query error.

" + } } }, "traits": { @@ -2660,6 +2706,12 @@ "traits": { "smithy.api#documentation": "

If query results are encrypted in Amazon S3, indicates the encryption option\n used (for example, SSE-KMS or CSE-KMS) and key information.\n This is a client-side setting. If workgroup settings override client-side settings, then\n the query uses the encryption configuration that is specified for the workgroup, and\n also uses the location for storing query results specified in the workgroup. See WorkGroupConfiguration$EnforceWorkGroupConfiguration and Workgroup Settings Override Client-Side Settings.

" } + }, + "ExpectedBucketOwner": { + "target": "com.amazonaws.athena#String", + "traits": { + "smithy.api#documentation": "

The Amazon Web Services account ID that you expect to be the owner of the Amazon S3 bucket specified by ResultConfiguration$OutputLocation.\n If set, Athena uses the value for ExpectedBucketOwner when it\n makes Amazon S3 calls to your specified output location. If the\n ExpectedBucketOwner\n Amazon Web Services account ID does not match the actual owner of the Amazon S3\n bucket, the call fails with a permissions error.

\n

This is a client-side setting. If workgroup settings override client-side settings,\n then the query uses the ExpectedBucketOwner setting that is specified for\n the workgroup, and also uses the location for storing query results specified in the\n workgroup. See WorkGroupConfiguration$EnforceWorkGroupConfiguration\n and Workgroup Settings Override Client-Side Settings.

" + } } }, "traits": { @@ -2678,7 +2730,7 @@ "RemoveOutputLocation": { "target": "com.amazonaws.athena#BoxedBoolean", "traits": { - "smithy.api#documentation": "

If set to \"true\", indicates that the previously-specified query results location (also\n known as a client-side setting) for queries in this workgroup should be ignored and set\n to null. If set to \"false\" or not set, and a value is present in the\n OutputLocation in ResultConfigurationUpdates (the\n client-side setting), the OutputLocation in the workgroup's\n ResultConfiguration will be updated with the new value. For more\n information, see Workgroup Settings Override\n Client-Side Settings.

" + "smithy.api#documentation": "

If set to \"true\", indicates that the previously-specified query results location (also\n known as a client-side setting) for queries in this workgroup should be ignored and set\n to null. If set to \"false\" or not set, and a value is present in the\n OutputLocation in ResultConfigurationUpdates (the\n client-side setting), the OutputLocation in the workgroup's\n ResultConfiguration will be updated with the new value. For more\n information, see Workgroup Settings Override\n Client-Side Settings.

" } }, "EncryptionConfiguration": { @@ -2692,6 +2744,18 @@ "traits": { "smithy.api#documentation": "

If set to \"true\", indicates that the previously-specified encryption configuration\n (also known as the client-side setting) for queries in this workgroup should be ignored\n and set to null. If set to \"false\" or not set, and a value is present in the\n EncryptionConfiguration in ResultConfigurationUpdates (the\n client-side setting), the EncryptionConfiguration in the workgroup's\n ResultConfiguration will be updated with the new value. For more\n information, see Workgroup Settings Override\n Client-Side Settings.

" } + }, + "ExpectedBucketOwner": { + "target": "com.amazonaws.athena#String", + "traits": { + "smithy.api#documentation": "

The Amazon Web Services account ID that you expect to be the owner of the Amazon S3 bucket specified by ResultConfiguration$OutputLocation.\n If set, Athena uses the value for ExpectedBucketOwner when it\n makes Amazon S3 calls to your specified output location. If the\n ExpectedBucketOwner\n Amazon Web Services account ID does not match the actual owner of the Amazon S3\n bucket, the call fails with a permissions error.

\n \n

If workgroup settings override client-side settings, then the query uses the\n ExpectedBucketOwner setting that is specified for the workgroup, and\n also uses the location for storing query results specified in the workgroup. See WorkGroupConfiguration$EnforceWorkGroupConfiguration and Workgroup Settings Override Client-Side Settings.

" + } + }, + "RemoveExpectedBucketOwner": { + "target": "com.amazonaws.athena#BoxedBoolean", + "traits": { + "smithy.api#documentation": "

If set to \"true\", removes the Amazon Web Services account ID previously specified for\n ResultConfiguration$ExpectedBucketOwner. If set to \"false\" or not\n set, and a value is present in the ExpectedBucketOwner in\n ResultConfigurationUpdates (the client-side setting), the\n ExpectedBucketOwner in the workgroup's ResultConfiguration\n is updated with the new value. For more information, see Workgroup Settings Override\n Client-Side Settings.

" + } } }, "traits": { @@ -3241,7 +3305,7 @@ "Name": { "target": "com.amazonaws.athena#CatalogNameString", "traits": { - "smithy.api#documentation": "

The name of the data catalog to update. The catalog name must be unique for the\n Amazon Web Services account and can use a maximum of 128 alphanumeric, underscore, at\n sign, or hyphen characters.

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

The name of the data catalog to update. The catalog name must be unique for the\n Amazon Web Services account and can use a maximum of 127 alphanumeric, underscore, at\n sign, or hyphen characters. The remainder of the length constraint of 256 is reserved\n for use by Athena.

", "smithy.api#required": {} } }, @@ -3452,7 +3516,7 @@ "RequesterPaysEnabled": { "target": "com.amazonaws.athena#BoxedBoolean", "traits": { - "smithy.api#documentation": "

If set to true, allows members assigned to a workgroup to reference\n Amazon S3 Requester Pays buckets in queries. If set to false,\n workgroup members cannot query data from Requester Pays buckets, and queries that\n retrieve data from Requester Pays buckets cause an error. The default is\n false. For more information about Requester Pays buckets, see Requester\n Pays Buckets in the Amazon Simple Storage Service Developer\n Guide.

" + "smithy.api#documentation": "

If set to true, allows members assigned to a workgroup to reference\n Amazon S3 Requester Pays buckets in queries. If set to false,\n workgroup members cannot query data from Requester Pays buckets, and queries that\n retrieve data from Requester Pays buckets cause an error. The default is\n false. For more information about Requester Pays buckets, see Requester\n Pays Buckets in the Amazon Simple Storage Service Developer\n Guide.

" } }, "EngineVersion": { diff --git a/codegen/sdk-codegen/aws-models/auditmanager.2017-07-25.json b/codegen/sdk-codegen/aws-models/auditmanager.2017-07-25.json index 4cc0f113712..a0feb55e8fb 100644 --- a/codegen/sdk-codegen/aws-models/auditmanager.2017-07-25.json +++ b/codegen/sdk-codegen/aws-models/auditmanager.2017-07-25.json @@ -2530,7 +2530,8 @@ "id": { "target": "com.amazonaws.auditmanager#UUID", "traits": { - "smithy.api#documentation": "

The unique identifier of the control.

" + "smithy.api#documentation": "

The unique identifier of the control.

", + "smithy.api#required": {} } } }, @@ -7358,7 +7359,8 @@ "controls": { "target": "com.amazonaws.auditmanager#CreateAssessmentFrameworkControls", "traits": { - "smithy.api#documentation": "

The list of controls that are contained within the control set.

" + "smithy.api#documentation": "

The list of controls that are contained within the control set.

", + "smithy.api#required": {} } } }, @@ -7370,6 +7372,11 @@ "type": "list", "member": { "target": "com.amazonaws.auditmanager#UpdateAssessmentFrameworkControlSet" + }, + "traits": { + "smithy.api#length": { + "min": 1 + } } }, "com.amazonaws.auditmanager#UpdateAssessmentFrameworkRequest": { diff --git a/codegen/sdk-codegen/aws-models/backup.2018-11-15.json b/codegen/sdk-codegen/aws-models/backup.2018-11-15.json index 567c15b1e31..78472ee8ec4 100644 --- a/codegen/sdk-codegen/aws-models/backup.2018-11-15.json +++ b/codegen/sdk-codegen/aws-models/backup.2018-11-15.json @@ -494,7 +494,7 @@ "Lifecycle": { "target": "com.amazonaws.backup#Lifecycle", "traits": { - "smithy.api#documentation": "

The lifecycle defines when a protected resource is transitioned to cold storage and when\n it expires. Backup transitions and expires backups automatically according to\n the lifecycle that you define.

\n

Backups transitioned to cold storage must be stored in cold storage for a minimum of 90\n days. Therefore, the “expire after days” setting must be 90 days greater than the\n “transition to cold after days” setting. The “transition to cold after days” setting cannot\n be changed after a backup has been transitioned to cold.

\n

Only Amazon EFS file system backups can be transitioned to cold storage.

" + "smithy.api#documentation": "

The lifecycle defines when a protected resource is transitioned to cold storage and when\n it expires. Backup transitions and expires backups automatically according to\n the lifecycle that you define.

\n

Backups transitioned to cold storage must be stored in cold storage for a minimum of 90\n days. Therefore, the “retention” setting must be 90 days greater than the “transition to\n cold after days” setting. The “transition to cold after days” setting cannot be changed\n after a backup has been transitioned to cold.

\n

Only resource types that support full Backup management can transition their\n backups to cold storage. Those resource types are listed in the \"Full Backup\n management\" section of the Feature\n availability by resource table. Backup ignores this expression for\n other resource types.

" } }, "RecoveryPointTags": { @@ -564,7 +564,7 @@ "Lifecycle": { "target": "com.amazonaws.backup#Lifecycle", "traits": { - "smithy.api#documentation": "

The lifecycle defines when a protected resource is transitioned to cold storage and when\n it expires. Backup will transition and expire backups automatically according\n to the lifecycle that you define.

\n

Backups transitioned to cold storage must be stored in cold storage for a minimum of 90\n days. Therefore, the “expire after days” setting must be 90 days greater than the\n “transition to cold after days” setting. The “transition to cold after days” setting cannot\n be changed after a backup has been transitioned to cold.

\n

Only Amazon EFS file system backups can be transitioned to cold storage.

" + "smithy.api#documentation": "

The lifecycle defines when a protected resource is transitioned to cold storage and when\n it expires. Backup will transition and expire backups automatically according\n to the lifecycle that you define.

\n

Backups transitioned to cold storage must be stored in cold storage for a minimum of 90\n days. Therefore, the “retention” setting must be 90 days greater than the “transition to\n cold after days” setting. The “transition to cold after days” setting cannot be changed\n after a backup has been transitioned to cold.

\n

Only resource types that support full Backup management can transition their\n backups to cold storage. Those resource types are listed in the \"Full Backup\n management\" section of the Feature\n availability by resource table. Backup ignores this expression for\n other resource types.

" } }, "RecoveryPointTags": { @@ -773,6 +773,14 @@ { "value": "BACKUP_PLAN_MODIFIED", "name": "BACKUP_PLAN_MODIFIED" + }, + { + "value": "S3_BACKUP_OBJECT_FAILED", + "name": "S3_BACKUP_OBJECT_FAILED" + }, + { + "value": "S3_RESTORE_OBJECT_FAILED", + "name": "S3_RESTORE_OBJECT_FAILED" } ] } @@ -813,7 +821,7 @@ "EncryptionKeyArn": { "target": "com.amazonaws.backup#ARN", "traits": { - "smithy.api#documentation": "

The server-side encryption key that is used to protect your backups; for example,\n arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab.

" + "smithy.api#documentation": "

A server-side encryption key you can specify to encrypt your backups from services\n that support full Backup management; for example,\n arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab.\n If you specify a key, you must specify its ARN, not its alias. If you do not specify a key,\n Backup creates a KMS key for you by default.

\n

To learn which Backup services support full Backup management\n and how Backup handles encryption for backups from services that do not yet support\n full Backup, see \n Encryption for backups in Backup\n

" } }, "CreatorRequestId": { @@ -889,7 +897,7 @@ } }, "traits": { - "smithy.api#documentation": "

Contains DeleteAt and MoveToColdStorageAt timestamps, which\n are used to specify a lifecycle for a recovery point.

\n

The lifecycle defines when a protected resource is transitioned to cold storage and when\n it expires. Backup transitions and expires backups automatically according to\n the lifecycle that you define.

\n

Backups transitioned to cold storage must be stored in cold storage for a minimum of 90\n days. Therefore, the “expire after days” setting must be 90 days greater than the\n “transition to cold after days” setting. The “transition to cold after days” setting cannot\n be changed after a backup has been transitioned to cold.

\n

Only Amazon EFS file system backups can be transitioned to cold storage.

" + "smithy.api#documentation": "

Contains DeleteAt and MoveToColdStorageAt timestamps, which\n are used to specify a lifecycle for a recovery point.

\n

The lifecycle defines when a protected resource is transitioned to cold storage and when\n it expires. Backup transitions and expires backups automatically according to\n the lifecycle that you define.

\n

Backups transitioned to cold storage must be stored in cold storage for a minimum of 90\n days. Therefore, the “retention” setting must be 90 days greater than the “transition to\n cold after days” setting. The “transition to cold after days” setting cannot be changed\n after a backup has been transitioned to cold.

\n

Only resource types that support full Backup management can transition their\n backups to cold storage. Those resource types are listed in the \"Full Backup\n management\" section of the Feature\n availability by resource table. Backup ignores this expression for\n other resource types.

" } }, "com.amazonaws.backup#ComplianceResourceIdList": { @@ -910,7 +918,7 @@ "ConditionType": { "target": "com.amazonaws.backup#ConditionType", "traits": { - "smithy.api#documentation": "

An operation applied to a key-value pair used to assign resources to your backup plan.\n Condition only supports StringEquals. For more flexible assignment options,\n incluidng StringLike and the ability to exclude resources from your backup\n plan, use Conditions (with an \"s\" on the end) for your \n BackupSelection\n .

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

An operation applied to a key-value pair used to assign resources to your backup plan.\n Condition only supports StringEquals. For more flexible assignment options,\n including StringLike and the ability to exclude resources from your backup\n plan, use Conditions (with an \"s\" on the end) for your \n BackupSelection\n .

", "smithy.api#required": {} } }, @@ -1363,7 +1371,7 @@ } ], "traits": { - "smithy.api#documentation": "

Creates a JSON document that specifies a set of resources to assign to a backup plan.\n For examples, see Assigning resources\n programmatically.

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

Creates a JSON document that specifies a set of resources to assign to a backup plan.\n For examples, see Assigning resources programmatically.

", "smithy.api#http": { "method": "PUT", "uri": "/backup/plans/{BackupPlanId}/selections", @@ -3088,7 +3096,7 @@ "Lifecycle": { "target": "com.amazonaws.backup#Lifecycle", "traits": { - "smithy.api#documentation": "

The lifecycle defines when a protected resource is transitioned to cold storage and when\n it expires. Backup transitions and expires backups automatically according to\n the lifecycle that you define.

\n

Backups that are transitioned to cold storage must be stored in cold storage for a\n minimum of 90 days. Therefore, the “expire after days” setting must be 90 days greater than\n the “transition to cold after days” setting. The “transition to cold after days” setting\n cannot be changed after a backup has been transitioned to cold.

\n

Only Amazon EFS file system backups can be transitioned to cold storage.

" + "smithy.api#documentation": "

The lifecycle defines when a protected resource is transitioned to cold storage and when\n it expires. Backup transitions and expires backups automatically according to\n the lifecycle that you define.

\n

Backups that are transitioned to cold storage must be stored in cold storage for a\n minimum of 90 days. Therefore, the “retention” setting must be 90 days greater than the\n “transition to cold after days” setting. The “transition to cold after days” setting cannot\n be changed after a backup has been transitioned to cold.

\n

Only resource types that support full Backup management can transition their\n backups to cold storage. Those resource types are listed in the \"Full Backup\n management\" section of the Feature\n availability by resource table. Backup ignores this expression for\n other resource types.

" } }, "EncryptionKeyArn": { @@ -3155,7 +3163,7 @@ "ResourceTypeManagementPreference": { "target": "com.amazonaws.backup#ResourceTypeManagementPreference", "traits": { - "smithy.api#documentation": "

Returns whether a DynamoDB recovery point was taken using \n \n Backup's advanced DynamoDB backup features.\n

" + "smithy.api#documentation": "

Returns whether Backup fully manages the backups for a resource type.

\n

For the benefits of full Backup management, see Full Backup management.

\n

For a list of resource types and whether each supports full Backup\n management, see the Feature\n availability by resource table.

\n

If \"DynamoDB\":false, you can enable full Backup management for\n DynamoDB backup by enabling \n Backup's advanced DynamoDB backup features.

" } } } @@ -4171,7 +4179,7 @@ "ResourceTypes": { "target": "com.amazonaws.backup#ResourceTypes", "traits": { - "smithy.api#documentation": "

Contains a string with the supported Amazon Web Services resource types:

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

Contains a string with the supported Amazon Web Services resource types:

\n " } } } @@ -4298,7 +4306,7 @@ } }, "traits": { - "smithy.api#documentation": "

Contains an array of Transition objects specifying how long in days before\n a recovery point transitions to cold storage or is deleted.

\n

Backups transitioned to cold storage must be stored in cold storage for a minimum of 90\n days. Therefore, on the console, the “expire after days” setting must be 90 days greater\n than the “transition to cold after days” setting. The “transition to cold after days”\n setting cannot be changed after a backup has been transitioned to cold.

\n

Only Amazon EFS file system backups can be transitioned to cold storage.

" + "smithy.api#documentation": "

Contains an array of Transition objects specifying how long in days before\n a recovery point transitions to cold storage or is deleted.

\n

Backups transitioned to cold storage must be stored in cold storage for a minimum of 90\n days. Therefore, on the console, the “retention” setting must be 90 days greater than the\n “transition to cold after days” setting. The “transition to cold after days” setting cannot\n be changed after a backup has been transitioned to cold.

\n

Only resource types that support full Backup management can transition their\n backups to cold storage. Those resource types are listed in the \"Full Backup\n management\" section of the Feature\n availability by resource table. Backup ignores this expression for\n other resource types.

" } }, "com.amazonaws.backup#LimitExceededException": { @@ -4414,7 +4422,7 @@ "ByResourceType": { "target": "com.amazonaws.backup#ResourceType", "traits": { - "smithy.api#documentation": "

Returns only backup jobs for the specified resources:

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

Returns only backup jobs for the specified resources:

\n ", "smithy.api#httpQuery": "resourceType" } }, @@ -4909,7 +4917,7 @@ "ByResourceType": { "target": "com.amazonaws.backup#ResourceType", "traits": { - "smithy.api#documentation": "

Returns only backup jobs for the specified resources:

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

Returns only backup jobs for the specified resources:

\n ", "smithy.api#httpQuery": "resourceType" } }, @@ -5566,7 +5574,7 @@ } ], "traits": { - "smithy.api#documentation": "

Returns a list of key-value pairs assigned to a target recovery point, backup plan, or\n backup vault.

\n \n

\n ListTags are currently only supported with Amazon EFS\n backups.

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

Returns a list of key-value pairs assigned to a target recovery point, backup plan, or\n backup vault.

\n

\n ListTags only works for resource types that support full Backup\n management of their backups. Those resource types are listed in the \"Full Backup management\" section of the Feature\n availability by resource table.

", "smithy.api#http": { "method": "GET", "uri": "/tags/{ResourceArn}", @@ -5830,13 +5838,13 @@ "MinRetentionDays": { "target": "com.amazonaws.backup#Long", "traits": { - "smithy.api#documentation": "

The Backup Vault Lock configuration that specifies the minimum retention\n period that the vault retains its recovery points. This setting can be useful if, for\n example, your organization's policies require you to retain certain data for at least seven\n years (2555 days).

\n

If this parameter is not specified, Vault Lock will not enforce a minimum retention\n period.

\n

If this parameter is specified, any backup or copy job to the vault must have a\n lifecycle policy with a retention period equal to or longer than the minimum retention\n period. If the job's retention period is shorter than that minimum retention period, then\n the vault fails that backup or copy job, and you should either modify your lifecycle\n settings or use a different vault. Recovery points already saved in the vault prior to\n Vault Lock are not affected.

" + "smithy.api#documentation": "

The Backup Vault Lock configuration that specifies the minimum retention\n period that the vault retains its recovery points. This setting can be useful if, for\n example, your organization's policies require you to retain certain data for at least seven\n years (2555 days).

\n

If this parameter is not specified, Vault Lock will not enforce a minimum retention\n period.

\n

If this parameter is specified, any backup or copy job to the vault must have a\n lifecycle policy with a retention period equal to or longer than the minimum retention\n period. If the job's retention period is shorter than that minimum retention period, then\n the vault fails that backup or copy job, and you should either modify your lifecycle\n settings or use a different vault. The shortest minimum retention period\n you can specify is 1 day. Recovery points already saved in the vault prior to\n Vault Lock are not affected.

" } }, "MaxRetentionDays": { "target": "com.amazonaws.backup#Long", "traits": { - "smithy.api#documentation": "

The Backup Vault Lock configuration that specifies the maximum retention\n period that the vault retains its recovery points. This setting can be useful if, for\n example, your organization's policies require you to destroy certain data after retaining\n it for four years (1460 days).

\n

If this parameter is not included, Vault Lock does not enforce a maximum retention\n period on the recovery points in the vault. If this parameter is included without a value,\n Vault Lock will not enforce a maximum retention period.

\n

If this parameter is specified, any backup or copy job to the vault must have a\n lifecycle policy with a retention period equal to or shorter than the maximum retention\n period. If the job's retention period is longer than that maximum retention period, then\n the vault fails the backup or copy job, and you should either modify your lifecycle\n settings or use a different vault. Recovery points already saved in the vault prior to\n Vault Lock are not affected.

" + "smithy.api#documentation": "

The Backup Vault Lock configuration that specifies the maximum retention\n period that the vault retains its recovery points. This setting can be useful if, for\n example, your organization's policies require you to destroy certain data after retaining\n it for four years (1460 days).

\n

If this parameter is not included, Vault Lock does not enforce a maximum retention\n period on the recovery points in the vault. If this parameter is included without a value,\n Vault Lock will not enforce a maximum retention period.

\n

If this parameter is specified, any backup or copy job to the vault must have a\n lifecycle policy with a retention period equal to or shorter than the maximum retention\n period. If the job's retention period is longer than that maximum retention period, then\n the vault fails the backup or copy job, and you should either modify your lifecycle\n settings or use a different vault. The longest maximum retention period\n you can specify is 36500 days (approximately 100 years).\n Recovery points already saved in the vault prior to\n Vault Lock are not affected.

" } }, "ChangeableForDays": { @@ -5897,7 +5905,7 @@ "BackupVaultEvents": { "target": "com.amazonaws.backup#BackupVaultEvents", "traits": { - "smithy.api#documentation": "

An array of events that indicate the status of jobs to back up resources to the backup\n vault.

\n

For common use cases and code samples, see Using Amazon SNS to\n track Backup events.

\n

The following events are supported:

\n \n \n

Ignore the list below because it includes deprecated events. Refer to the list\n above.

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

An array of events that indicate the status of jobs to back up resources to the backup\n vault.

\n

For common use cases and code samples, see Using Amazon SNS to\n track Backup events.

\n

The following events are supported:

\n \n \n

Ignore the list below because it includes deprecated events. Refer to the list\n above.

\n
", "smithy.api#required": {} } } @@ -5993,7 +6001,7 @@ "Lifecycle": { "target": "com.amazonaws.backup#Lifecycle", "traits": { - "smithy.api#documentation": "

The lifecycle defines when a protected resource is transitioned to cold storage and when\n it expires. Backup transitions and expires backups automatically according to\n the lifecycle that you define.

\n

Backups transitioned to cold storage must be stored in cold storage for a minimum of 90\n days. Therefore, the “expire after days” setting must be 90 days greater than the\n “transition to cold after days” setting. The “transition to cold after days” setting cannot\n be changed after a backup has been transitioned to cold.

\n

Only Amazon EFS file system backups can be transitioned to cold storage.

" + "smithy.api#documentation": "

The lifecycle defines when a protected resource is transitioned to cold storage and when\n it expires. Backup transitions and expires backups automatically according to\n the lifecycle that you define.

\n

Backups transitioned to cold storage must be stored in cold storage for a minimum of 90\n days. Therefore, the “retention” setting must be 90 days greater than the “transition to\n cold after days” setting. The “transition to cold after days” setting cannot be changed\n after a backup has been transitioned to cold.

\n

Only resource types that support full Backup management can transition their\n backups to cold storage. Those resource types are listed in the \"Full Backup\n management\" section of the Feature\n availability by resource table. Backup ignores this expression for\n other resource types.

" } }, "EncryptionKeyArn": { @@ -6658,13 +6666,13 @@ "CompleteWindowMinutes": { "target": "com.amazonaws.backup#WindowMinutes", "traits": { - "smithy.api#documentation": "

A value in minutes during which a successfully started backup must complete, or else AWS\n Backup will cancel the job. This value is optional. This value begins counting down from\n when the backup was scheduled. It does not add additional time for\n StartWindowMinutes, or if the backup started later than scheduled.

" + "smithy.api#documentation": "

A value in minutes during which a successfully started backup must complete, or else\n Backup will cancel the job. This value is optional. This value begins\n counting down from when the backup was scheduled. It does not add additional time for\n StartWindowMinutes, or if the backup started later than scheduled.

" } }, "Lifecycle": { "target": "com.amazonaws.backup#Lifecycle", "traits": { - "smithy.api#documentation": "

The lifecycle defines when a protected resource is transitioned to cold storage and when\n it expires. Backup will transition and expire backups automatically according\n to the lifecycle that you define.

\n

Backups transitioned to cold storage must be stored in cold storage for a minimum of 90\n days. Therefore, the “expire after days” setting must be 90 days greater than the\n “transition to cold after days” setting. The “transition to cold after days” setting cannot\n be changed after a backup has been transitioned to cold.

\n

Only Amazon EFS file system backups can be transitioned to cold storage.

" + "smithy.api#documentation": "

The lifecycle defines when a protected resource is transitioned to cold storage and when\n it expires. Backup will transition and expire backups automatically according\n to the lifecycle that you define.

\n

Backups transitioned to cold storage must be stored in cold storage for a minimum of 90\n days. Therefore, the “retention” setting must be 90 days greater than the “transition to\n cold after days” setting. The “transition to cold after days” setting cannot be changed\n after a backup has been transitioned to cold.

\n

Only resource types that support full Backup management can transition their\n backups to cold storage. Those resource types are listed in the \"Full Backup\n management\" section of the Feature\n availability by resource table. Backup ignores this expression for\n other resource types.

" } }, "RecoveryPointTags": { @@ -6929,7 +6937,7 @@ "ResourceType": { "target": "com.amazonaws.backup#ResourceType", "traits": { - "smithy.api#documentation": "

Starts a job to restore a recovery point for one of the following resources:

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

Starts a job to restore a recovery point for one of the following resources:

\n " } } } @@ -7384,7 +7392,7 @@ } ], "traits": { - "smithy.api#documentation": "

Sets the transition lifecycle of a recovery point.

\n

The lifecycle defines when a protected resource is transitioned to cold storage and when\n it expires. Backup transitions and expires backups automatically according to\n the lifecycle that you define.

\n

Backups transitioned to cold storage must be stored in cold storage for a minimum of 90\n days. Therefore, the “expire after days” setting must be 90 days greater than the\n “transition to cold after days” setting. The “transition to cold after days” setting cannot\n be changed after a backup has been transitioned to cold.

\n

Only Amazon EFS file system backups can be transitioned to cold storage.

\n

Does not support continuous backups.

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

Sets the transition lifecycle of a recovery point.

\n

The lifecycle defines when a protected resource is transitioned to cold storage and when\n it expires. Backup transitions and expires backups automatically according to\n the lifecycle that you define.

\n

Backups transitioned to cold storage must be stored in cold storage for a minimum of 90\n days. Therefore, the “retention” setting must be 90 days greater than the “transition to\n cold after days” setting. The “transition to cold after days” setting cannot be changed\n after a backup has been transitioned to cold.

\n

Only resource types that support full Backup management can transition their\n backups to cold storage. Those resource types are listed in the \"Full Backup\n management\" section of the Feature\n availability by resource table. Backup ignores this expression for\n other resource types.

\n

This operation does not support continuous backups.

", "smithy.api#http": { "method": "POST", "uri": "/backup-vaults/{BackupVaultName}/recovery-points/{RecoveryPointArn}", @@ -7415,7 +7423,7 @@ "Lifecycle": { "target": "com.amazonaws.backup#Lifecycle", "traits": { - "smithy.api#documentation": "

The lifecycle defines when a protected resource is transitioned to cold storage and when\n it expires. Backup transitions and expires backups automatically according to\n the lifecycle that you define.

\n

Backups transitioned to cold storage must be stored in cold storage for a minimum of 90\n days. Therefore, the “expire after days” setting must be 90 days greater than the\n “transition to cold after days” setting. The “transition to cold after days” setting cannot\n be changed after a backup has been transitioned to cold.

" + "smithy.api#documentation": "

The lifecycle defines when a protected resource is transitioned to cold storage and when\n it expires. Backup transitions and expires backups automatically according to\n the lifecycle that you define.

\n

Backups transitioned to cold storage must be stored in cold storage for a minimum of 90\n days. Therefore, the “retention” setting must be 90 days greater than the “transition to\n cold after days” setting. The “transition to cold after days” setting cannot be changed\n after a backup has been transitioned to cold.

" } } } @@ -7438,7 +7446,7 @@ "Lifecycle": { "target": "com.amazonaws.backup#Lifecycle", "traits": { - "smithy.api#documentation": "

The lifecycle defines when a protected resource is transitioned to cold storage and when\n it expires. Backup transitions and expires backups automatically according to\n the lifecycle that you define.

\n

Backups transitioned to cold storage must be stored in cold storage for a minimum of 90\n days. Therefore, the “expire after days” setting must be 90 days greater than the\n “transition to cold after days” setting. The “transition to cold after days” setting cannot\n be changed after a backup has been transitioned to cold.

\n

Only Amazon EFS file system backups can be transitioned to cold storage.

" + "smithy.api#documentation": "

The lifecycle defines when a protected resource is transitioned to cold storage and when\n it expires. Backup transitions and expires backups automatically according to\n the lifecycle that you define.

\n

Backups transitioned to cold storage must be stored in cold storage for a minimum of 90\n days. Therefore, the “retention” setting must be 90 days greater than the “transition to\n cold after days” setting. The “transition to cold after days” setting cannot be changed\n after a backup has been transitioned to cold.

\n

Only resource types that support full Backup management can transition their\n backups to cold storage. Those resource types are listed in the \"Full Backup\n management\" section of the Feature\n availability by resource table. Backup ignores this expression for\n other resource types.

" } }, "CalculatedLifecycle": { @@ -7486,7 +7494,7 @@ "ResourceTypeManagementPreference": { "target": "com.amazonaws.backup#ResourceTypeManagementPreference", "traits": { - "smithy.api#documentation": "

Enables or disables \n \n Backup's advanced DynamoDB backup features for the\n Region.

" + "smithy.api#documentation": "

Enables or disables full Backup management of backups for a resource type.\n To enable full Backup management for DynamoDB along with \n Backup's advanced DynamoDB backup features, follow the\n procedure to enable advanced DynamoDB backup programmatically.

" } } } diff --git a/codegen/sdk-codegen/aws-models/budgets.2016-10-20.json b/codegen/sdk-codegen/aws-models/budgets.2016-10-20.json index b901f816ecf..e68b7d0be59 100644 --- a/codegen/sdk-codegen/aws-models/budgets.2016-10-20.json +++ b/codegen/sdk-codegen/aws-models/budgets.2016-10-20.json @@ -31,6 +31,21 @@ "shapes": { "com.amazonaws.budgets#AWSBudgetServiceGateway": { "type": "service", + "traits": { + "aws.api#service": { + "sdkId": "Budgets", + "arnNamespace": "budgets", + "cloudFormationName": "Budgets", + "cloudTrailEventSource": "budgets.amazonaws.com", + "endpointPrefix": "budgets" + }, + "aws.auth#sigv4": { + "name": "budgets" + }, + "aws.protocols#awsJson1_1": {}, + "smithy.api#documentation": "

The Amazon Web Services Budgets API enables you to use Amazon Web Services Budgets to plan your service usage, service costs, and instance reservations. The API reference provides descriptions, syntax, and usage examples for each of the actions and data types for Amazon Web Services Budgets.

\n\t\t

Budgets provide you with a way to see the following information:

\n\t\t \n\t\t

Amazon Web Services updates your budget status several times a day. Budgets track your unblended costs, subscriptions, refunds, and RIs. You can create the following types of budgets:

\n\t\t \n\t\t

Service Endpoint

\n\t\t

The Amazon Web Services Budgets API provides the following endpoint:

\n\t\t \n\t\t

For information about costs that are associated with the Amazon Web Services Budgets API, see Amazon Web Services Cost Management Pricing.

", + "smithy.api#title": "AWS Budgets" + }, "version": "2016-10-20", "operations": [ { @@ -72,6 +87,9 @@ { "target": "com.amazonaws.budgets#DescribeBudgetActionsForBudget" }, + { + "target": "com.amazonaws.budgets#DescribeBudgetNotificationsForAccount" + }, { "target": "com.amazonaws.budgets#DescribeBudgetPerformanceHistory" }, @@ -99,22 +117,7 @@ { "target": "com.amazonaws.budgets#UpdateSubscriber" } - ], - "traits": { - "aws.api#service": { - "sdkId": "Budgets", - "arnNamespace": "budgets", - "cloudFormationName": "Budgets", - "cloudTrailEventSource": "budgets.amazonaws.com", - "endpointPrefix": "budgets" - }, - "aws.auth#sigv4": { - "name": "budgets" - }, - "aws.protocols#awsJson1_1": {}, - "smithy.api#documentation": "

The AWS Budgets API enables you to use AWS Budgets to plan your service usage, service costs, and instance reservations. The API reference provides descriptions, syntax, and usage examples for each of the actions and data types for AWS Budgets.

\n\t\t

Budgets provide you with a way to see the following information:

\n\t\t \n\t\t

AWS updates your budget status several times a day. Budgets track your unblended costs, subscriptions, refunds, and RIs. You can create the following types of budgets:

\n\t\t \n\t\t

Service Endpoint

\n\t\t

The AWS Budgets API provides the following endpoint:

\n\t\t \n\t\t

For information about costs that are associated with the AWS Budgets API, see AWS Cost Management Pricing.

", - "smithy.api#title": "AWS Budgets" - } + ] }, "com.amazonaws.budgets#AccessDeniedException": { "type": "structure", @@ -132,12 +135,12 @@ "com.amazonaws.budgets#AccountId": { "type": "string", "traits": { - "smithy.api#documentation": "

The account ID of the user. It should be a 12-digit number.

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

The account ID of the user. It's a 12-digit number.

", "smithy.api#length": { "min": 12, "max": 12 }, - "smithy.api#pattern": "\\d{12}" + "smithy.api#pattern": "^\\d{12}$" } }, "com.amazonaws.budgets#Action": { @@ -146,7 +149,7 @@ "ActionId": { "target": "com.amazonaws.budgets#ActionId", "traits": { - "smithy.api#documentation": "

\n\t\t\tA system-generated universally unique identifier (UUID) for the action.\n\t\t

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

A system-generated universally unique identifier (UUID) for the action.

", "smithy.api#required": {} } }, @@ -165,42 +168,42 @@ "ActionType": { "target": "com.amazonaws.budgets#ActionType", "traits": { - "smithy.api#documentation": "

\n\t\t\tThe type of action. This defines the type of tasks that can be carried out by this action. This field also determines the format for definition.\n\t\t

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

The type of action. This defines the type of tasks that can be carried out by this action.\n\t\t\tThis field also determines the format for definition.

", "smithy.api#required": {} } }, "ActionThreshold": { "target": "com.amazonaws.budgets#ActionThreshold", "traits": { - "smithy.api#documentation": "

\n\t\t\tThe trigger threshold of the action.\n\t\t

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

The trigger threshold of the action.

", "smithy.api#required": {} } }, "Definition": { "target": "com.amazonaws.budgets#Definition", "traits": { - "smithy.api#documentation": "

\n\t\t\tWhere you specify all of the type-specific parameters.\n\t\t

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

Where you specify all of the type-specific parameters.

", "smithy.api#required": {} } }, "ExecutionRoleArn": { "target": "com.amazonaws.budgets#RoleArn", "traits": { - "smithy.api#documentation": "

\n\t\t\tThe role passed for action execution and reversion. Roles and actions must be in the same account.\n\t\t

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

The role passed for action execution and reversion. Roles and actions must be in the same\n\t\t\taccount.

", "smithy.api#required": {} } }, "ApprovalModel": { "target": "com.amazonaws.budgets#ApprovalModel", "traits": { - "smithy.api#documentation": "

\n\t\t\tThis specifies if the action needs manual or automatic approval.\n\t\t

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

This specifies if the action needs manual or automatic approval.

", "smithy.api#required": {} } }, "Status": { "target": "com.amazonaws.budgets#ActionStatus", "traits": { - "smithy.api#documentation": "

\n\t\t\tThe status of action.\n\t\t

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

The status of the action.

", "smithy.api#required": {} } }, @@ -212,7 +215,7 @@ } }, "traits": { - "smithy.api#documentation": "

\n\t\t\tA budget action resource.\n\t\t

" + "smithy.api#documentation": "

A budget action resource.

" } }, "com.amazonaws.budgets#ActionHistories": { @@ -239,27 +242,27 @@ "Status": { "target": "com.amazonaws.budgets#ActionStatus", "traits": { - "smithy.api#documentation": "

\n\t\t\tThe status of action at the time of the event.\n\t\t

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

The status of action at the time of the event.

", "smithy.api#required": {} } }, "EventType": { "target": "com.amazonaws.budgets#EventType", "traits": { - "smithy.api#documentation": "

\n\t\t\tThis distinguishes between whether the events are triggered by the user or generated by the system.\n\t\t

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

This distinguishes between whether the events are triggered by the user or are generated by\n\t\t\tthe system.

", "smithy.api#required": {} } }, "ActionHistoryDetails": { "target": "com.amazonaws.budgets#ActionHistoryDetails", "traits": { - "smithy.api#documentation": "

\n\t\t\tThe description of details of the event.\n\t\t

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

The description of the details for the event.

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

\n\t\t\tThe historical records for a budget action.\n\t\t

" + "smithy.api#documentation": "

The historical records for a budget action.

" } }, "com.amazonaws.budgets#ActionHistoryDetails": { @@ -274,13 +277,13 @@ "Action": { "target": "com.amazonaws.budgets#Action", "traits": { - "smithy.api#documentation": "

\n\t\t\tThe budget action resource.\n\t\t

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

The budget action resource.

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

\n\t\t\tThe description of details of the event.\n\t\t

" + "smithy.api#documentation": "

The description of the details for the event.

" } }, "com.amazonaws.budgets#ActionId": { @@ -372,7 +375,7 @@ } }, "traits": { - "smithy.api#documentation": "

\n\t\t\tThe trigger threshold of the action.\n\t\t

" + "smithy.api#documentation": "

The trigger threshold of the action.

" } }, "com.amazonaws.budgets#ActionType": { @@ -406,6 +409,16 @@ } } }, + "com.amazonaws.budgets#AdjustmentPeriod": { + "type": "integer", + "traits": { + "smithy.api#box": {}, + "smithy.api#range": { + "min": 1, + "max": 60 + } + } + }, "com.amazonaws.budgets#ApprovalModel": { "type": "string", "traits": { @@ -421,6 +434,48 @@ ] } }, + "com.amazonaws.budgets#AutoAdjustData": { + "type": "structure", + "members": { + "AutoAdjustType": { + "target": "com.amazonaws.budgets#AutoAdjustType", + "traits": { + "smithy.api#documentation": "

The string that defines whether your budget auto-adjusts based on historical or forecasted data.

", + "smithy.api#required": {} + } + }, + "HistoricalOptions": { + "target": "com.amazonaws.budgets#HistoricalOptions", + "traits": { + "smithy.api#documentation": "

The parameters that define or describe the historical data that your auto-adjusting budget is based on.

" + } + }, + "LastAutoAdjustTime": { + "target": "com.amazonaws.budgets#GenericTimestamp", + "traits": { + "smithy.api#documentation": "

The last time that your budget was auto-adjusted.

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

The parameters that determine the budget amount for an auto-adjusting budget.

" + } + }, + "com.amazonaws.budgets#AutoAdjustType": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "HISTORICAL", + "name": "HISTORICAL" + }, + { + "value": "FORECAST", + "name": "FORECAST" + } + ] + } + }, "com.amazonaws.budgets#Budget": { "type": "structure", "members": { @@ -434,19 +489,19 @@ "BudgetLimit": { "target": "com.amazonaws.budgets#Spend", "traits": { - "smithy.api#documentation": "

The total amount of cost, usage, RI utilization, RI coverage, Savings Plans utilization, or Savings Plans coverage that you want to track with your budget.

\n\t\t

\n BudgetLimit is required for cost or usage budgets, but optional for RI or Savings Plans utilization or coverage budgets. RI and Savings Plans utilization or coverage budgets default to 100, which is the only valid value for RI or Savings Plans utilization or coverage budgets. You can't use BudgetLimit with PlannedBudgetLimits for CreateBudget and UpdateBudget actions.

" + "smithy.api#documentation": "

The total amount of cost, usage, RI utilization, RI coverage, Savings Plans utilization, or\n\t\t\tSavings Plans coverage that you want to track with your budget.

\n\t\t

\n BudgetLimit is required for cost or usage budgets, but optional for RI or\n\t\t\tSavings Plans utilization or coverage budgets. RI and Savings Plans utilization or\n\t\t\tcoverage budgets default to 100. This is the only valid value for RI or\n\t\t\tSavings Plans utilization or coverage budgets. You can't use BudgetLimit\n\t\t\twith PlannedBudgetLimits for CreateBudget and\n\t\t\t\tUpdateBudget actions.

" } }, "PlannedBudgetLimits": { "target": "com.amazonaws.budgets#PlannedBudgetLimits", "traits": { - "smithy.api#documentation": "

A map containing multiple BudgetLimit, including current or future limits.

\n\t\t

\n PlannedBudgetLimits is available for cost or usage budget and supports monthly and quarterly TimeUnit.

\n\t\t

For monthly budgets, provide 12 months of PlannedBudgetLimits values. This must start from the current month and include the next 11 months. The key is the start of the month, UTC in epoch seconds.

\n\t\t

For quarterly budgets, provide 4 quarters of PlannedBudgetLimits value entries in standard calendar quarter increments. This must start from the current quarter and include the next 3 quarters. The key is the start of the quarter, UTC in epoch seconds.

\n\t\t

If the planned budget expires before 12 months for monthly or 4 quarters for quarterly, provide the PlannedBudgetLimits values only for the remaining periods.

\n\t\t

If the budget begins at a date in the future, provide PlannedBudgetLimits values from the start date of the budget.

\n\t\t

After all of the BudgetLimit values in PlannedBudgetLimits are used, the budget continues to use the last limit as the BudgetLimit. At that point, the planned budget provides the same experience as a fixed budget.

\n\t\t

\n DescribeBudget and DescribeBudgets response along with PlannedBudgetLimits will also contain BudgetLimit representing the current month or quarter limit present in PlannedBudgetLimits. This only applies to budgets created with PlannedBudgetLimits. Budgets created without PlannedBudgetLimits will only contain BudgetLimit, and no PlannedBudgetLimits.

" + "smithy.api#documentation": "

A map containing multiple BudgetLimit, including current or future limits.

\n\t\t

\n PlannedBudgetLimits is available for cost or usage budget and supports both\n\t\t\tmonthly and quarterly TimeUnit.

\n\t\t

For monthly budgets, provide 12 months of PlannedBudgetLimits values. This must start from the current month and include the next 11 months. The key is the start of the month, UTC in epoch seconds.

\n\t\t

For quarterly budgets, provide four quarters of PlannedBudgetLimits value\n\t\t\tentries in standard calendar quarter increments. This must start from the current\n\t\t\tquarter and include the next three quarters. The key is the start of the\n\t\t\tquarter, UTC in epoch seconds.

\n\t\t

If the planned budget expires before 12 months for monthly or four quarters for quarterly,\n\t\t\tprovide the PlannedBudgetLimits values only for the remaining\n\t\t\tperiods.

\n\t\t

If the budget begins at a date in the future, provide PlannedBudgetLimits values from the start date of the budget.

\n\t\t

After all of the BudgetLimit values in PlannedBudgetLimits are used, the budget continues to use the last limit as the BudgetLimit. At that point, the planned budget provides the same experience as a fixed budget.

\n\t\t

\n DescribeBudget and DescribeBudgets response along with\n\t\t\t\tPlannedBudgetLimits also contain BudgetLimit representing\n\t\t\tthe current month or quarter limit present in PlannedBudgetLimits. This\n\t\t\tonly applies to budgets that are created with PlannedBudgetLimits. Budgets\n\t\t\tthat are created without PlannedBudgetLimits only contain\n\t\t\t\tBudgetLimit. They don't contain\n\t\t\tPlannedBudgetLimits.

" } }, "CostFilters": { "target": "com.amazonaws.budgets#CostFilters", "traits": { - "smithy.api#documentation": "

The cost filters, such as service or tag, that are applied to a budget.

\n\t\t

AWS Budgets supports the following services as a filter for RI budgets:

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

The cost filters, such as Region, Service, member account, Tag, or Cost Category, that are applied to a budget.

\n\t\t

Amazon Web Services Budgets supports the following services as a Service filter for RI budgets:

\n\t\t " } }, "CostTypes": { @@ -465,7 +520,7 @@ "TimePeriod": { "target": "com.amazonaws.budgets#TimePeriod", "traits": { - "smithy.api#documentation": "

The period of time that is covered by a budget. The period has a start date and an end date. The start date must come before the end date. The end date must come before 06/15/87 00:00 UTC.

\n\t\t

If you create your budget and don't specify a start date, AWS defaults to the start of your chosen time period (DAILY, MONTHLY, QUARTERLY, or ANNUALLY). For example, if you created your budget on January 24, 2018, chose DAILY, and didn't set a start date, AWS set your start date to 01/24/18 00:00 UTC. If you chose MONTHLY, AWS set your start date to 01/01/18 00:00 UTC. If you didn't specify an end date, AWS set your end date to 06/15/87 00:00 UTC. The defaults are the same for the AWS Billing and Cost Management console and the API.

\n\t\t

You can change either date with the UpdateBudget operation.

\n\t\t

After the end date, AWS deletes the budget and all associated notifications and subscribers.

" + "smithy.api#documentation": "

The period of time that's covered by a budget. You setthe start date and end date. The start\n\t\t\tdate must come before the end date. The end date must come before 06/15/87 00:00\n\t\t\t\tUTC.

\n\t\t

If you create your budget and don't specify a start date, Amazon Web Services defaults to the\n\t\t\tstart of your chosen time period (DAILY, MONTHLY, QUARTERLY, or ANNUALLY). For example,\n\t\t\tif you created your budget on January 24, 2018, chose DAILY, and didn't set\n\t\t\ta start date, Amazon Web Services set your start date to 01/24/18 00:00 UTC.\n\t\t\tIf you chose MONTHLY, Amazon Web Services set your start date to\n\t\t\t\t01/01/18 00:00 UTC. If you didn't specify an end date, Amazon Web Services set your end date to 06/15/87 00:00 UTC. The defaults are the same for\n\t\t\tthe Billing and Cost Management console and the API.

\n\t\t

You can change either date with the UpdateBudget operation.

\n\t\t

After the end date, Amazon Web Services deletes the budget and all the associated\n\t\t\tnotifications and subscribers.

" } }, "CalculatedSpend": { @@ -477,7 +532,7 @@ "BudgetType": { "target": "com.amazonaws.budgets#BudgetType", "traits": { - "smithy.api#documentation": "

Whether this budget tracks costs, usage, RI utilization, RI coverage, Savings Plans utilization, or Savings Plans coverage.

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

Specifies whether this budget tracks costs, usage, RI utilization, RI coverage, Savings\n\t\t\tPlans utilization, or Savings Plans coverage.

", "smithy.api#required": {} } }, @@ -486,10 +541,16 @@ "traits": { "smithy.api#documentation": "

The last time that you updated this budget.

" } + }, + "AutoAdjustData": { + "target": "com.amazonaws.budgets#AutoAdjustData", + "traits": { + "smithy.api#documentation": "

The parameters that determine the budget amount for an auto-adjusting budget.

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

Represents the output of the CreateBudget operation. The content consists of the detailed metadata and data file information, and the current status of the budget object.

\n\t\t

This is the ARN pattern for a budget:

\n\t\t

\n arn:aws:budgets::AccountId:budget/budgetName\n

" + "smithy.api#documentation": "

Represents the output of the CreateBudget operation. The content consists of the detailed metadata and data file information, and the current status of the budget object.

\n\t\t

This is the Amazon Resource Name (ARN) pattern for a budget:

\n\t\t

\n arn:aws:budgets::AccountId:budget/budgetName\n

" } }, "com.amazonaws.budgets#BudgetName": { @@ -500,7 +561,33 @@ "min": 1, "max": 100 }, - "smithy.api#pattern": "[^:\\\\]+" + "smithy.api#pattern": "^[^:\\\\]+$" + } + }, + "com.amazonaws.budgets#BudgetNotificationsForAccount": { + "type": "structure", + "members": { + "Notifications": { + "target": "com.amazonaws.budgets#Notifications" + }, + "BudgetName": { + "target": "com.amazonaws.budgets#BudgetName" + } + }, + "traits": { + "smithy.api#documentation": "

\n The budget name and associated notifications for an account.\n

" + } + }, + "com.amazonaws.budgets#BudgetNotificationsForAccountList": { + "type": "list", + "member": { + "target": "com.amazonaws.budgets#BudgetNotificationsForAccount" + }, + "traits": { + "smithy.api#length": { + "min": 0, + "max": 50 + } } }, "com.amazonaws.budgets#BudgetPerformanceHistory": { @@ -530,7 +617,7 @@ "BudgetedAndActualAmountsList": { "target": "com.amazonaws.budgets#BudgetedAndActualAmountsList", "traits": { - "smithy.api#documentation": "

A list of amounts of cost or usage that you created budgets for, compared to your actual costs or usage.

" + "smithy.api#documentation": "

A list of amounts of cost or usage that you created budgets for, which are compared to your\n\t\t\tactual costs or usage.

" } } }, @@ -588,7 +675,7 @@ "TimePeriod": { "target": "com.amazonaws.budgets#TimePeriod", "traits": { - "smithy.api#documentation": "

The time period covered by this budget comparison.

" + "smithy.api#documentation": "

The time period that's covered by this budget comparison.

" } } }, @@ -617,25 +704,25 @@ "ActualSpend": { "target": "com.amazonaws.budgets#Spend", "traits": { - "smithy.api#documentation": "

The amount of cost, usage, RI units, or Savings Plans units that you have used.

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

The amount of cost, usage, RI units, or Savings Plans units that you used.

", "smithy.api#required": {} } }, "ForecastedSpend": { "target": "com.amazonaws.budgets#Spend", "traits": { - "smithy.api#documentation": "

The amount of cost, usage, RI units, or Savings Plans units that you are forecasted to use.

" + "smithy.api#documentation": "

The amount of cost, usage, RI units, or Savings Plans units that you're forecasted to\n\t\t\tuse.

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

The spend objects that are associated with this budget. The actualSpend tracks how much you've used, cost, usage, RI units, or Savings Plans units and the forecastedSpend tracks how much you are predicted to spend based on your historical usage profile.

\n\t\t

For example, if it is the 20th of the month and you have spent 50 dollars on Amazon EC2, your actualSpend is 50 USD, and your forecastedSpend is 75 USD.

" + "smithy.api#documentation": "

The spend objects that are associated with this budget. The actualSpend tracks\n\t\t\thow much you've used, cost, usage, RI units, or Savings Plans units and the\n\t\t\t\tforecastedSpend tracks how much that you're predicted to spend based on\n\t\t\tyour historical usage profile.

\n\t\t

For example, if it's the 20th of the month and you have spent 50 dollars on\n\t\t\tAmazon EC2, your actualSpend is 50 USD, and your\n\t\t\t\tforecastedSpend is 75 USD.

" } }, "com.amazonaws.budgets#ComparisonOperator": { "type": "string", "traits": { - "smithy.api#documentation": "

The comparison operator of a notification. Currently the service supports the following operators:

\n\t\t

\n GREATER_THAN, LESS_THAN, EQUAL_TO\n

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

The comparison operator of a notification. Currently, the service supports the following\n\t\t\toperators:

\n\t\t

\n GREATER_THAN, LESS_THAN, EQUAL_TO\n

", "smithy.api#enum": [ { "value": "GREATER_THAN", @@ -735,7 +822,7 @@ } }, "traits": { - "smithy.api#documentation": "

The types of cost that are included in a COST budget, such as tax and subscriptions.

\n\t\t

\n USAGE, RI_UTILIZATION, RI_COVERAGE, SAVINGS_PLANS_UTILIZATION, and SAVINGS_PLANS_COVERAGE budgets do not have CostTypes.

" + "smithy.api#documentation": "

The types of cost that are included in a COST budget, such as tax and subscriptions.

\n\t\t

\n USAGE, RI_UTILIZATION, RI_COVERAGE,\n\t\t\t\tSAVINGS_PLANS_UTILIZATION, and SAVINGS_PLANS_COVERAGE\n\t\t\tbudgets don't have CostTypes.

" } }, "com.amazonaws.budgets#CreateBudget": { @@ -905,7 +992,7 @@ "NotificationsWithSubscribers": { "target": "com.amazonaws.budgets#NotificationWithSubscribersList", "traits": { - "smithy.api#documentation": "

A notification that you want to associate with a budget. A budget can have up to five notifications, and each notification can have one SNS subscriber and up to 10 email subscribers. If you include notifications and subscribers in your CreateBudget call, AWS creates the notifications and subscribers for you.

" + "smithy.api#documentation": "

A notification that you want to associate with a budget. A budget can have up to five notifications, and each notification can have one SNS subscriber and up to 10 email subscribers. If you include notifications and subscribers in your CreateBudget call, Amazon Web Services creates the notifications and subscribers for you.

" } } }, @@ -965,7 +1052,7 @@ "BudgetName": { "target": "com.amazonaws.budgets#BudgetName", "traits": { - "smithy.api#documentation": "

The name of the budget that you want AWS to notify you about. Budget names must be unique within an account.

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

The name of the budget that you want Amazon Web Services to notify you about. Budget names must be unique within an account.

", "smithy.api#required": {} } }, @@ -1089,24 +1176,24 @@ "IamActionDefinition": { "target": "com.amazonaws.budgets#IamActionDefinition", "traits": { - "smithy.api#documentation": "

\n\t\t\tThe AWS Identity and Access Management (IAM) action definition details.\n\t\t

" + "smithy.api#documentation": "

The Identity and Access Management (IAM) action definition details.

" } }, "ScpActionDefinition": { "target": "com.amazonaws.budgets#ScpActionDefinition", "traits": { - "smithy.api#documentation": "

\n\t\t\tThe service control policies (SCPs) action definition details.\n\t\t

" + "smithy.api#documentation": "

The service control policies (SCPs) action definition details.

" } }, "SsmActionDefinition": { "target": "com.amazonaws.budgets#SsmActionDefinition", "traits": { - "smithy.api#documentation": "

\n\t\t\tThe AWS Systems Manager (SSM) action definition details.\n\t\t

" + "smithy.api#documentation": "

The Amazon Web Services Systems Manager (SSM) action definition details.

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

\n\t\t\tSpecifies all of the type-specific parameters.\n\t\t

" + "smithy.api#documentation": "

Specifies all of the type-specific parameters.

" } }, "com.amazonaws.budgets#DeleteBudget": { @@ -1691,6 +1778,78 @@ } } }, + "com.amazonaws.budgets#DescribeBudgetNotificationsForAccount": { + "type": "operation", + "input": { + "target": "com.amazonaws.budgets#DescribeBudgetNotificationsForAccountRequest" + }, + "output": { + "target": "com.amazonaws.budgets#DescribeBudgetNotificationsForAccountResponse" + }, + "errors": [ + { + "target": "com.amazonaws.budgets#AccessDeniedException" + }, + { + "target": "com.amazonaws.budgets#ExpiredNextTokenException" + }, + { + "target": "com.amazonaws.budgets#InternalErrorException" + }, + { + "target": "com.amazonaws.budgets#InvalidNextTokenException" + }, + { + "target": "com.amazonaws.budgets#InvalidParameterException" + }, + { + "target": "com.amazonaws.budgets#NotFoundException" + } + ], + "traits": { + "smithy.api#documentation": "

\n\t\t\tLists the budget names and notifications that are associated with an account.\n\t\t

", + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "items": "BudgetNotificationsForAccount", + "pageSize": "MaxResults" + } + } + }, + "com.amazonaws.budgets#DescribeBudgetNotificationsForAccountRequest": { + "type": "structure", + "members": { + "AccountId": { + "target": "com.amazonaws.budgets#AccountId", + "traits": { + "smithy.api#required": {} + } + }, + "MaxResults": { + "target": "com.amazonaws.budgets#MaxResultsBudgetNotifications", + "traits": { + "smithy.api#documentation": "

\n\t\t\tAn integer that shows how many budget name entries a paginated response contains.\n\t\t

" + } + }, + "NextToken": { + "target": "com.amazonaws.budgets#GenericString" + } + } + }, + "com.amazonaws.budgets#DescribeBudgetNotificationsForAccountResponse": { + "type": "structure", + "members": { + "BudgetNotificationsForAccount": { + "target": "com.amazonaws.budgets#BudgetNotificationsForAccountList", + "traits": { + "smithy.api#documentation": "

\n\t\t\tA list of budget names and associated notifications for an account.\n\t\t

" + } + }, + "NextToken": { + "target": "com.amazonaws.budgets#GenericString" + } + } + }, "com.amazonaws.budgets#DescribeBudgetPerformanceHistory": { "type": "operation", "input": { @@ -2270,7 +2429,7 @@ "com.amazonaws.budgets#GenericTimestamp": { "type": "timestamp", "traits": { - "smithy.api#documentation": "

A generic time stamp. In Java, it is transformed to a Date object.

" + "smithy.api#documentation": "

A generic time stamp. In Java, it's transformed to a Date object.

" } }, "com.amazonaws.budgets#Group": { @@ -2295,37 +2454,58 @@ } } }, + "com.amazonaws.budgets#HistoricalOptions": { + "type": "structure", + "members": { + "BudgetAdjustmentPeriod": { + "target": "com.amazonaws.budgets#AdjustmentPeriod", + "traits": { + "smithy.api#documentation": "

The number of budget periods included in the moving-average calculation that determines your auto-adjusted budget amount. The maximum value depends on the TimeUnit granularity of the budget:

\n\t\t ", + "smithy.api#required": {} + } + }, + "LookBackAvailablePeriods": { + "target": "com.amazonaws.budgets#AdjustmentPeriod", + "traits": { + "smithy.api#documentation": "

The integer that describes how many budget periods in your BudgetAdjustmentPeriod are included in the calculation of your current BudgetLimit. If the first budget period in your BudgetAdjustmentPeriod has no cost data, then that budget period isn’t included in the average that determines your budget limit.

\n\t\t

For example, if you set BudgetAdjustmentPeriod as 4 quarters, but your account had no cost data in the first quarter, then only the last three quarters are included in the calculation. In this scenario, LookBackAvailablePeriods returns 3.

\n\t\t

You can’t set your own LookBackAvailablePeriods. The value is automatically calculated from the BudgetAdjustmentPeriod and your historical cost data.

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

The parameters that define or describe the historical data that your auto-adjusting budget is based on.

" + } + }, "com.amazonaws.budgets#IamActionDefinition": { "type": "structure", "members": { "PolicyArn": { "target": "com.amazonaws.budgets#PolicyArn", "traits": { - "smithy.api#documentation": "

\n\t\t\tThe Amazon Resource Name (ARN) of the policy to be attached.\n\t\t

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

The Amazon Resource Name (ARN) of the policy to be attached.

", "smithy.api#required": {} } }, "Roles": { "target": "com.amazonaws.budgets#Roles", "traits": { - "smithy.api#documentation": "

\n\t\t\tA list of roles to be attached. There must be at least one role.\n\t\t

" + "smithy.api#documentation": "

A list of roles to be attached. There must be at least one role.

" } }, "Groups": { "target": "com.amazonaws.budgets#Groups", "traits": { - "smithy.api#documentation": "

\n\t\t\tA list of groups to be attached. There must be at least one group.\n\t\t

" + "smithy.api#documentation": "

A list of groups to be attached. There must be at least one group.

" } }, "Users": { "target": "com.amazonaws.budgets#Users", "traits": { - "smithy.api#documentation": "

\n\t\t\tA list of users to be attached. There must be at least one user.\n\t\t

" + "smithy.api#documentation": "

A list of users to be attached. There must be at least one user.

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

\n\t\t\tThe AWS Identity and Access Management (IAM) action definition details.\n\t\t

" + "smithy.api#documentation": "

The Identity and Access Management (IAM) action definition details.

" } }, "com.amazonaws.budgets#InstanceId": { @@ -2400,6 +2580,16 @@ } } }, + "com.amazonaws.budgets#MaxResultsBudgetNotifications": { + "type": "integer", + "traits": { + "smithy.api#box": {}, + "smithy.api#range": { + "min": 1, + "max": 50 + } + } + }, "com.amazonaws.budgets#NotFoundException": { "type": "structure", "members": { @@ -2419,39 +2609,39 @@ "NotificationType": { "target": "com.amazonaws.budgets#NotificationType", "traits": { - "smithy.api#documentation": "

Whether the notification is for how much you have spent (ACTUAL) or for how much you're forecasted to spend (FORECASTED).

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

Specifies whether the notification is for how much you have spent (ACTUAL) or\n\t\t\tfor how much that you're forecasted to spend (FORECASTED).

", "smithy.api#required": {} } }, "ComparisonOperator": { "target": "com.amazonaws.budgets#ComparisonOperator", "traits": { - "smithy.api#documentation": "

The comparison that is used for this notification.

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

The comparison that's used for this notification.

", "smithy.api#required": {} } }, "Threshold": { "target": "com.amazonaws.budgets#NotificationThreshold", "traits": { - "smithy.api#documentation": "

The threshold that is associated with a notification. Thresholds are always a percentage, and many customers find value being alerted between 50% - 200% of the budgeted amount. The maximum limit for your threshold is 1,000,000% above the budgeted amount.

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

The threshold that's associated with a notification. Thresholds are always a percentage, and\n\t\t\tmany customers find value being alerted between 50% - 200% of the budgeted amount. The\n\t\t\tmaximum limit for your threshold is 1,000,000% above the budgeted amount.

", "smithy.api#required": {} } }, "ThresholdType": { "target": "com.amazonaws.budgets#ThresholdType", "traits": { - "smithy.api#documentation": "

The type of threshold for a notification. For ABSOLUTE_VALUE thresholds, AWS notifies you when you go over or are forecasted to go over your total cost threshold. For PERCENTAGE thresholds, AWS notifies you when you go over or are forecasted to go over a certain percentage of your forecasted spend. For example, if you have a budget for 200 dollars and you have a PERCENTAGE threshold of 80%, AWS notifies you when you go over 160 dollars.

" + "smithy.api#documentation": "

The type of threshold for a notification. For ABSOLUTE_VALUE thresholds, Amazon Web Services notifies you when you go over or are forecasted to go over your total cost threshold. For PERCENTAGE thresholds, Amazon Web Services notifies you when you go over or are forecasted to go over a certain percentage of your forecasted spend. For example, if you have a budget for 200 dollars and you have a PERCENTAGE threshold of 80%, Amazon Web Services notifies you when you go over 160 dollars.

" } }, "NotificationState": { "target": "com.amazonaws.budgets#NotificationState", "traits": { - "smithy.api#documentation": "

Whether this notification is in alarm. If a budget notification is in the ALARM state, you have passed the set threshold for the budget.

" + "smithy.api#documentation": "

Specifies whether this notification is in alarm. If a budget notification is in the\n\t\t\t\tALARM state, you passed the set threshold for the budget.

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

A notification that is associated with a budget. A budget can have up to ten notifications.

\n\t\t

Each notification must have at least one subscriber. A notification can have one SNS subscriber and up to 10 email subscribers, for a total of 11 subscribers.

\n\t\t

For example, if you have a budget for 200 dollars and you want to be notified when you go over 160 dollars, create a notification with the following parameters:

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

A notification that's associated with a budget. A budget can have up to ten notifications.

\n\t\t

Each notification must have at least one subscriber. A notification can have one SNS subscriber and up to 10 email subscribers, for a total of 11 subscribers.

\n\t\t

For example, if you have a budget for 200 dollars and you want to be notified when you go over 160 dollars, create a notification with the following parameters:

\n\t\t " } }, "com.amazonaws.budgets#NotificationState": { @@ -2475,7 +2665,7 @@ "smithy.api#documentation": "

The threshold of a notification.

", "smithy.api#range": { "min": 0, - "max": 40000000000 + "max": 15000000000000 } } }, @@ -2501,7 +2691,7 @@ "Notification": { "target": "com.amazonaws.budgets#Notification", "traits": { - "smithy.api#documentation": "

The notification that is associated with a budget.

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

The notification that's associated with a budget.

", "smithy.api#required": {} } }, @@ -2553,7 +2743,7 @@ "min": 1, "max": 2147483647 }, - "smithy.api#pattern": "([0-9]*\\.)?[0-9]+" + "smithy.api#pattern": "^([0-9]*\\.)?[0-9]+$" } }, "com.amazonaws.budgets#PlannedBudgetLimits": { @@ -2646,20 +2836,20 @@ "PolicyId": { "target": "com.amazonaws.budgets#PolicyId", "traits": { - "smithy.api#documentation": "

\n\t\t\tThe policy ID attached.\n\t\t

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

The policy ID attached.

", "smithy.api#required": {} } }, "TargetIds": { "target": "com.amazonaws.budgets#TargetIds", "traits": { - "smithy.api#documentation": "

\n\t\t\tA list of target IDs.\n\t\t

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

A list of target IDs.

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

\n\t\t\tThe service control policies (SCP) action definition details.\n\t\t

" + "smithy.api#documentation": "

The service control policies (SCP) action definition details.

" } }, "com.amazonaws.budgets#Spend": { @@ -2668,20 +2858,20 @@ "Amount": { "target": "com.amazonaws.budgets#NumericValue", "traits": { - "smithy.api#documentation": "

The cost or usage amount that is associated with a budget forecast, actual spend, or budget threshold.

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

The cost or usage amount that's associated with a budget forecast, actual spend, or budget\n\t\t\tthreshold.

", "smithy.api#required": {} } }, "Unit": { "target": "com.amazonaws.budgets#UnitValue", "traits": { - "smithy.api#documentation": "

The unit of measurement that is used for the budget forecast, actual spend, or budget threshold, such as dollars or GB.

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

The unit of measurement that's used for the budget forecast, actual spend, or budget\n\t\t\tthreshold, such as USD or GBP.

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

The amount of cost or usage that is measured for a budget.

\n\t\t

For example, a Spend for 3 GB of S3 usage would have the following parameters:

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

The amount of cost or usage that's measured for a budget.

\n\t\t

For example, a Spend for 3 GB of S3 usage has the following\n\t\t\tparameters:

\n\t\t " } }, "com.amazonaws.budgets#SsmActionDefinition": { @@ -2690,27 +2880,27 @@ "ActionSubType": { "target": "com.amazonaws.budgets#ActionSubType", "traits": { - "smithy.api#documentation": "

\n\t\t\tThe action subType.\n\t\t

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

The action subType.

", "smithy.api#required": {} } }, "Region": { "target": "com.amazonaws.budgets#Region", "traits": { - "smithy.api#documentation": "

\n\t\t\tThe Region to run the SSM document.\n\t\t

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

The Region to run the SSM document.

", "smithy.api#required": {} } }, "InstanceIds": { "target": "com.amazonaws.budgets#InstanceIds", "traits": { - "smithy.api#documentation": "

\n\t\t\tThe EC2 and RDS instance IDs.\n\t\t

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

The EC2 and RDS instance IDs.

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

\n\t\t\tThe AWS Systems Manager (SSM) action definition details.\n\t\t

" + "smithy.api#documentation": "

The Amazon Web Services Systems Manager (SSM) action definition details.

" } }, "com.amazonaws.budgets#Subscriber": { @@ -2719,20 +2909,20 @@ "SubscriptionType": { "target": "com.amazonaws.budgets#SubscriptionType", "traits": { - "smithy.api#documentation": "

The type of notification that AWS sends to a subscriber.

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

The type of notification that Amazon Web Services sends to a subscriber.

", "smithy.api#required": {} } }, "Address": { "target": "com.amazonaws.budgets#SubscriberAddress", "traits": { - "smithy.api#documentation": "

The address that AWS sends budget notifications to, either an SNS topic or an email.

\n\t\t

When you create a subscriber, the value of Address can't contain line breaks.

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

The address that Amazon Web Services sends budget notifications to, either an SNS topic or an email.

\n\t\t

When you create a subscriber, the value of Address can't contain line breaks.

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

The subscriber to a budget notification. The subscriber consists of a subscription type and either an Amazon SNS topic or an email address.

\n\t\t

For example, an email subscriber would have the following parameters:

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

The subscriber to a budget notification. The subscriber consists of a subscription type and either an Amazon SNS topic or an email address.

\n\t\t

For example, an email subscriber has the following parameters:

\n\t\t " } }, "com.amazonaws.budgets#SubscriberAddress": { @@ -2743,7 +2933,7 @@ "min": 1, "max": 2147483647 }, - "smithy.api#pattern": "(.*[\\n\\r\\t\\f\\ ]?)*", + "smithy.api#pattern": "^(.*[\\n\\r\\t\\f\\ ]?)*$", "smithy.api#sensitive": {} } }, @@ -2783,7 +2973,7 @@ "min": 12, "max": 68 }, - "smithy.api#pattern": "^(ou-[0-9a-z]{4,32}-[a-z0-9]{8,32}$)|(\\d{12})" + "smithy.api#pattern": "^(ou-[0-9a-z]{4,32}-[a-z0-9]{8,32}$)|(\\d{12})$" } }, "com.amazonaws.budgets#TargetIds": { @@ -2820,18 +3010,18 @@ "Start": { "target": "com.amazonaws.budgets#GenericTimestamp", "traits": { - "smithy.api#documentation": "

The start date for a budget. If you created your budget and didn't specify a start date, AWS defaults to the start of your chosen time period (DAILY, MONTHLY, QUARTERLY, or ANNUALLY). For example, if you created your budget on January 24, 2018, chose DAILY, and didn't set a start date, AWS set your start date to 01/24/18 00:00 UTC. If you chose MONTHLY, AWS set your start date to 01/01/18 00:00 UTC. The defaults are the same for the AWS Billing and Cost Management console and the API.

\n\t\t

You can change your start date with the UpdateBudget operation.

" + "smithy.api#documentation": "

The start date for a budget. If you created your budget and didn't specify a start date, Amazon Web Services defaults to the start of your chosen time period (DAILY, MONTHLY, QUARTERLY, or ANNUALLY). For example, if you created your budget on January 24, 2018, chose DAILY, and didn't set a start date, Amazon Web Services set your start date to 01/24/18 00:00 UTC. If you chose MONTHLY, Amazon Web Services set your start date to 01/01/18 00:00 UTC. The defaults are the same for the Billing and Cost Management console and the API.

\n\t\t

You can change your start date with the UpdateBudget operation.

" } }, "End": { "target": "com.amazonaws.budgets#GenericTimestamp", "traits": { - "smithy.api#documentation": "

The end date for a budget. If you didn't specify an end date, AWS set your end date to 06/15/87 00:00 UTC. The defaults are the same for the AWS Billing and Cost Management console and the API.

\n\t\t

After the end date, AWS deletes the budget and all associated notifications and subscribers. You can change your end date with the UpdateBudget operation.

" + "smithy.api#documentation": "

The end date for a budget. If you didn't specify an end date, Amazon Web Services set your end date to 06/15/87 00:00 UTC. The defaults are the same for the Billing and Cost Management console and the API.

\n\t\t

After the end date, Amazon Web Services deletes the budget and all the associated\n\t\t\tnotifications and subscribers. You can change your end date with the\n\t\t\t\tUpdateBudget operation.

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

The period of time that is covered by a budget. The period has a start date and an end date. The start date must come before the end date. There are no restrictions on the end date.

" + "smithy.api#documentation": "

The period of time that's covered by a budget. The period has a start date and an end date.\n\t\t\tThe start date must come before the end date. There are no restrictions on the end date.

" } }, "com.amazonaws.budgets#TimeUnit": { @@ -2892,7 +3082,7 @@ } ], "traits": { - "smithy.api#documentation": "

Updates a budget. You can change every part of a budget except for the budgetName and the calculatedSpend. When you modify a budget, the calculatedSpend drops to zero until AWS has new usage data to use for forecasting.

\n\t\t \n\t\t\t

Only one of BudgetLimit or PlannedBudgetLimits can be present in the syntax at one time. Use the syntax that matches your case. The Request Syntax section shows the BudgetLimit syntax. For PlannedBudgetLimits, see the Examples section.

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

Updates a budget. You can change every part of a budget except for the budgetName and the calculatedSpend. When you modify a budget, the calculatedSpend drops to zero until Amazon Web Services has new usage data to use for forecasting.

\n\t\t \n\t\t\t

Only one of BudgetLimit or PlannedBudgetLimits can be present in the syntax at one time. Use the syntax that matches your case. The Request Syntax section shows the BudgetLimit syntax. For PlannedBudgetLimits, see the Examples section.

\n\t\t
" } }, "com.amazonaws.budgets#UpdateBudgetAction": { diff --git a/codegen/sdk-codegen/aws-models/cloudformation.2010-05-15.json b/codegen/sdk-codegen/aws-models/cloudformation.2010-05-15.json index 71c44d2c7d4..667bd5700d6 100644 --- a/codegen/sdk-codegen/aws-models/cloudformation.2010-05-15.json +++ b/codegen/sdk-codegen/aws-models/cloudformation.2010-05-15.json @@ -47,7 +47,7 @@ "Status": { "target": "com.amazonaws.cloudformation#AccountGateStatus", "traits": { - "smithy.api#documentation": "

The status of the account gate function.

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

The status of the account gate function.

\n " } }, "StatusReason": { @@ -58,7 +58,7 @@ } }, "traits": { - "smithy.api#documentation": "

Structure that contains the results of the account gate function which CloudFormation invokes, if present, before proceeding with a stack set operation in an\n account and Region.

\n

For each account and Region, CloudFormation lets you specify a Lambda function\n that encapsulates any requirements that must be met before CloudFormation can\n proceed with a stack set operation in that account and Region. CloudFormation\n invokes the function each time a stack set operation is requested for that account and\n Region; if the function returns FAILED, CloudFormation cancels the\n operation in that account and Region, and sets the stack set operation result status for\n that account and Region to FAILED.

\n

For more information, see Configuring a\n target account gate.

" + "smithy.api#documentation": "

Structure that contains the results of the account gate function which CloudFormation invokes, if present, before proceeding with a stack set operation in an account and\n Region.

\n

For each account and Region, CloudFormation lets you specify a Lambda\n function that encapsulates any requirements that must be met before CloudFormation\n can proceed with a stack set operation in that account and Region. CloudFormation\n invokes the function each time a stack set operation is requested for that account and\n Region; if the function returns FAILED, CloudFormation cancels the\n operation in that account and Region, and sets the stack set operation result status for\n that account and Region to FAILED.

\n

For more information, see Configuring a\n target account gate.

" } }, "com.amazonaws.cloudformation#AccountGateStatus": { @@ -95,12 +95,12 @@ "Value": { "target": "com.amazonaws.cloudformation#LimitValue", "traits": { - "smithy.api#documentation": "

The value that is associated with the account limit name.

" + "smithy.api#documentation": "

The value that's associated with the account limit name.

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

The AccountLimit data type.

\n

CloudFormation has the following limits per account:

\n \n

For more information about these account limits, and other CloudFormation\n limits, see CloudFormation Limits in the CloudFormation User Guide.

" + "smithy.api#documentation": "

The AccountLimit data type.

\n

CloudFormation has the following limits per account:

\n \n

For more information about these account limits, and other CloudFormation\n limits, see CloudFormation\n quotas in the CloudFormation User Guide.

" } }, "com.amazonaws.cloudformation#AccountLimitList": { @@ -142,7 +142,7 @@ } ], "traits": { - "smithy.api#documentation": "

Activates a public third-party extension, making it available for use in stack\n templates. For more information, see Using\n public extensions in the CloudFormation User Guide.

\n

Once you have activated a public third-party extension in your account and region, use\n SetTypeConfiguration to specify configuration properties for the extension. For\n more information, see Configuring extensions at the account level in the CloudFormation\n User Guide.

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

Activates a public third-party extension, making it available for use in stack\n templates. For more information, see Using\n public extensions in the CloudFormation User Guide.

\n

Once you have activated a public third-party extension in your account and region, use\n SetTypeConfiguration to specify configuration properties for the extension. For\n more information, see Configuring extensions at the account level in the CloudFormation User Guide.

", "smithy.api#idempotent": {} } }, @@ -176,7 +176,7 @@ "TypeNameAlias": { "target": "com.amazonaws.cloudformation#TypeName", "traits": { - "smithy.api#documentation": "

An alias to assign to the public extension, in this account and region. If you specify\n an alias for the extension, CloudFormation treats the alias as the extension type name\n within this account and region. You must use the alias to refer to the extension in your\n templates, API calls, and CloudFormation console.

\n

An extension alias must be unique within a given account and region. You can activate\n the same public resource multiple times in the same account and region, using different\n type name aliases.

" + "smithy.api#documentation": "

An alias to assign to the public extension, in this account and region. If you specify\n an alias for the extension, CloudFormation treats the alias as the extension type\n name within this account and region. You must use the alias to refer to the extension in\n your templates, API calls, and CloudFormation console.

\n

An extension alias must be unique within a given account and region. You can activate\n the same public resource multiple times in the same account and region, using different\n type name aliases.

" } }, "AutoUpdate": { @@ -191,13 +191,13 @@ "ExecutionRoleArn": { "target": "com.amazonaws.cloudformation#RoleARN2", "traits": { - "smithy.api#documentation": "

The name of the IAM execution role to use to activate the extension.

" + "smithy.api#documentation": "

The name of the IAM execution role to use to activate the\n extension.

" } }, "VersionBump": { "target": "com.amazonaws.cloudformation#VersionBump", "traits": { - "smithy.api#documentation": "

Manually updates a previously-activated type to a new major or minor version, if\n available. You can also use this parameter to update the value of\n AutoUpdate.

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

Manually updates a previously-activated type to a new major or minor version, if\n available. You can also use this parameter to update the value of\n AutoUpdate.

\n " } }, "MajorVersion": { @@ -297,7 +297,7 @@ } ], "traits": { - "smithy.api#documentation": "

Returns configuration data for the specified CloudFormation extensions, from the\n CloudFormation registry for the account and region.

\n

For more information, see Configuring extensions at the account level in the\n CloudFormation User Guide.

" + "smithy.api#documentation": "

Returns configuration data for the specified CloudFormation extensions, from\n the CloudFormation registry for the account and region.

\n

For more information, see Configuring extensions at the account level in the\n CloudFormation User Guide.

" } }, "com.amazonaws.cloudformation#BatchDescribeTypeConfigurationsError": { @@ -353,7 +353,7 @@ "UnprocessedTypeConfigurations": { "target": "com.amazonaws.cloudformation#UnprocessedTypeConfigurations", "traits": { - "smithy.api#documentation": "

A list of any of the specified extension configurations that CloudFormation could not\n process for any reason.

" + "smithy.api#documentation": "

A list of any of the specified extension configurations that CloudFormation\n could not process for any reason.

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

Cancels an update on the specified stack. If the call completes successfully, the stack\n rolls back the update and reverts to the previous stack configuration.

\n \n

You can cancel only stacks that are in the UPDATE_IN_PROGRESS state.

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

Cancels an update on the specified stack. If the call completes successfully, the stack\n rolls back the update and reverts to the previous stack configuration.

\n \n

You can cancel only stacks that are in the UPDATE_IN_PROGRESS\n state.

\n
" } }, "com.amazonaws.cloudformation#CancelUpdateStackInput": { @@ -432,14 +432,14 @@ "StackName": { "target": "com.amazonaws.cloudformation#StackName", "traits": { - "smithy.api#documentation": "

The name or the unique stack ID that is associated with the stack.

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

The name or the unique stack ID that's associated with the stack.

", "smithy.api#required": {} } }, "ClientRequestToken": { "target": "com.amazonaws.cloudformation#ClientRequestToken", "traits": { - "smithy.api#documentation": "

A unique identifier for this CancelUpdateStack request. Specify this token\n if you plan to retry requests so that CloudFormation knows that you're not\n attempting to cancel an update on a stack with the same name. You might retry\n CancelUpdateStack requests to ensure that CloudFormation\n successfully received them.

" + "smithy.api#documentation": "

A unique identifier for this CancelUpdateStack request. Specify this token\n if you plan to retry requests so that CloudFormation knows that you're not attempting\n to cancel an update on a stack with the same name. You might retry\n CancelUpdateStack requests to ensure that CloudFormation successfully\n received them.

" } } }, @@ -507,7 +507,13 @@ "Type": { "target": "com.amazonaws.cloudformation#ChangeType", "traits": { - "smithy.api#documentation": "

The type of entity that CloudFormation changes. Currently, the only entity type\n is Resource.

" + "smithy.api#documentation": "

The type of entity that CloudFormation changes. Currently, the only entity type is\n Resource.

" + } + }, + "HookInvocationCount": { + "target": "com.amazonaws.cloudformation#HookInvocationCount", + "traits": { + "smithy.api#documentation": "

Is either null, if no hooks invoke for the resource, or contains the number\n of hooks that will invoke for the resource.

" } }, "ResourceChange": { @@ -518,7 +524,7 @@ } }, "traits": { - "smithy.api#documentation": "

The Change structure describes the changes CloudFormation will\n perform if you execute the change set.

" + "smithy.api#documentation": "

The Change structure describes the changes CloudFormation will perform\n if you execute the change set.

" } }, "com.amazonaws.cloudformation#ChangeAction": { @@ -548,6 +554,121 @@ ] } }, + "com.amazonaws.cloudformation#ChangeSetHook": { + "type": "structure", + "members": { + "InvocationPoint": { + "target": "com.amazonaws.cloudformation#HookInvocationPoint", + "traits": { + "smithy.api#documentation": "

Specifies the points in provisioning logic where a hook is invoked.

" + } + }, + "FailureMode": { + "target": "com.amazonaws.cloudformation#HookFailureMode", + "traits": { + "smithy.api#documentation": "

Specify the hook failure mode for non-compliant resources in the followings ways.

\n " + } + }, + "TypeName": { + "target": "com.amazonaws.cloudformation#HookTypeName", + "traits": { + "smithy.api#documentation": "

The unique name for your hook. Specifies a three-part namespace for your hook, with a\n recommended pattern of Organization::Service::Hook.

\n \n

The following organization namespaces are reserved and can't be used in your hook\n type names:

\n \n
" + } + }, + "TypeVersionId": { + "target": "com.amazonaws.cloudformation#HookTypeVersionId", + "traits": { + "smithy.api#documentation": "

The version ID of the type specified.

" + } + }, + "TypeConfigurationVersionId": { + "target": "com.amazonaws.cloudformation#HookTypeConfigurationVersionId", + "traits": { + "smithy.api#documentation": "

The version ID of the type configuration.

" + } + }, + "TargetDetails": { + "target": "com.amazonaws.cloudformation#ChangeSetHookTargetDetails", + "traits": { + "smithy.api#documentation": "

Specifies details about the target that the hook will run against.

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

Specifies the resource, the hook, and the hook version to be invoked.

" + } + }, + "com.amazonaws.cloudformation#ChangeSetHookResourceTargetDetails": { + "type": "structure", + "members": { + "LogicalResourceId": { + "target": "com.amazonaws.cloudformation#LogicalResourceId", + "traits": { + "smithy.api#documentation": "

The resource's logical ID, which is defined in the stack's template.

" + } + }, + "ResourceType": { + "target": "com.amazonaws.cloudformation#HookTargetTypeName", + "traits": { + "smithy.api#documentation": "

The type of CloudFormation resource, such as AWS::S3::Bucket.

" + } + }, + "ResourceAction": { + "target": "com.amazonaws.cloudformation#ChangeAction", + "traits": { + "smithy.api#documentation": "

Specifies the action of the resource.

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

Specifies RESOURCE type target details for activated hooks.

" + } + }, + "com.amazonaws.cloudformation#ChangeSetHookTargetDetails": { + "type": "structure", + "members": { + "TargetType": { + "target": "com.amazonaws.cloudformation#HookTargetType", + "traits": { + "smithy.api#documentation": "

The name of the type.

" + } + }, + "ResourceTargetDetails": { + "target": "com.amazonaws.cloudformation#ChangeSetHookResourceTargetDetails", + "traits": { + "smithy.api#documentation": "

Required if TargetType is RESOURCE.

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

Specifies target details for an activated hook.

" + } + }, + "com.amazonaws.cloudformation#ChangeSetHooks": { + "type": "list", + "member": { + "target": "com.amazonaws.cloudformation#ChangeSetHook" + } + }, + "com.amazonaws.cloudformation#ChangeSetHooksStatus": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "PLANNING", + "name": "PLANNING" + }, + { + "value": "PLANNED", + "name": "PLANNED" + }, + { + "value": "UNAVAILABLE", + "name": "UNAVAILABLE" + } + ] + } + }, "com.amazonaws.cloudformation#ChangeSetId": { "type": "string", "traits": { @@ -589,7 +710,7 @@ "code": "ChangeSetNotFound", "httpResponseCode": 404 }, - "smithy.api#documentation": "

The specified change set name or ID doesn't exit. To view valid change sets for a stack,\n use the ListChangeSets action.

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

The specified change set name or ID doesn't exit. To view valid change sets for a stack,\n use the ListChangeSets operation.

", "smithy.api#error": "client", "smithy.api#httpError": 404 } @@ -672,7 +793,7 @@ "ExecutionStatus": { "target": "com.amazonaws.cloudformation#ExecutionStatus", "traits": { - "smithy.api#documentation": "

If the change set execution status is AVAILABLE, you can execute the change\n set. If you can’t execute the change set, the status indicates why. For example, a change\n set might be in an UNAVAILABLE state because CloudFormation is still\n creating it or in an OBSOLETE state because the stack was already\n updated.

" + "smithy.api#documentation": "

If the change set execution status is AVAILABLE, you can execute the change\n set. If you can't execute the change set, the status indicates why. For example, a change\n set might be in an UNAVAILABLE state because CloudFormation is still\n creating it or in an OBSOLETE state because the stack was already\n updated.

" } }, "Status": { @@ -818,7 +939,7 @@ "name": "cloudformation" }, "aws.protocols#awsQuery": {}, - "smithy.api#documentation": "AWS CloudFormation\n

CloudFormation allows you to create and manage Amazon Web Services infrastructure\n deployments predictably and repeatedly. You can use CloudFormation to leverage\n Amazon Web Services products, such as Amazon Elastic Compute Cloud, Amazon Elastic Block\n Store, Amazon Simple Notification Service, Elastic Load Balancing, and Auto Scaling to\n build highly-reliable, highly scalable, cost-effective applications without creating or\n configuring the underlying Amazon Web Services infrastructure.

\n

With CloudFormation, you declare all of your resources and dependencies in a\n template file. The template defines a collection of resources as a single unit called a\n stack. CloudFormation creates and deletes all member resources of the stack\n together and manages all dependencies between the resources for you.

\n

For more information about CloudFormation, see the CloudFormation Product Page.

\n

CloudFormation makes use of other Amazon Web Services products. If you need\n additional technical information about a specific Amazon Web Services product, you can find\n the product's technical documentation at \n docs.aws.amazon.com\n .

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

CloudFormation allows you to create and manage Amazon Web Services infrastructure\n deployments predictably and repeatedly. You can use CloudFormation to leverage\n Amazon Web Services products, such as Amazon Elastic Compute Cloud, Amazon Elastic Block Store,\n Amazon Simple Notification Service, Elastic Load Balancing, and Auto Scaling to build highly\n reliable, highly scalable, cost-effective applications without creating or configuring the\n underlying Amazon Web Services infrastructure.

\n

With CloudFormation, you declare all your resources and dependencies in a template\n file. The template defines a collection of resources as a single unit called a stack.\n CloudFormation creates and deletes all member resources of the stack together and\n manages all dependencies between the resources for you.

\n

For more information about CloudFormation, see the CloudFormation product page.

\n

CloudFormation makes use of other Amazon Web Services products. If you need\n additional technical information about a specific Amazon Web Services product, you can find\n the product's technical documentation at \n docs.aws.amazon.com\n .

", "smithy.api#title": "AWS CloudFormation", "smithy.api#xmlNamespace": { "uri": "http://cloudformation.amazonaws.com/doc/2010-05-15/" @@ -874,6 +995,9 @@ { "target": "com.amazonaws.cloudformation#DescribeChangeSet" }, + { + "target": "com.amazonaws.cloudformation#DescribeChangeSetHooks" + }, { "target": "com.amazonaws.cloudformation#DescribePublisher" }, @@ -1057,7 +1181,7 @@ } ], "traits": { - "smithy.api#documentation": "

For a specified stack that is in the UPDATE_ROLLBACK_FAILED state,\n continues rolling it back to the UPDATE_ROLLBACK_COMPLETE state. Depending on\n the cause of the failure, you can manually fix the error and continue the rollback. By continuing the rollback, you can\n return your stack to a working state (the UPDATE_ROLLBACK_COMPLETE state), and\n then try to update the stack again.

\n

A stack goes into the UPDATE_ROLLBACK_FAILED state when CloudFormation cannot roll back all changes after a failed stack update. For example,\n you might have a stack that is rolling back to an old database instance that was deleted\n outside of CloudFormation. Because CloudFormation doesn't know the database\n was deleted, it assumes that the database instance still exists and attempts to roll back\n to it, causing the update rollback to fail.

" + "smithy.api#documentation": "

For a specified stack that's in the UPDATE_ROLLBACK_FAILED state, continues\n rolling it back to the UPDATE_ROLLBACK_COMPLETE state. Depending on the cause\n of the failure, you can manually fix the error and continue the rollback. By continuing the rollback, you can\n return your stack to a working state (the UPDATE_ROLLBACK_COMPLETE state), and\n then try to update the stack again.

\n

A stack goes into the UPDATE_ROLLBACK_FAILED state when CloudFormation can't roll back all changes after a failed stack update. For example, you\n might have a stack that's rolling back to an old database instance that was deleted outside\n of CloudFormation. Because CloudFormation doesn't know the database was deleted, it\n assumes that the database instance still exists and attempts to roll back to it, causing\n the update rollback to fail.

" } }, "com.amazonaws.cloudformation#ContinueUpdateRollbackInput": { @@ -1073,13 +1197,13 @@ "RoleARN": { "target": "com.amazonaws.cloudformation#RoleARN", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of an Identity and Access Management (IAM) role that CloudFormation assumes to roll back the stack. CloudFormation uses the role's\n credentials to make calls on your behalf. CloudFormation always uses this role for\n all future operations on the stack. As long as users have permission to operate on the\n stack, CloudFormation uses this role even if the users don't have permission to\n pass it. Ensure that the role grants least privilege.

\n

If you don't specify a value, CloudFormation uses the role that was previously\n associated with the stack. If no role is available, CloudFormation uses a temporary\n session that is generated from your user credentials.

" + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of an Identity and Access Management (IAM) role\n that CloudFormation assumes to roll back the stack. CloudFormation uses the\n role's credentials to make calls on your behalf. CloudFormation always uses this\n role for all future operations on the stack. Provided that users have permission to operate\n on the stack, CloudFormation uses this role even if the users don't have permission\n to pass it. Ensure that the role grants least permission.

\n

If you don't specify a value, CloudFormation uses the role that was previously\n associated with the stack. If no role is available, CloudFormation uses a temporary\n session that's generated from your user credentials.

" } }, "ResourcesToSkip": { "target": "com.amazonaws.cloudformation#ResourcesToSkip", "traits": { - "smithy.api#documentation": "

A list of the logical IDs of the resources that CloudFormation skips during the\n continue update rollback operation. You can specify only resources that are in the\n UPDATE_FAILED state because a rollback failed. You can't specify resources\n that are in the UPDATE_FAILED state for other reasons, for example, because an\n update was cancelled. To check why a resource update failed, use the DescribeStackResources action, and view the resource status reason.

\n \n

Specify this property to skip rolling back resources that CloudFormation\n can't successfully roll back. We recommend that you troubleshoot resources before skipping them. CloudFormation sets\n the status of the specified resources to UPDATE_COMPLETE and continues to\n roll back the stack. After the rollback is complete, the state of the skipped resources\n will be inconsistent with the state of the resources in the stack template. Before\n performing another stack update, you must update the stack or resources to be consistent\n with each other. If you don't, subsequent stack updates might fail, and the stack will\n become unrecoverable.

\n
\n

Specify the minimum number of resources required to successfully roll back your stack.\n For example, a failed resource update might cause dependent resources to fail. In this\n case, it might not be necessary to skip the dependent resources.

\n

To skip resources that are part of nested stacks, use the following format:\n NestedStackName.ResourceLogicalID. If you want to specify the logical ID of\n a stack resource (Type: AWS::CloudFormation::Stack) in the\n ResourcesToSkip list, then its corresponding embedded stack must be in one\n of the following states: DELETE_IN_PROGRESS, DELETE_COMPLETE, or\n DELETE_FAILED.

\n \n

Don't confuse a child stack's name with its corresponding logical ID defined in the\n parent stack. For an example of a continue update rollback operation with nested stacks,\n see Using ResourcesToSkip to recover a nested stacks hierarchy.

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

A list of the logical IDs of the resources that CloudFormation skips during the\n continue update rollback operation. You can specify only resources that are in the\n UPDATE_FAILED state because a rollback failed. You can't specify resources\n that are in the UPDATE_FAILED state for other reasons, for example, because an\n update was canceled. To check why a resource update failed, use the DescribeStackResources action, and view the resource status reason.

\n \n

Specify this property to skip rolling back resources that CloudFormation\n can't successfully roll back. We recommend that you troubleshoot resources before skipping them. CloudFormation sets\n the status of the specified resources to UPDATE_COMPLETE and continues to\n roll back the stack. After the rollback is complete, the state of the skipped resources\n will be inconsistent with the state of the resources in the stack template. Before\n performing another stack update, you must update the stack or resources to be consistent\n with each other. If you don't, subsequent stack updates might fail, and the stack will\n become unrecoverable.

\n
\n

Specify the minimum number of resources required to successfully roll back your stack.\n For example, a failed resource update might cause dependent resources to fail. In this\n case, it might not be necessary to skip the dependent resources.

\n

To skip resources that are part of nested stacks, use the following format:\n NestedStackName.ResourceLogicalID. If you want to specify the logical ID of\n a stack resource (Type: AWS::CloudFormation::Stack) in the\n ResourcesToSkip list, then its corresponding embedded stack must be in one\n of the following states: DELETE_IN_PROGRESS, DELETE_COMPLETE, or\n DELETE_FAILED.

\n \n

Don't confuse a child stack's name with its corresponding logical ID defined in the\n parent stack. For an example of a continue update rollback operation with nested stacks,\n see Using ResourcesToSkip to recover a nested stacks hierarchy.

\n
" } }, "ClientRequestToken": { @@ -1097,7 +1221,7 @@ "type": "structure", "members": {}, "traits": { - "smithy.api#documentation": "

The output for a ContinueUpdateRollback action.

" + "smithy.api#documentation": "

The output for a ContinueUpdateRollback operation.

" } }, "com.amazonaws.cloudformation#CreateChangeSet": { @@ -1120,7 +1244,7 @@ } ], "traits": { - "smithy.api#documentation": "

Creates a list of changes that will be applied to a stack so that you can review the\n changes before executing them. You can create a change set for a stack that doesn't exist\n or an existing stack. If you create a change set for a stack that doesn't exist, the change\n set shows all of the resources that CloudFormation will create. If you create a\n change set for an existing stack, CloudFormation compares the stack's information\n with the information that you submit in the change set and lists the differences. Use\n change sets to understand which resources CloudFormation will create or change, and\n how it will change resources in an existing stack, before you create or update a\n stack.

\n

To create a change set for a stack that doesn't exist, for the\n ChangeSetType parameter, specify CREATE. To create a change\n set for an existing stack, specify UPDATE for the ChangeSetType\n parameter. To create a change set for an import operation, specify IMPORT for\n the ChangeSetType parameter. After the CreateChangeSet call\n successfully completes, CloudFormation starts creating the change set. To check the\n status of the change set or to review it, use the DescribeChangeSet\n action.

\n

When you are satisfied with the changes the change set will make, execute the change set\n by using the ExecuteChangeSet action. CloudFormation doesn't make\n changes until you execute the change set.

\n

To create a change set for the entire stack hierachy, set\n IncludeNestedStacks to True.

" + "smithy.api#documentation": "

Creates a list of changes that will be applied to a stack so that you can review the\n changes before executing them. You can create a change set for a stack that doesn't exist\n or an existing stack. If you create a change set for a stack that doesn't exist, the change\n set shows all of the resources that CloudFormation will create. If you create a change\n set for an existing stack, CloudFormation compares the stack's information with the\n information that you submit in the change set and lists the differences. Use change sets to\n understand which resources CloudFormation will create or change, and how it will change\n resources in an existing stack, before you create or update a stack.

\n

To create a change set for a stack that doesn't exist, for the\n ChangeSetType parameter, specify CREATE. To create a change\n set for an existing stack, specify UPDATE for the ChangeSetType\n parameter. To create a change set for an import operation, specify IMPORT for\n the ChangeSetType parameter. After the CreateChangeSet call\n successfully completes, CloudFormation starts creating the change set. To check the\n status of the change set or to review it, use the DescribeChangeSet\n action.

\n

When you are satisfied with the changes the change set will make, execute the change set\n by using the ExecuteChangeSet action. CloudFormation doesn't make\n changes until you execute the change set.

\n

To create a change set for the entire stack hierarchy, set\n IncludeNestedStacks to True.

" } }, "com.amazonaws.cloudformation#CreateChangeSetInput": { @@ -1136,19 +1260,19 @@ "TemplateBody": { "target": "com.amazonaws.cloudformation#TemplateBody", "traits": { - "smithy.api#documentation": "

A structure that contains the body of the revised template, with a minimum length of 1\n byte and a maximum length of 51,200 bytes. CloudFormation generates the change set\n by comparing this template with the template of the stack that you specified.

\n

Conditional: You must specify only TemplateBody or\n TemplateURL.

" + "smithy.api#documentation": "

A structure that contains the body of the revised template, with a minimum length of 1\n byte and a maximum length of 51,200 bytes. CloudFormation generates the change set by\n comparing this template with the template of the stack that you specified.

\n

Conditional: You must specify only TemplateBody or\n TemplateURL.

" } }, "TemplateURL": { "target": "com.amazonaws.cloudformation#TemplateURL", "traits": { - "smithy.api#documentation": "

The location of the file that contains the revised template. The URL must point to a\n template (max size: 460,800 bytes) that is located in an S3 bucket or a Systems Manager\n document. CloudFormation generates the change set by comparing this template with\n the stack that you specified.

\n

Conditional: You must specify only TemplateBody or\n TemplateURL.

" + "smithy.api#documentation": "

The location of the file that contains the revised template. The URL must point to a\n template (max size: 460,800 bytes) that's located in an Amazon S3 bucket or a\n Systems Manager document. CloudFormation generates the change set by comparing this\n template with the stack that you specified.

\n

Conditional: You must specify only TemplateBody or\n TemplateURL.

" } }, "UsePreviousTemplate": { "target": "com.amazonaws.cloudformation#UsePreviousTemplate", "traits": { - "smithy.api#documentation": "

Whether to reuse the template that is associated with the stack to create the change\n set.

" + "smithy.api#documentation": "

Whether to reuse the template that's associated with the stack to create the change\n set.

" } }, "Parameters": { @@ -1160,19 +1284,19 @@ "Capabilities": { "target": "com.amazonaws.cloudformation#Capabilities", "traits": { - "smithy.api#documentation": "

In some cases, you must explicitly acknowledge that your stack template contains certain\n capabilities in order for CloudFormation to create the stack.

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

In some cases, you must explicitly acknowledge that your stack template contains certain\n capabilities in order for CloudFormation to create the stack.

\n " } }, "ResourceTypes": { "target": "com.amazonaws.cloudformation#ResourceTypes", "traits": { - "smithy.api#documentation": "

The template resource types that you have permissions to work with if you execute this\n change set, such as AWS::EC2::Instance, AWS::EC2::*, or\n Custom::MyCustomInstance.

\n

If the list of resource types doesn't include a resource type that you're updating, the\n stack update fails. By default, CloudFormation grants permissions to all resource\n types. Identity and Access Management (IAM) uses this parameter for condition keys in IAM policies\n for CloudFormation. For more information, see Controlling Access with\n Identity and Access Management in the CloudFormation User Guide.

" + "smithy.api#documentation": "

The template resource types that you have permissions to work with if you execute this\n change set, such as AWS::EC2::Instance, AWS::EC2::*, or\n Custom::MyCustomInstance.

\n

If the list of resource types doesn't include a resource type that you're updating, the\n stack update fails. By default, CloudFormation grants permissions to all resource\n types. Identity and Access Management (IAM) uses this parameter for condition keys\n in IAM policies for CloudFormation. For more information, see Controlling access with Identity and Access Management in the CloudFormation User Guide.

" } }, "RoleARN": { "target": "com.amazonaws.cloudformation#RoleARN", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of an Identity and Access Management (IAM) role\n that CloudFormation assumes when executing the change set. CloudFormation\n uses the role's credentials to make calls on your behalf. CloudFormation uses this\n role for all future operations on the stack. As long as users have permission to operate on\n the stack, CloudFormation uses this role even if the users don't have permission to\n pass it. Ensure that the role grants least privilege.

\n

If you don't specify a value, CloudFormation uses the role that was previously\n associated with the stack. If no role is available, CloudFormation uses a temporary\n session that is generated from your user credentials.

" + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of an Identity and Access Management (IAM) role\n that CloudFormation assumes when executing the change set. CloudFormation uses the\n role's credentials to make calls on your behalf. CloudFormation uses this role for all\n future operations on the stack. Provided that users have permission to operate on the\n stack, CloudFormation uses this role even if the users don't have permission to pass\n it. Ensure that the role grants least permission.

\n

If you don't specify a value, CloudFormation uses the role that was previously\n associated with the stack. If no role is available, CloudFormation uses a temporary\n session that is generated from your user credentials.

" } }, "RollbackConfiguration": { @@ -1184,26 +1308,26 @@ "NotificationARNs": { "target": "com.amazonaws.cloudformation#NotificationARNs", "traits": { - "smithy.api#documentation": "

The Amazon Resource Names (ARNs) of Amazon Simple Notification Service (Amazon SNS)\n topics that CloudFormation associates with the stack. To remove all associated\n notification topics, specify an empty list.

" + "smithy.api#documentation": "

The Amazon Resource Names (ARNs) of Amazon Simple Notification Service (Amazon SNS) topics\n that CloudFormation associates with the stack. To remove all associated notification\n topics, specify an empty list.

" } }, "Tags": { "target": "com.amazonaws.cloudformation#Tags", "traits": { - "smithy.api#documentation": "

Key-value pairs to associate with this stack. CloudFormation also propagates\n these tags to resources in the stack. You can specify a maximum of 50 tags.

" + "smithy.api#documentation": "

Key-value pairs to associate with this stack. CloudFormation also propagates these\n tags to resources in the stack. You can specify a maximum of 50 tags.

" } }, "ChangeSetName": { "target": "com.amazonaws.cloudformation#ChangeSetName", "traits": { - "smithy.api#documentation": "

The name of the change set. The name must be unique among all change sets that are\n associated with the specified stack.

\n

A change set name can contain only alphanumeric, case sensitive characters and hyphens.\n It must start with an alphabetic character and cannot exceed 128 characters.

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

The name of the change set. The name must be unique among all change sets that are\n associated with the specified stack.

\n

A change set name can contain only alphanumeric, case sensitive characters, and hyphens.\n It must start with an alphabetical character and can't exceed 128 characters.

", "smithy.api#required": {} } }, "ClientToken": { "target": "com.amazonaws.cloudformation#ClientToken", "traits": { - "smithy.api#documentation": "

A unique identifier for this CreateChangeSet request. Specify this token if\n you plan to retry requests so that CloudFormation knows that you're not attempting\n to create another change set with the same name. You might retry\n CreateChangeSet requests to ensure that CloudFormation successfully\n received them.

" + "smithy.api#documentation": "

A unique identifier for this CreateChangeSet request. Specify this token if\n you plan to retry requests so that CloudFormation knows that you're not attempting to\n create another change set with the same name. You might retry CreateChangeSet\n requests to ensure that CloudFormation successfully received them.

" } }, "Description": { @@ -1215,7 +1339,7 @@ "ChangeSetType": { "target": "com.amazonaws.cloudformation#ChangeSetType", "traits": { - "smithy.api#documentation": "

The type of change set operation. To create a change set for a new stack, specify\n CREATE. To create a change set for an existing stack, specify\n UPDATE. To create a change set for an import operation, specify\n IMPORT.

\n

If you create a change set for a new stack, CloudFormation creates a stack with\n a unique stack ID, but no template or resources. The stack will be in the \n REVIEW_IN_PROGRESS\n state until you execute the change\n set.

\n

By default, CloudFormation specifies UPDATE. You can't use the\n UPDATE type to create a change set for a new stack or the\n CREATE type to create a change set for an existing stack.

" + "smithy.api#documentation": "

The type of change set operation. To create a change set for a new stack, specify\n CREATE. To create a change set for an existing stack, specify\n UPDATE. To create a change set for an import operation, specify\n IMPORT.

\n

If you create a change set for a new stack, CloudFormation creates a stack with a\n unique stack ID, but no template or resources. The stack will be in the \n REVIEW_IN_PROGRESS\n state until you execute the change\n set.

\n

By default, CloudFormation specifies UPDATE. You can't use the\n UPDATE type to create a change set for a new stack or the\n CREATE type to create a change set for an existing stack.

" } }, "ResourcesToImport": { @@ -1278,7 +1402,7 @@ } ], "traits": { - "smithy.api#documentation": "

Creates a stack as specified in the template. After the call completes successfully, the\n stack creation starts. You can check the status of the stack via the DescribeStacks API.

" + "smithy.api#documentation": "

Creates a stack as specified in the template. After the call completes successfully, the\n stack creation starts. You can check the status of the stack through the DescribeStacksoperation.

" } }, "com.amazonaws.cloudformation#CreateStackInput": { @@ -1287,20 +1411,20 @@ "StackName": { "target": "com.amazonaws.cloudformation#StackName", "traits": { - "smithy.api#documentation": "

The name that is associated with the stack. The name must be unique in the Region in\n which you are creating the stack.

\n \n

A stack name can contain only alphanumeric characters (case sensitive) and hyphens.\n It must start with an alphabetical character and cannot be longer than 128\n characters.

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

The name that's associated with the stack. The name must be unique in the Region in\n which you are creating the stack.

\n \n

A stack name can contain only alphanumeric characters (case sensitive) and hyphens.\n It must start with an alphabetical character and can't be longer than 128\n characters.

\n
", "smithy.api#required": {} } }, "TemplateBody": { "target": "com.amazonaws.cloudformation#TemplateBody", "traits": { - "smithy.api#documentation": "

Structure containing the template body with a minimum length of 1 byte and a maximum\n length of 51,200 bytes. For more information, go to Template Anatomy\n in the CloudFormation User Guide.

\n

Conditional: You must specify either the TemplateBody or the\n TemplateURL parameter, but not both.

" + "smithy.api#documentation": "

Structure containing the template body with a minimum length of 1 byte and a maximum\n length of 51,200 bytes. For more information, go to Template anatomy\n in the CloudFormation User Guide.

\n

Conditional: You must specify either the TemplateBody or the\n TemplateURL parameter, but not both.

" } }, "TemplateURL": { "target": "com.amazonaws.cloudformation#TemplateURL", "traits": { - "smithy.api#documentation": "

Location of file containing the template body. The URL must point to a template (max\n size: 460,800 bytes) that is located in an Amazon S3 bucket or a Systems Manager document.\n For more information, go to the Template Anatomy\n in the CloudFormation User Guide.

\n

Conditional: You must specify either the TemplateBody or the\n TemplateURL parameter, but not both.

" + "smithy.api#documentation": "

Location of file containing the template body. The URL must point to a template (max\n size: 460,800 bytes) that's located in an Amazon S3 bucket or a Systems Manager\n document. For more information, go to the Template anatomy\n in the CloudFormation User Guide.

\n

Conditional: You must specify either the TemplateBody or the\n TemplateURL parameter, but not both.

" } }, "Parameters": { @@ -1330,37 +1454,37 @@ "NotificationARNs": { "target": "com.amazonaws.cloudformation#NotificationARNs", "traits": { - "smithy.api#documentation": "

The Simple Notification Service (SNS) topic ARNs to publish stack related events. You\n can find your SNS topic ARNs using the SNS console or your Command Line Interface\n (CLI).

" + "smithy.api#documentation": "

The Amazon Simple Notification Service (Amazon SNS) topic ARNs to publish stack related\n events. You can find your Amazon SNS topic ARNs using the Amazon SNS\n console or your Command Line Interface (CLI).

" } }, "Capabilities": { "target": "com.amazonaws.cloudformation#Capabilities", "traits": { - "smithy.api#documentation": "

In some cases, you must explicitly acknowledge that your stack template contains certain\n capabilities in order for CloudFormation to create the stack.

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

In some cases, you must explicitly acknowledge that your stack template contains certain\n capabilities in order for CloudFormation to create the stack.

\n " } }, "ResourceTypes": { "target": "com.amazonaws.cloudformation#ResourceTypes", "traits": { - "smithy.api#documentation": "

The template resource types that you have permissions to work with for this create stack\n action, such as AWS::EC2::Instance, AWS::EC2::*, or\n Custom::MyCustomInstance. Use the following syntax to describe template\n resource types: AWS::* (for all Amazon Web Services resources),\n Custom::* (for all custom resources),\n Custom::logical_ID\n (for a specific custom resource),\n AWS::service_name::* (for all resources of a\n particular Amazon Web Services service), and\n AWS::service_name::resource_logical_ID\n (for a specific Amazon Web Services resource).

\n

If the list of resource types doesn't include a resource that you're creating, the stack\n creation fails. By default, CloudFormation grants permissions to all resource\n types. Identity and Access Management (IAM) uses this parameter for CloudFormation-specific\n condition keys in IAM policies. For more information, see Controlling Access with\n Identity and Access Management.

" + "smithy.api#documentation": "

The template resource types that you have permissions to work with for this create stack\n action, such as AWS::EC2::Instance, AWS::EC2::*, or\n Custom::MyCustomInstance. Use the following syntax to describe template\n resource types: AWS::* (for all Amazon Web Services resources),\n Custom::* (for all custom resources),\n Custom::logical_ID\n (for a specific custom resource),\n AWS::service_name::* (for all resources of a\n particular Amazon Web Services service), and\n AWS::service_name::resource_logical_ID\n (for a specific Amazon Web Services resource).

\n

If the list of resource types doesn't include a resource that you're creating, the stack\n creation fails. By default, CloudFormation grants permissions to all resource\n types. Identity and Access Management (IAM) uses this parameter for CloudFormation-specific condition keys in IAM policies. For more\n information, see Controlling Access with\n Identity and Access Management.

" } }, "RoleARN": { "target": "com.amazonaws.cloudformation#RoleARN", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of an Identity and Access Management (IAM) role that CloudFormation assumes to create the stack. CloudFormation uses the role's\n credentials to make calls on your behalf. CloudFormation always uses this role for\n all future operations on the stack. As long as users have permission to operate on the\n stack, CloudFormation uses this role even if the users don't have permission to\n pass it. Ensure that the role grants least privilege.

\n

If you don't specify a value, CloudFormation uses the role that was previously\n associated with the stack. If no role is available, CloudFormation uses a temporary\n session that is generated from your user credentials.

" + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of an Identity and Access Management (IAM) role\n that CloudFormation assumes to create the stack. CloudFormation uses the\n role's credentials to make calls on your behalf. CloudFormation always uses this\n role for all future operations on the stack. Provided that users have permission to operate\n on the stack, CloudFormation uses this role even if the users don't have permission\n to pass it. Ensure that the role grants least privilege.

\n

If you don't specify a value, CloudFormation uses the role that was previously\n associated with the stack. If no role is available, CloudFormation uses a temporary\n session that's generated from your user credentials.

" } }, "OnFailure": { "target": "com.amazonaws.cloudformation#OnFailure", "traits": { - "smithy.api#documentation": "

Determines what action will be taken if stack creation fails. This must be one of:\n DO_NOTHING, ROLLBACK, or DELETE. You can specify either OnFailure or\n DisableRollback, but not both.

\n

Default: ROLLBACK\n

" + "smithy.api#documentation": "

Determines what action will be taken if stack creation fails. This must be one of:\n DO_NOTHING, ROLLBACK, or DELETE. You can specify\n either OnFailure or DisableRollback, but not both.

\n

Default: ROLLBACK\n

" } }, "StackPolicyBody": { "target": "com.amazonaws.cloudformation#StackPolicyBody", "traits": { - "smithy.api#documentation": "

Structure containing the stack policy body. For more information, go to Prevent Updates\n to Stack Resources in the CloudFormation User\n Guide. You can specify either the StackPolicyBody or the\n StackPolicyURL parameter, but not both.

" + "smithy.api#documentation": "

Structure containing the stack policy body. For more information, go to Prevent Updates\n to Stack Resources in the CloudFormation User Guide. You can specify\n either the StackPolicyBody or the StackPolicyURL parameter, but\n not both.

" } }, "StackPolicyURL": { @@ -1378,13 +1502,13 @@ "ClientRequestToken": { "target": "com.amazonaws.cloudformation#ClientRequestToken", "traits": { - "smithy.api#documentation": "

A unique identifier for this CreateStack request. Specify this token if you\n plan to retry requests so that CloudFormation knows that you're not attempting to\n create a stack with the same name. You might retry CreateStack requests to\n ensure that CloudFormation successfully received them.

\n

All events triggered by a given stack operation are assigned the same client request\n token, which you can use to track operations. For example, if you execute a\n CreateStack operation with the token token1, then all the\n StackEvents generated by that operation will have\n ClientRequestToken set as token1.

\n

In the console, stack operations display the client request token on the Events tab.\n Stack operations that are initiated from the console use the token format\n Console-StackOperation-ID, which helps you easily identify the\n stack operation . For example, if you create a stack using the console, each stack event\n would be assigned the same token in the following format:\n Console-CreateStack-7f59c3cf-00d2-40c7-b2ff-e75db0987002.

" + "smithy.api#documentation": "

A unique identifier for this CreateStack request. Specify this token if you\n plan to retry requests so that CloudFormation knows that you're not attempting to\n create a stack with the same name. You might retry CreateStack requests to\n ensure that CloudFormation successfully received them.

\n

All events initiated by a given stack operation are assigned the same client request\n token, which you can use to track operations. For example, if you execute a\n CreateStack operation with the token token1, then all the\n StackEvents generated by that operation will have\n ClientRequestToken set as token1.

\n

In the console, stack operations display the client request token on the Events tab.\n Stack operations that are initiated from the console use the token format\n Console-StackOperation-ID, which helps you easily identify the\n stack operation . For example, if you create a stack using the console, each stack event\n would be assigned the same token in the following format:\n Console-CreateStack-7f59c3cf-00d2-40c7-b2ff-e75db0987002.

" } }, "EnableTerminationProtection": { "target": "com.amazonaws.cloudformation#EnableTerminationProtection", "traits": { - "smithy.api#documentation": "

Whether to enable termination protection on the specified stack. If a user attempts to\n delete a stack with termination protection enabled, the operation fails and the stack\n remains unchanged. For more information, see Protecting a Stack From Being\n Deleted in the CloudFormation User Guide. Termination protection is\n disabled on stacks by default.

\n

For nested stacks,\n termination protection is set on the root stack and cannot be changed directly on the\n nested stack.

" + "smithy.api#documentation": "

Whether to enable termination protection on the specified stack. If a user attempts to\n delete a stack with termination protection enabled, the operation fails and the stack\n remains unchanged. For more information, see Protecting a Stack From Being\n Deleted in the CloudFormation User Guide. Termination protection is\n deactivated on stacks by default.

\n

For nested stacks,\n termination protection is set on the root stack and can't be changed directly on the nested\n stack.

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

Creates stack instances for the specified accounts, within the specified Regions. A\n stack instance refers to a stack in a specific account and Region. You must specify at\n least one value for either Accounts or DeploymentTargets, and you\n must specify at least one value for Regions.

" + "smithy.api#documentation": "

Creates stack instances for the specified accounts, within the specified Amazon Web Services Regions. A stack instance refers to a stack in a specific account and Region.\n You must specify at least one value for either Accounts or\n DeploymentTargets, and you must specify at least one value for\n Regions.

" } }, "com.amazonaws.cloudformation#CreateStackInstancesInput": { @@ -1443,20 +1567,20 @@ "DeploymentTargets": { "target": "com.amazonaws.cloudformation#DeploymentTargets", "traits": { - "smithy.api#documentation": "

[Service-managed permissions] The Organizations accounts for which to create\n stack instances in the specified Regions.

\n

You can specify Accounts or DeploymentTargets, but not\n both.

" + "smithy.api#documentation": "

[Service-managed permissions] The Organizations accounts for which to create\n stack instances in the specified Amazon Web Services Regions.

\n

You can specify Accounts or DeploymentTargets, but not\n both.

" } }, "Regions": { "target": "com.amazonaws.cloudformation#RegionList", "traits": { - "smithy.api#documentation": "

The names of one or more Regions where you want to create stack instances using the\n specified Amazon Web Services accounts.

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

The names of one or more Amazon Web Services Regions where you want to create stack\n instances using the specified Amazon Web Services accounts.

", "smithy.api#required": {} } }, "ParameterOverrides": { "target": "com.amazonaws.cloudformation#Parameters", "traits": { - "smithy.api#documentation": "

A list of stack set parameters whose values you want to override in the selected stack\n instances.

\n

Any overridden parameter values will be applied to all stack instances in the specified\n accounts and Regions. When specifying parameters and their values, be aware of how CloudFormation sets parameter values during stack instance operations:

\n \n

During stack set updates, any parameter values overridden for a stack instance are not\n updated, but retain their overridden value.

\n

You can only override the parameter values that are specified in\n the stack set; to add or delete a parameter itself, use UpdateStackSet to update the stack set template.

" + "smithy.api#documentation": "

A list of stack set parameters whose values you want to override in the selected stack\n instances.

\n

Any overridden parameter values will be applied to all stack instances in the specified\n accounts and Amazon Web Services Regions. When specifying parameters and their values, be\n aware of how CloudFormation sets parameter values during stack instance\n operations:

\n \n

During stack set updates, any parameter values overridden for a stack instance aren't\n updated, but retain their overridden value.

\n

You can only override the parameter values that are specified in\n the stack set; to add or delete a parameter itself, use UpdateStackSet to update the stack set template.

" } }, "OperationPreferences": { @@ -1475,7 +1599,7 @@ "CallAs": { "target": "com.amazonaws.cloudformation#CallAs", "traits": { - "smithy.api#documentation": "

[Service-managed permissions] Specifies whether you are acting as an account\n administrator in the organization's management account or as a delegated\n administrator in a member account.

\n

By default, SELF is specified. Use SELF for stack sets with\n self-managed permissions.

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

[Service-managed permissions] Specifies whether you are acting as an account\n administrator in the organization's management account or as a delegated\n administrator in a member account.

\n

By default, SELF is specified. Use SELF for stack sets with\n self-managed permissions.

\n " } } } @@ -1553,7 +1677,7 @@ "TemplateURL": { "target": "com.amazonaws.cloudformation#TemplateURL", "traits": { - "smithy.api#documentation": "

The location of the file that contains the template body. The URL must point to a\n template (maximum size: 460,800 bytes) that's located in an Amazon S3 bucket or a Systems\n Manager document. For more information, see Template Anatomy\n in the CloudFormation User Guide.

\n

Conditional: You must specify either the TemplateBody or the TemplateURL parameter, but\n not both.

" + "smithy.api#documentation": "

The location of the file that contains the template body. The URL must point to a\n template (maximum size: 460,800 bytes) that's located in an Amazon S3 bucket or a\n Systems Manager document. For more information, see Template Anatomy\n in the CloudFormation User Guide.

\n

Conditional: You must specify either the TemplateBody or the TemplateURL parameter, but\n not both.

" } }, "StackId": { @@ -1571,31 +1695,31 @@ "Capabilities": { "target": "com.amazonaws.cloudformation#Capabilities", "traits": { - "smithy.api#documentation": "

In some cases, you must explicitly acknowledge that your stack set template contains\n certain capabilities in order for CloudFormation to create the stack set and related stack\n instances.

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

In some cases, you must explicitly acknowledge that your stack set template contains\n certain capabilities in order for CloudFormation to create the stack set and related stack\n instances.

\n " } }, "Tags": { "target": "com.amazonaws.cloudformation#Tags", "traits": { - "smithy.api#documentation": "

The key-value pairs to associate with this stack set and the stacks created from it.\n CloudFormation also propagates these tags to supported resources that are\n created in the stacks. A maximum number of 50 tags can be specified.

\n

If you specify tags as part of a CreateStackSet action, CloudFormation checks to see if you have the required IAM permission to tag resources.\n If you don't, the entire CreateStackSet action fails with an access\n denied error, and the stack set is not created.

" + "smithy.api#documentation": "

The key-value pairs to associate with this stack set and the stacks created from it.\n CloudFormation also propagates these tags to supported resources that are\n created in the stacks. A maximum number of 50 tags can be specified.

\n

If you specify tags as part of a CreateStackSet action, CloudFormation checks to see if you have the required IAM permission to\n tag resources. If you don't, the entire CreateStackSet action fails with an\n access denied error, and the stack set is not created.

" } }, "AdministrationRoleARN": { "target": "com.amazonaws.cloudformation#RoleARN", "traits": { - "smithy.api#documentation": "

The Amazon Resource Number (ARN) of the IAM role to use to create this stack set.

\n

Specify an IAM role only if you are using customized administrator roles to control\n which users or groups can manage specific stack sets within the same administrator account.\n For more information, see Prerequisites:\n Granting Permissions for Stack Set Operations in the\n CloudFormation User Guide.

" + "smithy.api#documentation": "

The Amazon Resource Number (ARN) of the IAM role to use to create this\n stack set.

\n

Specify an IAM role only if you are using customized administrator roles\n to control which users or groups can manage specific stack sets within the same\n administrator account. For more information, see Prerequisites: Granting Permissions for Stack\n Set Operations in the CloudFormation User Guide.

" } }, "ExecutionRoleName": { "target": "com.amazonaws.cloudformation#ExecutionRoleName", "traits": { - "smithy.api#documentation": "

The name of the IAM execution role to use to create the stack set. If you do not specify\n an execution role, CloudFormation uses the AWSCloudFormationStackSetExecutionRole role\n for the stack set operation.

\n

Specify an IAM role only if you are using customized execution roles to control which\n stack resources users and groups can include in their stack sets.\n \n

" + "smithy.api#documentation": "

The name of the IAM execution role to use to create the stack set. If you\n do not specify an execution role, CloudFormation uses the\n AWSCloudFormationStackSetExecutionRole role for the stack set\n operation.

\n

Specify an IAM role only if you are using customized execution roles to\n control which stack resources users and groups can include in their stack sets.

" } }, "PermissionModel": { "target": "com.amazonaws.cloudformation#PermissionModels", "traits": { - "smithy.api#documentation": "

Describes how the IAM roles required for stack set operations are created. By default,\n SELF-MANAGED is specified.

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

Describes how the IAM roles required for stack set operations are\n created. By default, SELF-MANAGED is specified.

\n " } }, "AutoDeployment": { @@ -1607,7 +1731,7 @@ "CallAs": { "target": "com.amazonaws.cloudformation#CallAs", "traits": { - "smithy.api#documentation": "

[Service-managed permissions] Specifies whether you are acting as an account\n administrator in the organization's management account or as a delegated administrator in a\n member account.

\n

By default, SELF is specified. Use SELF for stack sets with\n self-managed permissions.

\n \n

Stack sets with service-managed permissions are created in the management account,\n including stack sets that are created by delegated administrators.

" + "smithy.api#documentation": "

[Service-managed permissions] Specifies whether you are acting as an account\n administrator in the organization's management account or as a delegated\n administrator in a member account.

\n

By default, SELF is specified. Use SELF for stack sets with\n self-managed permissions.

\n \n

Stack sets with service-managed permissions are created in the management account, including stack sets that are created by delegated\n administrators.

" } }, "ClientRequestToken": { @@ -1673,7 +1797,7 @@ } ], "traits": { - "smithy.api#documentation": "

Deactivates a public extension that was previously activated in this account and\n region.

\n

Once deactivated, an extension cannot be used in any CloudFormation operation. This\n includes stack update operations where the stack template includes the extension, even if\n no updates are being made to the extension. In addition, deactivated extensions are not\n automatically updated if a new version of the extension is released.

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

Deactivates a public extension that was previously activated in this account and\n region.

\n

Once deactivated, an extension can't be used in any CloudFormation operation.\n This includes stack update operations where the stack template includes the extension, even\n if no updates are being made to the extension. In addition, deactivated extensions aren't\n automatically updated if a new version of the extension is released.

", "smithy.api#idempotent": {} } }, @@ -1718,7 +1842,7 @@ } ], "traits": { - "smithy.api#documentation": "

Deletes the specified change set. Deleting change sets ensures that no one executes the\n wrong change set.

\n

If the call successfully completes, CloudFormation successfully deleted the\n change set.

\n

If IncludeNestedStacks specifies True during the creation of\n the nested change set, then DeleteChangeSet will delete all change sets that\n belong to the stacks hierarchy and will also delete all change sets for nested stacks with\n the status of REVIEW_IN_PROGRESS.

" + "smithy.api#documentation": "

Deletes the specified change set. Deleting change sets ensures that no one executes the\n wrong change set.

\n

If the call successfully completes, CloudFormation successfully deleted the change\n set.

\n

If IncludeNestedStacks specifies True during the creation of\n the nested change set, then DeleteChangeSet will delete all change sets that\n belong to the stacks hierarchy and will also delete all change sets for nested stacks with\n the status of REVIEW_IN_PROGRESS.

" } }, "com.amazonaws.cloudformation#DeleteChangeSetInput": { @@ -1734,7 +1858,7 @@ "StackName": { "target": "com.amazonaws.cloudformation#StackNameOrId", "traits": { - "smithy.api#documentation": "

If you specified the name of a change set to delete, specify the stack name or ID (ARN)\n that is associated with it.

" + "smithy.api#documentation": "

If you specified the name of a change set to delete, specify the stack name or Amazon\n Resource Name (ARN) that's associated with it.

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

Deletes a specified stack. Once the call completes successfully, stack deletion starts.\n Deleted stacks do not show up in the DescribeStacks API if the deletion\n has been completed successfully.

" + "smithy.api#documentation": "

Deletes a specified stack. Once the call completes successfully, stack deletion starts.\n Deleted stacks don't show up in the DescribeStacks operation if the\n deletion has been completed successfully.

" } }, "com.amazonaws.cloudformation#DeleteStackInput": { @@ -1769,26 +1893,26 @@ "StackName": { "target": "com.amazonaws.cloudformation#StackName", "traits": { - "smithy.api#documentation": "

The name or the unique stack ID that is associated with the stack.

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

The name or the unique stack ID that's associated with the stack.

", "smithy.api#required": {} } }, "RetainResources": { "target": "com.amazonaws.cloudformation#RetainResources", "traits": { - "smithy.api#documentation": "

For stacks in the DELETE_FAILED state, a list of resource logical IDs that\n are associated with the resources you want to retain. During deletion, CloudFormation deletes the stack but does not delete the retained resources.

\n

Retaining resources is useful when you cannot delete a resource, such as a non-empty S3\n bucket, but you want to delete the stack.

" + "smithy.api#documentation": "

For stacks in the DELETE_FAILED state, a list of resource logical IDs that\n are associated with the resources you want to retain. During deletion, CloudFormation deletes the stack but doesn't delete the retained resources.

\n

Retaining resources is useful when you can't delete a resource, such as a non-empty S3\n bucket, but you want to delete the stack.

" } }, "RoleARN": { "target": "com.amazonaws.cloudformation#RoleARN", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of an Identity and Access Management (IAM) role that CloudFormation assumes to delete the stack. CloudFormation uses the role's\n credentials to make calls on your behalf.

\n

If you don't specify a value, CloudFormation uses the role that was previously\n associated with the stack. If no role is available, CloudFormation uses a temporary\n session that is generated from your user credentials.

" + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of an Identity and Access Management (IAM) role\n that CloudFormation assumes to delete the stack. CloudFormation uses the\n role's credentials to make calls on your behalf.

\n

If you don't specify a value, CloudFormation uses the role that was previously\n associated with the stack. If no role is available, CloudFormation uses a temporary\n session that's generated from your user credentials.

" } }, "ClientRequestToken": { "target": "com.amazonaws.cloudformation#ClientRequestToken", "traits": { - "smithy.api#documentation": "

A unique identifier for this DeleteStack request. Specify this token if you\n plan to retry requests so that CloudFormation knows that you're not attempting to\n delete a stack with the same name. You might retry DeleteStack requests to\n ensure that CloudFormation successfully received them.

\n

All events triggered by a given stack operation are assigned the same client request\n token, which you can use to track operations. For example, if you execute a\n CreateStack operation with the token token1, then all the\n StackEvents generated by that operation will have\n ClientRequestToken set as token1.

\n

In the console, stack operations display the client request token on the Events tab.\n Stack operations that are initiated from the console use the token format\n Console-StackOperation-ID, which helps you easily identify the\n stack operation . For example, if you create a stack using the console, each stack event\n would be assigned the same token in the following format:\n Console-CreateStack-7f59c3cf-00d2-40c7-b2ff-e75db0987002.

" + "smithy.api#documentation": "

A unique identifier for this DeleteStack request. Specify this token if you\n plan to retry requests so that CloudFormation knows that you're not attempting to\n delete a stack with the same name. You might retry DeleteStack requests to\n ensure that CloudFormation successfully received them.

\n

All events initiated by a given stack operation are assigned the same client request\n token, which you can use to track operations. For example, if you execute a\n CreateStack operation with the token token1, then all the\n StackEvents generated by that operation will have\n ClientRequestToken set as token1.

\n

In the console, stack operations display the client request token on the Events tab.\n Stack operations that are initiated from the console use the token format\n Console-StackOperation-ID, which helps you easily identify the\n stack operation . For example, if you create a stack using the console, each stack event\n would be assigned the same token in the following format:\n Console-CreateStack-7f59c3cf-00d2-40c7-b2ff-e75db0987002.

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

Deletes stack instances for the specified accounts, in the specified Regions.

" + "smithy.api#documentation": "

Deletes stack instances for the specified accounts, in the specified Amazon Web Services Regions.

" } }, "com.amazonaws.cloudformation#DeleteStackInstancesInput": { @@ -1850,7 +1974,7 @@ "Regions": { "target": "com.amazonaws.cloudformation#RegionList", "traits": { - "smithy.api#documentation": "

The Regions where you want to delete stack set instances.

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

The Amazon Web Services Regions where you want to delete stack set instances.

", "smithy.api#required": {} } }, @@ -1877,7 +2001,7 @@ "CallAs": { "target": "com.amazonaws.cloudformation#CallAs", "traits": { - "smithy.api#documentation": "

[Service-managed permissions] Specifies whether you are acting as an account\n administrator in the organization's management account or as a delegated administrator in a\n member account.

\n

By default, SELF is specified. Use SELF for stack sets with\n self-managed permissions.

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

[Service-managed permissions] Specifies whether you are acting as an account\n administrator in the organization's management account or as a delegated\n administrator in a member account.

\n

By default, SELF is specified. Use SELF for stack sets with\n self-managed permissions.

\n " } } } @@ -1926,7 +2050,7 @@ "CallAs": { "target": "com.amazonaws.cloudformation#CallAs", "traits": { - "smithy.api#documentation": "

[Service-managed permissions] Specifies whether you are acting as an account\n administrator in the organization's management account or as a delegated administrator in a\n member account.

\n

By default, SELF is specified. Use SELF for stack sets with\n self-managed permissions.

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

[Service-managed permissions] Specifies whether you are acting as an account\n administrator in the organization's management account or as a delegated\n administrator in a member account.

\n

By default, SELF is specified. Use SELF for stack sets with\n self-managed permissions.

\n " } } } @@ -1961,7 +2085,7 @@ } }, "traits": { - "smithy.api#documentation": "

[Service-managed permissions] The Organizations accounts to which StackSets\n deploys. StackSets does not deploy stack instances to the organization management account,\n even if the organization management account is in your organization or in an OU in your\n organization.

\n

For update operations, you can specify either Accounts or\n OrganizationalUnitIds. For create and delete operations, specify\n OrganizationalUnitIds.

" + "smithy.api#documentation": "

[Service-managed permissions] The Organizations accounts to which StackSets\n deploys. StackSets doesn't deploy stack instances to the organization management account, even if the organization management account is in\n your organization or in an OU in your organization.

\n

For update operations, you can specify either Accounts or\n OrganizationalUnitIds. For create and delete operations, specify\n OrganizationalUnitIds.

" } }, "com.amazonaws.cloudformation#DeprecatedStatus": { @@ -1996,7 +2120,7 @@ } ], "traits": { - "smithy.api#documentation": "

Marks an extension or extension version as DEPRECATED in the CloudFormation registry, removing it from active use. Deprecated extensions or\n extension versions cannot be used in CloudFormation operations.

\n

To deregister an entire extension, you must individually deregister all active versions\n of that extension. If an extension has only a single active version, deregistering that\n version results in the extension itself being deregistered and marked as deprecated in the\n registry.

\n

You cannot deregister the default version of an extension if there are other active\n version of that extension. If you do deregister the default version of an extension, the\n textensionype itself is deregistered as well and marked as deprecated.

\n

To view the deprecation status of an extension or extension version, use DescribeType.

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

Marks an extension or extension version as DEPRECATED in the CloudFormation registry, removing it from active use. Deprecated extensions or\n extension versions cannot be used in CloudFormation operations.

\n

To deregister an entire extension, you must individually deregister all active versions\n of that extension. If an extension has only a single active version, deregistering that\n version results in the extension itself being deregistered and marked as deprecated in the\n registry.

\n

You can't deregister the default version of an extension if there are other active\n version of that extension. If you do deregister the default version of an extension, the\n extension type itself is deregistered as well and marked as deprecated.

\n

To view the deprecation status of an extension or extension version, use DescribeType.

", "smithy.api#idempotent": {} } }, @@ -2042,7 +2166,7 @@ "target": "com.amazonaws.cloudformation#DescribeAccountLimitsOutput" }, "traits": { - "smithy.api#documentation": "

Retrieves your account's CloudFormation limits, such as the maximum number of\n stacks that you can create in your account. For more information about account limits, see\n CloudFormation Limits in the CloudFormation User Guide.

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

Retrieves your account's CloudFormation limits, such as the maximum number of stacks\n that you can create in your account. For more information about account limits, see CloudFormation Quotas in the\n CloudFormation User Guide.

", "smithy.api#paginated": { "inputToken": "NextToken", "outputToken": "NextToken", @@ -2070,7 +2194,7 @@ "AccountLimits": { "target": "com.amazonaws.cloudformation#AccountLimitList", "traits": { - "smithy.api#documentation": "

An account limit structure that contain a list of CloudFormation account limits\n and their values.

" + "smithy.api#documentation": "

An account limit structure that contain a list of CloudFormation account limits and\n their values.

" } }, "NextToken": { @@ -2098,7 +2222,7 @@ } ], "traits": { - "smithy.api#documentation": "

Returns the inputs for the change set and a list of changes that CloudFormation\n will make if you execute the change set. For more information, see Updating Stacks Using Change Sets in the CloudFormation User\n Guide.

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

Returns the inputs for the change set and a list of changes that CloudFormation will\n make if you execute the change set. For more information, see Updating Stacks Using Change Sets in the CloudFormation User Guide.

", "smithy.api#suppress": [ "WaitableTraitInvalidErrorType" ], @@ -2138,6 +2262,100 @@ } } }, + "com.amazonaws.cloudformation#DescribeChangeSetHooks": { + "type": "operation", + "input": { + "target": "com.amazonaws.cloudformation#DescribeChangeSetHooksInput" + }, + "output": { + "target": "com.amazonaws.cloudformation#DescribeChangeSetHooksOutput" + }, + "errors": [ + { + "target": "com.amazonaws.cloudformation#ChangeSetNotFoundException" + } + ], + "traits": { + "smithy.api#documentation": "

Returns hook-related information for the change set and a list of changes that CloudFormation makes when you run the change set.

" + } + }, + "com.amazonaws.cloudformation#DescribeChangeSetHooksInput": { + "type": "structure", + "members": { + "ChangeSetName": { + "target": "com.amazonaws.cloudformation#ChangeSetNameOrId", + "traits": { + "smithy.api#documentation": "

The name or Amazon Resource Name (ARN) of the change set that you want to\n describe.

", + "smithy.api#required": {} + } + }, + "StackName": { + "target": "com.amazonaws.cloudformation#StackNameOrId", + "traits": { + "smithy.api#documentation": "

If you specified the name of a change set, specify the stack name or stack ID (ARN) of\n the change set you want to describe.

" + } + }, + "NextToken": { + "target": "com.amazonaws.cloudformation#NextToken", + "traits": { + "smithy.api#documentation": "

A string, provided by the DescribeChangeSetHooks response output, that\n identifies the next page of information that you want to retrieve.

" + } + }, + "LogicalResourceId": { + "target": "com.amazonaws.cloudformation#LogicalResourceId", + "traits": { + "smithy.api#documentation": "

If specified, lists only the hooks related to the specified\n LogicalResourceId.

" + } + } + } + }, + "com.amazonaws.cloudformation#DescribeChangeSetHooksOutput": { + "type": "structure", + "members": { + "ChangeSetId": { + "target": "com.amazonaws.cloudformation#ChangeSetId", + "traits": { + "smithy.api#documentation": "

The change set identifier (stack ID).

" + } + }, + "ChangeSetName": { + "target": "com.amazonaws.cloudformation#ChangeSetName", + "traits": { + "smithy.api#documentation": "

The change set name.

" + } + }, + "Hooks": { + "target": "com.amazonaws.cloudformation#ChangeSetHooks", + "traits": { + "smithy.api#documentation": "

List of hook objects.

" + } + }, + "Status": { + "target": "com.amazonaws.cloudformation#ChangeSetHooksStatus", + "traits": { + "smithy.api#documentation": "

Provides the status of the change set hook.

" + } + }, + "NextToken": { + "target": "com.amazonaws.cloudformation#NextToken", + "traits": { + "smithy.api#documentation": "

Pagination token, null or empty if no more results.

" + } + }, + "StackId": { + "target": "com.amazonaws.cloudformation#StackId", + "traits": { + "smithy.api#documentation": "

The stack identifier (stack ID).

" + } + }, + "StackName": { + "target": "com.amazonaws.cloudformation#StackName", + "traits": { + "smithy.api#documentation": "

The stack name.

" + } + } + } + }, "com.amazonaws.cloudformation#DescribeChangeSetInput": { "type": "structure", "members": { @@ -2177,19 +2395,19 @@ "ChangeSetId": { "target": "com.amazonaws.cloudformation#ChangeSetId", "traits": { - "smithy.api#documentation": "

The ARN of the change set.

" + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the change set.

" } }, "StackId": { "target": "com.amazonaws.cloudformation#StackId", "traits": { - "smithy.api#documentation": "

The ARN of the stack that is associated with the change set.

" + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the stack that's associated with the change\n set.

" } }, "StackName": { "target": "com.amazonaws.cloudformation#StackName", "traits": { - "smithy.api#documentation": "

The name of the stack that is associated with the change set.

" + "smithy.api#documentation": "

The name of the stack that's associated with the change set.

" } }, "Description": { @@ -2213,7 +2431,7 @@ "ExecutionStatus": { "target": "com.amazonaws.cloudformation#ExecutionStatus", "traits": { - "smithy.api#documentation": "

If the change set execution status is AVAILABLE, you can execute the change\n set. If you can’t execute the change set, the status indicates why. For example, a change\n set might be in an UNAVAILABLE state because CloudFormation is still\n creating it or in an OBSOLETE state because the stack was already\n updated.

" + "smithy.api#documentation": "

If the change set execution status is AVAILABLE, you can execute the change\n set. If you can't execute the change set, the status indicates why. For example, a change\n set might be in an UNAVAILABLE state because CloudFormation is still\n creating it or in an OBSOLETE state because the stack was already\n updated.

" } }, "Status": { @@ -2255,7 +2473,7 @@ "Changes": { "target": "com.amazonaws.cloudformation#Changes", "traits": { - "smithy.api#documentation": "

A list of Change structures that describes the resources CloudFormation changes if you execute the change set.

" + "smithy.api#documentation": "

A list of Change structures that describes the resources CloudFormation\n changes if you execute the change set.

" } }, "NextToken": { @@ -2301,7 +2519,7 @@ } ], "traits": { - "smithy.api#documentation": "

Returns information about a CloudFormation extension publisher.

\n

If you do not supply a PublisherId, and you have registered as an extension\n publisher, DescribePublisher returns information about your own publisher\n account.

\n

For more information on registering as a publisher, see:

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

Returns information about a CloudFormation extension publisher.

\n

If you don't supply a PublisherId, and you have registered as an extension\n publisher, DescribePublisher returns information about your own publisher\n account.

\n

For more information on registering as a publisher, see:

\n ", "smithy.api#idempotent": {} } }, @@ -2311,7 +2529,7 @@ "PublisherId": { "target": "com.amazonaws.cloudformation#PublisherId", "traits": { - "smithy.api#documentation": "

The ID of the extension publisher.

\n

If you do not supply a PublisherId, and you have registered as an extension\n publisher, DescribePublisher returns information about your own publisher\n account.

" + "smithy.api#documentation": "

The ID of the extension publisher.

\n

If you don't supply a PublisherId, and you have registered as an extension\n publisher, DescribePublisher returns information about your own publisher\n account.

" } } } @@ -2334,7 +2552,7 @@ "IdentityProvider": { "target": "com.amazonaws.cloudformation#IdentityProvider", "traits": { - "smithy.api#documentation": "

The type of account used as the identity provider when registering this publisher with\n CloudFormation.

" + "smithy.api#documentation": "

The type of account used as the identity provider when registering this publisher with\n CloudFormation.

" } }, "PublisherProfile": { @@ -2389,13 +2607,13 @@ "StackDriftStatus": { "target": "com.amazonaws.cloudformation#StackDriftStatus", "traits": { - "smithy.api#documentation": "

Status of the stack's actual configuration compared to its expected\n configuration.

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

Status of the stack's actual configuration compared to its expected\n configuration.

\n " } }, "DetectionStatus": { "target": "com.amazonaws.cloudformation#StackDriftDetectionStatus", "traits": { - "smithy.api#documentation": "

The status of the stack drift detection operation.

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

The status of the stack drift detection operation.

\n ", "smithy.api#required": {} } }, @@ -2429,7 +2647,7 @@ "target": "com.amazonaws.cloudformation#DescribeStackEventsOutput" }, "traits": { - "smithy.api#documentation": "

Returns all stack related events for a specified stack in reverse chronological order.\n For more information about a stack's event history, go to Stacks in the\n CloudFormation User Guide.

\n \n

You can list events for stacks that have failed to create or have been deleted by\n specifying the unique stack identifier (stack ID).

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

Returns all stack related events for a specified stack in reverse chronological order.\n For more information about a stack's event history, go to Stacks in the\n CloudFormation User Guide.

\n \n

You can list events for stacks that have failed to create or have been deleted by\n specifying the unique stack identifier (stack ID).

\n
", "smithy.api#paginated": { "inputToken": "NextToken", "outputToken": "NextToken", @@ -2443,7 +2661,7 @@ "StackName": { "target": "com.amazonaws.cloudformation#StackName", "traits": { - "smithy.api#documentation": "

The name or the unique stack ID that is associated with the stack, which are not always\n interchangeable:

\n \n

Default: There is no default value.

" + "smithy.api#documentation": "

The name or the unique stack ID that's associated with the stack, which aren't always\n interchangeable:

\n \n

Default: There is no default value.

" } }, "NextToken": { @@ -2524,7 +2742,7 @@ "CallAs": { "target": "com.amazonaws.cloudformation#CallAs", "traits": { - "smithy.api#documentation": "

[Service-managed permissions] Specifies whether you are acting as an account\n administrator in the organization's management account or as a delegated administrator in a\n member account.

\n

By default, SELF is specified. Use SELF for stack sets with\n self-managed permissions.

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

[Service-managed permissions] Specifies whether you are acting as an account\n administrator in the organization's management account or as a delegated\n administrator in a member account.

\n

By default, SELF is specified. Use SELF for stack sets with\n self-managed permissions.

\n " } } } @@ -2561,7 +2779,7 @@ "target": "com.amazonaws.cloudformation#DescribeStackResourceDriftsOutput" }, "traits": { - "smithy.api#documentation": "

Returns drift information for the resources that have been checked for drift in the\n specified stack. This includes actual and expected configuration values for resources where\n CloudFormation detects configuration drift.

\n

For a given stack, there will be one StackResourceDrift for each stack\n resource that has been checked for drift. Resources that haven't yet been checked for drift\n are not included. Resources that do not currently support drift detection are not checked,\n and so not included. For a list of resources that support drift detection, see Resources that Support Drift Detection.

\n

Use DetectStackResourceDrift to detect drift on individual resources,\n or DetectStackDrift to detect drift on all supported resources for a\n given stack.

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

Returns drift information for the resources that have been checked for drift in the\n specified stack. This includes actual and expected configuration values for resources where\n CloudFormation detects configuration drift.

\n

For a given stack, there will be one StackResourceDrift for each stack\n resource that has been checked for drift. Resources that haven't yet been checked for drift\n aren't included. Resources that don't currently support drift detection aren't checked, and\n so not included. For a list of resources that support drift detection, see Resources that Support Drift Detection.

\n

Use DetectStackResourceDrift to detect drift on individual resources,\n or DetectStackDrift to detect drift on all supported resources for a\n given stack.

", "smithy.api#paginated": { "inputToken": "NextToken", "outputToken": "NextToken", @@ -2582,7 +2800,7 @@ "StackResourceDriftStatusFilters": { "target": "com.amazonaws.cloudformation#StackResourceDriftStatusFilters", "traits": { - "smithy.api#documentation": "

The resource drift status values to use as filters for the resource drift results\n returned.

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

The resource drift status values to use as filters for the resource drift results\n returned.

\n " } }, "NextToken": { @@ -2605,7 +2823,7 @@ "StackResourceDrifts": { "target": "com.amazonaws.cloudformation#StackResourceDrifts", "traits": { - "smithy.api#documentation": "

Drift information for the resources that have been checked for drift in the specified\n stack. This includes actual and expected configuration values for resources where CloudFormation\n detects drift.

\n

For a given stack, there will be one StackResourceDrift for each stack\n resource that has been checked for drift. Resources that have not yet been checked for\n drift are not included. Resources that do not currently support drift detection are not\n checked, and so not included. For a list of resources that support drift detection, see\n Resources that Support Drift Detection.

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

Drift information for the resources that have been checked for drift in the specified\n stack. This includes actual and expected configuration values for resources where CloudFormation\n detects drift.

\n

For a given stack, there will be one StackResourceDrift for each stack\n resource that has been checked for drift. Resources that haven't yet been checked for drift\n aren't included. Resources that do not currently support drift detection aren't checked,\n and so not included. For a list of resources that support drift detection, see Resources that Support Drift Detection.

", "smithy.api#required": {} } }, @@ -2623,7 +2841,7 @@ "StackName": { "target": "com.amazonaws.cloudformation#StackName", "traits": { - "smithy.api#documentation": "

The name or the unique stack ID that is associated with the stack, which are not always\n interchangeable:

\n \n

Default: There is no default value.

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

The name or the unique stack ID that's associated with the stack, which aren't always\n interchangeable:

\n \n

Default: There is no default value.

", "smithy.api#required": {} } }, @@ -2671,7 +2889,7 @@ "StackName": { "target": "com.amazonaws.cloudformation#StackName", "traits": { - "smithy.api#documentation": "

The name or the unique stack ID that is associated with the stack, which are not always\n interchangeable:

\n \n

Default: There is no default value.

\n

Required: Conditional. If you do not specify StackName, you must specify\n PhysicalResourceId.

" + "smithy.api#documentation": "

The name or the unique stack ID that is associated with the stack, which aren't always\n interchangeable:

\n \n

Default: There is no default value.

\n

Required: Conditional. If you don't specify StackName, you must specify\n PhysicalResourceId.

" } }, "LogicalResourceId": { @@ -2683,7 +2901,7 @@ "PhysicalResourceId": { "target": "com.amazonaws.cloudformation#PhysicalResourceId", "traits": { - "smithy.api#documentation": "

The name or unique identifier that corresponds to a physical instance ID of a resource\n supported by CloudFormation.

\n

For example, for an Amazon Elastic Compute Cloud (EC2) instance,\n PhysicalResourceId corresponds to the InstanceId. You can pass\n the EC2 InstanceId to DescribeStackResources to find which stack\n the instance belongs to and what other resources are part of the stack.

\n

Required: Conditional. If you do not specify PhysicalResourceId, you must\n specify StackName.

\n

Default: There is no default value.

" + "smithy.api#documentation": "

The name or unique identifier that corresponds to a physical instance ID of a resource\n supported by CloudFormation.

\n

For example, for an Amazon Elastic Compute Cloud (EC2) instance,\n PhysicalResourceId corresponds to the InstanceId. You can pass\n the EC2 InstanceId to DescribeStackResources to find which stack\n the instance belongs to and what other resources are part of the stack.

\n

Required: Conditional. If you don't specify PhysicalResourceId, you must\n specify StackName.

\n

Default: There is no default value.

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

Returns the description of the specified stack set.

" + "smithy.api#documentation": "

Returns the description of the specified stack set.

" } }, "com.amazonaws.cloudformation#DescribeStackSetInput": { @@ -2735,7 +2953,7 @@ "CallAs": { "target": "com.amazonaws.cloudformation#CallAs", "traits": { - "smithy.api#documentation": "

[Service-managed permissions] Specifies whether you are acting as an account\n administrator in the organization's management account or as a delegated administrator in a\n member account.

\n

By default, SELF is specified. Use SELF for stack sets with\n self-managed permissions.

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

[Service-managed permissions] Specifies whether you are acting as an account\n administrator in the organization's management account or as a delegated\n administrator in a member account.

\n

By default, SELF is specified. Use SELF for stack sets with\n self-managed permissions.

\n " } } } @@ -2757,7 +2975,7 @@ } ], "traits": { - "smithy.api#documentation": "

Returns the description of the specified stack set operation.

" + "smithy.api#documentation": "

Returns the description of the specified stack set operation.

" } }, "com.amazonaws.cloudformation#DescribeStackSetOperationInput": { @@ -2773,14 +2991,14 @@ "OperationId": { "target": "com.amazonaws.cloudformation#ClientRequestToken", "traits": { - "smithy.api#documentation": "

The unique ID of the stack set operation.

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

The unique ID of the stack set operation.

", "smithy.api#required": {} } }, "CallAs": { "target": "com.amazonaws.cloudformation#CallAs", "traits": { - "smithy.api#documentation": "

[Service-managed permissions] Specifies whether you are acting as an account\n administrator in the organization's management account or as a delegated administrator in a\n member account.

\n

By default, SELF is specified. Use SELF for stack sets with\n self-managed permissions.

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

[Service-managed permissions] Specifies whether you are acting as an account\n administrator in the organization's management account or as a delegated\n administrator in a member account.

\n

By default, SELF is specified. Use SELF for stack sets with\n self-managed permissions.

\n " } } } @@ -2816,7 +3034,7 @@ "target": "com.amazonaws.cloudformation#DescribeStacksOutput" }, "traits": { - "smithy.api#documentation": "

Returns the description for the specified stack; if no stack name was specified, then it\n returns the description for all the stacks created.

\n \n

If the stack does not exist, an ValidationError is returned.

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

Returns the description for the specified stack; if no stack name was specified, then it\n returns the description for all the stacks created.

\n \n

If the stack doesn't exist, an ValidationError is returned.

\n
", "smithy.api#paginated": { "inputToken": "NextToken", "outputToken": "NextToken", @@ -3182,7 +3400,7 @@ "StackName": { "target": "com.amazonaws.cloudformation#StackName", "traits": { - "smithy.api#documentation": "

The name or the unique stack ID that is associated with the stack, which are not always\n interchangeable:

\n \n

Default: There is no default value.

" + "smithy.api#documentation": "

The name or the unique stack ID that's associated with the stack, which aren't always\n interchangeable:

\n \n

Default: There is no default value.

" } }, "NextToken": { @@ -3243,7 +3461,7 @@ "Type": { "target": "com.amazonaws.cloudformation#RegistryType", "traits": { - "smithy.api#documentation": "

The kind of extension.

\n

Conditional: You must specify either TypeName and Type, or\n Arn.

" + "smithy.api#documentation": "

The kind of extension.

\n

Conditional: You must specify either TypeName and Type, or\n Arn.

" } }, "TypeName": { @@ -3290,19 +3508,19 @@ "Type": { "target": "com.amazonaws.cloudformation#RegistryType", "traits": { - "smithy.api#documentation": "

The kind of extension.

" + "smithy.api#documentation": "

The kind of extension.

" } }, "TypeName": { "target": "com.amazonaws.cloudformation#TypeName", "traits": { - "smithy.api#documentation": "

The name of the extension.

\n

If the extension is a public third-party type you have activated with a type name alias,\n CloudFormation returns the type name alias. For more information, see ActivateType.

" + "smithy.api#documentation": "

The name of the extension.

\n

If the extension is a public third-party type you have activated with a type name alias,\n CloudFormation returns the type name alias. For more information, see ActivateType.

" } }, "DefaultVersionId": { "target": "com.amazonaws.cloudformation#TypeVersionId", "traits": { - "smithy.api#documentation": "

The ID of the default version of the extension. The default version is used when the\n extension version is not specified.

\n

This applies only to private extensions you have registered in your account. For public\n extensions, both those provided by Amazon and published by third parties, CloudFormation\n returns null. For more information, see RegisterType.

\n

To set the default version of an extension, use \n SetTypeDefaultVersion\n .

" + "smithy.api#documentation": "

The ID of the default version of the extension. The default version is used when the\n extension version isn't specified.

\n

This applies only to private extensions you have registered in your account. For public\n extensions, both those provided by Amazon and published by third parties, CloudFormation returns null. For more information, see RegisterType.

\n

To set the default version of an extension, use \n SetTypeDefaultVersion\n .

" } }, "IsDefaultVersion": { @@ -3314,13 +3532,13 @@ "TypeTestsStatus": { "target": "com.amazonaws.cloudformation#TypeTestsStatus", "traits": { - "smithy.api#documentation": "

The contract test status of the registered extension version. To return the extension\n test status of a specifc extension version, you must specify VersionId.

\n

This applies only to registered private extension versions. CloudFormation does not\n return this information for public extensions, whether or not they are activated in your\n account.

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

The contract test status of the registered extension version. To return the extension\n test status of a specific extension version, you must specify\n VersionId.

\n

This applies only to registered private extension versions. CloudFormation\n doesn't return this information for public extensions, whether or not they are activated in\n your account.

\n " } }, "TypeTestsStatusDescription": { "target": "com.amazonaws.cloudformation#TypeTestsStatusDescription", "traits": { - "smithy.api#documentation": "

The description of the test status. To return the extension test status of a specifc\n extension version, you must specify VersionId.

\n

This applies only to registered private extension versions. CloudFormation does not\n return this information for public extensions, whether or not they are activated in your\n account.

" + "smithy.api#documentation": "

The description of the test status. To return the extension test status of a specific\n extension version, you must specify VersionId.

\n

This applies only to registered private extension versions. CloudFormation\n doesn't return this information for public extensions, whether or not they are activated in\n your account.

" } }, "Description": { @@ -3338,19 +3556,19 @@ "ProvisioningType": { "target": "com.amazonaws.cloudformation#ProvisioningType", "traits": { - "smithy.api#documentation": "

For resource type extensions, the provisioning behavior of the resource type. CloudFormation\n determines the provisioning type during registration, based on the types of handlers in the\n schema handler package submitted.

\n

Valid values include:

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

For resource type extensions, the provisioning behavior of the resource type. CloudFormation\n determines the provisioning type during registration, based on the types of handlers in the\n schema handler package submitted.

\n

Valid values include:

\n " } }, "DeprecatedStatus": { "target": "com.amazonaws.cloudformation#DeprecatedStatus", "traits": { - "smithy.api#documentation": "

The deprecation status of the extension version.

\n

Valid values include:

\n \n

For public third-party extensions, CloudFormation returns null.

" + "smithy.api#documentation": "

The deprecation status of the extension version.

\n

Valid values include:

\n \n

For public third-party extensions, CloudFormation returns\n null.

" } }, "LoggingConfig": { "target": "com.amazonaws.cloudformation#LoggingConfig", "traits": { - "smithy.api#documentation": "

Contains logging configuration information for private extensions. This applies only to\n private extensions you have registered in your account. For public extensions, both those\n provided by Amazon and published by third parties, CloudFormation returns\n null. For more information, see RegisterType.

" + "smithy.api#documentation": "

Contains logging configuration information for private extensions. This applies only to\n private extensions you have registered in your account. For public extensions, both those\n provided by Amazon and published by third parties, CloudFormation returns\n null. For more information, see RegisterType.

" } }, "RequiredActivatedTypes": { @@ -3362,13 +3580,13 @@ "ExecutionRoleArn": { "target": "com.amazonaws.cloudformation#RoleARN2", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the IAM execution role used to register the extension.\n This applies only to private extensions you have registered in your account. For more\n information, see RegisterType.

\n

\n

If the registered extension calls any Amazon Web Services APIs, you must create an\n \n IAM\n execution role\n that includes the necessary permissions to call\n those Amazon Web Services APIs, and provision that execution role in your account. CloudFormation then assumes that execution role to provide your extension with the\n appropriate credentials.

" + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the IAM execution role used to register\n the extension. This applies only to private extensions you have registered in your account.\n For more information, see RegisterType.

\n

\n

If the registered extension calls any Amazon Web Services APIs, you must create an\n \n IAM execution role\n that includes the necessary\n permissions to call those Amazon Web Services APIs, and provision that execution role in\n your account. CloudFormation then assumes that execution role to provide your\n extension with the appropriate credentials.

" } }, "Visibility": { "target": "com.amazonaws.cloudformation#Visibility", "traits": { - "smithy.api#documentation": "

The scope at which the extension is visible and usable in CloudFormation\n operations.

\n

Valid values include:

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

The scope at which the extension is visible and usable in CloudFormation\n operations.

\n

Valid values include:

\n " } }, "SourceUrl": { @@ -3392,25 +3610,25 @@ "TimeCreated": { "target": "com.amazonaws.cloudformation#Timestamp", "traits": { - "smithy.api#documentation": "

When the specified private extension version was registered or activated in your\n account.

" + "smithy.api#documentation": "

When the specified private extension version was registered or activated in your\n account.

" } }, "ConfigurationSchema": { "target": "com.amazonaws.cloudformation#ConfigurationSchema", "traits": { - "smithy.api#documentation": "

A JSON string that represent the current configuration data for the extension in this\n account and region.

\n

To set the configuration data for an extension, use SetTypeConfiguration. For more information, see Configuring extensions at the account level in the CloudFormation\n User Guide.

" + "smithy.api#documentation": "

A JSON string that represent the current configuration data for the extension in this\n account and region.

\n

To set the configuration data for an extension, use SetTypeConfiguration. For more information, see Configuring extensions at the account level in the CloudFormation User Guide.

" } }, "PublisherId": { "target": "com.amazonaws.cloudformation#PublisherId", "traits": { - "smithy.api#documentation": "

The publisher ID of the extension publisher.

\n

This applies only to public third-party extensions. For private registered extensions,\n and extensions provided by Amazon, CloudFormation returns null.

" + "smithy.api#documentation": "

The publisher ID of the extension publisher.

\n

This applies only to public third-party extensions. For private registered extensions,\n and extensions provided by Amazon Web Services, CloudFormation returns\n null.

" } }, "OriginalTypeName": { "target": "com.amazonaws.cloudformation#TypeName", "traits": { - "smithy.api#documentation": "

For public extensions that have been activated for this account and region, the type\n name of the public extension.

\n

If you specified a TypeNameAlias when enabling the extension in this\n account and region, CloudFormation treats that alias as the extension's type name within\n the account and region, not the type name of the public extension. For more information,\n see Specifying aliases to refer to extensions in the\n CloudFormation User Guide.

" + "smithy.api#documentation": "

For public extensions that have been activated for this account and region, the type\n name of the public extension.

\n

If you specified a TypeNameAlias when enabling the extension in this\n account and region, CloudFormation treats that alias as the extension's type name\n within the account and region, not the type name of the public extension. For more\n information, see Specifying aliases to refer to extensions in the\n CloudFormation User Guide.

" } }, "OriginalTypeArn": { @@ -3422,25 +3640,25 @@ "PublicVersionNumber": { "target": "com.amazonaws.cloudformation#PublicVersionNumber", "traits": { - "smithy.api#documentation": "

The version number of a public third-party extension.

\n

This applies only if you specify a public extension you have activated in your account,\n or specify a public extension without specifying a version. For all other extensions,\n CloudFormation returns null.

" + "smithy.api#documentation": "

The version number of a public third-party extension.

\n

This applies only if you specify a public extension you have activated in your account,\n or specify a public extension without specifying a version. For all other extensions,\n CloudFormation returns null.

" } }, "LatestPublicVersion": { "target": "com.amazonaws.cloudformation#PublicVersionNumber", "traits": { - "smithy.api#documentation": "

The latest version of a public extension that is available for\n use.

\n

This only applies if you specify a public extension, and you do not specify a version.\n For all other requests, CloudFormation returns null.

" + "smithy.api#documentation": "

The latest version of a public extension that is available for\n use.

\n

This only applies if you specify a public extension, and you don't specify a version.\n For all other requests, CloudFormation returns null.

" } }, "IsActivated": { "target": "com.amazonaws.cloudformation#IsActivated", "traits": { - "smithy.api#documentation": "

Whether or not the extension is activated in the account and region.

\n

This only applies to public third-party extensions. For all other extensions,\n CloudFormation returns null.

" + "smithy.api#documentation": "

Whether or not the extension is activated in the account and region.

\n

This only applies to public third-party extensions. For all other extensions, CloudFormation returns null.

" } }, "AutoUpdate": { "target": "com.amazonaws.cloudformation#AutoUpdate", "traits": { - "smithy.api#documentation": "

Whether CloudFormation automatically updates the extension in this account and region\n when a new minor version is published by the extension publisher.\n Major versions released by the publisher must be manually updated. For more information,\n see Activating public extensions for use in your account in the CloudFormation User Guide.

" + "smithy.api#documentation": "

Whether CloudFormation automatically updates the extension in this account and\n region when a new minor version is published by the extension\n publisher. Major versions released by the publisher must be manually updated. For more\n information, see Activating public extensions for use in your account in the CloudFormation User Guide.

" } } } @@ -3550,7 +3768,7 @@ "target": "com.amazonaws.cloudformation#DetectStackDriftOutput" }, "traits": { - "smithy.api#documentation": "

Detects whether a stack's actual configuration differs, or has\n drifted, from it's expected configuration, as defined in the stack\n template and any values specified as template parameters. For each resource in the stack\n that supports drift detection, CloudFormation compares the actual configuration of the resource with\n its expected template configuration. Only resource properties explicitly defined in the\n stack template are checked for drift. A stack is considered to have drifted if one or more\n of its resources differ from their expected template configurations. For more information,\n see Detecting\n Unregulated Configuration Changes to Stacks and Resources.

\n

Use DetectStackDrift to detect drift on all supported resources for a given\n stack, or DetectStackResourceDrift to detect drift on individual\n resources.

\n

For a list of stack resources that currently support drift detection, see Resources that Support Drift Detection.

\n

\n DetectStackDrift can take up to several minutes, depending on the number of\n resources contained within the stack. Use DescribeStackDriftDetectionStatus to monitor the progress of a detect stack drift operation. Once the drift detection\n operation has completed, use DescribeStackResourceDrifts to return drift\n information about the stack and its resources.

\n

When detecting drift on a stack, CloudFormation does not detect drift on any nested stacks\n belonging to that stack. Perform DetectStackDrift directly on the nested stack\n itself.

" + "smithy.api#documentation": "

Detects whether a stack's actual configuration differs, or has\n drifted, from it's expected configuration, as defined in the stack\n template and any values specified as template parameters. For each resource in the stack\n that supports drift detection, CloudFormation compares the actual configuration of the resource with\n its expected template configuration. Only resource properties explicitly defined in the\n stack template are checked for drift. A stack is considered to have drifted if one or more\n of its resources differ from their expected template configurations. For more information,\n see Detecting\n Unregulated Configuration Changes to Stacks and Resources.

\n

Use DetectStackDrift to detect drift on all supported resources for a given\n stack, or DetectStackResourceDrift to detect drift on individual\n resources.

\n

For a list of stack resources that currently support drift detection, see Resources that Support Drift Detection.

\n

\n DetectStackDrift can take up to several minutes, depending on the number of\n resources contained within the stack. Use DescribeStackDriftDetectionStatus to monitor the progress of a detect stack drift operation. Once the drift detection\n operation has completed, use DescribeStackResourceDrifts to return drift\n information about the stack and its resources.

\n

When detecting drift on a stack, CloudFormation doesn't detect drift on any nested stacks\n belonging to that stack. Perform DetectStackDrift directly on the nested stack\n itself.

" } }, "com.amazonaws.cloudformation#DetectStackDriftInput": { @@ -3592,7 +3810,7 @@ "target": "com.amazonaws.cloudformation#DetectStackResourceDriftOutput" }, "traits": { - "smithy.api#documentation": "

Returns information about whether a resource's actual configuration differs, or has\n drifted, from it's expected configuration, as defined in the stack\n template and any values specified as template parameters. This information includes actual\n and expected property values for resources in which CloudFormation detects drift. Only resource\n properties explicitly defined in the stack template are checked for drift. For more\n information about stack and resource drift, see Detecting\n Unregulated Configuration Changes to Stacks and Resources.

\n

Use DetectStackResourceDrift to detect drift on individual resources, or\n DetectStackDrift to detect drift on all resources in a given stack\n that support drift detection.

\n

Resources that do not currently support drift detection cannot be checked. For a list of\n resources that support drift detection, see Resources that Support Drift Detection.

" + "smithy.api#documentation": "

Returns information about whether a resource's actual configuration differs, or has\n drifted, from it's expected configuration, as defined in the stack\n template and any values specified as template parameters. This information includes actual\n and expected property values for resources in which CloudFormation detects drift. Only resource\n properties explicitly defined in the stack template are checked for drift. For more\n information about stack and resource drift, see Detecting\n Unregulated Configuration Changes to Stacks and Resources.

\n

Use DetectStackResourceDrift to detect drift on individual resources, or\n DetectStackDrift to detect drift on all resources in a given stack\n that support drift detection.

\n

Resources that don't currently support drift detection can't be checked. For a list of\n resources that support drift detection, see Resources that Support Drift Detection.

" } }, "com.amazonaws.cloudformation#DetectStackResourceDriftInput": { @@ -3646,7 +3864,7 @@ } ], "traits": { - "smithy.api#documentation": "

Detect drift on a stack set. When CloudFormation performs drift detection on a\n stack set, it performs drift detection on the stack associated with each stack instance in\n the stack set. For more information, see How CloudFormation Performs Drift Detection on a Stack Set.

\n

\n DetectStackSetDrift returns the OperationId of the stack set\n drift detection operation. Use this operation id with \n DescribeStackSetOperation\n to monitor the progress of the drift\n detection operation. The drift detection operation may take some time, depending on the\n number of stack instances included in the stack set, as well as the number of resources\n included in each stack.

\n

Once the operation has completed, use the following actions to return drift\n information:

\n \n

For more information on performing a drift detection operation on a stack set, see\n Detecting Unmanaged\n Changes in Stack Sets.

\n

You can only run a single drift detection operation on a given stack set at one time.

\n

To stop a drift detection stack set operation, use \n StopStackSetOperation\n .

" + "smithy.api#documentation": "

Detect drift on a stack set. When CloudFormation performs drift detection on a\n stack set, it performs drift detection on the stack associated with each stack instance in\n the stack set. For more information, see How CloudFormation performs drift detection on a stack set.

\n

\n DetectStackSetDrift returns the OperationId of the stack set\n drift detection operation. Use this operation id with \n DescribeStackSetOperation\n to monitor the progress of the drift\n detection operation. The drift detection operation may take some time, depending on the\n number of stack instances included in the stack set, in addition to the number of resources\n included in each stack.

\n

Once the operation has completed, use the following actions to return drift\n information:

\n \n

For more information on performing a drift detection operation on a stack set, see\n Detecting unmanaged\n changes in stack sets.

\n

You can only run a single drift detection operation on a given stack set at one\n time.

\n

To stop a drift detection stack set operation, use \n StopStackSetOperation\n .

" } }, "com.amazonaws.cloudformation#DetectStackSetDriftInput": { @@ -3672,7 +3890,7 @@ "CallAs": { "target": "com.amazonaws.cloudformation#CallAs", "traits": { - "smithy.api#documentation": "

[Service-managed permissions] Specifies whether you are acting as an account\n administrator in the organization's management account or as a delegated administrator in a\n member account.

\n

By default, SELF is specified. Use SELF for stack sets with\n self-managed permissions.

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

[Service-managed permissions] Specifies whether you are acting as an account\n administrator in the organization's management account or as a delegated\n administrator in a member account.

\n

By default, SELF is specified. Use SELF for stack sets with\n self-managed permissions.

\n " } } } @@ -3683,7 +3901,7 @@ "OperationId": { "target": "com.amazonaws.cloudformation#ClientRequestToken", "traits": { - "smithy.api#documentation": "

The ID of the drift detection stack set operation.

\n

you can use this operation id with \n DescribeStackSetOperation\n to monitor the progress of the drift detection operation.

" + "smithy.api#documentation": "

The ID of the drift detection stack set operation.

\n

You can use this operation ID with \n DescribeStackSetOperation\n to monitor the progress of the drift detection operation.

" } } } @@ -3769,7 +3987,7 @@ "TemplateURL": { "target": "com.amazonaws.cloudformation#TemplateURL", "traits": { - "smithy.api#documentation": "

Location of file containing the template body. The URL must point to a template that is\n located in an Amazon S3 bucket or a Systems Manager document. For more information, go to\n Template Anatomy\n in the CloudFormation User Guide.

\n

Conditional: You must pass TemplateURL or TemplateBody. If\n both are passed, only TemplateBody is used.

" + "smithy.api#documentation": "

Location of file containing the template body. The URL must point to a template that's\n located in an Amazon S3 bucket or a Systems Manager document. For more information,\n go to Template Anatomy\n in the CloudFormation User Guide.

\n

Conditional: You must pass TemplateURL or TemplateBody. If\n both are passed, only TemplateBody is used.

" } }, "Parameters": { @@ -3838,7 +4056,7 @@ } ], "traits": { - "smithy.api#documentation": "

Updates a stack using the input information that was provided when the specified change\n set was created. After the call successfully completes, CloudFormation starts\n updating the stack. Use the DescribeStacks action to view the status of\n the update.

\n

When you execute a change set, CloudFormation deletes all other change sets\n associated with the stack because they aren't valid for the updated stack.

\n

If a stack policy is associated with the stack, CloudFormation enforces the\n policy during the update. You can't specify a temporary stack policy that overrides the\n current policy.

\n

To create a change set for the entire stack hierachy, IncludeNestedStacks\n must have been set to True.

" + "smithy.api#documentation": "

Updates a stack using the input information that was provided when the specified change\n set was created. After the call successfully completes, CloudFormation starts updating\n the stack. Use the DescribeStacks action to view the status of the\n update.

\n

When you execute a change set, CloudFormation deletes all other change sets\n associated with the stack because they aren't valid for the updated stack.

\n

If a stack policy is associated with the stack, CloudFormation enforces the policy\n during the update. You can't specify a temporary stack policy that overrides the current\n policy.

\n

To create a change set for the entire stack hierarchy, IncludeNestedStacks\n must have been set to True.

" } }, "com.amazonaws.cloudformation#ExecuteChangeSetInput": { @@ -3847,20 +4065,20 @@ "ChangeSetName": { "target": "com.amazonaws.cloudformation#ChangeSetNameOrId", "traits": { - "smithy.api#documentation": "

The name or ARN of the change set that you want use to update the specified\n stack.

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

The name or Amazon Resource Name (ARN) of the change set that you want use to update the\n specified stack.

", "smithy.api#required": {} } }, "StackName": { "target": "com.amazonaws.cloudformation#StackNameOrId", "traits": { - "smithy.api#documentation": "

If you specified the name of a change set, specify the stack name or ID (ARN) that is\n associated with the change set you want to execute.

" + "smithy.api#documentation": "

If you specified the name of a change set, specify the stack name or Amazon Resource\n Name (ARN) that's associated with the change set you want to execute.

" } }, "ClientRequestToken": { "target": "com.amazonaws.cloudformation#ClientRequestToken", "traits": { - "smithy.api#documentation": "

A unique identifier for this ExecuteChangeSet request. Specify this token\n if you plan to retry requests so that CloudFormation knows that you're not\n attempting to execute a change set to update a stack with the same name. You might retry\n ExecuteChangeSet requests to ensure that CloudFormation\n successfully received them.

" + "smithy.api#documentation": "

A unique identifier for this ExecuteChangeSet request. Specify this token\n if you plan to retry requests so that CloudFormation knows that you're not attempting\n to execute a change set to update a stack with the same name. You might retry\n ExecuteChangeSet requests to ensure that CloudFormation successfully\n received them.

" } }, "DisableRollback": { @@ -4005,7 +4223,7 @@ "StackName": { "target": "com.amazonaws.cloudformation#StackName", "traits": { - "smithy.api#documentation": "

The name or unique stack ID that is associated with the stack whose policy you want to\n get.

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

The name or unique stack ID that's associated with the stack whose policy you want to\n get.

", "smithy.api#required": {} } } @@ -4042,7 +4260,7 @@ } ], "traits": { - "smithy.api#documentation": "

Returns the template body for a specified stack. You can get the template for running or\n deleted stacks.

\n

For deleted stacks, GetTemplate returns the template for up to 90 days after the stack\n has been deleted.

\n \n

If the template does not exist, a ValidationError is returned.

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

Returns the template body for a specified stack. You can get the template for running or\n deleted stacks.

\n

For deleted stacks, GetTemplate returns the template for up to 90 days\n after the stack has been deleted.

\n \n

If the template doesn't exist, a ValidationError is returned.

\n
" } }, "com.amazonaws.cloudformation#GetTemplateInput": { @@ -4051,7 +4269,7 @@ "StackName": { "target": "com.amazonaws.cloudformation#StackName", "traits": { - "smithy.api#documentation": "

The name or the unique stack ID that is associated with the stack, which are not always\n interchangeable:

\n \n

Default: There is no default value.

" + "smithy.api#documentation": "

The name or the unique stack ID that's associated with the stack, which aren't always\n interchangeable:

\n \n

Default: There is no default value.

" } }, "ChangeSetName": { @@ -4105,7 +4323,7 @@ } ], "traits": { - "smithy.api#documentation": "

Returns information about a new or existing template. The\n GetTemplateSummary action is useful for viewing parameter information, such\n as default parameter values and parameter types, before you create or update a stack or\n stack set.

\n

You can use the GetTemplateSummary action when you submit a template, or\n you can get template information for a stack set, or a running or deleted stack.

\n

For deleted stacks, GetTemplateSummary returns the template information for\n up to 90 days after the stack has been deleted. If the template does not exist, a\n ValidationError is returned.

" + "smithy.api#documentation": "

Returns information about a new or existing template. The\n GetTemplateSummary action is useful for viewing parameter information, such\n as default parameter values and parameter types, before you create or update a stack or\n stack set.

\n

You can use the GetTemplateSummary action when you submit a template, or\n you can get template information for a stack set, or a running or deleted stack.

\n

For deleted stacks, GetTemplateSummary returns the template information for\n up to 90 days after the stack has been deleted. If the template doesn't exist, a\n ValidationError is returned.

" } }, "com.amazonaws.cloudformation#GetTemplateSummaryInput": { @@ -4114,19 +4332,19 @@ "TemplateBody": { "target": "com.amazonaws.cloudformation#TemplateBody", "traits": { - "smithy.api#documentation": "

Structure containing the template body with a minimum length of 1 byte and a maximum\n length of 51,200 bytes. For more information about templates, see Template Anatomy in the CloudFormation User Guide.

\n

Conditional: You must specify only one of the following parameters:\n StackName, StackSetName, TemplateBody, or\n TemplateURL.

" + "smithy.api#documentation": "

Structure containing the template body with a minimum length of 1 byte and a maximum\n length of 51,200 bytes. For more information about templates, see Template anatomy in the CloudFormation User Guide.

\n

Conditional: You must specify only one of the following parameters:\n StackName, StackSetName, TemplateBody, or\n TemplateURL.

" } }, "TemplateURL": { "target": "com.amazonaws.cloudformation#TemplateURL", "traits": { - "smithy.api#documentation": "

Location of file containing the template body. The URL must point to a template (max\n size: 460,800 bytes) that is located in an Amazon S3 bucket or a Systems Manager document.\n For more information about templates, see Template Anatomy\n in the CloudFormation User Guide.

\n

Conditional: You must specify only one of the following parameters:\n StackName, StackSetName, TemplateBody, or\n TemplateURL.

" + "smithy.api#documentation": "

Location of file containing the template body. The URL must point to a template (max\n size: 460,800 bytes) that's located in an Amazon S3 bucket or a Systems Manager\n document. For more information about templates, see Template anatomy\n in the CloudFormation User Guide.

\n

Conditional: You must specify only one of the following parameters:\n StackName, StackSetName, TemplateBody, or\n TemplateURL.

" } }, "StackName": { "target": "com.amazonaws.cloudformation#StackNameOrId", "traits": { - "smithy.api#documentation": "

The name or the stack ID that is associated with the stack, which are not always\n interchangeable. For running stacks, you can specify either the stack's name or its unique\n stack ID. For deleted stack, you must specify the unique stack ID.

\n

Conditional: You must specify only one of the following parameters:\n StackName, StackSetName, TemplateBody, or\n TemplateURL.

" + "smithy.api#documentation": "

The name or the stack ID that's associated with the stack, which aren't always\n interchangeable. For running stacks, you can specify either the stack's name or its unique\n stack ID. For deleted stack, you must specify the unique stack ID.

\n

Conditional: You must specify only one of the following parameters:\n StackName, StackSetName, TemplateBody, or\n TemplateURL.

" } }, "StackSetName": { @@ -4138,7 +4356,7 @@ "CallAs": { "target": "com.amazonaws.cloudformation#CallAs", "traits": { - "smithy.api#documentation": "

[Service-managed permissions] Specifies whether you are acting as an account\n administrator in the organization's management account or as a delegated administrator in a\n member account.

\n

By default, SELF is specified. Use SELF for stack sets with\n self-managed permissions.

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

[Service-managed permissions] Specifies whether you are acting as an account\n administrator in the organization's management account or as a delegated\n administrator in a member account.

\n

By default, SELF is specified. Use SELF for stack sets with\n self-managed permissions.

\n " } } }, @@ -4158,7 +4376,7 @@ "Description": { "target": "com.amazonaws.cloudformation#Description", "traits": { - "smithy.api#documentation": "

The value that is defined in the Description property of the\n template.

" + "smithy.api#documentation": "

The value that's defined in the Description property of the\n template.

" } }, "Capabilities": { @@ -4188,7 +4406,7 @@ "Metadata": { "target": "com.amazonaws.cloudformation#Metadata", "traits": { - "smithy.api#documentation": "

The value that is defined for the Metadata property of the template.

" + "smithy.api#documentation": "

The value that's defined for the Metadata property of the template.

" } }, "DeclaredTransforms": { @@ -4271,10 +4489,149 @@ { "value": "InvalidTypeConfiguration", "name": "InvalidTypeConfiguration" + }, + { + "value": "HandlerInternalFailure", + "name": "HandlerInternalFailure" + }, + { + "value": "NonCompliant", + "name": "NonCompliant" + }, + { + "value": "Unknown", + "name": "Unknown" + } + ] + } + }, + "com.amazonaws.cloudformation#HookFailureMode": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "FAIL", + "name": "FAIL" + }, + { + "value": "WARN", + "name": "WARN" + } + ] + } + }, + "com.amazonaws.cloudformation#HookInvocationCount": { + "type": "integer", + "traits": { + "smithy.api#box": {}, + "smithy.api#range": { + "min": 1, + "max": 100 + } + } + }, + "com.amazonaws.cloudformation#HookInvocationPoint": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "PRE_PROVISION", + "name": "PRE_PROVISION" + } + ] + } + }, + "com.amazonaws.cloudformation#HookStatus": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "HOOK_IN_PROGRESS", + "name": "HOOK_IN_PROGRESS" + }, + { + "value": "HOOK_COMPLETE_SUCCEEDED", + "name": "HOOK_COMPLETE_SUCCEEDED" + }, + { + "value": "HOOK_COMPLETE_FAILED", + "name": "HOOK_COMPLETE_FAILED" + }, + { + "value": "HOOK_FAILED", + "name": "HOOK_FAILED" + } + ] + } + }, + "com.amazonaws.cloudformation#HookStatusReason": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 1024 + } + } + }, + "com.amazonaws.cloudformation#HookTargetType": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "RESOURCE", + "name": "RESOURCE" } ] } }, + "com.amazonaws.cloudformation#HookTargetTypeName": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 256 + }, + "smithy.api#pattern": "^[a-zA-Z0-9]{2,64}::[a-zA-Z0-9]{2,64}::[a-zA-Z0-9]{2,64}$" + } + }, + "com.amazonaws.cloudformation#HookType": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 255 + } + } + }, + "com.amazonaws.cloudformation#HookTypeConfigurationVersionId": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 128 + }, + "smithy.api#pattern": "^[A-Za-z0-9-]+$" + } + }, + "com.amazonaws.cloudformation#HookTypeName": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 10, + "max": 196 + } + } + }, + "com.amazonaws.cloudformation#HookTypeVersionId": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 128 + }, + "smithy.api#pattern": "^[A-Za-z0-9-]+$" + } + }, "com.amazonaws.cloudformation#IdentityProvider": { "type": "string", "traits": { @@ -4326,7 +4683,7 @@ } ], "traits": { - "smithy.api#documentation": "

Use the stack import operations for self-managed or service-managed StackSets. For\n self-managed StackSets, the import operation can import stacks in the administrator account\n or in different target accounts and Amazon Web Services Regions. For service-managed\n StackSets, the import operation can import any stack in the same AWS Organizations as the\n management account. The import operation can import up to 10 stacks using inline stack IDs\n or up to 10,000 stacks using an Amazon S3 object.

" + "smithy.api#documentation": "

Import existing stacks into a new stack sets. Use the stack import operation to import\n up to 10 stacks into a new stack set in the same account as the source stack or in a\n different administrator account and Region, by specifying the stack ID of the stack you\n intend to import.

\n \n

\n ImportStacksToStackSet is only supported by self-managed\n permissions.

\n
" } }, "com.amazonaws.cloudformation#ImportStacksToStackSetInput": { @@ -4354,7 +4711,7 @@ "OrganizationalUnitIds": { "target": "com.amazonaws.cloudformation#OrganizationalUnitIdList", "traits": { - "smithy.api#documentation": "

The list of OU ID’s to which the stacks being imported has to be mapped as deployment\n target.

" + "smithy.api#documentation": "

The list of OU ID's to which the stacks being imported has to be mapped as deployment\n target.

" } }, "OperationPreferences": { @@ -4370,7 +4727,7 @@ "CallAs": { "target": "com.amazonaws.cloudformation#CallAs", "traits": { - "smithy.api#documentation": "

By default, SELF is specified. Use SELF for stack sets with\n self-managed permissions.

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

By default, SELF is specified. Use SELF for stack sets with\n self-managed permissions.

\n " } } } @@ -4477,7 +4834,7 @@ "code": "InvalidStateTransition", "httpResponseCode": 400 }, - "smithy.api#documentation": "

Error reserved for use by the CloudFormation CLI. CloudFormation does not return this error to\n users.

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

Error reserved for use by the CloudFormation CLI. CloudFormation doesn't return this error to\n users.

", "smithy.api#error": "client", "smithy.api#httpError": 400 } @@ -4518,7 +4875,7 @@ "code": "LimitExceededException", "httpResponseCode": 400 }, - "smithy.api#documentation": "

The quota for the resource has already been reached.

\n

For information on resource and stack limitations, see Limits in\n the CloudFormation User Guide.

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

The quota for the resource has already been reached.

\n

For information on resource and stack limitations, see CloudFormation\n quotas in the CloudFormation User Guide.

", "smithy.api#error": "client", "smithy.api#httpError": 400 } @@ -4582,7 +4939,7 @@ "NextToken": { "target": "com.amazonaws.cloudformation#NextToken", "traits": { - "smithy.api#documentation": "

If the output exceeds 1 MB, a string that identifies the next page of change sets. If\n there is no additional page, this value is null.

" + "smithy.api#documentation": "

If the output exceeds 1 MB, a string that identifies the next page of change sets. If\n there is no additional page, this value is null.

" } } }, @@ -4599,7 +4956,7 @@ "target": "com.amazonaws.cloudformation#ListExportsOutput" }, "traits": { - "smithy.api#documentation": "

Lists all exported output values in the account and Region in which you call this\n action. Use this action to see the exported output values that you can import into other\n stacks. To import values, use the \n Fn::ImportValue\n function.

\n

For more information, see \n CloudFormation Export Stack Output Values.

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

Lists all exported output values in the account and Region in which you call this\n action. Use this action to see the exported output values that you can import into other\n stacks. To import values, use the \n Fn::ImportValue\n function.

\n

For more information, see \n CloudFormation export stack output values.

", "smithy.api#paginated": { "inputToken": "NextToken", "outputToken": "NextToken", @@ -4658,7 +5015,7 @@ "ExportName": { "target": "com.amazonaws.cloudformation#ExportName", "traits": { - "smithy.api#documentation": "

The name of the exported output value. CloudFormation returns the stack names\n that are importing this value.

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

The name of the exported output value. CloudFormation returns the stack names that\n are importing this value.

", "smithy.api#required": {} } }, @@ -4747,13 +5104,13 @@ "StackInstanceRegion": { "target": "com.amazonaws.cloudformation#Region", "traits": { - "smithy.api#documentation": "

The name of the Region where you want to list stack instances.

" + "smithy.api#documentation": "

The name of the Region where you want to list stack instances.

" } }, "CallAs": { "target": "com.amazonaws.cloudformation#CallAs", "traits": { - "smithy.api#documentation": "

[Service-managed permissions] Specifies whether you are acting as an account\n administrator in the organization's management account or as a delegated administrator in a\n member account.

\n

By default, SELF is specified. Use SELF for stack sets with\n self-managed permissions.

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

[Service-managed permissions] Specifies whether you are acting as an account\n administrator in the organization's management account or as a delegated\n administrator in a member account.

\n

By default, SELF is specified. Use SELF for stack sets with\n self-managed permissions.

\n " } } } @@ -4770,7 +5127,7 @@ "NextToken": { "target": "com.amazonaws.cloudformation#NextToken", "traits": { - "smithy.api#documentation": "

If the request doesn't return all of the remaining results, NextToken is\n set to a token. To retrieve the next set of results, call ListStackInstances\n again and assign that token to the request object's NextToken parameter. If\n the request returns all results, NextToken is set to null.

" + "smithy.api#documentation": "

If the request doesn't return all the remaining results, NextToken is set\n to a token. To retrieve the next set of results, call ListStackInstances again\n and assign that token to the request object's NextToken parameter. If the\n request returns all results, NextToken is set to null.

" } } } @@ -4798,7 +5155,7 @@ "StackName": { "target": "com.amazonaws.cloudformation#StackName", "traits": { - "smithy.api#documentation": "

The name or the unique stack ID that is associated with the stack, which are not always\n interchangeable:

\n \n

Default: There is no default value.

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

The name or the unique stack ID that is associated with the stack, which aren't always\n interchangeable:

\n \n

Default: There is no default value.

", "smithy.api#required": {} } }, @@ -4850,7 +5207,7 @@ } ], "traits": { - "smithy.api#documentation": "

Returns summary information about the results of a stack set operation.

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

Returns summary information about the results of a stack set operation.

", "smithy.api#paginated": { "inputToken": "NextToken", "outputToken": "NextToken", @@ -4891,7 +5248,7 @@ "CallAs": { "target": "com.amazonaws.cloudformation#CallAs", "traits": { - "smithy.api#documentation": "

[Service-managed permissions] Specifies whether you are acting as an account\n administrator in the organization's management account or as a delegated administrator in a\n member account.

\n

By default, SELF is specified. Use SELF for stack sets with\n self-managed permissions.

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

[Service-managed permissions] Specifies whether you are acting as an account\n administrator in the organization's management account or as a delegated\n administrator in a member account.

\n

By default, SELF is specified. Use SELF for stack sets with\n self-managed permissions.

\n " } } } @@ -4902,7 +5259,7 @@ "Summaries": { "target": "com.amazonaws.cloudformation#StackSetOperationResultSummaries", "traits": { - "smithy.api#documentation": "

A list of StackSetOperationResultSummary structures that contain\n information about the specified operation results, for accounts and Regions that are\n included in the operation.

" + "smithy.api#documentation": "

A list of StackSetOperationResultSummary structures that contain\n information about the specified operation results, for accounts and Amazon Web Services Regions that are included in the operation.

" } }, "NextToken": { @@ -4927,7 +5284,7 @@ } ], "traits": { - "smithy.api#documentation": "

Returns summary information about operations performed on a stack set.

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

Returns summary information about operations performed on a stack set.

", "smithy.api#paginated": { "inputToken": "NextToken", "outputToken": "NextToken", @@ -4961,7 +5318,7 @@ "CallAs": { "target": "com.amazonaws.cloudformation#CallAs", "traits": { - "smithy.api#documentation": "

[Service-managed permissions] Specifies whether you are acting as an account\n administrator in the organization's management account or as a delegated administrator in a\n member account.

\n

By default, SELF is specified. Use SELF for stack sets with\n self-managed permissions.

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

[Service-managed permissions] Specifies whether you are acting as an account\n administrator in the organization's management account or as a delegated\n administrator in a member account.

\n

By default, SELF is specified. Use SELF for stack sets with\n self-managed permissions.

\n " } } } @@ -4992,7 +5349,7 @@ "target": "com.amazonaws.cloudformation#ListStackSetsOutput" }, "traits": { - "smithy.api#documentation": "

Returns summary information about stack sets that are associated with the user.

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

Returns summary information about stack sets that are associated with the user.

\n ", "smithy.api#paginated": { "inputToken": "NextToken", "outputToken": "NextToken", @@ -5007,7 +5364,7 @@ "NextToken": { "target": "com.amazonaws.cloudformation#NextToken", "traits": { - "smithy.api#documentation": "

If the previous paginated request didn't return all of the remaining results, the\n response object's NextToken parameter value is set to a token. To retrieve the\n next set of results, call ListStackSets again and assign that token to the\n request object's NextToken parameter. If there are no remaining results, the\n previous response object's NextToken parameter is set to\n null.

" + "smithy.api#documentation": "

If the previous paginated request didn't return all the remaining results, the response\n object's NextToken parameter value is set to a token. To retrieve the next set\n of results, call ListStackSets again and assign that token to the request\n object's NextToken parameter. If there are no remaining results, the previous\n response object's NextToken parameter is set to null.

" } }, "MaxResults": { @@ -5025,7 +5382,7 @@ "CallAs": { "target": "com.amazonaws.cloudformation#CallAs", "traits": { - "smithy.api#documentation": "

[Service-managed permissions] Specifies whether you are acting as an account\n administrator in the management account or as a delegated administrator in a member\n account.

\n

By default, SELF is specified. Use SELF for stack sets with\n self-managed permissions.

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

[Service-managed permissions] Specifies whether you are acting as an account\n administrator in the management account or as a delegated administrator in a\n member account.

\n

By default, SELF is specified. Use SELF for stack sets with\n self-managed permissions.

\n " } } } @@ -5163,7 +5520,7 @@ "NextToken": { "target": "com.amazonaws.cloudformation#NextToken", "traits": { - "smithy.api#documentation": "

If the previous paginated request didn't return all of the remaining results, the\n response object's NextToken parameter value is set to a token. To retrieve the\n next set of results, call this action again and assign that token to the request object's\n NextToken parameter. If there are no remaining results, the previous\n response object's NextToken parameter is set to null.

" + "smithy.api#documentation": "

If the previous paginated request didn't return all the remaining results, the response\n object's NextToken parameter value is set to a token. To retrieve the next set\n of results, call this action again and assign that token to the request object's\n NextToken parameter. If there are no remaining results, the previous\n response object's NextToken parameter is set to null.

" } } } @@ -5174,7 +5531,7 @@ "RegistrationTokenList": { "target": "com.amazonaws.cloudformation#RegistrationTokenList", "traits": { - "smithy.api#documentation": "

A list of extension registration tokens.

\n

Use \n DescribeTypeRegistration\n to return detailed\n information about a type registration request.

" + "smithy.api#documentation": "

A list of extension registration tokens.

\n

Use \n DescribeTypeRegistration\n to return detailed\n information about a type registration request.

" } }, "NextToken": { @@ -5244,13 +5601,13 @@ "DeprecatedStatus": { "target": "com.amazonaws.cloudformation#DeprecatedStatus", "traits": { - "smithy.api#documentation": "

The deprecation status of the extension versions that you want to get summary\n information about.

\n

Valid values include:

\n \n

The default is LIVE.

" + "smithy.api#documentation": "

The deprecation status of the extension versions that you want to get summary\n information about.

\n

Valid values include:

\n \n

The default is LIVE.

" } }, "PublisherId": { "target": "com.amazonaws.cloudformation#PublisherId", "traits": { - "smithy.api#documentation": "

The publisher ID of the extension publisher.

\n

Extensions published by Amazon are not assigned a publisher ID.

" + "smithy.api#documentation": "

The publisher ID of the extension publisher.

\n

Extensions published by Amazon aren't assigned a publisher ID.

" } } } @@ -5308,13 +5665,13 @@ "ProvisioningType": { "target": "com.amazonaws.cloudformation#ProvisioningType", "traits": { - "smithy.api#documentation": "

For resource types, the provisioning behavior of the resource type. CloudFormation determines the\n provisioning type during registration, based on the types of handlers in the schema handler\n package submitted.

\n

Valid values include:

\n \n

The default is FULLY_MUTABLE.

" + "smithy.api#documentation": "

For resource types, the provisioning behavior of the resource type. CloudFormation determines the\n provisioning type during registration, based on the types of handlers in the schema handler\n package submitted.

\n

Valid values include:

\n \n

The default is FULLY_MUTABLE.

" } }, "DeprecatedStatus": { "target": "com.amazonaws.cloudformation#DeprecatedStatus", "traits": { - "smithy.api#documentation": "

The deprecation status of the extension that you want to get summary information\n about.

\n

Valid values include:

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

The deprecation status of the extension that you want to get summary information\n about.

\n

Valid values include:

\n " } }, "Type": { @@ -5355,7 +5712,7 @@ "NextToken": { "target": "com.amazonaws.cloudformation#NextToken", "traits": { - "smithy.api#documentation": "

If the request doesn't return all of the remaining results, NextToken is\n set to a token. To retrieve the next set of results, call this action again and assign that\n token to the request object's NextToken parameter. If the request returns all\n results, NextToken is set to null.

" + "smithy.api#documentation": "

If the request doesn't return all the remaining results, NextToken is set\n to a token. To retrieve the next set of results, call this action again and assign that\n token to the request object's NextToken parameter. If the request returns all\n results, NextToken is set to null.

" } } } @@ -5376,14 +5733,14 @@ "LogRoleArn": { "target": "com.amazonaws.cloudformation#RoleARN2", "traits": { - "smithy.api#documentation": "

The ARN of the role that CloudFormation should assume when sending log entries\n to CloudWatch logs.

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

The Amazon Resource Name (ARN) of the role that CloudFormation should assume\n when sending log entries to CloudWatch Logs.

", "smithy.api#required": {} } }, "LogGroupName": { "target": "com.amazonaws.cloudformation#LogGroupName", "traits": { - "smithy.api#documentation": "

The Amazon CloudWatch log group to which CloudFormation sends error logging\n information when invoking the extension's handlers.

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

The Amazon CloudWatch Logs group to which CloudFormation sends error logging\n information when invoking the extension's handlers.

", "smithy.api#required": {} } } @@ -5478,18 +5835,18 @@ "TypeHierarchy": { "target": "com.amazonaws.cloudformation#TypeHierarchy", "traits": { - "smithy.api#documentation": "

A concantenated list of the the module type or types containing the resource. Module\n types are listed starting with the inner-most nested module, and separated by\n /.

\n

In the following example, the resource was created from a module of type\n AWS::First::Example::MODULE, that is nested inside a parent module of type\n AWS::Second::Example::MODULE.

\n

\n AWS::First::Example::MODULE/AWS::Second::Example::MODULE\n

" + "smithy.api#documentation": "

A concatenated list of the module type or types containing the resource. Module types\n are listed starting with the inner-most nested module, and separated by\n /.

\n

In the following example, the resource was created from a module of type\n AWS::First::Example::MODULE, that's nested inside a parent module of type\n AWS::Second::Example::MODULE.

\n

\n AWS::First::Example::MODULE/AWS::Second::Example::MODULE\n

" } }, "LogicalIdHierarchy": { "target": "com.amazonaws.cloudformation#LogicalIdHierarchy", "traits": { - "smithy.api#documentation": "

A concantenated list of the logical IDs of the module or modules containing the\n resource. Modules are listed starting with the inner-most nested module, and separated by\n /.

\n

In the following example, the resource was created from a module, moduleA,\n that is nested inside a parent module, moduleB.

\n

\n moduleA/moduleB\n

\n

For more information, see Referencing\n resources in a module in the CloudFormation User\n Guide.

" + "smithy.api#documentation": "

A concatenated list of the logical IDs of the module or modules containing the resource.\n Modules are listed starting with the inner-most nested module, and separated by\n /.

\n

In the following example, the resource was created from a module, moduleA,\n that's nested inside a parent module, moduleB.

\n

\n moduleA/moduleB\n

\n

For more information, see Referencing\n resources in a module in the CloudFormation User\n Guide.

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

Contains information about the module from which the resource was created, if the\n resource was created from a module included in the stack template.

\n

For more information on modules, see Using modules to encapsulate and\n reuse resource configurations in the CloudFormation User\n Guide.

" + "smithy.api#documentation": "

Contains information about the module from which the resource was created, if the\n resource was created from a module included in the stack template.

\n

For more information on modules, see Using modules to encapsulate and\n reuse resource configurations in the\n CloudFormation User Guide.

" } }, "com.amazonaws.cloudformation#MonitoringTimeInMinutes": { @@ -5654,7 +6011,7 @@ "code": "ConditionalCheckFailed", "httpResponseCode": 400 }, - "smithy.api#documentation": "

Error reserved for use by the CloudFormation CLI. CloudFormation does not return this error to\n users.

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

Error reserved for use by the CloudFormation CLI. CloudFormation doesn't return this error to\n users.

", "smithy.api#error": "client", "smithy.api#httpError": 400 } @@ -5730,7 +6087,7 @@ "ParameterKey": { "target": "com.amazonaws.cloudformation#ParameterKey", "traits": { - "smithy.api#documentation": "

The key associated with the parameter. If you don't specify a key and value for a\n particular parameter, CloudFormation uses the default value that is specified in\n your template.

" + "smithy.api#documentation": "

The key associated with the parameter. If you don't specify a key and value for a\n particular parameter, CloudFormation uses the default value that's specified in your\n template.

" } }, "ParameterValue": { @@ -5748,7 +6105,7 @@ "ResolvedValue": { "target": "com.amazonaws.cloudformation#ParameterValue", "traits": { - "smithy.api#documentation": "

Read-only. Read-only. The value that corresponds to a SSM parameter key.\n This field is returned only for \n SSM\n parameter types in the template.

" + "smithy.api#documentation": "

Read-only. The value that corresponds to a SSM parameter key. This field is\n returned only for \n SSM\n parameter types in the template.

" } } }, @@ -5767,7 +6124,7 @@ } }, "traits": { - "smithy.api#documentation": "

A set of criteria that CloudFormation uses to validate parameter values.\n Although other constraints might be defined in the stack template, CloudFormation\n returns only the AllowedValues property.

" + "smithy.api#documentation": "

A set of criteria that CloudFormation uses to validate parameter values. Although\n other constraints might be defined in the stack template, CloudFormation returns only\n the AllowedValues property.

" } }, "com.amazonaws.cloudformation#ParameterDeclaration": { @@ -5776,7 +6133,7 @@ "ParameterKey": { "target": "com.amazonaws.cloudformation#ParameterKey", "traits": { - "smithy.api#documentation": "

The name that is associated with the parameter.

" + "smithy.api#documentation": "

The name that's associated with the parameter.

" } }, "DefaultValue": { @@ -5800,7 +6157,7 @@ "Description": { "target": "com.amazonaws.cloudformation#Description", "traits": { - "smithy.api#documentation": "

The description that is associate with the parameter.

" + "smithy.api#documentation": "

The description that's associate with the parameter.

" } }, "ParameterConstraints": { @@ -5884,7 +6241,7 @@ } }, "traits": { - "smithy.api#documentation": "

Context information that enables CloudFormation to uniquely identify a resource. CloudFormation uses\n context key-value pairs in cases where a resource's logical and physical IDs are not enough\n to uniquely identify that resource. Each context key-value pair specifies a resource that\n contains the targeted resource.

" + "smithy.api#documentation": "

Context information that enables CloudFormation to uniquely identify a resource. CloudFormation uses\n context key-value pairs in cases where a resource's logical and physical IDs aren't enough\n to uniquely identify that resource. Each context key-value pair specifies a resource that\n contains the targeted resource.

" } }, "com.amazonaws.cloudformation#PrivateTypeArn": { @@ -5927,7 +6284,7 @@ "DifferenceType": { "target": "com.amazonaws.cloudformation#DifferenceType", "traits": { - "smithy.api#documentation": "

The type of property difference.

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

The type of property difference.

\n ", "smithy.api#required": {} } } @@ -5996,7 +6353,7 @@ } ], "traits": { - "smithy.api#documentation": "

Publishes the specified extension to the CloudFormation registry as a public extension\n in this region. Public extensions are available for use by all CloudFormation users. For\n more information on publishing extensions, see Publishing extensions to make them available for public use in the\n CloudFormation CLI User Guide.

\n

To publish an extension, you must be registered as a publisher with CloudFormation. For\n more information, see RegisterPublisher.

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

Publishes the specified extension to the CloudFormation registry as a public\n extension in this region. Public extensions are available for use by all CloudFormation users. For more information on publishing extensions, see Publishing extensions to make them available for public use in the\n CloudFormation CLI User Guide.

\n

To publish an extension, you must be registered as a publisher with CloudFormation. For more information, see RegisterPublisher.

", "smithy.api#idempotent": {} } }, @@ -6024,7 +6381,7 @@ "PublicVersionNumber": { "target": "com.amazonaws.cloudformation#PublicVersionNumber", "traits": { - "smithy.api#documentation": "

The version number to assign to this version of the extension.

\n

Use the following format, and adhere to semantic versioning when assigning a version\n number to your extension:

\n

\n MAJOR.MINOR.PATCH\n

\n

For more information, see Semantic Versioning\n 2.0.0.

\n

If you do not specify a version number, CloudFormation increments the version number by\n one minor version release.

\n

You cannot specify a version number the first time you publish a type. CloudFormation\n automatically sets the first version number to be 1.0.0.

" + "smithy.api#documentation": "

The version number to assign to this version of the extension.

\n

Use the following format, and adhere to semantic versioning when assigning a version\n number to your extension:

\n

\n MAJOR.MINOR.PATCH\n

\n

For more information, see Semantic Versioning\n 2.0.0.

\n

If you don't specify a version number, CloudFormation increments the version\n number by one minor version release.

\n

You cannot specify a version number the first time you publish a type. CloudFormation\n automatically sets the first version number to be 1.0.0.

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

Reports progress of a resource handler to CloudFormation.

\n

Reserved for use by the CloudFormation CLI. Do not use this API in your code.

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

Reports progress of a resource handler to CloudFormation.

\n

Reserved for use by the CloudFormation CLI. Don't use this API in your code.

", "smithy.api#idempotent": {} } }, @@ -6203,7 +6560,7 @@ } ], "traits": { - "smithy.api#documentation": "

Registers your account as a publisher of public extensions in the CloudFormation\n registry. Public extensions are available for use by all CloudFormation users. This\n publisher ID applies to your account in all Amazon Web Services Regions.

\n

For information on requirements for registering as a public extension publisher, see\n Registering your account to publish CloudFormation\n extensions in the CloudFormation CLI User Guide.

\n

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

Registers your account as a publisher of public extensions in the CloudFormation registry. Public extensions are available for use by all CloudFormation users.\n This publisher ID applies to your account in all Amazon Web Services Regions.

\n

For information on requirements for registering as a public extension publisher, see\n Registering your account to publish CloudFormation\n extensions in the CloudFormation CLI User\n Guide.

\n

", "smithy.api#idempotent": {} } }, @@ -6213,13 +6570,13 @@ "AcceptTermsAndConditions": { "target": "com.amazonaws.cloudformation#AcceptTermsAndConditions", "traits": { - "smithy.api#documentation": "

Whether you accept the Terms and Conditions for publishing extensions in the CloudFormation registry.\n You must accept the terms and conditions in order to register to publish public extensions\n to the CloudFormation registry.

\n

The default is false.

" + "smithy.api#documentation": "

Whether you accept the Terms and Conditions for publishing extensions in the CloudFormation\n registry. You must accept the terms and conditions in order to register to publish public\n extensions to the CloudFormation registry.

\n

The default is false.

" } }, "ConnectionArn": { "target": "com.amazonaws.cloudformation#ConnectionArn", "traits": { - "smithy.api#documentation": "

If you are using a Bitbucket or GitHub account for identity verification, the Amazon\n Resource Name (ARN) for your connection to that account.

\n

For more information, see Registering your account to publish CloudFormation\n extensions in the CloudFormation CLI User Guide.

" + "smithy.api#documentation": "

If you are using a Bitbucket or GitHub account for identity verification, the Amazon\n Resource Name (ARN) for your connection to that account.

\n

For more information, see Registering your account to publish CloudFormation\n extensions in the CloudFormation CLI User\n Guide.

" } } } @@ -6230,7 +6587,7 @@ "PublisherId": { "target": "com.amazonaws.cloudformation#PublisherId", "traits": { - "smithy.api#documentation": "

The ID assigned this account by CloudFormation for publishing extensions.

" + "smithy.api#documentation": "

The ID assigned this account by CloudFormation for publishing\n extensions.

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

Registers an extension with the CloudFormation service. Registering an\n extension makes it available for use in CloudFormation templates in your Amazon Web Services account, and includes:

\n \n

For more information on how to develop extensions and ready them for registeration, see\n Creating Resource\n Providers in the CloudFormation CLI User\n Guide.

\n

You can have a maximum of 50 resource extension versions registered at a time. This\n maximum is per account and per region. Use DeregisterType to deregister specific extension versions if necessary.

\n

Once you have initiated a registration request using \n RegisterType\n , you can use \n DescribeTypeRegistration\n to\n monitor the progress of the registration request.

\n

Once you have registered a private extension in your account and region, use SetTypeConfiguration to specify configuration properties for the extension. For\n more information, see Configuring extensions at the account level in the CloudFormation\n User Guide.

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

Registers an extension with the CloudFormation service. Registering an\n extension makes it available for use in CloudFormation templates in your Amazon Web Services account, and includes:

\n \n

For more information on how to develop extensions and ready them for registration, see\n Creating Resource\n Providers in the CloudFormation CLI User\n Guide.

\n

You can have a maximum of 50 resource extension versions registered at a time. This\n maximum is per account and per region. Use DeregisterType to deregister specific extension versions if necessary.

\n

Once you have initiated a registration request using \n RegisterType\n , you can use \n DescribeTypeRegistration\n to\n monitor the progress of the registration request.

\n

Once you have registered a private extension in your account and region, use SetTypeConfiguration to specify configuration properties for the extension. For\n more information, see Configuring extensions at the account level in the CloudFormation User Guide.

", "smithy.api#idempotent": {} } }, @@ -6265,14 +6622,14 @@ "TypeName": { "target": "com.amazonaws.cloudformation#TypeName", "traits": { - "smithy.api#documentation": "

The name of the extension being registered.

\n

We recommend that extension names adhere to the following patterns:

\n \n\n \n

The following organization namespaces are reserved and cannot be used in your\n extension names:

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

The name of the extension being registered.

\n

We recommend that extension names adhere to the following patterns:

\n \n\n \n

The following organization namespaces are reserved and can't be used in your\n extension names:

\n \n
", "smithy.api#required": {} } }, "SchemaHandlerPackage": { "target": "com.amazonaws.cloudformation#S3Url", "traits": { - "smithy.api#documentation": "

A url to the S3 bucket containing the extension project package that contains the\n neccessary files for the extension you want to register.

\n

For information on generating a schema handler package for the extension you want to\n register, see submit\n in the CloudFormation CLI User Guide.

\n \n

The user registering the extension must be able to access the package in the S3\n bucket. That is, the user needs to have GetObject permissions for the\n schema handler package. For more information, see Actions, Resources, and Condition Keys\n for Amazon S3 in the Identity and Access Management User\n Guide.

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

A URL to the S3 bucket containing the extension project package that contains the\n necessary files for the extension you want to register.

\n

For information on generating a schema handler package for the extension you want to\n register, see submit\n in the CloudFormation CLI User Guide.

\n \n

The user registering the extension must be able to access the package in the S3\n bucket. That's, the user needs to have GetObject permissions for the\n schema handler package. For more information, see Actions, Resources, and Condition Keys\n for Amazon S3 in the Identity and Access Management User\n Guide.

\n
", "smithy.api#required": {} } }, @@ -6285,13 +6642,13 @@ "ExecutionRoleArn": { "target": "com.amazonaws.cloudformation#RoleARN2", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the IAM role for CloudFormation to assume\n when invoking the extension.

\n

For CloudFormation to assume the specified execution role, the role must contain a trust\n relationship with the CloudFormation service principle\n (resources.cloudformation.amazonaws.com). For more information on adding\n trust relationships, see Modifying a role trust policy in the Identity and Access Management User\n Guide.

\n

If your extension calls Amazon Web Services APIs in any of its handlers, you must create\n an \n IAM\n execution role\n that includes the necessary permissions to call\n those Amazon Web Services APIs, and provision that execution role in your account. When\n CloudFormation needs to invoke the resource type handler, CloudFormation assumes this\n execution role to create a temporary session token, which it then passes to the resource\n type handler, thereby supplying your resource type with the appropriate credentials.

" + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the IAM role for CloudFormation to assume when invoking the extension.

\n

For CloudFormation to assume the specified execution role, the role must\n contain a trust relationship with the CloudFormation service principle\n (resources.cloudformation.amazonaws.com). For more information on adding\n trust relationships, see Modifying a role trust policy in the Identity and Access Management User\n Guide.

\n

If your extension calls Amazon Web Services APIs in any of its handlers, you must create\n an \n IAM execution role\n that includes the necessary\n permissions to call those Amazon Web Services APIs, and provision that execution role in\n your account. When CloudFormation needs to invoke the resource type handler,\n CloudFormation assumes this execution role to create a temporary session token,\n which it then passes to the resource type handler, thereby supplying your resource type\n with the appropriate credentials.

" } }, "ClientRequestToken": { "target": "com.amazonaws.cloudformation#RequestToken", "traits": { - "smithy.api#documentation": "

A unique identifier that acts as an idempotency key for this registration request.\n Specifying a client request token prevents CloudFormation from generating more\n than one version of an extension from the same registeration request, even if the request\n is submitted multiple times.

" + "smithy.api#documentation": "

A unique identifier that acts as an idempotency key for this registration request.\n Specifying a client request token prevents CloudFormation from generating more\n than one version of an extension from the same registration request, even if the request is\n submitted multiple times.

" } } } @@ -6302,7 +6659,7 @@ "RegistrationToken": { "target": "com.amazonaws.cloudformation#RegistrationToken", "traits": { - "smithy.api#documentation": "

The identifier for this registration request.

\n

Use this registration token when calling \n DescribeTypeRegistration\n , which returns information about the status and IDs of the extension\n registration.

" + "smithy.api#documentation": "

The identifier for this registration request.

\n

Use this registration token when calling \n DescribeTypeRegistration\n , which returns information about the status and IDs of the extension\n registration.

" } } } @@ -6353,6 +6710,10 @@ { "value": "MODULE", "name": "MODULE" + }, + { + "value": "HOOK", + "name": "HOOK" } ] } @@ -6392,13 +6753,13 @@ "TypeNameAlias": { "target": "com.amazonaws.cloudformation#TypeName", "traits": { - "smithy.api#documentation": "

An alias assigned to the public extension, in this account and region. If you specify an\n alias for the extension, CloudFormation treats the alias as the extension type name within\n this account and region. You must use the alias to refer to the extension in your\n templates, API calls, and CloudFormation console.

" + "smithy.api#documentation": "

An alias assigned to the public extension, in this account and region. If you specify an\n alias for the extension, CloudFormation treats the alias as the extension type\n name within this account and region. You must use the alias to refer to the extension in\n your templates, API calls, and CloudFormation console.

" } }, "OriginalTypeName": { "target": "com.amazonaws.cloudformation#TypeName", "traits": { - "smithy.api#documentation": "

The type name of the public extension.

\n

If you specified a TypeNameAlias when enabling the extension in this\n account and region, CloudFormation treats that alias as the extension's type name within\n the account and region, not the type name of the public extension. For more information,\n see Specifying aliases to refer to extensions in the\n CloudFormation User Guide.

" + "smithy.api#documentation": "

The type name of the public extension.

\n

If you specified a TypeNameAlias when enabling the extension in this\n account and region, CloudFormation treats that alias as the extension's type name\n within the account and region, not the type name of the public extension. For more\n information, see Specifying aliases to refer to extensions in the\n CloudFormation User Guide.

" } }, "PublisherId": { @@ -6480,7 +6841,7 @@ "Action": { "target": "com.amazonaws.cloudformation#ChangeAction", "traits": { - "smithy.api#documentation": "

The action that CloudFormation takes on the resource, such as Add\n (adds a new resource), Modify (changes a resource), Remove\n (deletes a resource), Import (imports a resource), or Dynamic\n (exact action for the resource cannot be determined).

" + "smithy.api#documentation": "

The action that CloudFormation takes on the resource, such as Add (adds\n a new resource), Modify (changes a resource), Remove (deletes a\n resource), Import (imports a resource), or Dynamic (exact action\n for the resource can't be determined).

" } }, "LogicalResourceId": { @@ -6498,13 +6859,13 @@ "ResourceType": { "target": "com.amazonaws.cloudformation#ResourceType", "traits": { - "smithy.api#documentation": "

The type of CloudFormation resource, such as\n AWS::S3::Bucket.

" + "smithy.api#documentation": "

The type of CloudFormation resource, such as AWS::S3::Bucket.

" } }, "Replacement": { "target": "com.amazonaws.cloudformation#Replacement", "traits": { - "smithy.api#documentation": "

For the Modify action, indicates whether CloudFormation will\n replace the resource by creating a new one and deleting the old one. This value depends on\n the value of the RequiresRecreation property in the\n ResourceTargetDefinition structure. For example, if the\n RequiresRecreation field is Always and the\n Evaluation field is Static, Replacement is\n True. If the RequiresRecreation field is Always\n and the Evaluation field is Dynamic, Replacement is\n Conditionally.

\n

If you have multiple changes with different RequiresRecreation values, the\n Replacement value depends on the change with the most impact. A\n RequiresRecreation value of Always has the most impact,\n followed by Conditionally, and then Never.

" + "smithy.api#documentation": "

For the Modify action, indicates whether CloudFormation will replace\n the resource by creating a new one and deleting the old one. This value depends on the\n value of the RequiresRecreation property in the\n ResourceTargetDefinition structure. For example, if the\n RequiresRecreation field is Always and the\n Evaluation field is Static, Replacement is\n True. If the RequiresRecreation field is Always\n and the Evaluation field is Dynamic, Replacement is\n Conditionally.

\n

If you have multiple changes with different RequiresRecreation values, the\n Replacement value depends on the change with the most impact. A\n RequiresRecreation value of Always has the most impact,\n followed by Conditionally, and then Never.

" } }, "Scope": { @@ -6516,7 +6877,7 @@ "Details": { "target": "com.amazonaws.cloudformation#ResourceChangeDetails", "traits": { - "smithy.api#documentation": "

For the Modify action, a list of ResourceChangeDetail\n structures that describes the changes that CloudFormation will make to the\n resource.

" + "smithy.api#documentation": "

For the Modify action, a list of ResourceChangeDetail\n structures that describes the changes that CloudFormation will make to the\n resource.

" } }, "ChangeSetId": { @@ -6548,7 +6909,7 @@ "Evaluation": { "target": "com.amazonaws.cloudformation#EvaluationType", "traits": { - "smithy.api#documentation": "

Indicates whether CloudFormation can determine the target value, and whether the\n target value will change before you execute a change set.

\n

For Static evaluations, CloudFormation can determine that the\n target value will change, and its value. For example, if you directly modify the\n InstanceType property of an EC2 instance, CloudFormation knows that\n this property value will change, and its value, so this is a Static\n evaluation.

\n

For Dynamic evaluations, cannot determine the target value because it\n depends on the result of an intrinsic function, such as a Ref or\n Fn::GetAtt intrinsic function, when the stack is updated. For example, if\n your template includes a reference to a resource that is conditionally recreated, the value\n of the reference (the physical ID of the resource) might change, depending on if the\n resource is recreated. If the resource is recreated, it will have a new physical ID, so all\n references to that resource will also be updated.

" + "smithy.api#documentation": "

Indicates whether CloudFormation can determine the target value, and whether the\n target value will change before you execute a change set.

\n

For Static evaluations, CloudFormation can determine that the target\n value will change, and its value. For example, if you directly modify the\n InstanceType property of an EC2 instance, CloudFormation knows that\n this property value will change, and its value, so this is a Static\n evaluation.

\n

For Dynamic evaluations, can't determine the target value because it\n depends on the result of an intrinsic function, such as a Ref or\n Fn::GetAtt intrinsic function, when the stack is updated. For example, if\n your template includes a reference to a resource that's conditionally recreated, the value\n of the reference (the physical ID of the resource) might change, depending on if the\n resource is recreated. If the resource is recreated, it will have a new physical ID, so all\n references to that resource will also be updated.

" } }, "ChangeSource": { @@ -6560,7 +6921,7 @@ "CausingEntity": { "target": "com.amazonaws.cloudformation#CausingEntity", "traits": { - "smithy.api#documentation": "

The identity of the entity that triggered this change. This entity is a member of the\n group that is specified by the ChangeSource field. For example, if you\n modified the value of the KeyPairName parameter, the\n CausingEntity is the name of the parameter\n (KeyPairName).

\n

If the ChangeSource value is DirectModification, no value is\n given for CausingEntity.

" + "smithy.api#documentation": "

The identity of the entity that triggered this change. This entity is a member of the\n group that's specified by the ChangeSource field. For example, if you modified\n the value of the KeyPairName parameter, the CausingEntity is the\n name of the parameter (KeyPairName).

\n

If the ChangeSource value is DirectModification, no value is\n given for CausingEntity.

" } } }, @@ -6811,7 +7172,7 @@ "ResourceType": { "target": "com.amazonaws.cloudformation#ResourceType", "traits": { - "smithy.api#documentation": "

The type of resource to import into your stack, such as AWS::S3::Bucket.\n For a list of supported resource types, see Resources that support import operations in the CloudFormation User\n Guide.

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

The type of resource to import into your stack, such as AWS::S3::Bucket.\n For a list of supported resource types, see Resources that support import operations in the CloudFormation User Guide.

", "smithy.api#required": {} } }, @@ -6919,13 +7280,13 @@ "RollbackTriggers": { "target": "com.amazonaws.cloudformation#RollbackTriggers", "traits": { - "smithy.api#documentation": "

The triggers to monitor during stack creation or update actions.

\n

By default, CloudFormation saves the rollback triggers specified for a stack and applies them to\n any subsequent update operations for the stack, unless you specify otherwise. If you do\n specify rollback triggers for this parameter, those triggers replace any list of triggers\n previously specified for the stack. This means:

\n \n

If a specified trigger is missing, the entire stack operation fails and is rolled back.\n

" + "smithy.api#documentation": "

The triggers to monitor during stack creation or update actions.

\n

By default, CloudFormation saves the rollback triggers specified for a stack and applies them to\n any subsequent update operations for the stack, unless you specify otherwise. If you do\n specify rollback triggers for this parameter, those triggers replace any list of triggers\n previously specified for the stack. This means:

\n \n

If a specified trigger is missing, the entire stack operation fails and is rolled\n back.

" } }, "MonitoringTimeInMinutes": { "target": "com.amazonaws.cloudformation#MonitoringTimeInMinutes", "traits": { - "smithy.api#documentation": "

The amount of time, in minutes, during which CloudFormation should monitor all\n the rollback triggers after the stack creation or update operation deploys all necessary\n resources.

\n

The default is 0 minutes.

\n

If you specify a monitoring period but do not specify any rollback triggers, CloudFormation still waits the specified period of time before cleaning up old\n resources after update operations. You can use this monitoring period to perform any manual\n stack validation desired, and manually cancel the stack creation or update (using CancelUpdateStack, for example) as necessary.

\n

If you specify 0 for this parameter, CloudFormation still monitors the\n specified rollback triggers during stack creation and update operations. Then, for update\n operations, it begins disposing of old resources immediately once the operation\n completes.

" + "smithy.api#documentation": "

The amount of time, in minutes, during which CloudFormation should monitor all\n the rollback triggers after the stack creation or update operation deploys all necessary\n resources.

\n

The default is 0 minutes.

\n

If you specify a monitoring period but don't specify any rollback triggers, CloudFormation still waits the specified period of time before cleaning up old\n resources after update operations. You can use this monitoring period to perform any manual\n stack validation desired, and manually cancel the stack creation or update (using CancelUpdateStack, for example) as necessary.

\n

If you specify 0 for this parameter, CloudFormation still monitors the\n specified rollback triggers during stack creation and update operations. Then, for update\n operations, it begins disposing of old resources immediately once the operation\n completes.

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

When specifying RollbackStack, you preserve the state of previously\n provisioned resources when an operation fails. You can check the status of the stack\n through the DescribeStacks API.

\n

Rolls back the specified stack to the last known stable state from\n CREATE_FAILED or UPDATE_FAILED stack statuses.

\n

This operation will delete a stack if it doesn't contain a last known stable state. A\n last known stable state includes any status in a *_COMPLETE. This includes the\n following stack statuses.

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

When specifying RollbackStack, you preserve the state of previously\n provisioned resources when an operation fails. You can check the status of the stack\n through the DescribeStacks operation.

\n

Rolls back the specified stack to the last known stable state from\n CREATE_FAILED or UPDATE_FAILED stack statuses.

\n

This operation will delete a stack if it doesn't contain a last known stable state. A\n last known stable state includes any status in a *_COMPLETE. This includes the\n following stack statuses.

\n " } }, "com.amazonaws.cloudformation#RollbackStackInput": { @@ -6956,7 +7317,7 @@ "StackName": { "target": "com.amazonaws.cloudformation#StackNameOrId", "traits": { - "smithy.api#documentation": "

The name that is associated with the stack.

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

The name that's associated with the stack.

", "smithy.api#required": {} } }, @@ -6991,7 +7352,7 @@ "Arn": { "target": "com.amazonaws.cloudformation#Arn", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the rollback trigger.

\n

If a specified trigger is missing, the entire stack operation fails and is rolled back.\n

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

The Amazon Resource Name (ARN) of the rollback trigger.

\n

If a specified trigger is missing, the entire stack operation fails and is rolled\n back.

", "smithy.api#required": {} } }, @@ -7004,7 +7365,7 @@ } }, "traits": { - "smithy.api#documentation": "

A rollback trigger CloudFormation monitors during creation and updating of stacks. If any of the\n alarms you specify goes to ALARM state during the stack operation or within the specified\n monitoring period afterwards, CloudFormation rolls back the entire stack\n operation.

" + "smithy.api#documentation": "

A rollback trigger CloudFormation monitors during creation and updating of stacks. If any of the\n alarms you specify goes to ALARM state during the stack operation or within the specified\n monitoring period afterwards, CloudFormation rolls back the entire stack\n operation.

" } }, "com.amazonaws.cloudformation#RollbackTriggers": { @@ -7066,13 +7427,13 @@ "StackPolicyBody": { "target": "com.amazonaws.cloudformation#StackPolicyBody", "traits": { - "smithy.api#documentation": "

Structure containing the stack policy body. For more information, go to Prevent Updates\n to Stack Resources in the CloudFormation User Guide. You can specify\n either the StackPolicyBody or the StackPolicyURL parameter, but\n not both.

" + "smithy.api#documentation": "

Structure containing the stack policy body. For more information, go to Prevent updates\n to stack resources in the CloudFormation User Guide. You can specify either the\n StackPolicyBody or the StackPolicyURL parameter, but not\n both.

" } }, "StackPolicyURL": { "target": "com.amazonaws.cloudformation#StackPolicyURL", "traits": { - "smithy.api#documentation": "

Location of a file containing the stack policy. The URL must point to a policy (maximum\n size: 16 KB) located in an S3 bucket in the same Region as the stack. You can specify\n either the StackPolicyBody or the StackPolicyURL parameter, but\n not both.

" + "smithy.api#documentation": "

Location of a file containing the stack policy. The URL must point to a policy (maximum\n size: 16 KB) located in an Amazon S3 bucket in the same Amazon Web Services Region\n as the stack. You can specify either the StackPolicyBody or the\n StackPolicyURL parameter, but not both.

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

Specifies the configuration data for a registered CloudFormation extension, in the given\n account and region.

\n

To view the current configuration data for an extension, refer to the\n ConfigurationSchema element of DescribeType.\n For more information, see Configuring extensions at the account level in the\n CloudFormation User Guide.

\n \n

It is strongly recommended that you use dynamic references to restrict sensitive\n configuration definitions, such as third-party credentials. For more details on dynamic\n references, see Using dynamic references to specify\n template values in the CloudFormation User\n Guide.

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

Specifies the configuration data for a registered CloudFormation extension, in\n the given account and region.

\n

To view the current configuration data for an extension, refer to the\n ConfigurationSchema element of DescribeType.\n For more information, see Configuring extensions at the account level in the\n CloudFormation User Guide.

\n \n

It's strongly recommended that you use dynamic references to restrict sensitive\n configuration definitions, such as third-party credentials. For more details on dynamic\n references, see Using dynamic references to specify\n template values in the CloudFormation User\n Guide.

\n
" } }, "com.amazonaws.cloudformation#SetTypeConfigurationInput": { @@ -7106,13 +7467,13 @@ "TypeArn": { "target": "com.amazonaws.cloudformation#TypeArn", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) for the extension, in this account and region.

\n

For public extensions, this will be the ARN assigned when you activate the type in this account and region. For private extensions, this will\n be the ARN assigned when you register the type in this account and region.

\n

Do not include the extension versions suffix at the end of the ARN. You can set the\n configuration for an extension, but not for a specific extension version.

" + "smithy.api#documentation": "

The Amazon Resource Name (ARN) for the extension, in this account and region.

\n

For public extensions, this will be the ARN assigned when you activate the type in this account and region. For private extensions, this will\n be the ARN assigned when you register the type in this account and region.

\n

Do not include the extension versions suffix at the end of the ARN. You can set the\n configuration for an extension, but not for a specific extension version.

" } }, "Configuration": { "target": "com.amazonaws.cloudformation#TypeConfiguration", "traits": { - "smithy.api#documentation": "

The configuration data for the extension, in this account and region.

\n

The configuration data must be formatted as JSON, and validate against the schema\n returned in the ConfigurationSchema response element of API_DescribeType. For more information, see Defining account-level configuration data for an extension in the\n CloudFormation CLI User Guide.

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

The configuration data for the extension, in this account and region.

\n

The configuration data must be formatted as JSON, and validate against the schema\n returned in the ConfigurationSchema response element of API_DescribeType. For more information, see Defining account-level configuration data for an extension in the\n CloudFormation CLI User Guide.

", "smithy.api#required": {} } }, @@ -7207,7 +7568,7 @@ "target": "com.amazonaws.cloudformation#SignalResourceInput" }, "traits": { - "smithy.api#documentation": "

Sends a signal to the specified resource with a success or failure status. You can use\n the SignalResource API in conjunction with a creation policy or update policy. CloudFormation doesn't proceed with a stack creation or update until resources receive\n the required number of signals or the timeout period is exceeded. The SignalResource API is\n useful in cases where you want to send signals from anywhere other than an Amazon EC2\n instance.

" + "smithy.api#documentation": "

Sends a signal to the specified resource with a success or failure status. You can use\n the SignalResource operation in conjunction with a creation policy or update policy. CloudFormation doesn't proceed with a stack creation or update until resources receive\n the required number of signals or the timeout period is exceeded. The SignalResource operation is\n useful in cases where you want to send signals from anywhere other than an Amazon EC2\n instance.

" } }, "com.amazonaws.cloudformation#SignalResourceInput": { @@ -7230,7 +7591,7 @@ "UniqueId": { "target": "com.amazonaws.cloudformation#ResourceSignalUniqueId", "traits": { - "smithy.api#documentation": "

A unique ID of the signal. When you signal Amazon EC2 instances or Auto Scaling groups,\n specify the instance ID that you are signaling as the unique ID. If you send multiple\n signals to a single resource (such as signaling a wait condition), each signal requires a\n different unique ID.

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

A unique ID of the signal. When you signal Amazon EC2 instances or Auto Scaling groups, specify the instance ID that you are signaling as the unique ID. If\n you send multiple signals to a single resource (such as signaling a wait condition), each\n signal requires a different unique ID.

", "smithy.api#required": {} } }, @@ -7321,13 +7682,13 @@ "DisableRollback": { "target": "com.amazonaws.cloudformation#DisableRollback", "traits": { - "smithy.api#documentation": "

Boolean to enable or disable rollback on stack creation failures:

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

Boolean to enable or disable rollback on stack creation failures:

\n " } }, "NotificationARNs": { "target": "com.amazonaws.cloudformation#NotificationARNs", "traits": { - "smithy.api#documentation": "

SNS topic ARNs to which stack related events are published.

" + "smithy.api#documentation": "

Amazon SNS topic Amazon Resource Names (ARNs) to which stack related events are\n published.

" } }, "TimeoutInMinutes": { @@ -7351,7 +7712,7 @@ "RoleARN": { "target": "com.amazonaws.cloudformation#RoleARN", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of an Identity and Access Management (IAM) role that is\n associated with the stack. During a stack operation, CloudFormation uses this\n role's credentials to make calls on your behalf.

" + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of an Identity and Access Management (IAM) role\n that's associated with the stack. During a stack operation, CloudFormation uses this\n role's credentials to make calls on your behalf.

" } }, "Tags": { @@ -7363,7 +7724,7 @@ "EnableTerminationProtection": { "target": "com.amazonaws.cloudformation#EnableTerminationProtection", "traits": { - "smithy.api#documentation": "

Whether termination protection is enabled for the stack.

\n

For nested stacks,\n termination protection is set on the root stack and cannot be changed directly on the\n nested stack. For more information, see Protecting a Stack From Being\n Deleted in the CloudFormation User Guide.

" + "smithy.api#documentation": "

Whether termination protection is enabled for the stack.

\n

For nested stacks,\n termination protection is set on the root stack and cannot be changed directly on the\n nested stack. For more information, see Protecting a Stack From Being\n Deleted in the CloudFormation User Guide.

" } }, "ParentId": { @@ -7426,7 +7787,7 @@ "StackDriftStatus": { "target": "com.amazonaws.cloudformation#StackDriftStatus", "traits": { - "smithy.api#documentation": "

Status of the stack's actual configuration compared to its expected template\n configuration.

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

Status of the stack's actual configuration compared to its expected template\n configuration.

\n ", "smithy.api#required": {} } }, @@ -7447,7 +7808,7 @@ "StackDriftStatus": { "target": "com.amazonaws.cloudformation#StackDriftStatus", "traits": { - "smithy.api#documentation": "

Status of the stack's actual configuration compared to its expected template\n configuration.

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

Status of the stack's actual configuration compared to its expected template\n configuration.

\n ", "smithy.api#required": {} } }, @@ -7524,7 +7885,7 @@ "ResourceType": { "target": "com.amazonaws.cloudformation#ResourceType", "traits": { - "smithy.api#documentation": "

Type of resource. (For more information, go to Amazon Web Services Resource Types Reference in the CloudFormation User\n Guide.)

" + "smithy.api#documentation": "

Type of resource. (For more information, go to Amazon Web Services Resource Types Reference in the CloudFormation User Guide.)

" } }, "Timestamp": { @@ -7555,7 +7916,37 @@ "ClientRequestToken": { "target": "com.amazonaws.cloudformation#ClientRequestToken", "traits": { - "smithy.api#documentation": "

The token passed to the operation that generated this event.

\n

All events triggered by a given stack operation are assigned the same client request\n token, which you can use to track operations. For example, if you execute a\n CreateStack operation with the token token1, then all the\n StackEvents generated by that operation will have\n ClientRequestToken set as token1.

\n

In the console, stack operations display the client request token on the Events tab.\n Stack operations that are initiated from the console use the token format\n Console-StackOperation-ID, which helps you easily identify the\n stack operation . For example, if you create a stack using the console, each stack event\n would be assigned the same token in the following format:\n Console-CreateStack-7f59c3cf-00d2-40c7-b2ff-e75db0987002.

" + "smithy.api#documentation": "

The token passed to the operation that generated this event.

\n

All events triggered by a given stack operation are assigned the same client request\n token, which you can use to track operations. For example, if you execute a\n CreateStack operation with the token token1, then all the\n StackEvents generated by that operation will have\n ClientRequestToken set as token1.

\n

In the console, stack operations display the client request token on the Events tab.\n Stack operations that are initiated from the console use the token format\n Console-StackOperation-ID, which helps you easily identify the\n stack operation . For example, if you create a stack using the console, each stack event\n would be assigned the same token in the following format:\n Console-CreateStack-7f59c3cf-00d2-40c7-b2ff-e75db0987002.

" + } + }, + "HookType": { + "target": "com.amazonaws.cloudformation#HookType", + "traits": { + "smithy.api#documentation": "

The name of the hook.

" + } + }, + "HookStatus": { + "target": "com.amazonaws.cloudformation#HookStatus", + "traits": { + "smithy.api#documentation": "

Provides the status of the change set hook.

" + } + }, + "HookStatusReason": { + "target": "com.amazonaws.cloudformation#HookStatusReason", + "traits": { + "smithy.api#documentation": "

Provides the reason for the hook status.

" + } + }, + "HookInvocationPoint": { + "target": "com.amazonaws.cloudformation#HookInvocationPoint", + "traits": { + "smithy.api#documentation": "

Invocation points are points in provisioning logic where hooks are initiated.

" + } + }, + "HookFailureMode": { + "target": "com.amazonaws.cloudformation#HookFailureMode", + "traits": { + "smithy.api#documentation": "

Specify the hook failure mode for non-compliant resources in the followings ways.

\n " } } }, @@ -7624,7 +8015,7 @@ "Status": { "target": "com.amazonaws.cloudformation#StackInstanceStatus", "traits": { - "smithy.api#documentation": "

The status of the stack instance, in terms of its synchronization with its associated\n stack set.

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

The status of the stack instance, in terms of its synchronization with its associated\n stack set.

\n " } }, "StackInstanceStatus": { @@ -7636,7 +8027,7 @@ "StatusReason": { "target": "com.amazonaws.cloudformation#Reason", "traits": { - "smithy.api#documentation": "

The explanation for the specific status code that is assigned to this stack\n instance.

" + "smithy.api#documentation": "

The explanation for the specific status code that's assigned to this stack\n instance.

" } }, "OrganizationalUnitId": { @@ -7648,18 +8039,18 @@ "DriftStatus": { "target": "com.amazonaws.cloudformation#StackDriftStatus", "traits": { - "smithy.api#documentation": "

Status of the stack instance's actual configuration compared to the expected template\n and parameter configuration of the stack set to which it belongs.

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

Status of the stack instance's actual configuration compared to the expected template\n and parameter configuration of the stack set to which it belongs.

\n " } }, "LastDriftCheckTimestamp": { "target": "com.amazonaws.cloudformation#Timestamp", "traits": { - "smithy.api#documentation": "

Most recent time when CloudFormation performed a drift detection operation on\n the stack instance. This value will be NULL for any stack instance on which\n drift detection has not yet been performed.

" + "smithy.api#documentation": "

Most recent time when CloudFormation performed a drift detection operation on\n the stack instance. This value will be NULL for any stack instance on which\n drift detection hasn't yet been performed.

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

An CloudFormation stack, in a specific account and Region, that's part of a\n stack set operation. A stack instance is a reference to an attempted or actual stack in a\n given account within a given Region. A stack instance can exist without a stack—for\n example, if the stack couldn't be created for some reason. A stack instance is associated\n with only one stack set. Each stack instance contains the ID of its associated stack set,\n as well as the ID of the actual stack and the stack status.

" + "smithy.api#documentation": "

An CloudFormation stack, in a specific account and Region, that's part of a\n stack set operation. A stack instance is a reference to an attempted or actual stack in a\n given account within a given Region. A stack instance can exist without a stack—for\n example, if the stack couldn't be created for some reason. A stack instance is associated\n with only one stack set. Each stack instance contains the ID of its associated stack set,\n in addition to the ID of the actual stack and the stack status.

" } }, "com.amazonaws.cloudformation#StackInstanceComprehensiveStatus": { @@ -7668,7 +8059,7 @@ "DetailedStatus": { "target": "com.amazonaws.cloudformation#StackInstanceDetailedStatus", "traits": { - "smithy.api#documentation": "" + "smithy.api#documentation": "" } } }, @@ -7831,7 +8222,7 @@ "Status": { "target": "com.amazonaws.cloudformation#StackInstanceStatus", "traits": { - "smithy.api#documentation": "

The status of the stack instance, in terms of its synchronization with its associated\n stack set.

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

The status of the stack instance, in terms of its synchronization with its associated\n stack set.

\n " } }, "StatusReason": { @@ -7855,13 +8246,13 @@ "DriftStatus": { "target": "com.amazonaws.cloudformation#StackDriftStatus", "traits": { - "smithy.api#documentation": "

Status of the stack instance's actual configuration compared to the expected template\n and parameter configuration of the stack set to which it belongs.

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

Status of the stack instance's actual configuration compared to the expected template\n and parameter configuration of the stack set to which it belongs.

\n " } }, "LastDriftCheckTimestamp": { "target": "com.amazonaws.cloudformation#Timestamp", "traits": { - "smithy.api#documentation": "

Most recent time when CloudFormation performed a drift detection operation on\n the stack instance. This value will be NULL for any stack instance on which\n drift detection has not yet been performed.

" + "smithy.api#documentation": "

Most recent time when CloudFormation performed a drift detection operation on\n the stack instance. This value will be NULL for any stack instance on which\n drift detection hasn't yet been performed.

" } } }, @@ -7893,7 +8284,7 @@ "code": "StackNotFoundException", "httpResponseCode": 404 }, - "smithy.api#documentation": "

The specified stack ARN doesn’t exist or stack doesn’t exist corresponding to the ARN in\n input.

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

The specified stack ARN doesn't exist or stack doesn't exist corresponding to the ARN in\n input.

", "smithy.api#error": "client", "smithy.api#httpError": 404 } @@ -7965,7 +8356,7 @@ "ResourceType": { "target": "com.amazonaws.cloudformation#ResourceType", "traits": { - "smithy.api#documentation": "

Type of resource. (For more information, go to Amazon Web Services Resource Types Reference in the CloudFormation User\n Guide.)

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

Type of resource. For more information, go to Amazon Web Services Resource Types Reference in the CloudFormation User\n Guide.

", "smithy.api#required": {} } }, @@ -8043,7 +8434,7 @@ "ResourceType": { "target": "com.amazonaws.cloudformation#ResourceType", "traits": { - "smithy.api#documentation": "

Type of resource. ((For more information, go to Amazon Web Services Resource Types Reference in the CloudFormation User\n Guide.)

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

Type of resource. For more information, go to Amazon Web Services Resource Types Reference in the CloudFormation User Guide.

", "smithy.api#required": {} } }, @@ -8116,13 +8507,13 @@ "PhysicalResourceId": { "target": "com.amazonaws.cloudformation#PhysicalResourceId", "traits": { - "smithy.api#documentation": "

The name or unique identifier that corresponds to a physical instance ID of a resource\n supported by CloudFormation.

" + "smithy.api#documentation": "

The name or unique identifier that corresponds to a physical instance ID of a resource\n supported by CloudFormation.

" } }, "PhysicalResourceIdContext": { "target": "com.amazonaws.cloudformation#PhysicalResourceIdContext", "traits": { - "smithy.api#documentation": "

Context information that enables CloudFormation to uniquely identify a resource. CloudFormation uses\n context key-value pairs in cases where a resource's logical and physical IDs are not enough\n to uniquely identify that resource. Each context key-value pair specifies a unique resource\n that contains the targeted resource.

" + "smithy.api#documentation": "

Context information that enables CloudFormation to uniquely identify a resource. CloudFormation uses\n context key-value pairs in cases where a resource's logical and physical IDs aren't enough\n to uniquely identify that resource. Each context key-value pair specifies a unique resource\n that contains the targeted resource.

" } }, "ResourceType": { @@ -8135,25 +8526,25 @@ "ExpectedProperties": { "target": "com.amazonaws.cloudformation#Properties", "traits": { - "smithy.api#documentation": "

A JSON structure containing the expected property values of the stack resource, as\n defined in the stack template and any values specified as template parameters.

\n

For resources whose StackResourceDriftStatus is DELETED, this\n structure will not be present.

" + "smithy.api#documentation": "

A JSON structure containing the expected property values of the stack resource, as\n defined in the stack template and any values specified as template parameters.

\n

For resources whose StackResourceDriftStatus is DELETED, this\n structure will not be present.

" } }, "ActualProperties": { "target": "com.amazonaws.cloudformation#Properties", "traits": { - "smithy.api#documentation": "

A JSON structure containing the actual property values of the stack resource.

\n

For resources whose StackResourceDriftStatus is DELETED, this\n structure will not be present.

" + "smithy.api#documentation": "

A JSON structure containing the actual property values of the stack resource.

\n

For resources whose StackResourceDriftStatus is DELETED, this\n structure will not be present.

" } }, "PropertyDifferences": { "target": "com.amazonaws.cloudformation#PropertyDifferences", "traits": { - "smithy.api#documentation": "

A collection of the resource properties whose actual values differ from their expected\n values. These will be present only for resources whose\n StackResourceDriftStatus is MODIFIED.\n

" + "smithy.api#documentation": "

A collection of the resource properties whose actual values differ from their expected\n values. These will be present only for resources whose\n StackResourceDriftStatus is\n MODIFIED.

" } }, "StackResourceDriftStatus": { "target": "com.amazonaws.cloudformation#StackResourceDriftStatus", "traits": { - "smithy.api#documentation": "

Status of the resource's actual configuration compared to its expected\n configuration

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

Status of the resource's actual configuration compared to its expected\n configuration.

\n ", "smithy.api#required": {} } }, @@ -8172,7 +8563,7 @@ } }, "traits": { - "smithy.api#documentation": "

Contains the drift information for a resource that has been checked for drift. This\n includes actual and expected property values for resources in which CloudFormation has detected\n drift. Only resource properties explicitly defined in the stack template are checked for\n drift. For more information, see Detecting\n Unregulated Configuration Changes to Stacks and Resources.

\n

Resources that do not currently support drift detection cannot be checked. For a list of\n resources that support drift detection, see Resources that Support\n Drift Detection.

\n

Use DetectStackResourceDrift to detect drift on individual resources,\n or DetectStackDrift to detect drift on all resources in a given stack\n that support drift detection.

" + "smithy.api#documentation": "

Contains the drift information for a resource that has been checked for drift. This\n includes actual and expected property values for resources in which CloudFormation has detected\n drift. Only resource properties explicitly defined in the stack template are checked for\n drift. For more information, see Detecting\n Unregulated Configuration Changes to Stacks and Resources.

\n

Resources that don't currently support drift detection can't be checked. For a list of\n resources that support drift detection, see Resources that Support\n Drift Detection.

\n

Use DetectStackResourceDrift to detect drift on individual resources,\n or DetectStackDrift to detect drift on all resources in a given stack\n that support drift detection.

" } }, "com.amazonaws.cloudformation#StackResourceDriftInformation": { @@ -8181,7 +8572,7 @@ "StackResourceDriftStatus": { "target": "com.amazonaws.cloudformation#StackResourceDriftStatus", "traits": { - "smithy.api#documentation": "

Status of the resource's actual configuration compared to its expected\n configuration

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

Status of the resource's actual configuration compared to its expected\n configuration

\n ", "smithy.api#required": {} } }, @@ -8202,7 +8593,7 @@ "StackResourceDriftStatus": { "target": "com.amazonaws.cloudformation#StackResourceDriftStatus", "traits": { - "smithy.api#documentation": "

Status of the resource's actual configuration compared to its expected\n configuration

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

Status of the resource's actual configuration compared to its expected\n configuration.

\n ", "smithy.api#required": {} } }, @@ -8283,7 +8674,7 @@ "ResourceType": { "target": "com.amazonaws.cloudformation#ResourceType", "traits": { - "smithy.api#documentation": "

Type of resource. (For more information, go to Amazon Web Services Resource Types Reference in the CloudFormation User\n Guide.)

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

Type of resource. (For more information, go to Amazon Web Services Resource Types Reference in the CloudFormation User Guide.)

", "smithy.api#required": {} } }, @@ -8372,7 +8763,7 @@ "Capabilities": { "target": "com.amazonaws.cloudformation#Capabilities", "traits": { - "smithy.api#documentation": "

The capabilities that are allowed in the stack set. Some stack set templates might\n include resources that can affect permissions in your Amazon Web Services account—for\n example, by creating new Identity and Access Management (IAM) users. For more information, see\n Acknowledging IAM Resources in CloudFormation Templates.\n

" + "smithy.api#documentation": "

The capabilities that are allowed in the stack set. Some stack set templates might\n include resources that can affect permissions in your Amazon Web Services account—for\n example, by creating new Identity and Access Management (IAM) users. For more\n information, see Acknowledging IAM Resources in CloudFormation\n Templates.\n

" } }, "Tags": { @@ -8390,19 +8781,19 @@ "AdministrationRoleARN": { "target": "com.amazonaws.cloudformation#RoleARN", "traits": { - "smithy.api#documentation": "

The Amazon Resource Number (ARN) of the IAM role used to create or update the stack\n set.

\n

Use customized administrator roles to control which users or groups can manage specific\n stack sets within the same administrator account. For more information, see Prerequisites: Granting Permissions for Stack\n Set Operations in the CloudFormation User Guide.

" + "smithy.api#documentation": "

The Amazon Resource Number (ARN) of the IAM role used to create or update\n the stack set.

\n

Use customized administrator roles to control which users or groups can manage specific\n stack sets within the same administrator account. For more information, see Prerequisites: Granting Permissions for Stack\n Set Operations in the CloudFormation User Guide.

" } }, "ExecutionRoleName": { "target": "com.amazonaws.cloudformation#ExecutionRoleName", "traits": { - "smithy.api#documentation": "

The name of the IAM execution role used to create or update the stack set.

\n

Use customized execution roles to control which stack resources users and groups can\n include in their stack sets.

" + "smithy.api#documentation": "

The name of the IAM execution role used to create or update the stack\n set.

\n

Use customized execution roles to control which stack resources users and groups can\n include in their stack sets.

" } }, "StackSetDriftDetectionDetails": { "target": "com.amazonaws.cloudformation#StackSetDriftDetectionDetails", "traits": { - "smithy.api#documentation": "

Detailed information about the drift status of the stack set.

\n

For stack sets, contains information about the last completed drift\n operation performed on the stack set. Information about drift operations currently in\n progress is not included.

" + "smithy.api#documentation": "

Detailed information about the drift status of the stack set.

\n

For stack sets, contains information about the last completed drift\n operation performed on the stack set. Information about drift operations currently in\n progress isn't included.

" } }, "AutoDeployment": { @@ -8414,7 +8805,7 @@ "PermissionModel": { "target": "com.amazonaws.cloudformation#PermissionModels", "traits": { - "smithy.api#documentation": "

Describes how the IAM roles required for stack set operations are created.

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

Describes how the IAM roles required for stack set operations are\n created.

\n " } }, "OrganizationalUnitIds": { @@ -8431,7 +8822,7 @@ } }, "traits": { - "smithy.api#documentation": "

A structure that contains information about a stack set. A stack set enables you to\n provision stacks into Amazon Web Services accounts and across Regions by using a single\n CloudFormation template. In the stack set, you specify the template to use, as\n well as any parameters and capabilities that the template requires.

" + "smithy.api#documentation": "

A structure that contains information about a stack set. A stack set enables you to\n provision stacks into Amazon Web Services accounts and across Regions by using a single\n CloudFormation template. In the stack set, you specify the template to use, in\n addition to any parameters and capabilities that the template requires.

" } }, "com.amazonaws.cloudformation#StackSetARN": { @@ -8443,31 +8834,31 @@ "DriftStatus": { "target": "com.amazonaws.cloudformation#StackSetDriftStatus", "traits": { - "smithy.api#documentation": "

Status of the stack set's actual configuration compared to its expected template and\n parameter configuration. A stack set is considered to have drifted if one or more of its\n stack instances have drifted from their expected template and parameter\n configuration.

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

Status of the stack set's actual configuration compared to its expected template and\n parameter configuration. A stack set is considered to have drifted if one or more of its\n stack instances have drifted from their expected template and parameter\n configuration.

\n " } }, "DriftDetectionStatus": { "target": "com.amazonaws.cloudformation#StackSetDriftDetectionStatus", "traits": { - "smithy.api#documentation": "

The status of the stack set drift detection operation.

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

The status of the stack set drift detection operation.

\n " } }, "LastDriftCheckTimestamp": { "target": "com.amazonaws.cloudformation#Timestamp", "traits": { - "smithy.api#documentation": "

Most recent time when CloudFormation performed a drift detection operation on\n the stack set. This value will be NULL for any stack set on which drift\n detection has not yet been performed.

" + "smithy.api#documentation": "

Most recent time when CloudFormation performed a drift detection operation on\n the stack set. This value will be NULL for any stack set on which drift\n detection hasn't yet been performed.

" } }, "TotalStackInstancesCount": { "target": "com.amazonaws.cloudformation#TotalStackInstancesCount", "traits": { - "smithy.api#documentation": "

The total number of stack instances belonging to this stack set.

\n

The total number of stack instances is equal to the total of:

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

The total number of stack instances belonging to this stack set.

\n

The total number of stack instances is equal to the total of:

\n " } }, "DriftedStackInstancesCount": { "target": "com.amazonaws.cloudformation#DriftedStackInstancesCount", "traits": { - "smithy.api#documentation": "

The number of stack instances that have drifted from the expected template and parameter\n configuration of the stack set. A stack instance is considered to have drifted if one or\n more of the resources in the associated stack do not match their expected\n configuration.

" + "smithy.api#documentation": "

The number of stack instances that have drifted from the expected template and parameter\n configuration of the stack set. A stack instance is considered to have drifted if one or\n more of the resources in the associated stack don't match their expected\n configuration.

" } }, "InSyncStackInstancesCount": { @@ -8490,7 +8881,7 @@ } }, "traits": { - "smithy.api#documentation": "

Detailed information about the drift status of the stack set.

\n

For stack sets, contains information about the last completed drift\n operation performed on the stack set. Information about drift operations in-progress is not\n included.

\n

For stack set operations, includes information about drift operations currently being\n performed on the stack set.

\n

For more information, see Detecting Unmanaged\n Changes in Stack Sets in the CloudFormation User Guide.

" + "smithy.api#documentation": "

Detailed information about the drift status of the stack set.

\n

For stack sets, contains information about the last completed drift\n operation performed on the stack set. Information about drift operations in-progress isn't\n included.

\n

For stack set operations, includes information about drift operations currently being\n performed on the stack set.

\n

For more information, see Detecting unmanaged\n changes in stack sets in the CloudFormation User Guide.

" } }, "com.amazonaws.cloudformation#StackSetDriftDetectionStatus": { @@ -8603,13 +8994,13 @@ "Action": { "target": "com.amazonaws.cloudformation#StackSetOperationAction", "traits": { - "smithy.api#documentation": "

The type of stack set operation: CREATE, UPDATE, or\n DELETE. Create and delete operations affect only the specified stack set\n instances that are associated with the specified stack set. Update operations affect both\n the stack set itself, as well as all associated stack set\n instances.

" + "smithy.api#documentation": "

The type of stack set operation: CREATE, UPDATE, or\n DELETE. Create and delete operations affect only the specified stack set\n instances that are associated with the specified stack set. Update operations affect both\n the stack set itself, in addition to all associated stack set\n instances.

" } }, "Status": { "target": "com.amazonaws.cloudformation#StackSetOperationStatus", "traits": { - "smithy.api#documentation": "

The status of the operation.

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

The status of the operation.

\n " } }, "OperationPreferences": { @@ -8621,19 +9012,19 @@ "RetainStacks": { "target": "com.amazonaws.cloudformation#RetainStacksNullable", "traits": { - "smithy.api#documentation": "

For stack set operations of action type DELETE, specifies whether to remove\n the stack instances from the specified stack set, but doesn't delete the stacks. You can't\n reassociate a retained stack, or add an existing, saved stack to a new stack set.

" + "smithy.api#documentation": "

For stack set operations of action type DELETE, specifies whether to remove\n the stack instances from the specified stack set, but doesn't delete the stacks. You can't\n re-associate a retained stack, or add an existing, saved stack to a new stack set.

" } }, "AdministrationRoleARN": { "target": "com.amazonaws.cloudformation#RoleARN", "traits": { - "smithy.api#documentation": "

The Amazon Resource Number (ARN) of the IAM role used to perform this stack set\n operation.

\n

Use customized administrator roles to control which users or groups can manage specific\n stack sets within the same administrator account. For more information, see Define Permissions for Multiple\n Administrators in the CloudFormation User Guide.

" + "smithy.api#documentation": "

The Amazon Resource Number (ARN) of the IAM role used to perform this\n stack set operation.

\n

Use customized administrator roles to control which users or groups can manage specific\n stack sets within the same administrator account. For more information, see Define Permissions for Multiple\n Administrators in the CloudFormation User Guide.

" } }, "ExecutionRoleName": { "target": "com.amazonaws.cloudformation#ExecutionRoleName", "traits": { - "smithy.api#documentation": "

The name of the IAM execution role used to create or update the stack set.

\n

Use customized execution roles to control which stack resources users and groups can\n include in their stack sets.

" + "smithy.api#documentation": "

The name of the IAM execution role used to create or update the stack\n set.

\n

Use customized execution roles to control which stack resources users and groups can\n include in their stack sets.

" } }, "CreationTimestamp": { @@ -8657,12 +9048,12 @@ "StackSetDriftDetectionDetails": { "target": "com.amazonaws.cloudformation#StackSetDriftDetectionDetails", "traits": { - "smithy.api#documentation": "

Detailed information about the drift status of the stack set. This includes information\n about drift operations currently being performed on the stack set.

\n

this information will only be present for stack set operations whose Action\n type is DETECT_DRIFT.

\n

For more information, see Detecting Unmanaged\n Changes in Stack Sets in the CloudFormation User Guide.

" + "smithy.api#documentation": "

Detailed information about the drift status of the stack set. This includes information\n about drift operations currently being performed on the stack set.

\n

This information will only be present for stack set operations whose Action\n type is DETECT_DRIFT.

\n

For more information, see Detecting Unmanaged\n Changes in Stack Sets in the CloudFormation User Guide.

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

The structure that contains information about a stack set operation.

" + "smithy.api#documentation": "

The structure that contains information about a stack set operation.

" } }, "com.amazonaws.cloudformation#StackSetOperationAction": { @@ -8718,7 +9109,7 @@ "MaxConcurrentCount": { "target": "com.amazonaws.cloudformation#MaxConcurrentCount", "traits": { - "smithy.api#documentation": "

The maximum number of accounts in which to perform this operation at one time. This is\n dependent on the value of FailureToleranceCount.\n MaxConcurrentCount is at most one more than the\n FailureToleranceCount.

\n

Note that this setting lets you specify the maximum for operations.\n For large deployments, under certain circumstances the actual number of accounts acted upon\n concurrently may be lower due to service throttling.

\n

Conditional: You must specify either MaxConcurrentCount or\n MaxConcurrentPercentage, but not both.

\n

By default, 1 is specified.

" + "smithy.api#documentation": "

The maximum number of accounts in which to perform this operation at one time. This is\n dependent on the value of\n FailureToleranceCount.MaxConcurrentCount is at most one more\n than the FailureToleranceCount.

\n

Note that this setting lets you specify the maximum for operations.\n For large deployments, under certain circumstances the actual number of accounts acted upon\n concurrently may be lower due to service throttling.

\n

Conditional: You must specify either MaxConcurrentCount or\n MaxConcurrentPercentage, but not both.

\n

By default, 1 is specified.

" } }, "MaxConcurrentPercentage": { @@ -8729,7 +9120,7 @@ } }, "traits": { - "smithy.api#documentation": "

The user-specified preferences for how CloudFormation performs a stack set\n operation.

\n

For more information on maximum concurrent accounts and failure tolerance, see Stack set operation options.

" + "smithy.api#documentation": "

The user-specified preferences for how CloudFormation performs a stack set\n operation.

\n

For more information on maximum concurrent accounts and failure tolerance, see Stack set operation options.

" } }, "com.amazonaws.cloudformation#StackSetOperationResultStatus": { @@ -8783,7 +9174,7 @@ "Status": { "target": "com.amazonaws.cloudformation#StackSetOperationResultStatus", "traits": { - "smithy.api#documentation": "

The result status of the stack set operation for the given account in the given\n Region.

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

The result status of the stack set operation for the given account in the given\n Region.

\n " } }, "StatusReason": { @@ -8795,7 +9186,7 @@ "AccountGateResult": { "target": "com.amazonaws.cloudformation#AccountGateResult", "traits": { - "smithy.api#documentation": "

The results of the account gate function CloudFormation invokes, if present,\n before proceeding with stack set operations in an account

" + "smithy.api#documentation": "

The results of the account gate function CloudFormation invokes, if present,\n before proceeding with stack set operations in an account.

" } }, "OrganizationalUnitId": { @@ -8858,13 +9249,13 @@ "Action": { "target": "com.amazonaws.cloudformation#StackSetOperationAction", "traits": { - "smithy.api#documentation": "

The type of operation: CREATE, UPDATE, or DELETE.\n Create and delete operations affect only the specified stack instances that are associated\n with the specified stack set. Update operations affect both the stack set itself as well as\n all associated stack set instances.

" + "smithy.api#documentation": "

The type of operation: CREATE, UPDATE, or DELETE.\n Create and delete operations affect only the specified stack instances that are associated\n with the specified stack set. Update operations affect both the stack set itself and\n all associated stack set instances.

" } }, "Status": { "target": "com.amazonaws.cloudformation#StackSetOperationStatus", "traits": { - "smithy.api#documentation": "

The overall status of the operation.

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

The overall status of the operation.

\n " } }, "CreationTimestamp": { @@ -8941,19 +9332,19 @@ "PermissionModel": { "target": "com.amazonaws.cloudformation#PermissionModels", "traits": { - "smithy.api#documentation": "

Describes how the IAM roles required for stack set operations are created.

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

Describes how the IAM roles required for stack set operations are\n created.

\n " } }, "DriftStatus": { "target": "com.amazonaws.cloudformation#StackDriftStatus", "traits": { - "smithy.api#documentation": "

Status of the stack set's actual configuration compared to its expected template and\n parameter configuration. A stack set is considered to have drifted if one or more of its\n stack instances have drifted from their expected template and parameter\n configuration.

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

Status of the stack set's actual configuration compared to its expected template and\n parameter configuration. A stack set is considered to have drifted if one or more of its\n stack instances have drifted from their expected template and parameter\n configuration.

\n " } }, "LastDriftCheckTimestamp": { "target": "com.amazonaws.cloudformation#Timestamp", "traits": { - "smithy.api#documentation": "

Most recent time when CloudFormation performed a drift detection operation on\n the stack set. This value will be NULL for any stack set on which drift\n detection has not yet been performed.

" + "smithy.api#documentation": "

Most recent time when CloudFormation performed a drift detection operation on\n the stack set. This value will be NULL for any stack set on which drift\n detection hasn't yet been performed.

" } }, "ManagedExecution": { @@ -9182,7 +9573,7 @@ "code": "StaleRequestException", "httpResponseCode": 409 }, - "smithy.api#documentation": "

Another operation has been performed on this stack set since the specified operation was\n performed.

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

Another operation has been performed on this stack set since the specified operation was\n performed.

", "smithy.api#error": "client", "smithy.api#httpError": 409 } @@ -9216,7 +9607,7 @@ } ], "traits": { - "smithy.api#documentation": "

Stops an in-progress operation on a stack set and its associated stack instances.

" + "smithy.api#documentation": "

Stops an in-progress operation on a stack set and its associated stack instances. StackSets will cancel all the unstarted stack instance deployments and wait for those are in-progress to complete.

" } }, "com.amazonaws.cloudformation#StopStackSetOperationInput": { @@ -9232,14 +9623,14 @@ "OperationId": { "target": "com.amazonaws.cloudformation#ClientRequestToken", "traits": { - "smithy.api#documentation": "

The ID of the stack operation.

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

The ID of the stack operation.

", "smithy.api#required": {} } }, "CallAs": { "target": "com.amazonaws.cloudformation#CallAs", "traits": { - "smithy.api#documentation": "

[Service-managed permissions] Specifies whether you are acting as an account\n administrator in the organization's management account or as a delegated administrator in a\n member account.

\n

By default, SELF is specified. Use SELF for stack sets with\n self-managed permissions.

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

[Service-managed permissions] Specifies whether you are acting as an account\n administrator in the organization's management account or as a delegated\n administrator in a member account.

\n

By default, SELF is specified. Use SELF for stack sets with\n self-managed permissions.

\n " } } } @@ -9406,7 +9797,7 @@ } ], "traits": { - "smithy.api#documentation": "

Tests a registered extension to make sure it meets all necessary requirements for being\n published in the CloudFormation registry.

\n \n

For more information, see Testing your public extension prior to publishing in the\n CloudFormation CLI User Guide.

\n

If you do not specify a version, CloudFormation uses the default version of the\n extension in your account and region for testing.

\n

To perform testing, CloudFormation assumes the execution role specified when the type\n was registered. For more information, see RegisterType.

\n

Once you've initiated testing on an extension using TestType, you can use\n DescribeType to monitor the current test status and test\n status description for the extension.

\n

An extension must have a test status of PASSED before it can be published.\n For more information, see Publishing extensions to make them available for public use\n in the CloudFormation CLI User Guide.

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

Tests a registered extension to make sure it meets all necessary requirements for being\n published in the CloudFormation registry.

\n \n

For more information, see Testing your public extension prior to publishing in the CloudFormation CLI User Guide.

\n

If you don't specify a version, CloudFormation uses the default version of the\n extension in your account and region for testing.

\n

To perform testing, CloudFormation assumes the execution role specified when\n the type was registered. For more information, see RegisterType.

\n

Once you've initiated testing on an extension using TestType, you can use\n DescribeType to monitor the current test status and test\n status description for the extension.

\n

An extension must have a test status of PASSED before it can be published.\n For more information, see Publishing extensions to make them available for public use\n in the CloudFormation CLI User Guide.

", "smithy.api#idempotent": {} } }, @@ -9416,7 +9807,7 @@ "Arn": { "target": "com.amazonaws.cloudformation#TypeArn", "traits": { - "smithy.api#documentation": "

The Amazon Resource Number (ARN) of the extension.

\n

Conditional: You must specify Arn, or TypeName and\n Type.

" + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the extension.

\n

Conditional: You must specify Arn, or TypeName and\n Type.

" } }, "Type": { @@ -9434,13 +9825,13 @@ "VersionId": { "target": "com.amazonaws.cloudformation#TypeVersionId", "traits": { - "smithy.api#documentation": "

The version of the extension to test.

\n

You can specify the version id with either Arn, or with\n TypeName and Type.

\n

If you do not specify a version, CloudFormation uses the default version of the\n extension in this account and region for testing.

" + "smithy.api#documentation": "

The version of the extension to test.

\n

You can specify the version id with either Arn, or with\n TypeName and Type.

\n

If you don't specify a version, CloudFormation uses the default version of the\n extension in this account and region for testing.

" } }, "LogDeliveryBucket": { "target": "com.amazonaws.cloudformation#S3Bucket", "traits": { - "smithy.api#documentation": "

The S3 bucket to which CloudFormation delivers the contract test execution logs.

\n

CloudFormation delivers the logs by the time contract testing has completed and the\n extension has been assigned a test type status of PASSED or\n FAILED.

\n

The user calling TestType must be able to access items in the specified S3\n bucket. Specifically, the user needs the following permissions:

\n \n

For more information, see Actions, Resources, and\n Condition Keys for Amazon S3 in the Amazon Web Services Identity and\n Access Management User Guide.

" + "smithy.api#documentation": "

The S3 bucket to which CloudFormation delivers the contract test execution\n logs.

\n

CloudFormation delivers the logs by the time contract testing has completed and\n the extension has been assigned a test type status of PASSED or\n FAILED.

\n

The user calling TestType must be able to access items in the specified S3\n bucket. Specifically, the user needs the following permissions:

\n \n

For more information, see Actions, Resources, and\n Condition Keys for Amazon S3 in the Amazon Web Services\n Identity and Access Management User Guide.

" } } } @@ -9451,7 +9842,7 @@ "TypeVersionArn": { "target": "com.amazonaws.cloudformation#TypeArn", "traits": { - "smithy.api#documentation": "

The Amazon Resource Number (ARN) of the extension.

" + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the extension.

" } } } @@ -9467,6 +9858,10 @@ { "value": "MODULE", "name": "MODULE" + }, + { + "value": "HOOK", + "name": "HOOK" } ] } @@ -9588,19 +9983,19 @@ "Configuration": { "target": "com.amazonaws.cloudformation#TypeConfiguration", "traits": { - "smithy.api#documentation": "

A JSON string specifying the configuration data for the extension, in this account and\n region.

\n

If a configuration has not been set for a specified extension, CloudFormation returns\n {}.

" + "smithy.api#documentation": "

A JSON string specifying the configuration data for the extension, in this account and\n region.

\n

If a configuration hasn't been set for a specified extension, CloudFormation\n returns {}.

" } }, "LastUpdated": { "target": "com.amazonaws.cloudformation#Timestamp", "traits": { - "smithy.api#documentation": "

When the configuration data was last updated for this extension.

\n

If a configuration has not been set for a specified extension, CloudFormation returns\n null.

" + "smithy.api#documentation": "

When the configuration data was last updated for this extension.

\n

If a configuration hasn't been set for a specified extension, CloudFormation\n returns null.

" } }, "TypeArn": { "target": "com.amazonaws.cloudformation#TypeArn", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) for the extension, in this account and region.

\n

For public extensions, this will be the ARN assigned when you activate the type in this account and region. For private extensions, this will\n be the ARN assigned when you register the type in this account and region.

" + "smithy.api#documentation": "

The Amazon Resource Name (ARN) for the extension, in this account and region.

\n

For public extensions, this will be the ARN assigned when you activate the type in this account and region. For private extensions, this will\n be the ARN assigned when you register the type in this account and region.

" } }, "TypeName": { @@ -9617,7 +10012,7 @@ } }, "traits": { - "smithy.api#documentation": "

Detailed information concerning the specification of a CloudFormation extension in a\n given account and region.

\n

For more information, see Configuring extensions at the account level in the\n CloudFormation User Guide.

" + "smithy.api#documentation": "

Detailed information concerning the specification of a CloudFormation extension\n in a given account and region.

\n

For more information, see Configuring extensions at the account level in the\n CloudFormation User Guide.

" } }, "com.amazonaws.cloudformation#TypeConfigurationDetailsList": { @@ -9632,7 +10027,7 @@ "TypeArn": { "target": "com.amazonaws.cloudformation#TypeArn", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) for the extension, in this account and region.

\n

For public extensions, this will be the ARN assigned when you activate the type in this account and region. For private extensions, this will\n be the ARN assigned when you register the type in this account and region.

" + "smithy.api#documentation": "

The Amazon Resource Name (ARN) for the extension, in this account and region.

\n

For public extensions, this will be the ARN assigned when you activate the type in this account and region. For private extensions, this will\n be the ARN assigned when you register the type in this account and region.

" } }, "TypeConfigurationAlias": { @@ -9661,7 +10056,7 @@ } }, "traits": { - "smithy.api#documentation": "

Identifying information for the configuration of a CloudFormation extension.

" + "smithy.api#documentation": "

Identifying information for the configuration of a CloudFormation\n extension.

" } }, "com.amazonaws.cloudformation#TypeConfigurationIdentifiers": { @@ -9687,7 +10082,7 @@ "code": "TypeConfigurationNotFoundException", "httpResponseCode": 404 }, - "smithy.api#documentation": "

The specified extension configuration cannot be found.

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

The specified extension configuration can't be found.

", "smithy.api#error": "client", "smithy.api#httpError": 404 } @@ -9704,7 +10099,7 @@ "PublisherId": { "target": "com.amazonaws.cloudformation#PublisherId", "traits": { - "smithy.api#documentation": "

The id of the publisher of the extension.

\n

Extensions published by Amazon are not assigned a publisher ID. Use the\n AWS_TYPE category to specify a list of types published by Amazon.

" + "smithy.api#documentation": "

The id of the publisher of the extension.

\n

Extensions published by Amazon aren't assigned a publisher ID. Use the\n AWS_TYPES category to specify a list of types published by Amazon.

" } }, "TypeNamePrefix": { @@ -9753,7 +10148,7 @@ "code": "TypeNotFoundException", "httpResponseCode": 404 }, - "smithy.api#documentation": "

The specified extension does not exist in the CloudFormation registry.

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

The specified extension doesn't exist in the CloudFormation registry.

", "smithy.api#error": "client", "smithy.api#httpError": 404 } @@ -9785,13 +10180,13 @@ "TypeName": { "target": "com.amazonaws.cloudformation#TypeName", "traits": { - "smithy.api#documentation": "

The name of the extension.

\n

If you specified a TypeNameAlias when you activate this extension in your account and region, CloudFormation considers\n that alias as the type name.

" + "smithy.api#documentation": "

The name of the extension.

\n

If you specified a TypeNameAlias when you activate this extension in your account and region, CloudFormation\n considers that alias as the type name.

" } }, "DefaultVersionId": { "target": "com.amazonaws.cloudformation#TypeVersionId", "traits": { - "smithy.api#documentation": "

The ID of the default version of the extension. The default version is used when the\n extension version is not specified.

\n

This applies only to private extensions you have registered in your account. For public\n extensions, both those provided by Amazon and published by third parties, CloudFormation\n returns null. For more information, see RegisterType.

\n

To set the default version of an extension, use \n SetTypeDefaultVersion\n .

" + "smithy.api#documentation": "

The ID of the default version of the extension. The default version is used when the\n extension version isn't specified.

\n

This applies only to private extensions you have registered in your account. For public\n extensions, both those provided by Amazon and published by third parties, CloudFormation returns null. For more information, see RegisterType.

\n

To set the default version of an extension, use \n SetTypeDefaultVersion\n .

" } }, "TypeArn": { @@ -9815,31 +10210,31 @@ "PublisherId": { "target": "com.amazonaws.cloudformation#PublisherId", "traits": { - "smithy.api#documentation": "

The ID of the extension publisher, if the extension is published by a third party.\n Extensions published by Amazon do not return a publisher ID.

" + "smithy.api#documentation": "

The ID of the extension publisher, if the extension is published by a third party.\n Extensions published by Amazon don't return a publisher ID.

" } }, "OriginalTypeName": { "target": "com.amazonaws.cloudformation#TypeName", "traits": { - "smithy.api#documentation": "

For public extensions that have been activated for this account and region, the type\n name of the public extension.

\n

If you specified a TypeNameAlias when enabling the extension in this\n account and region, CloudFormation treats that alias as the extension's type name within\n the account and region, not the type name of the public extension. For more information,\n see Specifying aliases to refer to extensions in the\n CloudFormation User Guide.

" + "smithy.api#documentation": "

For public extensions that have been activated for this account and region, the type\n name of the public extension.

\n

If you specified a TypeNameAlias when enabling the extension in this\n account and region, CloudFormation treats that alias as the extension's type name\n within the account and region, not the type name of the public extension. For more\n information, see Specifying aliases to refer to extensions in the\n CloudFormation User Guide.

" } }, "PublicVersionNumber": { "target": "com.amazonaws.cloudformation#PublicVersionNumber", "traits": { - "smithy.api#documentation": "

For public extensions that have been activated for this account and region, the version\n of the public extension to be used for CloudFormation operations in this account and\n region.

\n

How you specified AutoUpdate when enabling the extension affects whether\n CloudFormation automatically updates the extention in this account and region when a new\n version is released. For more information, see Setting CloudFormation to automatically use new versions of\n extensions in the CloudFormation User Guide.

" + "smithy.api#documentation": "

For public extensions that have been activated for this account and region, the version\n of the public extension to be used for CloudFormation operations in this account\n and Region.

\n

How you specified AutoUpdate when enabling the extension affects whether\n CloudFormation automatically updates the extension in this account and region\n when a new version is released. For more information, see Setting CloudFormation to automatically use new versions\n of extensions in the CloudFormation User Guide.

" } }, "LatestPublicVersion": { "target": "com.amazonaws.cloudformation#PublicVersionNumber", "traits": { - "smithy.api#documentation": "

For public extensions that have been activated for this account and region, the latest\n version of the public extension that is available. For any extensions\n other than activated third-arty extensions, CloudFormation returns\n null.

\n

How you specified AutoUpdate when enabling the extension affects whether\n CloudFormation automatically updates the extention in this account and region when a new\n version is released. For more information, see Setting CloudFormation to automatically use new versions of\n extensions in the CloudFormation User Guide.

" + "smithy.api#documentation": "

For public extensions that have been activated for this account and region, the latest\n version of the public extension that is available. For any extensions\n other than activated third-arty extensions, CloudFormation returns\n null.

\n

How you specified AutoUpdate when enabling the extension affects whether\n CloudFormation automatically updates the extension in this account and region\n when a new version is released. For more information, see Setting CloudFormation to automatically use new versions\n of extensions in the CloudFormation User Guide.

" } }, "PublisherIdentity": { "target": "com.amazonaws.cloudformation#IdentityProvider", "traits": { - "smithy.api#documentation": "

The service used to verify the publisher identity.

\n

For more information, see Registering your account to publish CloudFormation extensions in the \n CFN-CLI User Guide for Extension Development.

" + "smithy.api#documentation": "

The service used to verify the publisher identity.

\n

For more information, see Registering your account to publish CloudFormation extensions in the\n CFN-CLI User Guide for Extension Development.

" } }, "PublisherName": { @@ -9851,7 +10246,7 @@ "IsActivated": { "target": "com.amazonaws.cloudformation#IsActivated", "traits": { - "smithy.api#documentation": "

Whether or not the extension is activated for this account and region.

\n

This applies only to third-party public extensions. Extensions published by Amazon are\n activated by default.

" + "smithy.api#documentation": "

Whether or not the extension is activated for this account and region.

\n

This applies only to third-party public extensions. Extensions published by Amazon are\n activated by default.

" } } }, @@ -9926,13 +10321,13 @@ "VersionId": { "target": "com.amazonaws.cloudformation#TypeVersionId", "traits": { - "smithy.api#documentation": "

The ID of a specific version of the extension. The version ID is the value at the end of\n the Amazon Resource Name (ARN) assigned to the extension version when it is\n registered.

" + "smithy.api#documentation": "

The ID of a specific version of the extension. The version ID is the value at the end of\n the Amazon Resource Name (ARN) assigned to the extension version when it's\n registered.

" } }, "IsDefaultVersion": { "target": "com.amazonaws.cloudformation#IsDefaultVersion", "traits": { - "smithy.api#documentation": "

Whether the specified extension version is set as the default version.

\n

This applies only to private extensions you have registered in your account, and\n extensions published by Amazon. For public third-party extensions, whether or not they are\n activated in your account, CloudFormation returns null.

" + "smithy.api#documentation": "

Whether the specified extension version is set as the default version.

\n

This applies only to private extensions you have registered in your account, and\n extensions published by Amazon. For public third-party extensions, CloudFormation\n returns null.

" } }, "Arn": { @@ -9956,7 +10351,7 @@ "PublicVersionNumber": { "target": "com.amazonaws.cloudformation#PublicVersionNumber", "traits": { - "smithy.api#documentation": "

For public extensions that have been activated for this account and region, the version\n of the public extension to be used for CloudFormation operations in this account and\n region. For any extensions other than activated third-arty extensions, CloudFormation\n returns null.

\n

How you specified AutoUpdate when enabling the extension affects whether\n CloudFormation automatically updates the extention in this account and region when a new\n version is released. For more information, see Setting CloudFormation to automatically use new versions of\n extensions in the CloudFormation User Guide.

" + "smithy.api#documentation": "

For public extensions that have been activated for this account and region, the version\n of the public extension to be used for CloudFormation operations in this account\n and region. For any extensions other than activated third-arty extensions, CloudFormation returns null.

\n

How you specified AutoUpdate when enabling the extension affects whether\n CloudFormation automatically updates the extension in this account and region\n when a new version is released. For more information, see Setting CloudFormation to automatically use new versions\n of extensions in the CloudFormation User Guide.

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

Updates a stack as specified in the template. After the call completes successfully, the\n stack update starts. You can check the status of the stack via the DescribeStacks action.

\n

To get a copy of the template for an existing stack, you can use the GetTemplate action.

\n

For more information about creating an update template, updating a stack, and monitoring\n the progress of the update, see Updating a\n Stack.

" + "smithy.api#documentation": "

Updates a stack as specified in the template. After the call completes successfully, the\n stack update starts. You can check the status of the stack through the DescribeStacks action.

\n

To get a copy of the template for an existing stack, you can use the GetTemplate action.

\n

For more information about creating an update template, updating a stack, and monitoring\n the progress of the update, see Updating a\n Stack.

" } }, "com.amazonaws.cloudformation#UpdateStackInput": { @@ -10009,7 +10404,7 @@ "TemplateURL": { "target": "com.amazonaws.cloudformation#TemplateURL", "traits": { - "smithy.api#documentation": "

Location of file containing the template body. The URL must point to a template that is\n located in an Amazon S3 bucket or a Systems Manager document. For more information, go to\n Template Anatomy\n in the CloudFormation User Guide.

\n

Conditional: You must specify only one of the following parameters:\n TemplateBody, TemplateURL, or set the\n UsePreviousTemplate to true.

" + "smithy.api#documentation": "

Location of file containing the template body. The URL must point to a template that's\n located in an Amazon S3 bucket or a Systems Manager document. For more information,\n go to Template Anatomy\n in the CloudFormation User Guide.

\n

Conditional: You must specify only one of the following parameters:\n TemplateBody, TemplateURL, or set the\n UsePreviousTemplate to true.

" } }, "UsePreviousTemplate": { @@ -10039,19 +10434,19 @@ "Capabilities": { "target": "com.amazonaws.cloudformation#Capabilities", "traits": { - "smithy.api#documentation": "

In some cases, you must explicitly acknowledge that your stack template contains certain\n capabilities in order for CloudFormation to update the stack.

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

In some cases, you must explicitly acknowledge that your stack template contains certain\n capabilities in order for CloudFormation to update the stack.

\n " } }, "ResourceTypes": { "target": "com.amazonaws.cloudformation#ResourceTypes", "traits": { - "smithy.api#documentation": "

The template resource types that you have permissions to work with for this update stack\n action, such as AWS::EC2::Instance, AWS::EC2::*, or\n Custom::MyCustomInstance.

\n

If the list of resource types doesn't include a resource that you're updating, the stack\n update fails. By default, CloudFormation grants permissions to all resource types.\n Identity and Access Management (IAM) uses this parameter for CloudFormation-specific\n condition keys in IAM policies. For more information, see Controlling Access with\n Identity and Access Management.

" + "smithy.api#documentation": "

The template resource types that you have permissions to work with for this update stack\n action, such as AWS::EC2::Instance, AWS::EC2::*, or\n Custom::MyCustomInstance.

\n

If the list of resource types doesn't include a resource that you're updating, the stack\n update fails. By default, CloudFormation grants permissions to all resource types.\n Identity and Access Management (IAM) uses this parameter for CloudFormation-specific condition keys in IAM policies. For more information, see Controlling Access with Identity and Access Management.

" } }, "RoleARN": { "target": "com.amazonaws.cloudformation#RoleARN", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of an Identity and Access Management (IAM) role that CloudFormation assumes to update the stack. CloudFormation uses the role's\n credentials to make calls on your behalf. CloudFormation always uses this role for\n all future operations on the stack. As long as users have permission to operate on the\n stack, CloudFormation uses this role even if the users don't have permission to\n pass it. Ensure that the role grants least privilege.

\n

If you don't specify a value, CloudFormation uses the role that was previously\n associated with the stack. If no role is available, CloudFormation uses a temporary\n session that is generated from your user credentials.

" + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of an Identity and Access Management (IAM) role\n that CloudFormation assumes to update the stack. CloudFormation uses the\n role's credentials to make calls on your behalf. CloudFormation always uses this\n role for all future operations on the stack. Provided that users have permission to operate\n on the stack, CloudFormation uses this role even if the users don't have permission\n to pass it. Ensure that the role grants least privilege.

\n

If you don't specify a value, CloudFormation uses the role that was previously\n associated with the stack. If no role is available, CloudFormation uses a temporary\n session that is generated from your user credentials.

" } }, "RollbackConfiguration": { @@ -10063,13 +10458,13 @@ "StackPolicyBody": { "target": "com.amazonaws.cloudformation#StackPolicyBody", "traits": { - "smithy.api#documentation": "

Structure containing a new stack policy body. You can specify either the\n StackPolicyBody or the StackPolicyURL parameter, but not\n both.

\n

You might update the stack policy, for example, in order to protect a new resource that\n you created during a stack update. If you do not specify a stack policy, the current policy\n that is associated with the stack is unchanged.

" + "smithy.api#documentation": "

Structure containing a new stack policy body. You can specify either the\n StackPolicyBody or the StackPolicyURL parameter, but not\n both.

\n

You might update the stack policy, for example, in order to protect a new resource that\n you created during a stack update. If you don't specify a stack policy, the current policy\n that is associated with the stack is unchanged.

" } }, "StackPolicyURL": { "target": "com.amazonaws.cloudformation#StackPolicyURL", "traits": { - "smithy.api#documentation": "

Location of a file containing the updated stack policy. The URL must point to a policy\n (max size: 16KB) located in an S3 bucket in the same Region as the stack. You can specify\n either the StackPolicyBody or the StackPolicyURL parameter, but\n not both.

\n

You might update the stack policy, for example, in order to protect a new resource that\n you created during a stack update. If you do not specify a stack policy, the current policy\n that is associated with the stack is unchanged.

" + "smithy.api#documentation": "

Location of a file containing the updated stack policy. The URL must point to a policy\n (max size: 16KB) located in an S3 bucket in the same Region as the stack. You can specify\n either the StackPolicyBody or the StackPolicyURL parameter, but\n not both.

\n

You might update the stack policy, for example, in order to protect a new resource that\n you created during a stack update. If you don't specify a stack policy, the current policy\n that is associated with the stack is unchanged.

" } }, "NotificationARNs": { @@ -10130,7 +10525,7 @@ } ], "traits": { - "smithy.api#documentation": "

Updates the parameter values for stack instances for the specified accounts, within the\n specified Regions. A stack instance refers to a stack in a specific account and Region.

\n

You can only update stack instances in Regions and accounts where they already exist; to\n create additional stack instances, use CreateStackInstances.

\n

During stack set updates, any parameters overridden for a stack instance are not\n updated, but retain their overridden value.

\n

You can only update the parameter values that are specified in the\n stack set; to add or delete a parameter itself, use UpdateStackSet to update the stack set template. If you add a parameter to a\n template, before you can override the parameter value specified in the stack set you must\n first use UpdateStackSet to update all stack instances with the updated template and\n parameter value specified in the stack set. Once a stack instance has been updated with the\n new parameter, you can then override the parameter value using\n UpdateStackInstances.

" + "smithy.api#documentation": "

Updates the parameter values for stack instances for the specified accounts, within the\n specified Amazon Web Services Regions. A stack instance refers to a stack in a specific\n account and Region.

\n

You can only update stack instances in Amazon Web Services Regions and accounts where\n they already exist; to create additional stack instances, use CreateStackInstances.

\n

During stack set updates, any parameters overridden for a stack instance aren't updated,\n but retain their overridden value.

\n

You can only update the parameter values that are specified in the\n stack set; to add or delete a parameter itself, use UpdateStackSet to update the stack set template. If you add a parameter to a\n template, before you can override the parameter value specified in the stack set you must\n first use UpdateStackSet to update all stack instances with the updated template and\n parameter value specified in the stack set. Once a stack instance has been updated with the\n new parameter, you can then override the parameter value using\n UpdateStackInstances.

" } }, "com.amazonaws.cloudformation#UpdateStackInstancesInput": { @@ -10146,7 +10541,7 @@ "Accounts": { "target": "com.amazonaws.cloudformation#AccountList", "traits": { - "smithy.api#documentation": "

[Self-managed permissions] The names of one or more Amazon Web Services accounts for\n which you want to update parameter values for stack instances. The overridden parameter\n values will be applied to all stack instances in the specified accounts and Regions.

\n

You can specify Accounts or DeploymentTargets, but not\n both.

" + "smithy.api#documentation": "

[Self-managed permissions] The names of one or more Amazon Web Services accounts for\n which you want to update parameter values for stack instances. The overridden parameter\n values will be applied to all stack instances in the specified accounts and Amazon Web Services Regions.

\n

You can specify Accounts or DeploymentTargets, but not\n both.

" } }, "DeploymentTargets": { @@ -10158,14 +10553,14 @@ "Regions": { "target": "com.amazonaws.cloudformation#RegionList", "traits": { - "smithy.api#documentation": "

The names of one or more Regions in which you want to update parameter values for stack\n instances. The overridden parameter values will be applied to all stack instances in the\n specified accounts and Regions.

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

The names of one or more Amazon Web Services Regions in which you want to update\n parameter values for stack instances. The overridden parameter values will be applied to\n all stack instances in the specified accounts and Amazon Web Services Regions.

", "smithy.api#required": {} } }, "ParameterOverrides": { "target": "com.amazonaws.cloudformation#Parameters", "traits": { - "smithy.api#documentation": "

A list of input parameters whose values you want to update for the specified stack\n instances.

\n

Any overridden parameter values will be applied to all stack instances in the specified\n accounts and Regions. When specifying parameters and their values, be aware of how CloudFormation sets parameter values during stack instance update operations:

\n \n

During stack set updates, any parameter values overridden for a stack instance are not\n updated, but retain their overridden value.

\n

You can only override the parameter values that are specified in\n the stack set; to add or delete a parameter itself, use UpdateStackSet to\n update the stack set template. If you add a parameter to a template, before you can\n override the parameter value specified in the stack set you must first use UpdateStackSet to update all stack instances with the updated template and\n parameter value specified in the stack set. Once a stack instance has been updated with the\n new parameter, you can then override the parameter value using\n UpdateStackInstances.

" + "smithy.api#documentation": "

A list of input parameters whose values you want to update for the specified stack\n instances.

\n

Any overridden parameter values will be applied to all stack instances in the specified\n accounts and Amazon Web Services Regions. When specifying parameters and their values, be\n aware of how CloudFormation sets parameter values during stack instance update\n operations:

\n \n

During stack set updates, any parameter values overridden for a stack instance aren't\n updated, but retain their overridden value.

\n

You can only override the parameter values that are specified in\n the stack set; to add or delete a parameter itself, use UpdateStackSet to\n update the stack set template. If you add a parameter to a template, before you can\n override the parameter value specified in the stack set you must first use UpdateStackSet to update all stack instances with the updated template and\n parameter value specified in the stack set. Once a stack instance has been updated with the\n new parameter, you can then override the parameter value using\n UpdateStackInstances.

" } }, "OperationPreferences": { @@ -10177,14 +10572,14 @@ "OperationId": { "target": "com.amazonaws.cloudformation#ClientRequestToken", "traits": { - "smithy.api#documentation": "

The unique identifier for this stack set operation.

\n

The operation ID also functions as an idempotency token, to ensure that CloudFormation performs the stack set operation only once, even if you retry the request\n multiple times. You might retry stack set operation requests to ensure that CloudFormation successfully received them.

\n

If you don't specify an operation ID, the SDK generates one automatically.\n

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

The unique identifier for this stack set operation.

\n

The operation ID also functions as an idempotency token, to ensure that CloudFormation performs the stack set operation only once, even if you retry the request\n multiple times. You might retry stack set operation requests to ensure that CloudFormation successfully received them.

\n

If you don't specify an operation ID, the SDK generates one\n automatically.

", "smithy.api#idempotencyToken": {} } }, "CallAs": { "target": "com.amazonaws.cloudformation#CallAs", "traits": { - "smithy.api#documentation": "

[Service-managed permissions] Specifies whether you are acting as an account\n administrator in the organization's management account or as a delegated administrator in a\n member account.

\n

By default, SELF is specified. Use SELF for stack sets with\n self-managed permissions.

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

[Service-managed permissions] Specifies whether you are acting as an account\n administrator in the organization's management account or as a delegated\n administrator in a member account.

\n

By default, SELF is specified. Use SELF for stack sets with\n self-managed permissions.

\n " } } } @@ -10195,7 +10590,7 @@ "OperationId": { "target": "com.amazonaws.cloudformation#ClientRequestToken", "traits": { - "smithy.api#documentation": "

The unique identifier for this stack set operation.

" + "smithy.api#documentation": "

The unique identifier for this stack set operation.

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

Updates the stack set, and associated stack instances in the specified accounts and\n Regions.

\n

Even if the stack set operation created by updating the stack set fails (completely or\n partially, below or above a specified failure tolerance), the stack set is updated with\n your changes. Subsequent CreateStackInstances calls on the specified\n stack set use the updated stack set.

" + "smithy.api#documentation": "

Updates the stack set, and associated stack instances in the specified accounts and\n Amazon Web Services Regions.

\n

Even if the stack set operation created by updating the stack set fails (completely or\n partially, below or above a specified failure tolerance), the stack set is updated with\n your changes. Subsequent CreateStackInstances calls on the specified\n stack set use the updated stack set.

" } }, "com.amazonaws.cloudformation#UpdateStackSetInput": { @@ -10271,31 +10666,31 @@ "TemplateURL": { "target": "com.amazonaws.cloudformation#TemplateURL", "traits": { - "smithy.api#documentation": "

The location of the file that contains the template body. The URL must point to a\n template (maximum size: 460,800 bytes) that is located in an Amazon S3 bucket or a Systems\n Manager document. For more information, see Template Anatomy\n in the CloudFormation User Guide.

\n

Conditional: You must specify only one of the following parameters:\n TemplateBody or TemplateURL—or set\n UsePreviousTemplate to true.

" + "smithy.api#documentation": "

The location of the file that contains the template body. The URL must point to a\n template (maximum size: 460,800 bytes) that is located in an Amazon S3 bucket or a\n Systems Manager document. For more information, see Template Anatomy\n in the CloudFormation User Guide.

\n

Conditional: You must specify only one of the following parameters:\n TemplateBody or TemplateURL—or set\n UsePreviousTemplate to true.

" } }, "UsePreviousTemplate": { "target": "com.amazonaws.cloudformation#UsePreviousTemplate", "traits": { - "smithy.api#documentation": "

Use the existing template that's associated with the stack set that you're\n updating.

\n

Conditional: You must specify only one of the following parameters:\n TemplateBody or TemplateURL—or set\n UsePreviousTemplate to true.

" + "smithy.api#documentation": "

Use the existing template that's associated with the stack set that you're\n updating.

\n

Conditional: You must specify only one of the following parameters:\n TemplateBody or TemplateURL—or set\n UsePreviousTemplate to true.

" } }, "Parameters": { "target": "com.amazonaws.cloudformation#Parameters", "traits": { - "smithy.api#documentation": "

A list of input parameters for the stack set template.

" + "smithy.api#documentation": "

A list of input parameters for the stack set template.

" } }, "Capabilities": { "target": "com.amazonaws.cloudformation#Capabilities", "traits": { - "smithy.api#documentation": "

In some cases, you must explicitly acknowledge that your stack template contains certain\n capabilities in order for CloudFormation to update the stack set and its associated stack\n instances.

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

In some cases, you must explicitly acknowledge that your stack template contains certain\n capabilities in order for CloudFormation to update the stack set and its associated stack\n instances.

\n " } }, "Tags": { "target": "com.amazonaws.cloudformation#Tags", "traits": { - "smithy.api#documentation": "

The key-value pairs to associate with this stack set and the stacks created from it.\n CloudFormation also propagates these tags to supported resources that are\n created in the stacks. You can specify a maximum number of 50 tags.

\n

If you specify tags for this parameter, those tags replace any list of tags that are\n currently associated with this stack set. This means:

\n \n

If you specify new tags as part of an UpdateStackSet action, CloudFormation checks to see if you have the required IAM permission to tag resources.\n If you omit tags that are currently associated with the stack set from the list of tags you\n specify, CloudFormation assumes that you want to remove those tags from the stack\n set, and checks to see if you have permission to untag resources. If you don't have the\n necessary permission(s), the entire UpdateStackSet action fails with an\n access denied error, and the stack set is not updated.

" + "smithy.api#documentation": "

The key-value pairs to associate with this stack set and the stacks created from it.\n CloudFormation also propagates these tags to supported resources that are created in\n the stacks. You can specify a maximum number of 50 tags.

\n

If you specify tags for this parameter, those tags replace any list of tags that are\n currently associated with this stack set. This means:

\n \n

If you specify new tags as part of an UpdateStackSet action, CloudFormation checks to see if you have the required IAM permission to tag\n resources. If you omit tags that are currently associated with the stack set from the list\n of tags you specify, CloudFormation assumes that you want to remove those tags from the\n stack set, and checks to see if you have permission to untag resources. If you don't have\n the necessary permission(s), the entire UpdateStackSet action fails with an\n access denied error, and the stack set is not updated.

" } }, "OperationPreferences": { @@ -10307,56 +10702,56 @@ "AdministrationRoleARN": { "target": "com.amazonaws.cloudformation#RoleARN", "traits": { - "smithy.api#documentation": "

The Amazon Resource Number (ARN) of the IAM role to use to update this stack set.

\n

Specify an IAM role only if you are using customized administrator roles to control\n which users or groups can manage specific stack sets within the same administrator account.\n For more information, see Granting\n Permissions for Stack Set Operations in the\n CloudFormation User Guide.

\n

If you specified a customized administrator role when you created the stack set, you\n must specify a customized administrator role, even if it is the same customized\n administrator role used with this stack set previously.

" + "smithy.api#documentation": "

The Amazon Resource Number (ARN) of the IAM role to use to update this\n stack set.

\n

Specify an IAM role only if you are using customized administrator roles\n to control which users or groups can manage specific stack sets within the same\n administrator account. For more information, see Granting Permissions for Stack Set\n Operations in the CloudFormation User Guide.

\n

If you specified a customized administrator role when you created the stack set, you\n must specify a customized administrator role, even if it is the same customized\n administrator role used with this stack set previously.

" } }, "ExecutionRoleName": { "target": "com.amazonaws.cloudformation#ExecutionRoleName", "traits": { - "smithy.api#documentation": "

The name of the IAM execution role to use to update the stack set. If you do not specify\n an execution role, CloudFormation uses the AWSCloudFormationStackSetExecutionRole role\n for the stack set operation.

\n

Specify an IAM role only if you are using customized execution roles to control which\n stack resources users and groups can include in their stack sets.

\n

If you specify a customized execution role, CloudFormation uses that role to update the stack.\n If you do not specify a customized execution role, CloudFormation performs the update using the role\n previously associated with the stack set, so long as you have permissions to perform\n operations on the stack set.

" + "smithy.api#documentation": "

The name of the IAM execution role to use to update the stack set. If you\n do not specify an execution role, CloudFormation uses the\n AWSCloudFormationStackSetExecutionRole role for the stack set\n operation.

\n

Specify an IAM role only if you are using customized execution roles to\n control which stack resources users and groups can include in their stack sets.

\n

If you specify a customized execution role, CloudFormation uses that role to update the stack. If\n you do not specify a customized execution role, CloudFormation performs the update using the role\n previously associated with the stack set, so long as you have permissions to perform\n operations on the stack set.

" } }, "DeploymentTargets": { "target": "com.amazonaws.cloudformation#DeploymentTargets", "traits": { - "smithy.api#documentation": "

[Service-managed permissions] The Organizations accounts in which to update\n associated stack instances.

\n

To update all the stack instances associated with this stack set, do not specify\n DeploymentTargets or Regions.

\n

If the stack set update includes changes to the template (that is, if\n TemplateBody or TemplateURL is specified), or the\n Parameters, CloudFormation marks all stack instances with a status\n of OUTDATED prior to updating the stack instances in the specified accounts\n and Regions. If the stack set update does not include changes to the template or\n parameters, CloudFormation updates the stack instances in the specified accounts\n and Regions, while leaving all other stack instances with their existing stack instance\n status.

" + "smithy.api#documentation": "

[Service-managed permissions] The Organizations accounts in which to update\n associated stack instances.

\n

To update all the stack instances associated with this stack set, do not specify\n DeploymentTargets or Regions.

\n

If the stack set update includes changes to the template (that is, if\n TemplateBody or TemplateURL is specified), or the\n Parameters, CloudFormation marks all stack instances with a status of\n OUTDATED prior to updating the stack instances in the specified accounts\n and Amazon Web Services Regions. If the stack set update doesn't include changes to the\n template or parameters, CloudFormation updates the stack instances in the specified\n accounts and Regions, while leaving all other stack instances with their existing stack\n instance status.

" } }, "PermissionModel": { "target": "com.amazonaws.cloudformation#PermissionModels", "traits": { - "smithy.api#documentation": "

Describes how the IAM roles required for stack set operations are created. You cannot\n modify PermissionModel if there are stack instances associated with your stack\n set.

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

Describes how the IAM roles required for stack set operations are\n created. You cannot modify PermissionModel if there are stack instances\n associated with your stack set.

\n " } }, "AutoDeployment": { "target": "com.amazonaws.cloudformation#AutoDeployment", "traits": { - "smithy.api#documentation": "

[Service-managed permissions] Describes whether StackSets automatically deploys to\n Organizations accounts that are added to a target organization or organizational\n unit (OU).

\n

If you specify AutoDeployment, do not specify\n DeploymentTargets or Regions.

" + "smithy.api#documentation": "

[Service-managed permissions] Describes whether StackSets automatically deploys to\n Organizations accounts that are added to a target organization or organizational\n unit (OU).

\n

If you specify AutoDeployment, don't specify DeploymentTargets\n or Regions.

" } }, "OperationId": { "target": "com.amazonaws.cloudformation#ClientRequestToken", "traits": { - "smithy.api#documentation": "

The unique ID for this stack set operation.

\n

The operation ID also functions as an idempotency token, to ensure that CloudFormation performs the stack set operation only once, even if you retry the request\n multiple times. You might retry stack set operation requests to ensure that CloudFormation successfully received them.

\n

If you don't specify an operation ID, CloudFormation generates one\n automatically.

\n

Repeating this stack set operation with a new operation ID retries all stack instances\n whose status is OUTDATED.

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

The unique ID for this stack set operation.

\n

The operation ID also functions as an idempotency token, to ensure that CloudFormation performs the stack set operation only once, even if you retry the request\n multiple times. You might retry stack set operation requests to ensure that CloudFormation successfully received them.

\n

If you don't specify an operation ID, CloudFormation generates one\n automatically.

\n

Repeating this stack set operation with a new operation ID retries all stack instances\n whose status is OUTDATED.

", "smithy.api#idempotencyToken": {} } }, "Accounts": { "target": "com.amazonaws.cloudformation#AccountList", "traits": { - "smithy.api#documentation": "

[Self-managed permissions] The accounts in which to update associated stack instances.\n If you specify accounts, you must also specify the Regions in which to update stack set\n instances.

\n

To update all the stack instances associated with this stack set,\n do not specify the Accounts or Regions properties.

\n

If the stack set update includes changes to the template (that is, if the\n TemplateBody or TemplateURL properties are specified), or the\n Parameters property, CloudFormation marks all stack instances with a status of\n OUTDATED prior to updating the stack instances in the specified accounts\n and Regions. If the stack set update does not include changes to the template or\n parameters, CloudFormation updates the stack instances in the specified accounts and Regions, while\n leaving all other stack instances with their existing stack instance status.

" + "smithy.api#documentation": "

[Self-managed permissions] The accounts in which to update associated stack instances.\n If you specify accounts, you must also specify the Amazon Web Services Regions in which to\n update stack set instances.

\n

To update all the stack instances associated with this stack set,\n don't specify the Accounts or Regions properties.

\n

If the stack set update includes changes to the template (that is, if the\n TemplateBody or TemplateURL properties are specified), or the\n Parameters property, CloudFormation marks all stack instances with a status of\n OUTDATED prior to updating the stack instances in the specified accounts\n and Amazon Web Services Regions. If the stack set update does not include changes to the\n template or parameters, CloudFormation updates the stack instances in the specified accounts and\n Amazon Web Services Regions, while leaving all other stack instances with their existing\n stack instance status.

" } }, "Regions": { "target": "com.amazonaws.cloudformation#RegionList", "traits": { - "smithy.api#documentation": "

The Regions in which to update associated stack instances. If you specify Regions, you\n must also specify accounts in which to update stack set instances.

\n

To update all the stack instances associated with this stack set,\n do not specify the Accounts or Regions properties.

\n

If the stack set update includes changes to the template (that is, if the\n TemplateBody or TemplateURL properties are specified), or the\n Parameters property, CloudFormation marks all stack instances with a status of\n OUTDATED prior to updating the stack instances in the specified accounts\n and Regions. If the stack set update does not include changes to the template or\n parameters, CloudFormation updates the stack instances in the specified accounts and Regions, while\n leaving all other stack instances with their existing stack instance status.

" + "smithy.api#documentation": "

The Amazon Web Services Regions in which to update associated stack instances. If you\n specify Regions, you must also specify accounts in which to update stack set\n instances.

\n

To update all the stack instances associated with this stack set,\n do not specify the Accounts or Regions properties.

\n

If the stack set update includes changes to the template (that is, if the\n TemplateBody or TemplateURL properties are specified), or the\n Parameters property, CloudFormation marks all stack instances with a status of\n OUTDATED prior to updating the stack instances in the specified accounts\n and Regions. If the stack set update does not include changes to the template or\n parameters, CloudFormation updates the stack instances in the specified accounts and Regions, while\n leaving all other stack instances with their existing stack instance status.

" } }, "CallAs": { "target": "com.amazonaws.cloudformation#CallAs", "traits": { - "smithy.api#documentation": "

[Service-managed permissions] Specifies whether you are acting as an account\n administrator in the organization's management account or as a delegated administrator in a\n member account.

\n

By default, SELF is specified. Use SELF for stack sets with\n self-managed permissions.

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

[Service-managed permissions] Specifies whether you are acting as an account\n administrator in the organization's management account or as a delegated\n administrator in a member account.

\n

By default, SELF is specified. Use SELF for stack sets with\n self-managed permissions.

\n " } }, "ManagedExecution": { @@ -10387,7 +10782,7 @@ "target": "com.amazonaws.cloudformation#UpdateTerminationProtectionOutput" }, "traits": { - "smithy.api#documentation": "

Updates termination protection for the specified stack. If a user attempts to delete a\n stack with termination protection enabled, the operation fails and the stack remains\n unchanged. For more information, see Protecting a\n Stack From Being Deleted in the CloudFormation User Guide.

\n

For nested\n stacks, termination protection is set on the root stack and cannot be changed\n directly on the nested stack.

" + "smithy.api#documentation": "

Updates termination protection for the specified stack. If a user attempts to delete a\n stack with termination protection enabled, the operation fails and the stack remains\n unchanged. For more information, see Protecting a\n Stack From Being Deleted in the CloudFormation User Guide.

\n

For nested\n stacks, termination protection is set on the root stack and can't be changed\n directly on the nested stack.

" } }, "com.amazonaws.cloudformation#UpdateTerminationProtectionInput": { @@ -10459,7 +10854,7 @@ "TemplateURL": { "target": "com.amazonaws.cloudformation#TemplateURL", "traits": { - "smithy.api#documentation": "

Location of file containing the template body. The URL must point to a template (max\n size: 460,800 bytes) that is located in an Amazon S3 bucket or a Systems Manager document.\n For more information, go to Template Anatomy\n in the CloudFormation User Guide.

\n

Conditional: You must pass TemplateURL or TemplateBody. If\n both are passed, only TemplateBody is used.

" + "smithy.api#documentation": "

Location of file containing the template body. The URL must point to a template (max\n size: 460,800 bytes) that is located in an Amazon S3 bucket or a Systems Manager\n document. For more information, go to Template Anatomy\n in the CloudFormation User Guide.

\n

Conditional: You must pass TemplateURL or TemplateBody. If\n both are passed, only TemplateBody is used.

" } } }, @@ -10485,7 +10880,7 @@ "Capabilities": { "target": "com.amazonaws.cloudformation#Capabilities", "traits": { - "smithy.api#documentation": "

The capabilities found within the template. If your template contains IAM resources, you\n must specify the CAPABILITY_IAM or CAPABILITY_NAMED_IAM value for this parameter when you\n use the CreateStack or UpdateStack actions with your\n template; otherwise, those actions return an InsufficientCapabilities error.

\n

For more information, see Acknowledging IAM Resources in CloudFormation Templates.

" + "smithy.api#documentation": "

The capabilities found within the template. If your template contains IAM\n resources, you must specify the CAPABILITY_IAM or CAPABILITY_NAMED_IAM value for this\n parameter when you use the CreateStack or UpdateStack\n actions with your template; otherwise, those actions return an InsufficientCapabilities\n error.

\n

For more information, see Acknowledging IAM Resources in CloudFormation\n Templates.

" } }, "CapabilitiesReason": { diff --git a/codegen/sdk-codegen/aws-models/cognitoidentityprovider.2016-04-18.json b/codegen/sdk-codegen/aws-models/cognitoidentityprovider.2016-04-18.json index e4efbcad6f2..6659545c566 100644 --- a/codegen/sdk-codegen/aws-models/cognitoidentityprovider.2016-04-18.json +++ b/codegen/sdk-codegen/aws-models/cognitoidentityprovider.2016-04-18.json @@ -34,6 +34,24 @@ }, "com.amazonaws.cognitoidentityprovider#AWSCognitoIdentityProviderService": { "type": "service", + "traits": { + "aws.api#service": { + "sdkId": "Cognito Identity Provider", + "arnNamespace": "cognito-idp", + "cloudFormationName": "Cognito", + "cloudTrailEventSource": "cognitoidentityprovider.amazonaws.com", + "endpointPrefix": "cognito-idp" + }, + "aws.auth#sigv4": { + "name": "cognito-idp" + }, + "aws.protocols#awsJson1_1": {}, + "smithy.api#documentation": "

Using the Amazon Cognito user pools API, you can create a user pool to manage directories and users. You can authenticate a user to obtain tokens related to user identity and access policies.

\n

This API reference provides information about user pools in Amazon Cognito user pools.

\n

For more information, see the Amazon Cognito Documentation.

", + "smithy.api#title": "Amazon Cognito Identity Provider", + "smithy.api#xmlNamespace": { + "uri": "http://cognito-idp.amazonaws.com/doc/2016-04-18/" + } + }, "version": "2016-04-18", "operations": [ { @@ -339,25 +357,7 @@ { "target": "com.amazonaws.cognitoidentityprovider#VerifyUserAttribute" } - ], - "traits": { - "aws.api#service": { - "sdkId": "Cognito Identity Provider", - "arnNamespace": "cognito-idp", - "cloudFormationName": "Cognito", - "cloudTrailEventSource": "cognitoidentityprovider.amazonaws.com", - "endpointPrefix": "cognito-idp" - }, - "aws.auth#sigv4": { - "name": "cognito-idp" - }, - "aws.protocols#awsJson1_1": {}, - "smithy.api#documentation": "

Using the Amazon Cognito User Pools API, you can create a user pool to manage\n directories and users. You can authenticate a user to obtain tokens related to user\n identity and access policies.

\n

This API reference provides information about user pools in Amazon Cognito User\n Pools.

\n

For more information, see the Amazon Cognito\n Documentation.

", - "smithy.api#title": "Amazon Cognito Identity Provider", - "smithy.api#xmlNamespace": { - "uri": "http://cognito-idp.amazonaws.com/doc/2016-04-18/" - } - } + ] }, "com.amazonaws.cognitoidentityprovider#AccessTokenValidityType": { "type": "integer", @@ -399,7 +399,7 @@ "EventAction": { "target": "com.amazonaws.cognitoidentityprovider#AccountTakeoverEventActionType", "traits": { - "smithy.api#documentation": "

The event action.

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

The event action.

\n \n ", "smithy.api#required": {} } } @@ -469,13 +469,13 @@ "Actions": { "target": "com.amazonaws.cognitoidentityprovider#AccountTakeoverActionsType", "traits": { - "smithy.api#documentation": "

Account takeover risk configuration actions

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

Account takeover risk configuration actions.

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

Configuration for mitigation actions and notification for different levels of risk\n detected for a potential account takeover.

" + "smithy.api#documentation": "

Configuration for mitigation actions and notification for different levels of risk detected for a potential account takeover.

" } }, "com.amazonaws.cognitoidentityprovider#AddCustomAttributes": { @@ -536,7 +536,7 @@ "type": "structure", "members": {}, "traits": { - "smithy.api#documentation": "

Represents the response from the server for the request to add custom\n attributes.

" + "smithy.api#documentation": "

Represents the response from the server for the request to add custom attributes.

" } }, "com.amazonaws.cognitoidentityprovider#AdminAddUserToGroup": { @@ -638,7 +638,7 @@ } ], "traits": { - "smithy.api#documentation": "

Confirms user registration as an admin without using a confirmation code. Works on any\n user.

\n

Calling this action requires developer credentials.

" + "smithy.api#documentation": "

Confirms user registration as an admin without using a confirmation code. Works on any user.

\n

Calling this action requires developer credentials.

" } }, "com.amazonaws.cognitoidentityprovider#AdminConfirmSignUpRequest": { @@ -661,7 +661,7 @@ "ClientMetadata": { "target": "com.amazonaws.cognitoidentityprovider#ClientMetadataType", "traits": { - "smithy.api#documentation": "

A map of custom key-value pairs that you can provide as input for any custom workflows\n that this action triggers.

\n

If your user pool configuration includes triggers, the AdminConfirmSignUp API action\n invokes the Lambda function that is specified for the post\n confirmation trigger. When Amazon Cognito invokes this function, it\n passes a JSON payload, which the function receives as input. In this payload, the\n clientMetadata attribute provides the data that you assigned to the\n ClientMetadata parameter in your AdminConfirmSignUp request. In your function code in\n Lambda, you can process the ClientMetadata value to enhance your workflow for your\n specific needs.

\n

For more information, see Customizing User Pool Workflows with Lambda Triggers in the\n Amazon Cognito Developer Guide.

\n \n

Take the following limitations into consideration when you use the ClientMetadata\n parameter:

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

A map of custom key-value pairs that you can provide as input for any custom workflows that this action triggers.

\n

If your user pool configuration includes triggers, the AdminConfirmSignUp API action invokes the Lambda function that is specified \n for the post confirmation trigger. When Amazon Cognito invokes this function, it passes a \n JSON \n payload, which the function receives as input. In this payload, the clientMetadata attribute provides the data that you assigned \n to the ClientMetadata parameter in your AdminConfirmSignUp request. In your function code in Lambda, you can process the ClientMetadata value \n to enhance your workflow for your specific needs.

\n

For more information, see Customizing User Pool Workflows \n with Lambda Triggers in the Amazon Cognito Developer Guide.

\n \n \n

When you use the ClientMetadata parameter, remember that Amazon Cognito won't do the following:

\n \n
" } } }, @@ -673,7 +673,7 @@ "type": "structure", "members": {}, "traits": { - "smithy.api#documentation": "

Represents the response from the server for the request to confirm\n registration.

" + "smithy.api#documentation": "

Represents the response from the server for the request to confirm registration.

" } }, "com.amazonaws.cognitoidentityprovider#AdminCreateUser": { @@ -735,7 +735,7 @@ } ], "traits": { - "smithy.api#documentation": "

Creates a new user in the specified user pool.

\n

If MessageAction is not set, the default is to send a welcome message via\n email or phone (SMS).

\n \n \n

This action might generate an SMS text message. Starting June 1, 2021, U.S. \n telecom carriers require that you register an origination phone number before you can \n send SMS messages to U.S. phone numbers. If you use SMS text messages in Amazon Cognito, \n you must register a phone number with Amazon Pinpoint. \n Cognito will use the the registered number automatically. Otherwise, Cognito users that must\n receive SMS messages might be unable to sign up, activate their accounts, or sign\n in.

\n

If you have never used SMS text messages with Amazon Cognito or any other Amazon Web Service, Amazon SNS might place your account in SMS sandbox. In \n sandbox\n mode\n , you’ll have limitations, such as sending messages\n to only verified phone numbers. After testing in the sandbox environment, you can\n move out of the SMS sandbox and into production. For more information, see SMS message settings for Cognito User Pools in the Amazon\n Cognito Developer Guide.

\n
\n \n

This message is based on a template that you configured in your call to create or\n update a user pool. This template includes your custom sign-up instructions and\n placeholders for user name and temporary password.

\n

Alternatively, you can call AdminCreateUser with “SUPPRESS” for the\n MessageAction parameter, and Amazon Cognito will not send any email.

\n

In either case, the user will be in the FORCE_CHANGE_PASSWORD state until\n they sign in and change their password.

\n

\n AdminCreateUser requires developer credentials.

" + "smithy.api#documentation": "

Creates a new user in the specified user pool.

\n

If MessageAction isn't set, the default is to send a welcome message via email or phone (SMS).

\n \n \n \n

This action might generate an SMS text message. Starting June 1, 2021, US telecom carriers require you to register an \n origination phone number before you can send SMS messages to U.S. phone numbers. If you use SMS text messages in Amazon Cognito, you must \n register a phone number with Amazon Pinpoint. Amazon Cognito will use the registered number \n automatically. Otherwise, Amazon Cognito users that must receive SMS messages might be unable to sign up, activate their accounts, \n or sign in.

\n

If you have never used SMS text messages with Amazon Cognito or any other Amazon Web Service, Amazon Simple Notification Service \n might place your account in SMS sandbox. In \n \n sandbox mode\n , you will have \n limitations, such as sending messages only to verified phone numbers. After testing in the sandbox environment, you can move \n out of the SMS sandbox and into production. For more information, see \n SMS \n message settings for Amazon Cognito User Pools in the Amazon Cognito Developer Guide.

\n
\n \n

This message is based on a template that you configured in your call to create or update a user pool. This template includes your custom sign-up instructions and placeholders for \n user name and temporary password.

\n

Alternatively, you can call AdminCreateUser with SUPPRESS for the MessageAction parameter, and Amazon Cognito won't send any email.

\n

In either case, the user will be in the FORCE_CHANGE_PASSWORD state until they sign in and change their password.

\n

\n AdminCreateUser requires developer credentials.

" } }, "com.amazonaws.cognitoidentityprovider#AdminCreateUserConfigType": { @@ -744,13 +744,13 @@ "AllowAdminCreateUserOnly": { "target": "com.amazonaws.cognitoidentityprovider#BooleanType", "traits": { - "smithy.api#documentation": "

Set to True if only the administrator is allowed to create user profiles.\n Set to False if users can sign themselves up via an app.

" + "smithy.api#documentation": "

Set to True if only the administrator is allowed to create user profiles. Set to False if users can sign themselves up via an app.

" } }, "UnusedAccountValidityDays": { "target": "com.amazonaws.cognitoidentityprovider#AdminCreateUserUnusedAccountValidityDaysType", "traits": { - "smithy.api#documentation": "

The user account expiration limit, in days, after which the account is no longer\n usable. To reset the account after that time limit, you must call\n AdminCreateUser again, specifying \"RESEND\" for the\n MessageAction parameter. The default value for this parameter is 7.

\n \n

If you set a value for TemporaryPasswordValidityDays in\n PasswordPolicy, that value will be used and\n UnusedAccountValidityDays will be deprecated for that user pool.\n

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

The user account expiration limit, in days, after which the account is no longer usable. To reset the account after that time limit, you must call AdminCreateUser again, \n specifying \"RESEND\" for the MessageAction parameter. The default value for this parameter is 7.

\n \n

If you set a value for TemporaryPasswordValidityDays in PasswordPolicy, that value will be used, and UnusedAccountValidityDays will be no longer \n be an available parameter for that user pool.

\n
" } }, "InviteMessageTemplate": { @@ -777,50 +777,50 @@ "Username": { "target": "com.amazonaws.cognitoidentityprovider#UsernameType", "traits": { - "smithy.api#documentation": "

The username for the user. Must be unique within the user pool. Must be a UTF-8 string\n between 1 and 128 characters. After the user is created, the username cannot be\n changed.

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

The username for the user. Must be unique within the user pool. Must be a UTF-8 string between 1 and 128 characters. After the user is created, the username can't be changed.

", "smithy.api#required": {} } }, "UserAttributes": { "target": "com.amazonaws.cognitoidentityprovider#AttributeListType", "traits": { - "smithy.api#documentation": "

An array of name-value pairs that contain user attributes and attribute values to be\n set for the user to be created. You can create a user without specifying any attributes\n other than Username. However, any attributes that you specify as required\n (when creating a user pool or in the Attributes tab of\n the console) must be supplied either by you (in your call to\n AdminCreateUser) or by the user (when he or she signs up in response to\n your welcome message).

\n

For custom attributes, you must prepend the custom: prefix to the\n attribute name.

\n

To send a message inviting the user to sign up, you must specify the user's email\n address or phone number. This can be done in your call to AdminCreateUser or in the\n Users tab of the Amazon Cognito console for\n managing your user pools.

\n

In your call to AdminCreateUser, you can set the\n email_verified attribute to True, and you can set the\n phone_number_verified attribute to True. (You can also do\n this by calling AdminUpdateUserAttributes.)

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

An array of name-value pairs that contain user attributes and attribute values to be set for the user to be created. You can create a user without specifying any attributes \n other than Username. However, any attributes that you specify as required (when creating a user pool or in the Attributes tab \n of the console) either you should supply (in your call to AdminCreateUser) or the user should supply (when they sign up in response to your welcome message).

\n

For custom attributes, you must prepend the custom: prefix to the attribute name.

\n

To send a message inviting the user to sign up, you must specify the user's email address or phone number. You can do this in your call to AdminCreateUser or \n in the Users tab of the Amazon Cognito console for managing your user pools.

\n

In your call to AdminCreateUser, you can set the email_verified attribute to True, and you can set the phone_number_verified \n attribute to True. You can also do this by calling \n AdminUpdateUserAttributes.

\n \n " } }, "ValidationData": { "target": "com.amazonaws.cognitoidentityprovider#AttributeListType", "traits": { - "smithy.api#documentation": "

The user's validation data. This is an array of name-value pairs that contain user\n attributes and attribute values that you can use for custom validation, such as\n restricting the types of user accounts that can be registered. For example, you might\n choose to allow or disallow user sign-up based on the user's domain.

\n

To configure custom validation, you must create a Pre Sign-up Lambda trigger for the\n user pool as described in the Amazon Cognito Developer Guide. The Lambda trigger\n receives the validation data and uses it in the validation process.

\n

The user's validation data is not persisted.

" + "smithy.api#documentation": "

The user's validation data. This is an array of name-value pairs that contain user attributes and attribute values that you can use for custom validation, such as restricting the \n types of user accounts that can be registered. For example, you might choose to allow or disallow user sign-up based on the user's domain.

\n

To configure custom validation, you must create a Pre Sign-up Lambda trigger for the user pool as described in the Amazon Cognito Developer Guide. The Lambda trigger receives the validation \n data and uses it in the validation process.

\n

The user's validation data isn't persisted.

" } }, "TemporaryPassword": { "target": "com.amazonaws.cognitoidentityprovider#PasswordType", "traits": { - "smithy.api#documentation": "

The user's temporary password. This password must conform to the password policy that\n you specified when you created the user pool.

\n

The temporary password is valid only once. To complete the Admin Create User flow, the\n user must enter the temporary password in the sign-in page along with a new password to\n be used in all future sign-ins.

\n

This parameter is not required. If you do not specify a value, Amazon Cognito\n generates one for you.

\n

The temporary password can only be used until the user account expiration limit that\n you specified when you created the user pool. To reset the account after that time\n limit, you must call AdminCreateUser again, specifying\n \"RESEND\" for the MessageAction parameter.

" + "smithy.api#documentation": "

The user's temporary password. This password must conform to the password policy that you specified when you created the user pool.

\n

The temporary password is valid only once. To complete the Admin Create User flow, the user must enter the temporary password in the sign-in page, along with a new password to be used \n in all future sign-ins.

\n

This parameter isn't required. If you don't specify a value, Amazon Cognito generates one for you.

\n

The temporary password can only be used until the user account expiration limit that you specified when you created the user pool. To reset the account after that time limit, you must \n call AdminCreateUser again, specifying \"RESEND\" for the MessageAction parameter.

" } }, "ForceAliasCreation": { "target": "com.amazonaws.cognitoidentityprovider#ForceAliasCreation", "traits": { - "smithy.api#documentation": "

This parameter is only used if the phone_number_verified or\n email_verified attribute is set to True. Otherwise, it is\n ignored.

\n

If this parameter is set to True and the phone number or email address\n specified in the UserAttributes parameter already exists as an alias with a different\n user, the API call will migrate the alias from the previous user to the newly created\n user. The previous user will no longer be able to log in using that alias.

\n

If this parameter is set to False, the API throws an\n AliasExistsException error if the alias already exists. The default\n value is False.

" + "smithy.api#documentation": "

This parameter is used only if the phone_number_verified or email_verified attribute is set to True. Otherwise, it is ignored.

\n

If this parameter is set to True and the phone number or email address specified in the UserAttributes parameter already exists as an alias with a different user, the API \n call will migrate the alias from the previous user to the newly created user. The previous user will no longer be able to log in using that alias.

\n

If this parameter is set to False, the API throws an AliasExistsException error if the alias already exists. The default value is False.

" } }, "MessageAction": { "target": "com.amazonaws.cognitoidentityprovider#MessageActionType", "traits": { - "smithy.api#documentation": "

Set to \"RESEND\" to resend the invitation message to a user that already\n exists and reset the expiration limit on the user's account. Set to\n \"SUPPRESS\" to suppress sending the message. Only one value can be\n specified.

" + "smithy.api#documentation": "

Set to RESEND to resend the invitation message to a user that already exists and reset the expiration limit on the user's account. Set to SUPPRESS to suppress \n sending the message. You can specify only one value.

" } }, "DesiredDeliveryMediums": { "target": "com.amazonaws.cognitoidentityprovider#DeliveryMediumListType", "traits": { - "smithy.api#documentation": "

Specify \"EMAIL\" if email will be used to send the welcome message.\n Specify \"SMS\" if the phone number will be used. The default value is\n \"SMS\". More than one value can be specified.

" + "smithy.api#documentation": "

Specify \"EMAIL\" if email will be used to send the welcome message. Specify \"SMS\" if the phone number will be used. The default value is \"SMS\". You \n can specify more than one value.

" } }, "ClientMetadata": { "target": "com.amazonaws.cognitoidentityprovider#ClientMetadataType", "traits": { - "smithy.api#documentation": "

A map of custom key-value pairs that you can provide as input for any custom workflows\n that this action triggers.

\n

You create custom workflows by assigning Lambda functions to user pool triggers.\n When you use the AdminCreateUser API action, Amazon Cognito invokes the function that is\n assigned to the pre sign-up trigger. When Amazon Cognito invokes\n this function, it passes a JSON payload, which the function receives as input. This\n payload contains a clientMetadata attribute, which provides the data that\n you assigned to the ClientMetadata parameter in your AdminCreateUser request. In your\n function code in Lambda, you can process the clientMetadata value to\n enhance your workflow for your specific needs.

\n

For more information, see Customizing User Pool Workflows with Lambda Triggers in the\n Amazon Cognito Developer Guide.

\n \n

Take the following limitations into consideration when you use the ClientMetadata\n parameter:

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

A map of custom key-value pairs that you can provide as input for any custom workflows that this action triggers.

\n

You create custom workflows by assigning Lambda functions to user pool triggers. When you use the AdminCreateUser API action, \n Amazon Cognito invokes the function that is assigned to the pre sign-up trigger. When Amazon Cognito invokes this function, \n it passes a JSON payload, which the function receives as input. This payload contains a clientMetadata attribute, \n which provides the data that you assigned to the ClientMetadata parameter in your AdminCreateUser request. In your function code \n in Lambda, you can process the clientMetadata value to enhance your workflow for your specific needs.

\n

For more information, \n see Customizing User Pool Workflows with Lambda Triggers \n in the Amazon Cognito Developer Guide.

\n \n

When you use the ClientMetadata parameter, remember that Amazon Cognito won't do the following:

\n \n
" } } }, @@ -909,7 +909,7 @@ } ], "traits": { - "smithy.api#documentation": "

Deletes the user attributes in a user pool as an administrator. Works on any\n user.

\n

Calling this action requires developer credentials.

" + "smithy.api#documentation": "

Deletes the user attributes in a user pool as an administrator. Works on any user.

\n

Calling this action requires developer credentials.

" } }, "com.amazonaws.cognitoidentityprovider#AdminDeleteUserAttributesRequest": { @@ -932,7 +932,7 @@ "UserAttributeNames": { "target": "com.amazonaws.cognitoidentityprovider#AttributeNameListType", "traits": { - "smithy.api#documentation": "

An array of strings representing the user attribute names you wish to delete.

\n

For custom attributes, you must prepend the custom: prefix to the\n attribute name.

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

An array of strings representing the user attribute names you want to delete.

\n

For custom attributes, you must prepend the custom: prefix to the attribute name.

", "smithy.api#required": {} } } @@ -945,7 +945,7 @@ "type": "structure", "members": {}, "traits": { - "smithy.api#documentation": "

Represents the response received from the server for a request to delete user\n attributes.

" + "smithy.api#documentation": "

Represents the response received from the server for a request to delete user attributes.

" } }, "com.amazonaws.cognitoidentityprovider#AdminDeleteUserRequest": { @@ -961,7 +961,7 @@ "Username": { "target": "com.amazonaws.cognitoidentityprovider#UsernameType", "traits": { - "smithy.api#documentation": "

The user name of the user you wish to delete.

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

The user name of the user you want to delete.

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

Disables the user from signing in with the specified external (SAML or social)\n identity provider. If the user to disable is a Cognito User Pools native username +\n password user, they are not permitted to use their password to sign-in. If the user to\n disable is a linked external IdP user, any link between that user and an existing user\n is removed. The next time the external user (no longer attached to the previously linked\n DestinationUser) signs in, they must create a new user account. See\n AdminLinkProviderForUser.

\n

This action is enabled only for admin access and requires developer\n credentials.

\n

The ProviderName must match the value specified when creating an IdP for\n the pool.

\n

To disable a native username + password user, the ProviderName value must\n be Cognito and the ProviderAttributeName must be\n Cognito_Subject, with the ProviderAttributeValue being the\n name that is used in the user pool for the user.

\n

The ProviderAttributeName must always be Cognito_Subject for\n social identity providers. The ProviderAttributeValue must always be the\n exact subject that was used when the user was originally linked as a source user.

\n

For de-linking a SAML identity, there are two scenarios. If the linked identity has\n not yet been used to sign-in, the ProviderAttributeName and\n ProviderAttributeValue must be the same values that were used for the\n SourceUser when the identities were originally linked using \n AdminLinkProviderForUser call. (If the linking was done with\n ProviderAttributeName set to Cognito_Subject, the same\n applies here). However, if the user has already signed in, the\n ProviderAttributeName must be Cognito_Subject and\n ProviderAttributeValue must be the subject of the SAML\n assertion.

" + "smithy.api#documentation": "

Disables the user from signing in with the specified external (SAML or social) identity provider. If the user to disable is a Amazon Cognito User Pools native username + password user, \n they aren't permitted to use their password to sign in. If the user to deactivate is a linked external identity provider (IdP) user, any link between that user and an existing \n user is removed. The next time the external user (no longer attached to the previously linked DestinationUser) signs in, they must create a new user account. \n See AdminLinkProviderForUser.

\n

This action is enabled only for admin access and requires developer credentials.

\n

The ProviderName must match the value specified when creating an IdP for the pool.

\n

To deactivate a native username + password user, the ProviderName value must be Cognito and the ProviderAttributeName must be Cognito_Subject. \n The ProviderAttributeValue must be the name that is used in the user pool for the user.

\n

The ProviderAttributeName must always be Cognito_Subject for social identity providers. The ProviderAttributeValue must always be the exact \n subject that was used when the user was originally linked as a source user.

\n

For de-linking a SAML identity, there are two scenarios. If the linked identity has not yet been used to sign in, the ProviderAttributeName and ProviderAttributeValue \n must be the same values that were used for the SourceUser when the identities were originally linked using AdminLinkProviderForUser call. (If the linking was done \n with ProviderAttributeName set to Cognito_Subject, the same applies here). However, if the user has already signed in, the ProviderAttributeName must \n be Cognito_Subject and ProviderAttributeValue must be the subject of the SAML assertion.

" } }, "com.amazonaws.cognitoidentityprovider#AdminDisableProviderForUserRequest": { @@ -1073,7 +1073,7 @@ "Username": { "target": "com.amazonaws.cognitoidentityprovider#UsernameType", "traits": { - "smithy.api#documentation": "

The user name of the user you wish to disable.

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

The user name of the user you want to disable.

", "smithy.api#required": {} } } @@ -1086,7 +1086,7 @@ "type": "structure", "members": {}, "traits": { - "smithy.api#documentation": "

Represents the response received from the server to disable the user as an\n administrator.

" + "smithy.api#documentation": "

Represents the response received from the server to disable the user as an administrator.

" } }, "com.amazonaws.cognitoidentityprovider#AdminEnableUser": { @@ -1134,7 +1134,7 @@ "Username": { "target": "com.amazonaws.cognitoidentityprovider#UsernameType", "traits": { - "smithy.api#documentation": "

The user name of the user you wish to enable.

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

The user name of the user you want to enable.

", "smithy.api#required": {} } } @@ -1147,7 +1147,7 @@ "type": "structure", "members": {}, "traits": { - "smithy.api#documentation": "

Represents the response from the server for the request to enable a user as an\n administrator.

" + "smithy.api#documentation": "

Represents the response from the server for the request to enable a user as an administrator.

" } }, "com.amazonaws.cognitoidentityprovider#AdminForgetDevice": { @@ -1316,7 +1316,7 @@ } ], "traits": { - "smithy.api#documentation": "

Gets the specified user by user name in a user pool as an administrator. Works on any\n user.

\n

Calling this action requires developer credentials.

" + "smithy.api#documentation": "

Gets the specified user by user name in a user pool as an administrator. Works on any user.

\n

Calling this action requires developer credentials.

" } }, "com.amazonaws.cognitoidentityprovider#AdminGetUserRequest": { @@ -1325,14 +1325,14 @@ "UserPoolId": { "target": "com.amazonaws.cognitoidentityprovider#UserPoolIdType", "traits": { - "smithy.api#documentation": "

The user pool ID for the user pool where you want to get information about the\n user.

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

The user pool ID for the user pool where you want to get information about the user.

", "smithy.api#required": {} } }, "Username": { "target": "com.amazonaws.cognitoidentityprovider#UsernameType", "traits": { - "smithy.api#documentation": "

The user name of the user you wish to retrieve.

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

The user name of the user you want to retrieve.

", "smithy.api#required": {} } } @@ -1347,7 +1347,7 @@ "Username": { "target": "com.amazonaws.cognitoidentityprovider#UsernameType", "traits": { - "smithy.api#documentation": "

The user name of the user about whom you are receiving information.

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

The user name of the user about whom you're receiving information.

", "smithy.api#required": {} } }, @@ -1372,19 +1372,19 @@ "Enabled": { "target": "com.amazonaws.cognitoidentityprovider#BooleanType", "traits": { - "smithy.api#documentation": "

Indicates that the status is enabled.

" + "smithy.api#documentation": "

Indicates that the status is enabled.

" } }, "UserStatus": { "target": "com.amazonaws.cognitoidentityprovider#UserStatusType", "traits": { - "smithy.api#documentation": "

The user status. Can be one of the following:

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

The user status. Can be one of the following:

\n " } }, "MFAOptions": { "target": "com.amazonaws.cognitoidentityprovider#MFAOptionListType", "traits": { - "smithy.api#documentation": "

\n This response parameter is no longer supported. It provides\n information only about SMS MFA configurations. It doesn't provide information about TOTP\n software token MFA configurations. To look up information about either type of MFA\n configuration, use UserMFASettingList instead.

" + "smithy.api#documentation": "

\n This response parameter is no longer supported. It provides information only about SMS MFA configurations. It doesn't provide information about time-based one-time \n password (TOTP) software token MFA configurations. To look up information about either type of MFA configuration, use UserMFASettingList instead.

" } }, "PreferredMfaSetting": { @@ -1396,12 +1396,12 @@ "UserMFASettingList": { "target": "com.amazonaws.cognitoidentityprovider#UserMFASettingListType", "traits": { - "smithy.api#documentation": "

The MFA options that are enabled for the user. The possible values in this list are\n SMS_MFA and SOFTWARE_TOKEN_MFA.

" + "smithy.api#documentation": "

The MFA options that are activated for the user. The possible values in this list are SMS_MFA and SOFTWARE_TOKEN_MFA.

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

Represents the response from the server from the request to get the specified user as\n an administrator.

" + "smithy.api#documentation": "

Represents the response from the server from the request to get the specified user as an administrator.

" } }, "com.amazonaws.cognitoidentityprovider#AdminInitiateAuth": { @@ -1460,7 +1460,7 @@ } ], "traits": { - "smithy.api#documentation": "

Initiates the authentication flow, as an administrator.

\n \n \n \n

This action might generate an SMS text message. Starting June 1, 2021, U.S. \n telecom carriers require that you register an origination phone number before you can \n send SMS messages to U.S. phone numbers. If you use SMS text messages in Amazon Cognito, \n you must register a phone number with Amazon Pinpoint. \n Cognito will use the the registered number automatically. Otherwise, Cognito users that must\n receive SMS messages might be unable to sign up, activate their accounts, or sign\n in.

\n

If you have never used SMS text messages with Amazon Cognito or any other Amazon Web Service, Amazon SNS might place your account in SMS sandbox. In \n sandbox\n mode\n , you’ll have limitations, such as sending messages\n to only verified phone numbers. After testing in the sandbox environment, you can\n move out of the SMS sandbox and into production. For more information, see SMS message settings for Cognito User Pools in the Amazon\n Cognito Developer Guide.

\n
\n \n

Calling this action requires developer credentials.

" + "smithy.api#documentation": "

Initiates the authentication flow, as an administrator.

\n \n \n \n

This action might generate an SMS text message. Starting June 1, 2021, US telecom carriers require you to register an \n origination phone number before you can send SMS messages to U.S. phone numbers. If you use SMS text messages in Amazon Cognito, you must \n register a phone number with Amazon Pinpoint. Amazon Cognito will use the registered number \n automatically. Otherwise, Amazon Cognito users that must receive SMS messages might be unable to sign up, activate their accounts, \n or sign in.

\n

If you have never used SMS text messages with Amazon Cognito or any other Amazon Web Service, Amazon Simple Notification Service \n might place your account in SMS sandbox. In \n \n sandbox mode\n , you will have \n limitations, such as sending messages only to verified phone numbers. After testing in the sandbox environment, you can move \n out of the SMS sandbox and into production. For more information, see \n SMS \n message settings for Amazon Cognito User Pools in the Amazon Cognito Developer Guide.

\n
\n \n

Calling this action requires developer credentials.

" } }, "com.amazonaws.cognitoidentityprovider#AdminInitiateAuthRequest": { @@ -1483,32 +1483,32 @@ "AuthFlow": { "target": "com.amazonaws.cognitoidentityprovider#AuthFlowType", "traits": { - "smithy.api#documentation": "

The authentication flow for this call to execute. The API action will depend on this\n value. For example:

\n \n

Valid values include:

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

The authentication flow for this call to run. The API action will depend on this value. For example:

\n \n \n

Valid values include:

\n ", "smithy.api#required": {} } }, "AuthParameters": { "target": "com.amazonaws.cognitoidentityprovider#AuthParametersType", "traits": { - "smithy.api#documentation": "

The authentication parameters. These are inputs corresponding to the\n AuthFlow that you are invoking. The required values depend on the value\n of AuthFlow:

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

The authentication parameters. These are inputs corresponding to the AuthFlow that you're invoking. The required values depend on the value of AuthFlow:

\n \n " } }, "ClientMetadata": { "target": "com.amazonaws.cognitoidentityprovider#ClientMetadataType", "traits": { - "smithy.api#documentation": "

A map of custom key-value pairs that you can provide as input for certain custom\n workflows that this action triggers.

\n

You create custom workflows by assigning Lambda functions to user pool triggers.\n When you use the AdminInitiateAuth API action, Amazon Cognito invokes the Lambda\n functions that are specified for various triggers. The ClientMetadata value is passed as\n input to the functions for only the following triggers:

\n \n

When Amazon Cognito invokes the functions for these triggers, it passes a JSON\n payload, which the function receives as input. This payload contains a\n validationData attribute, which provides the data that you assigned to\n the ClientMetadata parameter in your AdminInitiateAuth request. In your function code in\n Lambda, you can process the validationData value to enhance your\n workflow for your specific needs.

\n

When you use the AdminInitiateAuth API action, Amazon Cognito also invokes the\n functions for the following triggers, but it does not provide the ClientMetadata value\n as input:

\n \n

For more information, see Customizing User Pool Workflows with Lambda Triggers in the\n Amazon Cognito Developer Guide.

\n \n

Take the following limitations into consideration when you use the ClientMetadata\n parameter:

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

A map of custom key-value pairs that you can provide as input for certain custom workflows that this action triggers.

\n

You create custom workflows by assigning Lambda functions to user pool triggers. When you use the AdminInitiateAuth API action, Amazon Cognito invokes the Lambda functions that are specified for \n various triggers. The ClientMetadata value is passed as input to the functions for only the following triggers:

\n \n

When Amazon Cognito invokes the functions for these triggers, it passes a JSON \n payload, which the function receives as input. This payload contains a validationData attribute, which provides the data that you assigned to the \n ClientMetadata parameter in your AdminInitiateAuth request. In your function code in Lambda, you can process the validationData value to enhance \n your workflow for your specific needs.

\n

When you use the AdminInitiateAuth API action, Amazon Cognito also invokes the functions for the following triggers, but it doesn't provide the ClientMetadata value as input:

\n \n

For more information, see Customizing User Pool Workflows with \n Lambda Triggers in the Amazon Cognito Developer Guide.

\n \n \n

When you use the ClientMetadata parameter, remember that Amazon Cognito won't do the following:

\n \n
" } }, "AnalyticsMetadata": { "target": "com.amazonaws.cognitoidentityprovider#AnalyticsMetadataType", "traits": { - "smithy.api#documentation": "

The analytics metadata for collecting Amazon Pinpoint metrics for\n AdminInitiateAuth calls.

" + "smithy.api#documentation": "

The analytics metadata for collecting Amazon Pinpoint metrics for AdminInitiateAuth calls.

" } }, "ContextData": { "target": "com.amazonaws.cognitoidentityprovider#ContextDataType", "traits": { - "smithy.api#documentation": "

Contextual data such as the user's device fingerprint, IP address, or location used\n for evaluating the risk of an unexpected event by Amazon Cognito advanced\n security.

" + "smithy.api#documentation": "

Contextual data such as the user's device fingerprint, IP address, or location used for evaluating the risk of an unexpected event by Amazon Cognito advanced security.

" } } }, @@ -1522,25 +1522,25 @@ "ChallengeName": { "target": "com.amazonaws.cognitoidentityprovider#ChallengeNameType", "traits": { - "smithy.api#documentation": "

The name of the challenge which you are responding to with this call. This is returned\n to you in the AdminInitiateAuth response if you need to pass another\n challenge.

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

The name of the challenge that you're responding to with this call. This is returned in the AdminInitiateAuth response if you must pass another challenge.

\n \n " } }, "Session": { "target": "com.amazonaws.cognitoidentityprovider#SessionType", "traits": { - "smithy.api#documentation": "

The session which should be passed both ways in challenge-response calls to the\n service. If AdminInitiateAuth or AdminRespondToAuthChallenge\n API call determines that the caller needs to go through another challenge, they return a\n session with other challenge parameters. This session should be passed as it is to the\n next AdminRespondToAuthChallenge API call.

" + "smithy.api#documentation": "

The session that should be passed both ways in challenge-response calls to the service. If AdminInitiateAuth or AdminRespondToAuthChallenge API call determines \n that the caller must pass another challenge, they return a session with other challenge parameters. This session should be passed as it is to the next AdminRespondToAuthChallenge \n API call.

" } }, "ChallengeParameters": { "target": "com.amazonaws.cognitoidentityprovider#ChallengeParametersType", "traits": { - "smithy.api#documentation": "

The challenge parameters. These are returned to you in the\n AdminInitiateAuth response if you need to pass another challenge. The\n responses in this parameter should be used to compute inputs to the next call\n (AdminRespondToAuthChallenge).

\n

All challenges require USERNAME and SECRET_HASH (if\n applicable).

\n

The value of the USER_ID_FOR_SRP attribute will be the user's actual\n username, not an alias (such as email address or phone number), even if you specified an\n alias in your call to AdminInitiateAuth. This is because, in the\n AdminRespondToAuthChallenge API ChallengeResponses, the\n USERNAME attribute cannot be an alias.

" + "smithy.api#documentation": "

The challenge parameters. These are returned to you in the AdminInitiateAuth response if you must pass another challenge. The responses in this parameter should be used to \n compute inputs to the next call (AdminRespondToAuthChallenge).

\n

All challenges require USERNAME and SECRET_HASH (if applicable).

\n

The value of the USER_ID_FOR_SRP attribute is the user's actual username, not an alias (such as email address or phone number), even if you specified an alias in your call \n to AdminInitiateAuth. This happens because, in the AdminRespondToAuthChallenge API ChallengeResponses, the USERNAME attribute can't be \n an alias.

" } }, "AuthenticationResult": { "target": "com.amazonaws.cognitoidentityprovider#AuthenticationResultType", "traits": { - "smithy.api#documentation": "

The result of the authentication response. This is only returned if the caller does\n not need to pass another challenge. If the caller does need to pass another challenge\n before it gets tokens, ChallengeName, ChallengeParameters, and\n Session are returned.

" + "smithy.api#documentation": "

The result of the authentication response. This is only returned if the caller doesn't need to pass another challenge. If the caller does need to pass another challenge before it gets tokens, \n ChallengeName, ChallengeParameters, and Session are returned.

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

Links an existing user account in a user pool (DestinationUser) to an\n identity from an external identity provider (SourceUser) based on a\n specified attribute name and value from the external identity provider. This allows you\n to create a link from the existing user account to an external federated user identity\n that has not yet been used to sign in, so that the federated user identity can be used\n to sign in as the existing user account.

\n

For example, if there is an existing user with a username and password, this API\n links that user to a federated user identity, so that when the federated user identity\n is used, the user signs in as the existing user account.

\n \n

The maximum number of federated identities linked to a user is 5.

\n
\n \n

Because this API allows a user with an external federated identity to sign in as\n an existing user in the user pool, it is critical that it only be used with external\n identity providers and provider attributes that have been trusted by the application\n owner.

\n
\n \n

This action is enabled only for admin access and requires developer\n credentials.

" + "smithy.api#documentation": "

Links an existing user account in a user pool (DestinationUser) to an identity from an external identity provider (SourceUser) based on a specified \n attribute name and value from the external identity provider. This allows you to create a link from the existing user account to an external federated user identity that has not \n yet been used to sign in. You can then use the federated user identity to sign in as the existing user account.

\n

For example, if there is an existing user with a username and password, this API links that user to a federated user identity. When the user signs in with a federated user \n identity, they sign in as the existing user account.

\n \n

The maximum number of federated identities linked to a user is 5.

\n
\n \n

Because this API allows a user with an external federated identity to sign in as an existing user in the user pool, it is critical that it only be used with external \n identity providers and provider attributes that have been trusted by the application owner.

\n
\n \n

This action is administrative and requires developer credentials.

" } }, "com.amazonaws.cognitoidentityprovider#AdminLinkProviderForUserRequest": { @@ -1599,14 +1599,14 @@ "DestinationUser": { "target": "com.amazonaws.cognitoidentityprovider#ProviderUserIdentifierType", "traits": { - "smithy.api#documentation": "

The existing user in the user pool to be linked to the external identity provider user\n account. Can be a native (Username + Password) Cognito User Pools user or a federated\n user (for example, a SAML or Facebook user). If the user doesn't exist, an exception is\n thrown. This is the user that is returned when the new user (with the linked identity\n provider attribute) signs in.

\n

For a native username + password user, the ProviderAttributeValue for the\n DestinationUser should be the username in the user pool. For a\n federated user, it should be the provider-specific user_id.

\n

The ProviderAttributeName of the DestinationUser is\n ignored.

\n

The ProviderName should be set to Cognito for users in\n Cognito user pools.

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

The existing user in the user pool to be linked to the external identity provider user account. Can be a native (Username + Password) Amazon Cognito User Pools user or a federated user \n (for example, a SAML or Facebook user). If the user doesn't exist, an exception is thrown. This is the user that is returned when the new user (with the linked identity provider \n attribute) signs in.

\n

For a native username + password user, the ProviderAttributeValue for the DestinationUser should be the username in the user pool. For a federated user, \n it should be the provider-specific user_id.

\n

The ProviderAttributeName of the DestinationUser is ignored.

\n

The ProviderName should be set to Cognito for users in Cognito user pools.

\n \n

All attributes in the DestinationUser profile must be mutable. If you have assigned the user any immutable custom attributes, the operation won't succeed.

\n
", "smithy.api#required": {} } }, "SourceUser": { "target": "com.amazonaws.cognitoidentityprovider#ProviderUserIdentifierType", "traits": { - "smithy.api#documentation": "

An external identity provider account for a user who does not currently exist yet in\n the user pool. This user must be a federated user (for example, a SAML or Facebook\n user), not another native user.

\n

If the SourceUser is a federated social identity provider user (Facebook,\n Google, or Login with Amazon), you must set the ProviderAttributeName to\n Cognito_Subject. For social identity providers, the\n ProviderName will be Facebook, Google, or\n LoginWithAmazon, and Cognito will automatically parse the Facebook,\n Google, and Login with Amazon tokens for id, sub, and\n user_id, respectively. The ProviderAttributeValue for the\n user must be the same value as the id, sub, or\n user_id value found in the social identity provider token.

\n

\n

For SAML, the ProviderAttributeName can be any value that matches a claim\n in the SAML assertion. If you wish to link SAML users based on the subject of the SAML\n assertion, you should map the subject to a claim through the SAML identity provider and\n submit that claim name as the ProviderAttributeName. If you set\n ProviderAttributeName to Cognito_Subject, Cognito will\n automatically parse the default unique identifier found in the subject from the SAML\n token.

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

An external identity provider account for a user who doesn't exist yet in the user pool. This user must be a federated user (for example, a SAML or Facebook user), not another native user.

\n

If the SourceUser is using a federated social identity provider, such as Facebook, Google, or Login with Amazon, you must set the ProviderAttributeName \n to Cognito_Subject. For social identity providers, the ProviderName will be Facebook, Google, or LoginWithAmazon, \n and Amazon Cognito will automatically parse the Facebook, Google, and Login with Amazon tokens for id, sub, and user_id, respectively. The \n ProviderAttributeValue for the user must be the same value as the id, sub, or user_id value found in the social identity provider token.

\n

\n

For SAML, the ProviderAttributeName can be any value that matches a claim in the SAML assertion. If you want to link SAML users based on the subject of the SAML \n assertion, you should map the subject to a claim through the SAML identity provider and submit that claim name as the ProviderAttributeName. If you set \n ProviderAttributeName to Cognito_Subject, Amazon Cognito will automatically parse the default unique identifier found in the subject from the SAML token.

", "smithy.api#required": {} } } @@ -1766,7 +1766,7 @@ "NextToken": { "target": "com.amazonaws.cognitoidentityprovider#PaginationKey", "traits": { - "smithy.api#documentation": "

An identifier that was returned from the previous call to this operation, which can be\n used to return the next set of items in the list.

" + "smithy.api#documentation": "

An identifier that was returned from the previous call to this operation, which can be used to return the next set of items in the list.

" } } } @@ -1783,7 +1783,7 @@ "NextToken": { "target": "com.amazonaws.cognitoidentityprovider#PaginationKey", "traits": { - "smithy.api#documentation": "

An identifier that was returned from the previous call to this operation, which can be\n used to return the next set of items in the list.

" + "smithy.api#documentation": "

An identifier that was returned from the previous call to this operation, which can be used to return the next set of items in the list.

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

Lists a history of user activity and any risks detected as part of Amazon Cognito\n advanced security.

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

A history of user activity and any risks detected as part of Amazon Cognito advanced security.

", "smithy.api#paginated": { "inputToken": "NextToken", "outputToken": "NextToken", @@ -1866,7 +1866,7 @@ "AuthEvents": { "target": "com.amazonaws.cognitoidentityprovider#AuthEventsType", "traits": { - "smithy.api#documentation": "

The response object. It includes the EventID, EventType,\n CreationDate, EventRisk, and\n EventResponse.

" + "smithy.api#documentation": "

The response object. It includes the EventID, EventType, CreationDate, EventRisk, and EventResponse.

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

Resets the specified user's password in a user pool as an administrator. Works on any\n user.

\n

When a developer calls this API, the current password is invalidated, so it must be\n changed. If a user tries to sign in after the API is called, the app will get a\n PasswordResetRequiredException exception back and should direct the user down the flow\n to reset the password, which is the same as the forgot password flow. In addition, if\n the user pool has phone verification selected and a verified phone number exists for the\n user, or if email verification is selected and a verified email exists for the user,\n calling this API will also result in sending a message to the end user with the code to\n change their password.

\n \n \n \n

This action might generate an SMS text message. Starting June 1, 2021, U.S. \n telecom carriers require that you register an origination phone number before you can \n send SMS messages to U.S. phone numbers. If you use SMS text messages in Amazon Cognito, \n you must register a phone number with Amazon Pinpoint. \n Cognito will use the the registered number automatically. Otherwise, Cognito users that must\n receive SMS messages might be unable to sign up, activate their accounts, or sign\n in.

\n

If you have never used SMS text messages with Amazon Cognito or any other Amazon Web Service, Amazon SNS might place your account in SMS sandbox. In \n sandbox\n mode\n , you’ll have limitations, such as sending messages\n to only verified phone numbers. After testing in the sandbox environment, you can\n move out of the SMS sandbox and into production. For more information, see SMS message settings for Cognito User Pools in the Amazon\n Cognito Developer Guide.

\n
\n \n

Calling this action requires developer credentials.

" + "smithy.api#documentation": "

Resets the specified user's password in a user pool as an administrator. Works on any user.

\n

When a developer calls this API, the current password is invalidated, so it must be changed. If a user tries to sign in after the API is called, \n the app will get a PasswordResetRequiredException exception back and should direct the user down the flow to reset the password, which is the same \n as the forgot password flow. In addition, if the user pool has phone verification selected and a verified phone number exists for the user, or if \n email verification is selected and a verified email exists for the user, calling this API will also result in sending a message to the end user \n with the code to change their password.

\n \n \n \n

This action might generate an SMS text message. Starting June 1, 2021, US telecom carriers require you to register an \n origination phone number before you can send SMS messages to U.S. phone numbers. If you use SMS text messages in Amazon Cognito, you must \n register a phone number with Amazon Pinpoint. Amazon Cognito will use the registered number \n automatically. Otherwise, Amazon Cognito users that must receive SMS messages might be unable to sign up, activate their accounts, \n or sign in.

\n

If you have never used SMS text messages with Amazon Cognito or any other Amazon Web Service, Amazon Simple Notification Service \n might place your account in SMS sandbox. In \n \n sandbox mode\n , you will have \n limitations, such as sending messages only to verified phone numbers. After testing in the sandbox environment, you can move \n out of the SMS sandbox and into production. For more information, see \n SMS \n message settings for Amazon Cognito User Pools in the Amazon Cognito Developer Guide.

\n
\n \n

Calling this action requires developer credentials.

" } }, "com.amazonaws.cognitoidentityprovider#AdminResetUserPasswordRequest": { @@ -1998,14 +1998,14 @@ "Username": { "target": "com.amazonaws.cognitoidentityprovider#UsernameType", "traits": { - "smithy.api#documentation": "

The user name of the user whose password you wish to reset.

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

The user name of the user whose password you want to reset.

", "smithy.api#required": {} } }, "ClientMetadata": { "target": "com.amazonaws.cognitoidentityprovider#ClientMetadataType", "traits": { - "smithy.api#documentation": "

A map of custom key-value pairs that you can provide as input for any custom workflows\n that this action triggers.

\n

You create custom workflows by assigning Lambda functions to user pool triggers.\n When you use the AdminResetUserPassword API action, Amazon Cognito invokes the function\n that is assigned to the custom message trigger. When Amazon Cognito\n invokes this function, it passes a JSON payload, which the function receives as input.\n This payload contains a clientMetadata attribute, which provides the data\n that you assigned to the ClientMetadata parameter in your AdminResetUserPassword\n request. In your function code in Lambda, you can process the\n clientMetadata value to enhance your workflow for your specific\n needs.

\n

For more information, see Customizing User Pool Workflows with Lambda Triggers in the\n Amazon Cognito Developer Guide.

\n \n

Take the following limitations into consideration when you use the ClientMetadata\n parameter:

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

A map of custom key-value pairs that you can provide as input for any custom workflows that this action triggers.

\n \n

You create custom workflows by assigning Lambda functions to user pool triggers. When you use the AdminResetUserPassword API action, \n Amazon Cognito invokes the function that is assigned to the custom message trigger. When Amazon Cognito invokes this function, it passes a JSON payload, \n which the function receives as input. This payload contains a clientMetadata attribute, which provides the data that you assigned to the \n ClientMetadata parameter in your AdminResetUserPassword request. In your function code in Lambda, you can process the clientMetadata \n value to enhance your workflow for your specific needs.\n

\n

For more information, see Customizing User Pool \n Workflows with Lambda Triggers in the Amazon Cognito Developer Guide.

\n \n \n

When you use the ClientMetadata parameter, remember that Amazon Cognito won't do the following:

\n \n
" } } }, @@ -2017,7 +2017,7 @@ "type": "structure", "members": {}, "traits": { - "smithy.api#documentation": "

Represents the response from the server to reset a user password as an\n administrator.

" + "smithy.api#documentation": "

Represents the response from the server to reset a user password as an administrator.

" } }, "com.amazonaws.cognitoidentityprovider#AdminRespondToAuthChallenge": { @@ -2091,7 +2091,7 @@ } ], "traits": { - "smithy.api#documentation": "

Responds to an authentication challenge, as an administrator.

\n \n \n

This action might generate an SMS text message. Starting June 1, 2021, U.S. \n telecom carriers require that you register an origination phone number before you can \n send SMS messages to U.S. phone numbers. If you use SMS text messages in Amazon Cognito, \n you must register a phone number with Amazon Pinpoint. \n Cognito will use the the registered number automatically. Otherwise, Cognito users that must\n receive SMS messages might be unable to sign up, activate their accounts, or sign\n in.

\n

If you have never used SMS text messages with Amazon Cognito or any other Amazon Web Service, Amazon SNS might place your account in SMS sandbox. In \n sandbox\n mode\n , you’ll have limitations, such as sending messages\n to only verified phone numbers. After testing in the sandbox environment, you can\n move out of the SMS sandbox and into production. For more information, see SMS message settings for Cognito User Pools in the Amazon\n Cognito Developer Guide.

\n
\n \n

Calling this action requires developer credentials.

" + "smithy.api#documentation": "

Responds to an authentication challenge, as an administrator.

\n \n \n

This action might generate an SMS text message. Starting June 1, 2021, US telecom carriers require you to register an \n origination phone number before you can send SMS messages to U.S. phone numbers. If you use SMS text messages in Amazon Cognito, you must \n register a phone number with Amazon Pinpoint. Amazon Cognito will use the registered number \n automatically. Otherwise, Amazon Cognito users that must receive SMS messages might be unable to sign up, activate their accounts, \n or sign in.

\n

If you have never used SMS text messages with Amazon Cognito or any other Amazon Web Service, Amazon Simple Notification Service \n might place your account in SMS sandbox. In \n \n sandbox mode\n , you will have \n limitations, such as sending messages only to verified phone numbers. After testing in the sandbox environment, you can move \n out of the SMS sandbox and into production. For more information, see \n SMS \n message settings for Amazon Cognito User Pools in the Amazon Cognito Developer Guide.

\n
\n \n

Calling this action requires developer credentials.

" } }, "com.amazonaws.cognitoidentityprovider#AdminRespondToAuthChallengeRequest": { @@ -2121,31 +2121,31 @@ "ChallengeResponses": { "target": "com.amazonaws.cognitoidentityprovider#ChallengeResponsesType", "traits": { - "smithy.api#documentation": "

The challenge responses. These are inputs corresponding to the value of\n ChallengeName, for example:

\n \n

The value of the USERNAME attribute must be the user's actual username,\n not an alias (such as email address or phone number). To make this easier, the\n AdminInitiateAuth response includes the actual username value in the\n USERNAMEUSER_ID_FOR_SRP attribute, even if you specified an alias in\n your call to AdminInitiateAuth.

" + "smithy.api#documentation": "

The challenge responses. These are inputs corresponding to the value of ChallengeName, for example:

\n \n \n

The value of the USERNAME attribute must be the user's actual username, not an alias (such as an email address or phone number). To make this simpler, the \n AdminInitiateAuth response includes the actual username value in the USERNAMEUSER_ID_FOR_SRP attribute. This happens even if you specified an \n alias in your call to AdminInitiateAuth.

" } }, "Session": { "target": "com.amazonaws.cognitoidentityprovider#SessionType", "traits": { - "smithy.api#documentation": "

The session which should be passed both ways in challenge-response calls to the\n service. If InitiateAuth or RespondToAuthChallenge API call\n determines that the caller needs to go through another challenge, they return a session\n with other challenge parameters. This session should be passed as it is to the next\n RespondToAuthChallenge API call.

" + "smithy.api#documentation": "

The session that should be passed both ways in challenge-response calls to the service. If an InitiateAuth or RespondToAuthChallenge API call determines \n that the caller must pass another challenge, it returns a session with other challenge parameters. This session should be passed as it is to the next RespondToAuthChallenge \n API call.

" } }, "AnalyticsMetadata": { "target": "com.amazonaws.cognitoidentityprovider#AnalyticsMetadataType", "traits": { - "smithy.api#documentation": "

The analytics metadata for collecting Amazon Pinpoint metrics for\n AdminRespondToAuthChallenge calls.

" + "smithy.api#documentation": "

The analytics metadata for collecting Amazon Pinpoint metrics for AdminRespondToAuthChallenge calls.

" } }, "ContextData": { "target": "com.amazonaws.cognitoidentityprovider#ContextDataType", "traits": { - "smithy.api#documentation": "

Contextual data such as the user's device fingerprint, IP address, or location used\n for evaluating the risk of an unexpected event by Amazon Cognito advanced\n security.

" + "smithy.api#documentation": "

Contextual data such as the user's device fingerprint, IP address, or location used for evaluating the risk of an unexpected event by Amazon Cognito advanced security.

" } }, "ClientMetadata": { "target": "com.amazonaws.cognitoidentityprovider#ClientMetadataType", "traits": { - "smithy.api#documentation": "

A map of custom key-value pairs that you can provide as input for any custom workflows\n that this action triggers.

\n

You create custom workflows by assigning Lambda functions to user pool triggers.\n When you use the AdminRespondToAuthChallenge API action, Amazon Cognito invokes any\n functions that are assigned to the following triggers: pre sign-up,\n custom message, post authentication,\n user migration, pre token generation,\n define auth challenge, create auth\n challenge, and verify auth challenge response. When\n Amazon Cognito invokes any of these functions, it passes a JSON payload, which the\n function receives as input. This payload contains a clientMetadata\n attribute, which provides the data that you assigned to the ClientMetadata parameter in\n your AdminRespondToAuthChallenge request. In your function code in Lambda, you can\n process the clientMetadata value to enhance your workflow for your specific\n needs.

\n

For more information, see Customizing User Pool Workflows with Lambda Triggers in the\n Amazon Cognito Developer Guide.

\n \n

Take the following limitations into consideration when you use the ClientMetadata\n parameter:

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

A map of custom key-value pairs that you can provide as input for any custom workflows that this action triggers.

\n

You create custom workflows by assigning Lambda functions to user pool triggers. When you use the AdminRespondToAuthChallenge API action, Amazon Cognito\n invokes any functions that are assigned to the \n following triggers: pre sign-up, custom message, post authentication, \n user migration, pre token generation, define auth challenge, create auth \n challenge, and verify auth challenge response. When Amazon Cognito invokes any of these functions, it passes a JSON \n payload, which the function receives as input. This payload contains a clientMetadata attribute, which provides the data that you assigned \n to the ClientMetadata parameter in your AdminRespondToAuthChallenge request. In your function code in Lambda, you can process the \n clientMetadata value to enhance your workflow for your specific needs.

\n

For more information, see Customizing User Pool Workflows with \n Lambda Triggers in the Amazon Cognito Developer Guide.

\n \n \n

When you use the ClientMetadata parameter, remember that Amazon Cognito won't do the following:

\n \n
" } } }, @@ -2165,7 +2165,7 @@ "Session": { "target": "com.amazonaws.cognitoidentityprovider#SessionType", "traits": { - "smithy.api#documentation": "

The session which should be passed both ways in challenge-response calls to the\n service. If the caller needs to go through another challenge, they return a session with\n other challenge parameters. This session should be passed as it is to the next\n RespondToAuthChallenge API call.

" + "smithy.api#documentation": "

The session that should be passed both ways in challenge-response calls to the service. If the caller must pass another challenge, they return a session with other challenge parameters. \n This session should be passed as it is to the next RespondToAuthChallenge API call.

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

Sets the user's multi-factor authentication (MFA) preference, including which MFA\n options are enabled and if any are preferred. Only one factor can be set as preferred.\n The preferred MFA factor will be used to authenticate a user if multiple factors are\n enabled. If multiple options are enabled and no preference is set, a challenge to choose\n an MFA option will be returned during sign in.

" + "smithy.api#documentation": "

The user's multi-factor authentication (MFA) preference, including which MFA options are activated, and if any are preferred. Only one factor can be set as preferred. The preferred \n MFA factor will be used to authenticate a user if multiple factors are activated. If multiple options are activated and no preference is set, a challenge to choose an MFA option will \n be returned during sign-in.

" } }, "com.amazonaws.cognitoidentityprovider#AdminSetUserMFAPreferenceRequest": { @@ -2287,7 +2287,7 @@ } ], "traits": { - "smithy.api#documentation": "

Sets the specified user's password in a user pool as an administrator. Works on any\n user.

\n

The password can be temporary or permanent. If it is temporary, the user status will\n be placed into the FORCE_CHANGE_PASSWORD state. When the user next tries to\n sign in, the InitiateAuth/AdminInitiateAuth response will contain the\n NEW_PASSWORD_REQUIRED challenge. If the user does not sign in before it\n expires, the user will not be able to sign in and their password will need to be reset\n by an administrator.

\n

Once the user has set a new password, or the password is permanent, the user status\n will be set to Confirmed.

" + "smithy.api#documentation": "

Sets the specified user's password in a user pool as an administrator. Works on any user.

\n

The password can be temporary or permanent. If it is temporary, the user status enters the FORCE_CHANGE_PASSWORD state. When the user next tries to sign in, \n the InitiateAuth/AdminInitiateAuth response will contain the NEW_PASSWORD_REQUIRED challenge. If the user doesn't sign in before it expires, the user won't be \n able to sign in, and an administrator must reset their password.

\n

Once the user has set a new password, or the password is permanent, the user status is set to Confirmed.

" } }, "com.amazonaws.cognitoidentityprovider#AdminSetUserPasswordRequest": { @@ -2303,7 +2303,7 @@ "Username": { "target": "com.amazonaws.cognitoidentityprovider#UsernameType", "traits": { - "smithy.api#documentation": "

The user name of the user whose password you wish to set.

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

The user name of the user whose password you want to set.

", "smithy.api#required": {} } }, @@ -2317,7 +2317,7 @@ "Permanent": { "target": "com.amazonaws.cognitoidentityprovider#BooleanType", "traits": { - "smithy.api#documentation": "

\n True if the password is permanent, False if it is\n temporary.

" + "smithy.api#documentation": "

\n True if the password is permanent, False if it is temporary.

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

\n This action is no longer supported. You can use it to configure\n only SMS MFA. You can't use it to configure TOTP software token MFA. To configure either\n type of MFA, use AdminSetUserMFAPreference instead.

" + "smithy.api#documentation": "

\n This action is no longer supported. You can use it to configure only SMS MFA. You can't use it to configure time-based one-time password (TOTP) \n software token MFA. To configure either type of MFA, \n use AdminSetUserMFAPreference instead.

" } }, "com.amazonaws.cognitoidentityprovider#AdminSetUserSettingsRequest": { @@ -2361,34 +2361,34 @@ "UserPoolId": { "target": "com.amazonaws.cognitoidentityprovider#UserPoolIdType", "traits": { - "smithy.api#documentation": "

The ID of the user pool that contains the user that you are setting options\n for.

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

The ID of the user pool that contains the user whose options you're setting.

", "smithy.api#required": {} } }, "Username": { "target": "com.amazonaws.cognitoidentityprovider#UsernameType", "traits": { - "smithy.api#documentation": "

The user name of the user that you are setting options for.

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

The user name of the user whose options you're setting.

", "smithy.api#required": {} } }, "MFAOptions": { "target": "com.amazonaws.cognitoidentityprovider#MFAOptionListType", "traits": { - "smithy.api#documentation": "

You can use this parameter only to set an SMS configuration that uses SMS for\n delivery.

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

You can use this parameter only to set an SMS configuration that uses SMS for delivery.

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

You can use this parameter to set an MFA configuration that uses the SMS delivery\n medium.

" + "smithy.api#documentation": "

You can use this parameter to set an MFA configuration that uses the SMS delivery medium.

" } }, "com.amazonaws.cognitoidentityprovider#AdminSetUserSettingsResponse": { "type": "structure", "members": {}, "traits": { - "smithy.api#documentation": "

Represents the response from the server to set user settings as an\n administrator.

" + "smithy.api#documentation": "

Represents the response from the server to set user settings as an administrator.

" } }, "com.amazonaws.cognitoidentityprovider#AdminUpdateAuthEventFeedback": { @@ -2423,7 +2423,7 @@ } ], "traits": { - "smithy.api#documentation": "

Provides feedback for an authentication event as to whether it was from a valid user.\n This feedback is used for improving the risk evaluation decision for the user pool as\n part of Amazon Cognito advanced security.

" + "smithy.api#documentation": "

Provides feedback for an authentication event indicating if it was from a valid user. This feedback is used for improving the risk evaluation decision for the user pool \n as part of Amazon Cognito advanced security.

" } }, "com.amazonaws.cognitoidentityprovider#AdminUpdateAuthEventFeedbackRequest": { @@ -2537,7 +2537,7 @@ "type": "structure", "members": {}, "traits": { - "smithy.api#documentation": "

The status response from the request to update the device, as an administrator.

" + "smithy.api#documentation": "

The status response to the request to update the device, as an administrator.

" } }, "com.amazonaws.cognitoidentityprovider#AdminUpdateUserAttributes": { @@ -2590,7 +2590,7 @@ } ], "traits": { - "smithy.api#documentation": "

Updates the specified user's attributes, including developer attributes, as an\n administrator. Works on any user.

\n

For custom attributes, you must prepend the custom: prefix to the\n attribute name.

\n

In addition to updating user attributes, this API can also be used to mark phone and\n email as verified.

\n \n \n

This action might generate an SMS text message. Starting June 1, 2021, U.S. \n telecom carriers require that you register an origination phone number before you can \n send SMS messages to U.S. phone numbers. If you use SMS text messages in Amazon Cognito, \n you must register a phone number with Amazon Pinpoint. \n Cognito will use the the registered number automatically. Otherwise, Cognito users that must\n receive SMS messages might be unable to sign up, activate their accounts, or sign\n in.

\n

If you have never used SMS text messages with Amazon Cognito or any other Amazon Web Service, Amazon SNS might place your account in SMS sandbox. In \n sandbox\n mode\n , you’ll have limitations, such as sending messages\n to only verified phone numbers. After testing in the sandbox environment, you can\n move out of the SMS sandbox and into production. For more information, see SMS message settings for Cognito User Pools in the Amazon\n Cognito Developer Guide.

\n
\n \n

Calling this action requires developer credentials.

" + "smithy.api#documentation": "

Updates the specified user's attributes, including developer attributes, as an administrator. Works on any user.

\n

For custom attributes, you must prepend the custom: prefix to the attribute name.

\n

In addition to updating user attributes, this API can also be used to mark phone and email as verified.

\n \n \n

This action might generate an SMS text message. Starting June 1, 2021, US telecom carriers require you to register an \n origination phone number before you can send SMS messages to U.S. phone numbers. If you use SMS text messages in Amazon Cognito, you must \n register a phone number with Amazon Pinpoint. Amazon Cognito will use the registered number \n automatically. Otherwise, Amazon Cognito users that must receive SMS messages might be unable to sign up, activate their accounts, \n or sign in.

\n

If you have never used SMS text messages with Amazon Cognito or any other Amazon Web Service, Amazon Simple Notification Service \n might place your account in SMS sandbox. In \n \n sandbox mode\n , you will have \n limitations, such as sending messages only to verified phone numbers. After testing in the sandbox environment, you can move \n out of the SMS sandbox and into production. For more information, see \n SMS \n message settings for Amazon Cognito User Pools in the Amazon Cognito Developer Guide.

\n
\n \n

Calling this action requires developer credentials.

" } }, "com.amazonaws.cognitoidentityprovider#AdminUpdateUserAttributesRequest": { @@ -2613,14 +2613,14 @@ "UserAttributes": { "target": "com.amazonaws.cognitoidentityprovider#AttributeListType", "traits": { - "smithy.api#documentation": "

An array of name-value pairs representing user attributes.

\n

For custom attributes, you must prepend the custom: prefix to the\n attribute name.

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

An array of name-value pairs representing user attributes.

\n

For custom attributes, you must prepend the custom: prefix to the attribute name.

", "smithy.api#required": {} } }, "ClientMetadata": { "target": "com.amazonaws.cognitoidentityprovider#ClientMetadataType", "traits": { - "smithy.api#documentation": "

A map of custom key-value pairs that you can provide as input for any custom workflows\n that this action triggers.

\n

You create custom workflows by assigning Lambda functions to user pool triggers.\n When you use the AdminUpdateUserAttributes API action, Amazon Cognito invokes the\n function that is assigned to the custom message trigger. When\n Amazon Cognito invokes this function, it passes a JSON payload, which the function\n receives as input. This payload contains a clientMetadata attribute, which\n provides the data that you assigned to the ClientMetadata parameter in your\n AdminUpdateUserAttributes request. In your function code in Lambda, you can process\n the clientMetadata value to enhance your workflow for your specific\n needs.

\n

For more information, see Customizing User Pool Workflows with Lambda Triggers in the\n Amazon Cognito Developer Guide.

\n \n

Take the following limitations into consideration when you use the ClientMetadata\n parameter:

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

A map of custom key-value pairs that you can provide as input for any custom workflows that this action triggers.

\n \n

You create custom workflows by assigning Lambda functions to user pool triggers. When you use the AdminUpdateUserAttributes API action, Amazon Cognito invokes \n the function that is assigned to the custom message trigger. When Amazon Cognito invokes this function, it passes a JSON payload, which the function receives \n as input. This payload contains a clientMetadata attribute, which provides the data that you assigned to the ClientMetadata parameter in your \n AdminUpdateUserAttributes request. In your function code in Lambda, you can process the clientMetadata value to enhance your workflow for \n your specific needs.

\n

For more information, \n see Customizing User Pool Workflows with Lambda Triggers \n in the Amazon Cognito Developer Guide.

\n \n \n

When you use the ClientMetadata parameter, remember that Amazon Cognito won't do the following:

\n \n
" } } }, @@ -2632,7 +2632,7 @@ "type": "structure", "members": {}, "traits": { - "smithy.api#documentation": "

Represents the response from the server for the request to update user attributes as\n an administrator.

" + "smithy.api#documentation": "

Represents the response from the server for the request to update user attributes as an administrator.

" } }, "com.amazonaws.cognitoidentityprovider#AdminUserGlobalSignOut": { @@ -2664,7 +2664,7 @@ } ], "traits": { - "smithy.api#documentation": "

Signs out users from all devices, as an administrator. It also invalidates all refresh\n tokens issued to a user. The user's current access and Id tokens remain valid until\n their expiry. Access and Id tokens expire one hour after they are issued.

\n

Calling this action requires developer credentials.

" + "smithy.api#documentation": "

Signs out users from all devices, as an administrator. It also invalidates all refresh tokens issued to a user. The user's current access and Id tokens remain valid until their expiry. Access and \n Id tokens expire one hour after they're issued.

\n

Calling this action requires developer credentials.

" } }, "com.amazonaws.cognitoidentityprovider#AdminUserGlobalSignOutRequest": { @@ -2751,7 +2751,7 @@ } }, "traits": { - "smithy.api#documentation": "

This exception is thrown when a user tries to confirm the account with an email or\n phone number that has already been supplied as an alias from a different account. This\n exception tells user that an account with this email or phone already exists.

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

This exception is thrown when a user tries to confirm the account with an email or phone number that has already been supplied as an alias from a different account. This exception \n tells user that an account with this email or phone already exists.

", "smithy.api#error": "client", "smithy.api#httpError": 400 } @@ -2768,13 +2768,13 @@ "ApplicationArn": { "target": "com.amazonaws.cognitoidentityprovider#ArnType", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of an Amazon Pinpoint project. You can use the Amazon\n Pinpoint project for Pinpoint integration with the chosen User Pool Client. Amazon\n Cognito publishes events to the pinpoint project declared by the app ARN.

" + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of an Amazon Pinpoint project. You can use the Amazon Pinpoint project for integration with the chosen User Pool Client. Amazon Cognito publishes events to the Amazon Pinpointproject \n declared by the app ARN.

" } }, "RoleArn": { "target": "com.amazonaws.cognitoidentityprovider#ArnType", "traits": { - "smithy.api#documentation": "

The ARN of an IAM role that authorizes Amazon Cognito to publish events to Amazon\n Pinpoint analytics.

" + "smithy.api#documentation": "

The ARN of an Identity and Access Management role that authorizes Amazon Cognito to publish events to Amazon Pinpoint analytics.

" } }, "ExternalId": { @@ -2786,12 +2786,12 @@ "UserDataShared": { "target": "com.amazonaws.cognitoidentityprovider#BooleanType", "traits": { - "smithy.api#documentation": "

If UserDataShared is true, Amazon Cognito will include user\n data in the events it publishes to Amazon Pinpoint analytics.

" + "smithy.api#documentation": "

If UserDataShared is true, Amazon Cognito will include user data in the events it publishes to Amazon Pinpoint analytics.

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

The Amazon Pinpoint analytics configuration for collecting metrics for a user\n pool.

\n \n

In regions where Pinpoint is not available, Cognito User Pools only supports\n sending events to Amazon Pinpoint projects in us-east-1. In regions where Pinpoint\n is available, Cognito User Pools will support sending events to Amazon Pinpoint\n projects within that same region.

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

The Amazon Pinpoint analytics configuration for collecting metrics for a user pool.

\n \n

In Regions where Pinpoint isn't available, User Pools only supports sending events to Amazon Pinpoint projects in us-east-1. In Regions where Pinpoint is available, User Pools will support \n sending events to Amazon Pinpoint projects within that same Region.

\n
" } }, "com.amazonaws.cognitoidentityprovider#AnalyticsMetadataType": { @@ -2805,7 +2805,7 @@ } }, "traits": { - "smithy.api#documentation": "

An Amazon Pinpoint analytics endpoint.

\n

An endpoint uniquely identifies a mobile device, email address, or phone number that\n can receive messages from Amazon Pinpoint analytics.

\n \n

Cognito User Pools only supports sending events to Amazon Pinpoint projects in the\n US East (N. Virginia) us-east-1 Region, regardless of the region in which the user\n pool resides.

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

An Amazon Pinpoint analytics endpoint.

\n

An endpoint uniquely identifies a mobile device, email address, or phone number that can receive messages from Amazon Pinpoint analytics.

\n \n

Amazon Cognito User Pools only supports sending events to Amazon Pinpoint projects in the US East (N. Virginia) us-east-1 Region, regardless of the Region in which the user pool resides.

\n
" } }, "com.amazonaws.cognitoidentityprovider#ArnType": { @@ -2847,7 +2847,7 @@ } ], "traits": { - "smithy.api#documentation": "

Returns a unique generated shared secret key code for the user account. The request\n takes an access token or a session string, but not both.

\n \n

Calling AssociateSoftwareToken immediately disassociates the existing software\n token from the user account. If the user doesn't subsequently verify the software\n token, their account is essentially set up to authenticate without MFA. If MFA\n config is set to Optional at the user pool level, the user can then login without\n MFA. However, if MFA is set to Required for the user pool, the user will be asked to\n setup a new software token MFA during sign in.

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

Returns a unique generated shared secret key code for the user account. The request takes an access token or a session string, but not both.

\n \n

Calling AssociateSoftwareToken immediately disassociates the existing software token from the user account. If the user doesn't subsequently verify the software token, \n their account is set up to authenticate without MFA. If MFA config is set to Optional at the user pool level, the user can then log in without MFA. However, if MFA is \n set to Required for the user pool, the user is asked to set up a new software token MFA during sign-in.

\n
" } }, "com.amazonaws.cognitoidentityprovider#AssociateSoftwareTokenRequest": { @@ -2862,7 +2862,7 @@ "Session": { "target": "com.amazonaws.cognitoidentityprovider#SessionType", "traits": { - "smithy.api#documentation": "

The session which should be passed both ways in challenge-response calls to the\n service. This allows authentication of the user as part of the MFA setup process.

" + "smithy.api#documentation": "

The session that should be passed both ways in challenge-response calls to the service. This allows authentication of the user as part of the MFA setup process.

" } } } @@ -2873,13 +2873,13 @@ "SecretCode": { "target": "com.amazonaws.cognitoidentityprovider#SecretCodeType", "traits": { - "smithy.api#documentation": "

A unique generated shared secret code that is used in the TOTP algorithm to generate a\n one time code.

" + "smithy.api#documentation": "

A unique generated shared secret code that is used in the time-based one-time password (TOTP) algorithm to generate a one-time code.

" } }, "Session": { "target": "com.amazonaws.cognitoidentityprovider#SessionType", "traits": { - "smithy.api#documentation": "

The session which should be passed both ways in challenge-response calls to the\n service. This allows authentication of the user as part of the MFA setup process.

" + "smithy.api#documentation": "

The session that should be passed both ways in challenge-response calls to the service. This allows authentication of the user as part of the MFA setup process.

" } } } @@ -3020,13 +3020,13 @@ "EventContextData": { "target": "com.amazonaws.cognitoidentityprovider#EventContextDataType", "traits": { - "smithy.api#documentation": "

The user context data captured at the time of an event request. It provides additional\n information about the client from which event the request is received.

" + "smithy.api#documentation": "

The user context data captured at the time of an event request. This value provides additional information about the client from which event the request is received.

" } }, "EventFeedback": { "target": "com.amazonaws.cognitoidentityprovider#EventFeedbackType", "traits": { - "smithy.api#documentation": "

A flag specifying the user feedback captured at the time of an event request is good\n or bad.

" + "smithy.api#documentation": "

A flag specifying the user feedback captured at the time of an event request is good or bad.

" } } }, @@ -3262,7 +3262,7 @@ "ChallengeName": { "target": "com.amazonaws.cognitoidentityprovider#ChallengeName", "traits": { - "smithy.api#documentation": "

The challenge name

" + "smithy.api#documentation": "

The challenge name.

" } }, "ChallengeResponse": { @@ -3466,7 +3466,7 @@ } }, "traits": { - "smithy.api#documentation": "

This exception is thrown when a verification code fails to deliver\n successfully.

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

This exception is thrown when a verification code fails to deliver successfully.

", "smithy.api#error": "client", "smithy.api#httpError": 400 } @@ -3482,7 +3482,7 @@ } }, "traits": { - "smithy.api#documentation": "

This exception is thrown if the provided code does not match what the server was\n expecting.

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

This exception is thrown if the provided code doesn't match what the server was expecting.

", "smithy.api#error": "client", "smithy.api#httpError": 400 } @@ -3509,7 +3509,7 @@ } }, "traits": { - "smithy.api#documentation": "

The compromised credentials actions type

" + "smithy.api#documentation": "

The compromised credentials actions type.

" } }, "com.amazonaws.cognitoidentityprovider#CompromisedCredentialsEventActionType": { @@ -3533,7 +3533,7 @@ "EventFilter": { "target": "com.amazonaws.cognitoidentityprovider#EventFiltersType", "traits": { - "smithy.api#documentation": "

Perform the action for these events. The default is to perform all events if no event\n filter is specified.

" + "smithy.api#documentation": "

Perform the action for these events. The default is to perform all events if no event filter is specified.

" } }, "Actions": { @@ -3559,7 +3559,7 @@ } }, "traits": { - "smithy.api#documentation": "

This exception is thrown if two or more modifications are happening\n concurrently.

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

This exception is thrown if two or more modifications are happening concurrently.

", "smithy.api#error": "client", "smithy.api#httpError": 400 } @@ -3611,7 +3611,7 @@ } ], "traits": { - "smithy.api#documentation": "

Confirms tracking of the device. This API call is the call that begins device\n tracking.

" + "smithy.api#documentation": "

Confirms tracking of the device. This API call is the call that begins device tracking.

" } }, "com.amazonaws.cognitoidentityprovider#ConfirmDeviceRequest": { @@ -3654,7 +3654,7 @@ "UserConfirmationNecessary": { "target": "com.amazonaws.cognitoidentityprovider#BooleanType", "traits": { - "smithy.api#documentation": "

Indicates whether the user confirmation is necessary to confirm the device\n response.

" + "smithy.api#documentation": "

Indicates whether the user confirmation must confirm the device response.

" } } }, @@ -3736,20 +3736,20 @@ "SecretHash": { "target": "com.amazonaws.cognitoidentityprovider#SecretHashType", "traits": { - "smithy.api#documentation": "

A keyed-hash message authentication code (HMAC) calculated using the secret key of a\n user pool client and username plus the client ID in the message.

" + "smithy.api#documentation": "

A keyed-hash message authentication code (HMAC) calculated using the secret key of a user pool client and username plus the client ID in the message.

" } }, "Username": { "target": "com.amazonaws.cognitoidentityprovider#UsernameType", "traits": { - "smithy.api#documentation": "

The user name of the user for whom you want to enter a code to retrieve a forgotten\n password.

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

The user name of the user for whom you want to enter a code to retrieve a forgotten password.

", "smithy.api#required": {} } }, "ConfirmationCode": { "target": "com.amazonaws.cognitoidentityprovider#ConfirmationCodeType", "traits": { - "smithy.api#documentation": "

The confirmation code sent by a user's request to retrieve a forgotten password. For\n more information, see ForgotPassword.

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

The confirmation code sent by a user's request to retrieve a forgotten password. For more information, \n see ForgotPassword.

", "smithy.api#required": {} } }, @@ -3763,19 +3763,19 @@ "AnalyticsMetadata": { "target": "com.amazonaws.cognitoidentityprovider#AnalyticsMetadataType", "traits": { - "smithy.api#documentation": "

The Amazon Pinpoint analytics metadata for collecting metrics for\n ConfirmForgotPassword calls.

" + "smithy.api#documentation": "

The Amazon Pinpoint analytics metadata for collecting metrics for ConfirmForgotPassword calls.

" } }, "UserContextData": { "target": "com.amazonaws.cognitoidentityprovider#UserContextDataType", "traits": { - "smithy.api#documentation": "

Contextual data such as the user's device fingerprint, IP address, or location used\n for evaluating the risk of an unexpected event by Amazon Cognito advanced\n security.

" + "smithy.api#documentation": "

Contextual data such as the user's device fingerprint, IP address, or location used for evaluating the risk of an unexpected event by Amazon Cognito advanced security.

" } }, "ClientMetadata": { "target": "com.amazonaws.cognitoidentityprovider#ClientMetadataType", "traits": { - "smithy.api#documentation": "

A map of custom key-value pairs that you can provide as input for any custom workflows\n that this action triggers.

\n

You create custom workflows by assigning Lambda functions to user pool triggers.\n When you use the ConfirmForgotPassword API action, Amazon Cognito invokes the function\n that is assigned to the post confirmation trigger. When Amazon\n Cognito invokes this function, it passes a JSON payload, which the function receives as\n input. This payload contains a clientMetadata attribute, which provides the\n data that you assigned to the ClientMetadata parameter in your ConfirmForgotPassword\n request. In your function code in Lambda, you can process the\n clientMetadata value to enhance your workflow for your specific\n needs.

\n

For more information, see Customizing User Pool Workflows with Lambda Triggers in the\n Amazon Cognito Developer Guide.

\n \n

Take the following limitations into consideration when you use the ClientMetadata\n parameter:

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

A map of custom key-value pairs that you can provide as input for any custom workflows that this action triggers.

\n

You create custom workflows by assigning Lambda functions to user pool triggers. When you use the ConfirmForgotPassword API action, Amazon Cognito \n invokes the function that is assigned to the post confirmation trigger. When Amazon Cognito invokes this function, it passes a \n JSON payload, \n which the function receives as input. This payload contains a clientMetadata attribute, which provides the data that you assigned \n to the ClientMetadata parameter in your ConfirmForgotPassword request. In your function code in Lambda, you can process the \n clientMetadata value to enhance your workflow for your specific needs.

\n

For more information, \n see Customizing User Pool Workflows with Lambda Triggers \n in the Amazon Cognito Developer Guide.

\n \n \n

When you use the ClientMetadata parameter, remember that Amazon Cognito won't do the following:

\n \n
" } } }, @@ -3787,7 +3787,7 @@ "type": "structure", "members": {}, "traits": { - "smithy.api#documentation": "

The response from the server that results from a user's request to retrieve a\n forgotten password.

" + "smithy.api#documentation": "

The response from the server that results from a user's request to retrieve a forgotten password.

" } }, "com.amazonaws.cognitoidentityprovider#ConfirmSignUp": { @@ -3844,7 +3844,7 @@ ], "traits": { "smithy.api#auth": [], - "smithy.api#documentation": "

Confirms registration of a user and handles the existing alias from a previous\n user.

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

Confirms registration of a user and handles the existing alias from a previous user.

", "smithy.api#optionalAuth": {} } }, @@ -3861,13 +3861,13 @@ "SecretHash": { "target": "com.amazonaws.cognitoidentityprovider#SecretHashType", "traits": { - "smithy.api#documentation": "

A keyed-hash message authentication code (HMAC) calculated using the secret key of a\n user pool client and username plus the client ID in the message.

" + "smithy.api#documentation": "

A keyed-hash message authentication code (HMAC) calculated using the secret key of a user pool client and username plus the client ID in the message.

" } }, "Username": { "target": "com.amazonaws.cognitoidentityprovider#UsernameType", "traits": { - "smithy.api#documentation": "

The user name of the user whose registration you wish to confirm.

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

The user name of the user whose registration you want to confirm.

", "smithy.api#required": {} } }, @@ -3881,25 +3881,25 @@ "ForceAliasCreation": { "target": "com.amazonaws.cognitoidentityprovider#ForceAliasCreation", "traits": { - "smithy.api#documentation": "

Boolean to be specified to force user confirmation irrespective of existing alias. By\n default set to False. If this parameter is set to True and the\n phone number/email used for sign up confirmation already exists as an alias with a\n different user, the API call will migrate the alias from the previous user to the newly\n created user being confirmed. If set to False, the API will throw an\n AliasExistsException error.

" + "smithy.api#documentation": "

Boolean to be specified to force user confirmation irrespective of existing alias. By default set to False. If this parameter is set to \n True and the phone number/email used for sign up confirmation already exists as an alias with a different user, the API call will migrate \n the alias from the previous user to the newly created user being confirmed. If set to False, the API will throw an \n AliasExistsException error.

" } }, "AnalyticsMetadata": { "target": "com.amazonaws.cognitoidentityprovider#AnalyticsMetadataType", "traits": { - "smithy.api#documentation": "

The Amazon Pinpoint analytics metadata for collecting metrics for\n ConfirmSignUp calls.

" + "smithy.api#documentation": "

The Amazon Pinpoint analytics metadata for collecting metrics for ConfirmSignUp calls.

" } }, "UserContextData": { "target": "com.amazonaws.cognitoidentityprovider#UserContextDataType", "traits": { - "smithy.api#documentation": "

Contextual data such as the user's device fingerprint, IP address, or location used\n for evaluating the risk of an unexpected event by Amazon Cognito advanced\n security.

" + "smithy.api#documentation": "

Contextual data such as the user's device fingerprint, IP address, or location used for evaluating the risk of an unexpected event by Amazon Cognito advanced security.

" } }, "ClientMetadata": { "target": "com.amazonaws.cognitoidentityprovider#ClientMetadataType", "traits": { - "smithy.api#documentation": "

A map of custom key-value pairs that you can provide as input for any custom workflows\n that this action triggers.

\n

You create custom workflows by assigning Lambda functions to user pool triggers.\n When you use the ConfirmSignUp API action, Amazon Cognito invokes the function that is\n assigned to the post confirmation trigger. When Amazon Cognito\n invokes this function, it passes a JSON payload, which the function receives as input.\n This payload contains a clientMetadata attribute, which provides the data\n that you assigned to the ClientMetadata parameter in your ConfirmSignUp request. In your\n function code in Lambda, you can process the clientMetadata value to\n enhance your workflow for your specific needs.

\n

For more information, see Customizing User Pool Workflows with Lambda Triggers in the\n Amazon Cognito Developer Guide.

\n \n

Take the following limitations into consideration when you use the ClientMetadata\n parameter:

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

A map of custom key-value pairs that you can provide as input for any custom workflows that this action triggers.

\n \n

You create custom workflows by assigning Lambda functions to user pool triggers. When you use the ConfirmSignUp API action, \n Amazon Cognito invokes the function that is assigned to the post confirmation trigger. When Amazon Cognito invokes this \n function, it passes a JSON payload, which the function receives as input. This payload contains a clientMetadata attribute, which \n provides the data that you assigned to the ClientMetadata parameter in your ConfirmSignUp request. In your function code in Lambda, \n you can process the clientMetadata value to enhance your workflow for your specific needs.

\n

For more information, \n see Customizing User Pool Workflows with Lambda Triggers \n in the Amazon Cognito Developer Guide.

\n \n \n

When you use the ClientMetadata parameter, remember that Amazon Cognito won't do the following:

\n \n
" } } }, @@ -3944,7 +3944,7 @@ "ServerPath": { "target": "com.amazonaws.cognitoidentityprovider#StringType", "traits": { - "smithy.api#documentation": "

Your server path where this API is invoked.

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

Your server path where this API is invoked.

", "smithy.api#required": {} } }, @@ -3958,12 +3958,12 @@ "EncodedData": { "target": "com.amazonaws.cognitoidentityprovider#StringType", "traits": { - "smithy.api#documentation": "

Encoded data containing device fingerprinting details, collected using the Amazon\n Cognito context data collection library.

" + "smithy.api#documentation": "

Encoded data containing device fingerprinting details collected using the Amazon Cognito context data collection library.

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

Contextual user data type used for evaluating the risk of an unexpected event by\n Amazon Cognito advanced security.

" + "smithy.api#documentation": "

Contextual user data type used for evaluating the risk of an unexpected event by Amazon Cognito advanced security.

" } }, "com.amazonaws.cognitoidentityprovider#CreateGroup": { @@ -4027,13 +4027,13 @@ "RoleArn": { "target": "com.amazonaws.cognitoidentityprovider#ArnType", "traits": { - "smithy.api#documentation": "

The role ARN for the group.

" + "smithy.api#documentation": "

The role Amazon Resource Name (ARN) for the group.

" } }, "Precedence": { "target": "com.amazonaws.cognitoidentityprovider#PrecedenceType", "traits": { - "smithy.api#documentation": "

A nonnegative integer value that specifies the precedence of this group relative to\n the other groups that a user can belong to in the user pool. Zero is the highest\n precedence value. Groups with lower Precedence values take precedence over\n groups with higher or null Precedence values. If a user belongs to two or\n more groups, it is the group with the lowest precedence value whose role ARN will be\n used in the cognito:roles and cognito:preferred_role claims in\n the user's tokens.

\n

Two groups can have the same Precedence value. If this happens, neither\n group takes precedence over the other. If two groups with the same\n Precedence have the same role ARN, that role is used in the\n cognito:preferred_role claim in tokens for users in each group. If the\n two groups have different role ARNs, the cognito:preferred_role claim is\n not set in users' tokens.

\n

The default Precedence value is null.

" + "smithy.api#documentation": "

A non-negative integer value that specifies the precedence of this group relative to the other groups that a user can belong to in the user pool. \n Zero is the highest precedence value. Groups with lower Precedence values take precedence over groups with higher ornull Precedence \n values. If a user belongs to two or more groups, it is the group with the lowest precedence value whose role ARN is given in the user's tokens for the \n cognito:roles and cognito:preferred_role claims.

\n

Two groups can have the same Precedence value. If this happens, neither group takes precedence over the other. If two groups with the same \n Precedence have the same role ARN, that role is used in the cognito:preferred_role claim in tokens for users in each group. If \n the two groups have different role ARNs, the cognito:preferred_role claim isn't set in users' tokens.

\n

The default Precedence value is null.

" } } } @@ -4111,14 +4111,14 @@ "ProviderDetails": { "target": "com.amazonaws.cognitoidentityprovider#ProviderDetailsType", "traits": { - "smithy.api#documentation": "

The identity provider details. The following list describes the provider detail keys\n for each identity provider type.

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

The identity provider details. The following list describes the provider detail keys for each identity provider type.

\n ", "smithy.api#required": {} } }, "AttributeMapping": { "target": "com.amazonaws.cognitoidentityprovider#AttributeMappingType", "traits": { - "smithy.api#documentation": "

A mapping of identity provider attributes to standard and custom user pool\n attributes.

" + "smithy.api#documentation": "

A mapping of identity provider attributes to standard and custom user pool attributes.

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

Creates a new OAuth2.0 resource server and defines custom scopes in it.

" + "smithy.api#documentation": "

Creates a new OAuth2.0 resource server and defines custom scopes within it.

" } }, "com.amazonaws.cognitoidentityprovider#CreateResourceServerRequest": { @@ -4186,7 +4186,7 @@ "Identifier": { "target": "com.amazonaws.cognitoidentityprovider#ResourceServerIdentifierType", "traits": { - "smithy.api#documentation": "

A unique resource server identifier for the resource server. This could be an HTTPS\n endpoint where the resource server is located. For example,\n https://my-weather-api.example.com.

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

A unique resource server identifier for the resource server. This could be an HTTPS endpoint where the resource server is located, such as https://my-weather-api.example.com.

", "smithy.api#required": {} } }, @@ -4200,7 +4200,7 @@ "Scopes": { "target": "com.amazonaws.cognitoidentityprovider#ResourceServerScopeListType", "traits": { - "smithy.api#documentation": "

A list of scopes. Each scope is map, where the keys are name and\n description.

" + "smithy.api#documentation": "

A list of scopes. Each scope is a key-value map with the keys name and description.

" } } } @@ -4265,14 +4265,14 @@ "UserPoolId": { "target": "com.amazonaws.cognitoidentityprovider#UserPoolIdType", "traits": { - "smithy.api#documentation": "

The user pool ID for the user pool that the users are being imported into.

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

The user pool ID for the user pool that the users are being imported\n into.

", "smithy.api#required": {} } }, "CloudWatchLogsRoleArn": { "target": "com.amazonaws.cognitoidentityprovider#ArnType", "traits": { - "smithy.api#documentation": "

The role ARN for the Amazon CloudWatch Logging role for the user import job.

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

The role ARN for the Amazon CloudWatch Logs Logging role for the user import job.

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

Represents the response from the server to the request to create the user import\n job.

" + "smithy.api#documentation": "

Represents the response from the server to the request to create the user import job.

" } }, "com.amazonaws.cognitoidentityprovider#CreateUserPool": { @@ -4333,7 +4333,7 @@ } ], "traits": { - "smithy.api#documentation": "

Creates a new Amazon Cognito user pool and sets the password policy for the\n pool.

\n \n \n

This action might generate an SMS text message. Starting June 1, 2021, U.S. \n telecom carriers require that you register an origination phone number before you can \n send SMS messages to U.S. phone numbers. If you use SMS text messages in Amazon Cognito, \n you must register a phone number with Amazon Pinpoint. \n Cognito will use the the registered number automatically. Otherwise, Cognito users that must\n receive SMS messages might be unable to sign up, activate their accounts, or sign\n in.

\n

If you have never used SMS text messages with Amazon Cognito or any other Amazon Web Service, Amazon SNS might place your account in SMS sandbox. In \n sandbox\n mode\n , you’ll have limitations, such as sending messages\n to only verified phone numbers. After testing in the sandbox environment, you can\n move out of the SMS sandbox and into production. For more information, see SMS message settings for Cognito User Pools in the Amazon\n Cognito Developer Guide.

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

Creates a new Amazon Cognito user pool and sets the password policy for the pool.

\n \n \n \n

This action might generate an SMS text message. Starting June 1, 2021, US telecom carriers require you to register an \n origination phone number before you can send SMS messages to U.S. phone numbers. If you use SMS text messages in Amazon Cognito, you must \n register a phone number with Amazon Pinpoint. Amazon Cognito will use the registered number \n automatically. Otherwise, Amazon Cognito users that must receive SMS messages might be unable to sign up, activate their accounts, \n or sign in.

\n

If you have never used SMS text messages with Amazon Cognito or any other Amazon Web Service, Amazon Simple Notification Service \n might place your account in SMS sandbox. In \n \n sandbox mode\n , you will have \n limitations, such as sending messages only to verified phone numbers. After testing in the sandbox environment, you can move \n out of the SMS sandbox and into production. For more information, see \n SMS \n message settings for Amazon Cognito User Pools in the Amazon Cognito Developer Guide.

\n
" } }, "com.amazonaws.cognitoidentityprovider#CreateUserPoolClient": { @@ -4371,7 +4371,7 @@ } ], "traits": { - "smithy.api#documentation": "

Creates the user pool client.

\n

When you create a new user pool client, token revocation is automatically enabled. For more information\n about revoking tokens, see RevokeToken.

" + "smithy.api#documentation": "

Creates the user pool client.

\n

When you create a new user pool client, token revocation is automatically activated. For more information about revoking tokens, \n see RevokeToken.

" } }, "com.amazonaws.cognitoidentityprovider#CreateUserPoolClientRequest": { @@ -4394,31 +4394,31 @@ "GenerateSecret": { "target": "com.amazonaws.cognitoidentityprovider#GenerateSecret", "traits": { - "smithy.api#documentation": "

Boolean to specify whether you want to generate a secret for the user pool client\n being created.

" + "smithy.api#documentation": "

Boolean to specify whether you want to generate a secret for the user pool client being created.

" } }, "RefreshTokenValidity": { "target": "com.amazonaws.cognitoidentityprovider#RefreshTokenValidityType", "traits": { - "smithy.api#documentation": "

The time limit, in days, after which the refresh token is no longer valid and cannot\n be used.

" + "smithy.api#documentation": "

The time limit, in days, after which the refresh token is no longer valid and can't be used.

" } }, "AccessTokenValidity": { "target": "com.amazonaws.cognitoidentityprovider#AccessTokenValidityType", "traits": { - "smithy.api#documentation": "

The time limit, between 5 minutes and 1 day, after which the access token is no longer\n valid and cannot be used. This value will be overridden if you have entered a value in\n TokenValidityUnits.

" + "smithy.api#documentation": "

The time limit, between 5 minutes and 1 day, after which the access token is no longer valid and can't be used. If you supply a TokenValidityUnits value, you will override \n the default time unit.

" } }, "IdTokenValidity": { "target": "com.amazonaws.cognitoidentityprovider#IdTokenValidityType", "traits": { - "smithy.api#documentation": "

The time limit, between 5 minutes and 1 day, after which the ID token is no longer\n valid and cannot be used. This value will be overridden if you have entered a value in\n TokenValidityUnits.

" + "smithy.api#documentation": "

The time limit, between 5 minutes and 1 day, after which the access token is no longer valid and can't be used. If you supply a TokenValidityUnits value, you will override \n the default time unit.

" } }, "TokenValidityUnits": { "target": "com.amazonaws.cognitoidentityprovider#TokenValidityUnitsType", "traits": { - "smithy.api#documentation": "

The units in which the validity times are represented in. Default for RefreshToken is\n days, and default for ID and access tokens are hours.

" + "smithy.api#documentation": "

The units in which the validity times are represented. Default for RefreshToken is days, and default for ID and access tokens are hours.

" } }, "ReadAttributes": { @@ -4430,25 +4430,25 @@ "WriteAttributes": { "target": "com.amazonaws.cognitoidentityprovider#ClientPermissionListType", "traits": { - "smithy.api#documentation": "

The user pool attributes that the app client can write to.

\n

If your app client allows users to sign in through an identity provider, this array\n must include all attributes that are mapped to identity provider attributes. Amazon\n Cognito updates mapped attributes when users sign in to your application through an\n identity provider. If your app client lacks write access to a mapped attribute, Amazon\n Cognito throws an error when it attempts to update the attribute. For more information,\n see Specifying Identity Provider Attribute Mappings for Your User\n Pool.

" + "smithy.api#documentation": "

The user pool attributes that the app client can write to.

\n

If your app client allows users to sign in through an identity provider, this array must include all attributes that are mapped to identity \n provider attributes. Amazon Cognito updates mapped attributes when users sign in to your application through an identity provider. If your app client \n lacks write access to a mapped attribute, Amazon Cognito throws an error when it tries to update the attribute. For more information, see \n Specifying Identity \n Provider Attribute Mappings for Your User Pool.

" } }, "ExplicitAuthFlows": { "target": "com.amazonaws.cognitoidentityprovider#ExplicitAuthFlowsListType", "traits": { - "smithy.api#documentation": "

The authentication flows that are supported by the user pool clients. Flow names\n without the ALLOW_ prefix are deprecated in favor of new names with the\n ALLOW_ prefix. Note that values with ALLOW_ prefix cannot\n be used along with values without ALLOW_ prefix.

\n

Valid values include:

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

The authentication flows that are supported by the user pool clients. Flow names without the ALLOW_ prefix are no longer supported, \n in favor of new names with the ALLOW_ prefix. \n Note that values with ALLOW_ prefix must be used only along with the ALLOW_ prefix.

\n

Valid values include:

\n \n " } }, "SupportedIdentityProviders": { "target": "com.amazonaws.cognitoidentityprovider#SupportedIdentityProvidersListType", "traits": { - "smithy.api#documentation": "

A list of provider names for the identity providers that are supported on this client.\n The following are supported: COGNITO, Facebook,\n Google and LoginWithAmazon.

" + "smithy.api#documentation": "

A list of provider names for the identity providers that are supported on this client. The following are supported: COGNITO, Facebook, Google \n and LoginWithAmazon.

" } }, "CallbackURLs": { "target": "com.amazonaws.cognitoidentityprovider#CallbackURLsListType", "traits": { - "smithy.api#documentation": "

A list of allowed redirect (callback) URLs for the identity providers.

\n

A redirect URI must:

\n \n

See OAuth 2.0 -\n Redirection Endpoint.

\n

Amazon Cognito requires HTTPS over HTTP except for http://localhost for testing\n purposes only.

\n

App callback URLs such as myapp://example are also supported.

" + "smithy.api#documentation": "

A list of allowed redirect (callback) URLs for the identity providers.

\n

A redirect URI must:

\n \n

See OAuth 2.0 - Redirection Endpoint.

\n

Amazon Cognito requires HTTPS over HTTP except for http://localhost for testing purposes only.

\n

App callback URLs such as myapp://example are also supported.

" } }, "LogoutURLs": { @@ -4460,43 +4460,43 @@ "DefaultRedirectURI": { "target": "com.amazonaws.cognitoidentityprovider#RedirectUrlType", "traits": { - "smithy.api#documentation": "

The default redirect URI. Must be in the CallbackURLs list.

\n

A redirect URI must:

\n \n

See OAuth 2.0 -\n Redirection Endpoint.

\n

Amazon Cognito requires HTTPS over HTTP except for http://localhost for testing\n purposes only.

\n

App callback URLs such as myapp://example are also supported.

" + "smithy.api#documentation": "

The default redirect URI. Must be in the CallbackURLs list.

\n

A redirect URI must:

\n \n

See OAuth 2.0 - Redirection Endpoint.

\n

Amazon Cognito requires HTTPS over HTTP except for http://localhost for testing purposes only.

\n

App callback URLs such as myapp://example are also supported.

" } }, "AllowedOAuthFlows": { "target": "com.amazonaws.cognitoidentityprovider#OAuthFlowsType", "traits": { - "smithy.api#documentation": "

The allowed OAuth flows.

\n

Set to code to initiate a code grant flow, which provides an\n authorization code as the response. This code can be exchanged for access tokens with\n the token endpoint.

\n

Set to implicit to specify that the client should get the access token\n (and, optionally, ID token, based on scopes) directly.

\n

Set to client_credentials to specify that the client should get the\n access token (and, optionally, ID token, based on scopes) from the token endpoint using\n a combination of client and client_secret.

" + "smithy.api#documentation": "

The allowed OAuth flows.

\n

Set to code to initiate a code grant flow, which provides an authorization code as the response. This code can be exchanged for access tokens with the token endpoint.

\n

Set to implicit to specify that the client should get the access token (and, optionally, ID token, based on scopes) directly.

\n

Set to client_credentials to specify that the client should get the access token (and, optionally, ID token, based on scopes) from the token endpoint using a \n combination of client and client_secret.

" } }, "AllowedOAuthScopes": { "target": "com.amazonaws.cognitoidentityprovider#ScopeListType", "traits": { - "smithy.api#documentation": "

The allowed OAuth scopes. Possible values provided by OAuth are: phone,\n email, openid, and profile. Possible values\n provided by Amazon Web Services are: aws.cognito.signin.user.admin. Custom scopes created\n in Resource Servers are also supported.

" + "smithy.api#documentation": "

The allowed OAuth scopes. Possible values provided by OAuth are: phone, email, openid, and profile. Possible values \n provided by Amazon Web Services are: aws.cognito.signin.user.admin. Custom scopes created in Resource Servers are also supported.

" } }, "AllowedOAuthFlowsUserPoolClient": { "target": "com.amazonaws.cognitoidentityprovider#BooleanType", "traits": { - "smithy.api#documentation": "

Set to true if the client is allowed to follow the OAuth protocol when interacting\n with Cognito user pools.

" + "smithy.api#documentation": "

Set to true if the client is allowed to follow the OAuth protocol when interacting with Amazon Cognito user pools.

" } }, "AnalyticsConfiguration": { "target": "com.amazonaws.cognitoidentityprovider#AnalyticsConfigurationType", "traits": { - "smithy.api#documentation": "

The Amazon Pinpoint analytics configuration for collecting metrics for this user\n pool.

\n \n

In regions where Pinpoint is not available, Cognito User Pools only supports\n sending events to Amazon Pinpoint projects in us-east-1. In regions where Pinpoint\n is available, Cognito User Pools will support sending events to Amazon Pinpoint\n projects within that same region.

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

The Amazon Pinpoint analytics configuration for collecting metrics for this user pool.

\n \n

In Amazon Web Services Regions where isn't available, User Pools only supports sending events to Amazon Pinpoint projects in Amazon Web Services Region us-east-1. In Regions where is available, User Pools will support \n sending events to Amazon Pinpoint projects within that same Region.

\n
" } }, "PreventUserExistenceErrors": { "target": "com.amazonaws.cognitoidentityprovider#PreventUserExistenceErrorTypes", "traits": { - "smithy.api#documentation": "

Use this setting to choose which errors and responses are returned by Cognito APIs\n during authentication, account confirmation, and password recovery when the user does\n not exist in the user pool. When set to ENABLED and the user does not\n exist, authentication returns an error indicating either the username or password was\n incorrect, and account confirmation and password recovery return a response indicating a\n code was sent to a simulated destination. When set to LEGACY, those APIs\n will return a UserNotFoundException exception if the user does not exist in\n the user pool.

\n

Valid values include:

\n \n \n \n \n

After February 15th 2020, the value of PreventUserExistenceErrors\n will default to ENABLED for newly created user pool clients if no value\n is provided.

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

Errors and responses that you want Amazon Cognito APIs to return during authentication, account confirmation, and password recovery when the user doesn't exist in the user \n pool. When set to ENABLED and the user doesn't exist, authentication returns an error indicating either the username or password was incorrect. \n Account confirmation and password recovery return a response indicating a code was sent to a simulated destination. When set to LEGACY, those \n APIs return a UserNotFoundException exception if the user doesn't exist in the user pool.

\n

Valid values include:

\n \n " } }, "EnableTokenRevocation": { "target": "com.amazonaws.cognitoidentityprovider#WrappedBooleanType", "traits": { - "smithy.api#documentation": "

Enables or disables token revocation. For more information\n about revoking tokens, see RevokeToken.

\n

If you don't include this parameter, token revocation is automatically enabled for the new user pool client.

" + "smithy.api#documentation": "

Activates or deactivates token revocation. For more information about revoking tokens, \n see RevokeToken.

\n

If you don't include this parameter, token revocation is automatically activated for the new user pool client.

" } } }, @@ -4553,7 +4553,7 @@ "Domain": { "target": "com.amazonaws.cognitoidentityprovider#DomainType", "traits": { - "smithy.api#documentation": "

The domain string.

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

The domain string. For custom domains, this is the fully-qualified domain name, such as auth.example.com. For Amazon Cognito prefix domains, this is the prefix alone, \n such as auth.

", "smithy.api#required": {} } }, @@ -4567,7 +4567,7 @@ "CustomDomainConfig": { "target": "com.amazonaws.cognitoidentityprovider#CustomDomainConfigType", "traits": { - "smithy.api#documentation": "

The configuration for a custom domain that hosts the sign-up and sign-in webpages for\n your application.

\n

Provide this parameter only if you want to use a custom domain for your user pool.\n Otherwise, you can exclude this parameter and use the Amazon Cognito hosted domain\n instead.

\n

For more information about the hosted domain and custom domains, see Configuring a User Pool Domain.

" + "smithy.api#documentation": "

The configuration for a custom domain that hosts the sign-up and sign-in webpages for your application.

\n

Provide this parameter only if you want to use a custom domain for your user pool. Otherwise, you can exclude this parameter and use the Amazon Cognito hosted domain instead.

\n

For more information about the hosted domain and custom domains, \n see Configuring a User Pool Domain.

" } } } @@ -4578,7 +4578,7 @@ "CloudFrontDomain": { "target": "com.amazonaws.cognitoidentityprovider#DomainType", "traits": { - "smithy.api#documentation": "

The Amazon CloudFront endpoint that you use as the target of the alias that you set up\n with your Domain Name Service (DNS) provider.

" + "smithy.api#documentation": "

The Amazon CloudFront endpoint that you use as the target of the alias that you set up with your Domain Name Service (DNS) provider.

" } } } @@ -4602,7 +4602,7 @@ "LambdaConfig": { "target": "com.amazonaws.cognitoidentityprovider#LambdaConfigType", "traits": { - "smithy.api#documentation": "

The Lambda trigger configuration information for the new user pool.

\n \n

In a push model, event sources (such as Amazon S3 and custom applications) need\n permission to invoke a function. So you will need to make an extra call to add\n permission for these event sources to invoke your Lambda function.

\n

\n

For more information on using the Lambda API to add permission, see \n AddPermission .

\n

For adding permission using the CLI, see add-permission\n .

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

The Lambda trigger configuration information for the new user pool.

\n \n

In a push model, event sources (such as Amazon S3 and custom applications) need permission to invoke a function. So you must make an \n extra call to add permission for these event sources to invoke your Lambda function.

\n

\n

For more information on using the Lambda API \n to add permission, see AddPermission .

\n

For adding permission using the CLI, see add-permission .

\n
" } }, "AutoVerifiedAttributes": { @@ -4614,13 +4614,13 @@ "AliasAttributes": { "target": "com.amazonaws.cognitoidentityprovider#AliasAttributesListType", "traits": { - "smithy.api#documentation": "

Attributes supported as an alias for this user pool. Possible values: phone_number, email, or\n preferred_username.

" + "smithy.api#documentation": "

Attributes supported as an alias for this user pool. Possible values: phone_number, email, or \n preferred_username.

" } }, "UsernameAttributes": { "target": "com.amazonaws.cognitoidentityprovider#UsernameAttributesListType", "traits": { - "smithy.api#documentation": "

Specifies whether email addresses or phone numbers can be specified as usernames when\n a user signs up.

" + "smithy.api#documentation": "

Specifies whether a user can use an email address or phone number as a username when they sign up.

" } }, "SmsVerificationMessage": { @@ -4632,19 +4632,19 @@ "EmailVerificationMessage": { "target": "com.amazonaws.cognitoidentityprovider#EmailVerificationMessageType", "traits": { - "smithy.api#documentation": "

A string representing the email verification message. EmailVerificationMessage is\n allowed only if EmailSendingAccount is DEVELOPER.

" + "smithy.api#documentation": "

A string representing the email verification message. EmailVerificationMessage is allowed only if \n EmailSendingAccount is DEVELOPER.

" } }, "EmailVerificationSubject": { "target": "com.amazonaws.cognitoidentityprovider#EmailVerificationSubjectType", "traits": { - "smithy.api#documentation": "

A string representing the email verification subject. EmailVerificationSubject is\n allowed only if EmailSendingAccount is DEVELOPER.

" + "smithy.api#documentation": "

A string representing the email verification subject. EmailVerificationSubject is allowed only if \n EmailSendingAccount is DEVELOPER.

" } }, "VerificationMessageTemplate": { "target": "com.amazonaws.cognitoidentityprovider#VerificationMessageTemplateType", "traits": { - "smithy.api#documentation": "

The template for the verification message that the user sees when the app requests\n permission to access the user's information.

" + "smithy.api#documentation": "

The template for the verification message that the user sees when the app requests permission to access the user's information.

" } }, "SmsAuthenticationMessage": { @@ -4680,7 +4680,7 @@ "UserPoolTags": { "target": "com.amazonaws.cognitoidentityprovider#UserPoolTagsType", "traits": { - "smithy.api#documentation": "

The tag keys and values to assign to the user pool. A tag is a label that you can use\n to categorize and manage user pools in different ways, such as by purpose, owner,\n environment, or other criteria.

" + "smithy.api#documentation": "

The tag keys and values to assign to the user pool. A tag is a label that you can use to categorize and manage user pools in different ways, such as by purpose, owner, environment, \n or other criteria.

" } }, "AdminCreateUserConfig": { @@ -4692,25 +4692,25 @@ "Schema": { "target": "com.amazonaws.cognitoidentityprovider#SchemaAttributesListType", "traits": { - "smithy.api#documentation": "

An array of schema attributes for the new user pool. These attributes can be standard\n or custom attributes.

" + "smithy.api#documentation": "

An array of schema attributes for the new user pool. These attributes can be standard or custom attributes.

" } }, "UserPoolAddOns": { "target": "com.amazonaws.cognitoidentityprovider#UserPoolAddOnsType", "traits": { - "smithy.api#documentation": "

Used to enable advanced security risk detection. Set the key\n AdvancedSecurityMode to the value \"AUDIT\".

" + "smithy.api#documentation": "

Enables advanced security risk detection. Set the key AdvancedSecurityMode to the value \"AUDIT\".

" } }, "UsernameConfiguration": { "target": "com.amazonaws.cognitoidentityprovider#UsernameConfigurationType", "traits": { - "smithy.api#documentation": "

You can choose to set case sensitivity on the username input for the selected sign-in\n option. For example, when this is set to False, users will be able to sign\n in using either \"username\" or \"Username\". This configuration is immutable once it has\n been set. For more information, see UsernameConfigurationType.

" + "smithy.api#documentation": "

Case sensitivity on the username input for the selected sign-in option. For example, when case sensitivity is set to False, users can sign in using either \"username\" \n or \"Username\". This configuration is immutable once it has been set. For more information, \n see UsernameConfigurationType.

" } }, "AccountRecoverySetting": { "target": "com.amazonaws.cognitoidentityprovider#AccountRecoverySettingType", "traits": { - "smithy.api#documentation": "

Use this setting to define which verified available method a user can use to recover\n their password when they call ForgotPassword. It allows you to define a\n preferred method when a user has more than one method available. With this setting, SMS\n does not qualify for a valid password recovery mechanism if the user also has SMS MFA\n enabled. In the absence of this setting, Cognito uses the legacy behavior to determine\n the recovery method where SMS is preferred over email.

" + "smithy.api#documentation": "

The available verified method a user can use to recover their password when they call ForgotPassword. You can use this setting to define a \n preferred method when a user has more than one method available. With this setting, SMS doesn't qualify for a valid password recovery mechanism if the \n user also has SMS multi-factor authentication (MFA) activated. In the absence of this setting, Amazon Cognito uses the legacy behavior to determine the recovery method \n where SMS is preferred through email.

" } } }, @@ -4760,13 +4760,13 @@ "CertificateArn": { "target": "com.amazonaws.cognitoidentityprovider#ArnType", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of an Certificate Manager SSL certificate. You use\n this certificate for the subdomain of your custom domain.

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

The Amazon Resource Name (ARN) of an Certificate Manager SSL certificate. You use this certificate for the subdomain of your custom domain.

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

The configuration for a custom domain that hosts the sign-up and sign-in webpages for\n your application.

" + "smithy.api#documentation": "

The configuration for a custom domain that hosts the sign-up and sign-in webpages for your application.

" } }, "com.amazonaws.cognitoidentityprovider#CustomEmailLambdaVersionConfigType": { @@ -4775,14 +4775,14 @@ "LambdaVersion": { "target": "com.amazonaws.cognitoidentityprovider#CustomEmailSenderLambdaVersionType", "traits": { - "smithy.api#documentation": "

The Lambda version represents the signature of the \"request\" attribute in the \"event\"\n information Amazon Cognito passes to your custom email Lambda function. The only\n supported value is V1_0.

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

Signature of the \"request\" attribute in the \"event\" information Amazon Cognito passes to your custom email Lambda function. The only supported value is V1_0.

", "smithy.api#required": {} } }, "LambdaArn": { "target": "com.amazonaws.cognitoidentityprovider#ArnType", "traits": { - "smithy.api#documentation": "

The Lambda Amazon Resource Name of the Lambda function that Amazon Cognito triggers to\n send email notifications to users.

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

The Amazon Resource Name (ARN) of the Lambda function that Amazon Cognito activates to send email notifications to users.

", "smithy.api#required": {} } } @@ -4808,14 +4808,14 @@ "LambdaVersion": { "target": "com.amazonaws.cognitoidentityprovider#CustomSMSSenderLambdaVersionType", "traits": { - "smithy.api#documentation": "

The Lambda version represents the signature of the \"request\" attribute in the \"event\"\n information Amazon Cognito passes to your custom SMS Lambda function. The only supported\n value is V1_0.

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

Signature of the \"request\" attribute in the \"event\" information that Amazon Cognito passes to your custom SMS Lambda function. The only supported value is V1_0.

", "smithy.api#required": {} } }, "LambdaArn": { "target": "com.amazonaws.cognitoidentityprovider#ArnType", "traits": { - "smithy.api#documentation": "

The Lambda Amazon Resource Name of the Lambda function that Amazon Cognito triggers to\n send SMS notifications to users.

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

The Amazon Resource Name (ARN) of the Lambda function that Amazon Cognito activates to send SMS notifications to users.

", "smithy.api#required": {} } } @@ -5074,7 +5074,7 @@ "UserAttributeNames": { "target": "com.amazonaws.cognitoidentityprovider#AttributeNameListType", "traits": { - "smithy.api#documentation": "

An array of strings representing the user attribute names you wish to delete.

\n

For custom attributes, you must prepend the custom: prefix to the\n attribute name.

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

An array of strings representing the user attribute names you want to delete.

\n

For custom attributes, you must prependattach the custom: prefix to the front of the attribute name.

", "smithy.api#required": {} } }, @@ -5206,7 +5206,7 @@ "Domain": { "target": "com.amazonaws.cognitoidentityprovider#DomainType", "traits": { - "smithy.api#documentation": "

The domain string.

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

The domain string. For custom domains, this is the fully-qualified domain name, such as auth.example.com. For Amazon Cognito prefix domains, this is the prefix alone, \n such as auth.

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

Represents the response from the server to the request to describe the user import\n job.

" + "smithy.api#documentation": "

Represents the response from the server to the request to describe the user import job.

" } }, "com.amazonaws.cognitoidentityprovider#DescribeUserPool": { @@ -5579,7 +5579,7 @@ } ], "traits": { - "smithy.api#documentation": "

Client method for returning the configuration information and metadata of the\n specified user pool app client.

" + "smithy.api#documentation": "

Client method for returning the configuration information and metadata of the specified user pool app client.

" } }, "com.amazonaws.cognitoidentityprovider#DescribeUserPoolClientRequest": { @@ -5615,7 +5615,7 @@ } }, "traits": { - "smithy.api#documentation": "

Represents the response from the server from a request to describe the user pool\n client.

" + "smithy.api#documentation": "

Represents the response from the server from a request to describe the user pool client.

" } }, "com.amazonaws.cognitoidentityprovider#DescribeUserPoolDomain": { @@ -5650,7 +5650,7 @@ "Domain": { "target": "com.amazonaws.cognitoidentityprovider#DomainType", "traits": { - "smithy.api#documentation": "

The domain string.

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

The domain string. For custom domains, this is the fully-qualified domain name, such as auth.example.com. For Amazon Cognito prefix domains, this is the prefix alone, \n such as auth.

", "smithy.api#required": {} } } @@ -5711,18 +5711,18 @@ "ChallengeRequiredOnNewDevice": { "target": "com.amazonaws.cognitoidentityprovider#BooleanType", "traits": { - "smithy.api#documentation": "

Indicates whether a challenge is required on a new device. Only applicable to a new\n device.

" + "smithy.api#documentation": "

When true, device authentication can replace SMS and time-based one-time password (TOTP) factors for multi-factor authentication (MFA).

\n \n

Users that sign in with devices that have not been confirmed or remembered will still have to provide a second factor, whether or not ChallengeRequiredOnNewDevice is true, when your user \n pool requires MFA.

\n
" } }, "DeviceOnlyRememberedOnUserPrompt": { "target": "com.amazonaws.cognitoidentityprovider#BooleanType", "traits": { - "smithy.api#documentation": "

If true, a device is only remembered on user prompt.

" + "smithy.api#documentation": "

When true, users can opt in to remembering their device. Your app code must use callback functions to return the user's choice.

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

The configuration for the user pool's device tracking.

" + "smithy.api#documentation": "

The device tracking configuration for a user pool. A user pool with device tracking deactivated returns a null value.

\n \n

When you provide values for any DeviceConfiguration field, you activate device tracking.

\n
" } }, "com.amazonaws.cognitoidentityprovider#DeviceKeyType": { @@ -5782,7 +5782,7 @@ } }, "traits": { - "smithy.api#documentation": "

The device verifier against which it will be authenticated.

" + "smithy.api#documentation": "

The device verifier against which it is authenticated.

" } }, "com.amazonaws.cognitoidentityprovider#DeviceType": { @@ -5815,7 +5815,7 @@ "DeviceLastAuthenticatedDate": { "target": "com.amazonaws.cognitoidentityprovider#DateType", "traits": { - "smithy.api#documentation": "

The date in which the device was last authenticated.

" + "smithy.api#documentation": "

The date when the device was last authenticated.

" } } }, @@ -5835,25 +5835,25 @@ "AWSAccountId": { "target": "com.amazonaws.cognitoidentityprovider#AWSAccountIdType", "traits": { - "smithy.api#documentation": "

The account ID for the user pool owner.

" + "smithy.api#documentation": "

The Amazon Web Services ID for the user pool owner.

" } }, "Domain": { "target": "com.amazonaws.cognitoidentityprovider#DomainType", "traits": { - "smithy.api#documentation": "

The domain string.

" + "smithy.api#documentation": "

The domain string. For custom domains, this is the fully-qualified domain name, such as auth.example.com. For Amazon Cognito prefix domains, this is the prefix alone, such as auth.

" } }, "S3Bucket": { "target": "com.amazonaws.cognitoidentityprovider#S3BucketType", "traits": { - "smithy.api#documentation": "

The S3 bucket where the static files for this domain are stored.

" + "smithy.api#documentation": "

The Amazon S3 bucket where the static files for this domain are stored.

" } }, "CloudFrontDistribution": { "target": "com.amazonaws.cognitoidentityprovider#StringType", "traits": { - "smithy.api#documentation": "

The ARN of the CloudFront distribution.

" + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the Amazon CloudFront distribution.

" } }, "Version": { @@ -5871,7 +5871,7 @@ "CustomDomainConfig": { "target": "com.amazonaws.cognitoidentityprovider#CustomDomainConfigType", "traits": { - "smithy.api#documentation": "

The configuration for a custom domain that hosts the sign-up and sign-in webpages for\n your application.

" + "smithy.api#documentation": "

The configuration for a custom domain that hosts the sign-up and sign-in webpages for your application.

" } } }, @@ -5933,7 +5933,7 @@ } }, "traits": { - "smithy.api#documentation": "

This exception is thrown when the provider is already supported by the user\n pool.

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

This exception is thrown when the provider is already supported by the user pool.

", "smithy.api#error": "client", "smithy.api#httpError": 400 } @@ -5950,36 +5950,36 @@ "SourceArn": { "target": "com.amazonaws.cognitoidentityprovider#ArnType", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of a verified email address in Amazon SES. This email\n address is used in one of the following ways, depending on the value that you specify\n for the EmailSendingAccount parameter:

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

The ARN of a verified email address in Amazon SES. Amazon Cognito uses this email address in one of the following ways, depending on the value that you specify for the EmailSendingAccount \n parameter:

\n " } }, "ReplyToEmailAddress": { "target": "com.amazonaws.cognitoidentityprovider#EmailAddressType", "traits": { - "smithy.api#documentation": "

The destination to which the receiver of the email should reply to.

" + "smithy.api#documentation": "

The destination to which the receiver of the email should reply.

" } }, "EmailSendingAccount": { "target": "com.amazonaws.cognitoidentityprovider#EmailSendingAccountType", "traits": { - "smithy.api#documentation": "

Specifies whether Amazon Cognito emails your users by using its built-in email\n functionality or your Amazon SES email configuration. Specify one of the following\n values:

\n
\n
COGNITO_DEFAULT
\n
\n

When Amazon Cognito emails your users, it uses its built-in email\n functionality. When you use the default option, Amazon Cognito allows only a\n limited number of emails each day for your user pool. For typical production\n environments, the default email limit is below the required delivery volume.\n To achieve a higher delivery volume, specify DEVELOPER to use your Amazon\n SES email configuration.

\n

To look up the email delivery limit for the default option, see Limits in Amazon Cognito in the Amazon Cognito\n Developer Guide.

\n

The default FROM address is no-reply@verificationemail.com. To customize\n the FROM address, provide the ARN of an Amazon SES verified email address\n for the SourceArn parameter.

\n

If EmailSendingAccount is COGNITO_DEFAULT, the following parameters\n aren't allowed:

\n \n \n

DEVELOPER EmailSendingAccount is required.

\n
\n
\n
DEVELOPER
\n
\n

When Amazon Cognito emails your users, it uses your Amazon SES\n configuration. Amazon Cognito calls Amazon SES on your behalf to send email\n from your verified email address. When you use this option, the email\n delivery limits are the same limits that apply to your Amazon SES verified\n email address in your account.

\n

If you use this option, you must provide the ARN of an Amazon SES verified\n email address for the SourceArn parameter.

\n

Before Amazon Cognito can email your users, it requires additional\n permissions to call Amazon SES on your behalf. When you update your user\n pool with this option, Amazon Cognito creates a service-linked\n role, which is a type of IAM role, in your account. This\n role contains the permissions that allow Amazon Cognito to access Amazon SES\n and send email messages with your address. For more information about the\n service-linked role that Amazon Cognito creates, see Using Service-Linked Roles for Amazon\n Cognito in the Amazon Cognito Developer\n Guide.

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

Specifies whether Amazon Cognito emails your users by using its built-in email functionality or your Amazon Simple Email Service email configuration. Specify one of the following values:

\n
\n
COGNITO_DEFAULT
\n
\n

When Amazon Cognito emails your users, it uses its built-in email functionality. When you use the default option, Amazon Cognito allows only a limited number of emails each day for your user pool. \n For typical production environments, the default email limit is less than the required delivery volume. To achieve a higher delivery volume, specify DEVELOPER to use your Amazon SES email \n configuration.

\n

To look up the email delivery limit for the default option, see Limits in in the \n Developer Guide.

\n

The default FROM address is no-reply@verificationemail.com. To customize the FROM address, provide the Amazon Resource Name (ARN) of an Amazon SES verified email address \n for the SourceArn parameter.

\n

If EmailSendingAccount is COGNITO_DEFAULT, you can't use the following parameters:

\n \n \n

DEVELOPER EmailSendingAccount is required.

\n
\n
\n
DEVELOPER
\n
\n

When Amazon Cognito emails your users, it uses your Amazon SES configuration. Amazon Cognito calls Amazon SES on your behalf to send email from your verified email address. When you use this \n option, the email delivery limits are the same limits that apply to your Amazon SES verified email address in your Amazon Web Services account.

\n

If you use this option, you must provide the ARN of an Amazon SES verified email address for the SourceArn parameter.

\n

Before Amazon Cognito can email your users, it requires additional permissions to call\n Amazon SES on your behalf. When you update your user pool with this option, Amazon Cognito\n creates a service-linked role, which is a type of role,\n in your Amazon Web Services account. This role contains the permissions that\n allow to access Amazon SES and send email messages with your address. For more\n information about the service-linked role that Amazon Cognito creates, see Using Service-Linked Roles for Amazon Cognito in the\n Amazon Cognito Developer Guide.

\n
\n
" } }, "From": { "target": "com.amazonaws.cognitoidentityprovider#StringType", "traits": { - "smithy.api#documentation": "

Identifies either the sender’s email address or the sender’s name with their email\n address. For example, testuser@example.com or Test User\n . This address will appear before the body of the\n email.

" + "smithy.api#documentation": "

Either the sender’s email address or the sender’s name with their email address. For example, testuser@example.com or \n Test User . This address appears before the body of the email.

" } }, "ConfigurationSet": { "target": "com.amazonaws.cognitoidentityprovider#SESConfigurationSet", "traits": { - "smithy.api#documentation": "

The set of configuration rules that can be applied to emails sent using Amazon SES. A\n configuration set is applied to an email by including a reference to the configuration\n set in the headers of the email. Once applied, all of the rules in that configuration\n set are applied to the email. Configuration sets can be used to apply the following\n types of rules to emails:

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

The set of configuration rules that can be applied to emails sent using Amazon Simple Email Service. A configuration set is applied to an email by including a reference to the configuration \n set in the headers of the email. Once applied, all of the rules in that configuration set are applied to the email. Configuration sets can be used to apply the following \n types of rules to emails:

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

The email configuration type.

\n \n

Amazon Cognito has specific regions for use with Amazon SES. For more information\n on the supported regions, see Email Settings for Amazon Cognito User Pools.

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

The email configuration type.

\n \n

Amazon Cognito has specific Regions for use with Amazon Simple Email Service. For more information on the supported Regions, see Email \n settings for Amazon Cognito user pools.

\n
" } }, "com.amazonaws.cognitoidentityprovider#EmailNotificationBodyType": { @@ -6065,7 +6065,7 @@ } }, "traits": { - "smithy.api#documentation": "

This exception is thrown when there is a code mismatch and the service fails to\n configure the software token TOTP multi-factor authentication (MFA).

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

This exception is thrown when there is a code mismatch and the service fails to configure the software token TOTP multi-factor authentication (MFA).

", "smithy.api#error": "client", "smithy.api#httpError": 400 } @@ -6204,7 +6204,7 @@ "CompromisedCredentialsDetected": { "target": "com.amazonaws.cognitoidentityprovider#WrappedBooleanType", "traits": { - "smithy.api#documentation": "

Indicates whether compromised credentials were detected during an authentication\n event.

" + "smithy.api#documentation": "

Indicates whether compromised credentials were detected during an authentication event.

" } } }, @@ -6426,7 +6426,7 @@ ], "traits": { "smithy.api#auth": [], - "smithy.api#documentation": "

Calling this API causes a message to be sent to the end user with a confirmation code\n that is required to change the user's password. For the Username parameter,\n you can use the username or user alias. The method used to send the confirmation code is\n sent according to the specified AccountRecoverySetting. For more information, see Recovering\n User Accounts in the Amazon Cognito Developer Guide. If\n neither a verified phone number nor a verified email exists, an\n InvalidParameterException is thrown. To use the confirmation code for\n resetting the password, call ConfirmForgotPassword.

\n \n \n

This action might generate an SMS text message. Starting June 1, 2021, U.S. \n telecom carriers require that you register an origination phone number before you can \n send SMS messages to U.S. phone numbers. If you use SMS text messages in Amazon Cognito, \n you must register a phone number with Amazon Pinpoint. \n Cognito will use the the registered number automatically. Otherwise, Cognito users that must\n receive SMS messages might be unable to sign up, activate their accounts, or sign\n in.

\n

If you have never used SMS text messages with Amazon Cognito or any other Amazon Web Service, Amazon SNS might place your account in SMS sandbox. In \n sandbox\n mode\n , you’ll have limitations, such as sending messages\n to only verified phone numbers. After testing in the sandbox environment, you can\n move out of the SMS sandbox and into production. For more information, see SMS message settings for Cognito User Pools in the Amazon\n Cognito Developer Guide.

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

Calling this API causes a message to be sent to the end user with a confirmation code that is required to change the user's password. For the \n Username parameter, you can use the username or user alias. The method used to send the confirmation code is sent according to the \n specified AccountRecoverySetting. For more information, \n see Recovering User Accounts \n in the Amazon Cognito Developer Guide. If neither a verified phone number nor a verified email exists, \n an InvalidParameterException is thrown. To use the confirmation code for resetting the password, \n call ConfirmForgotPassword.\n

\n \n \n \n

This action might generate an SMS text message. Starting June 1, 2021, US telecom carriers require you to register an \n origination phone number before you can send SMS messages to U.S. phone numbers. If you use SMS text messages in Amazon Cognito, you must \n register a phone number with Amazon Pinpoint. Amazon Cognito will use the registered number \n automatically. Otherwise, Amazon Cognito users that must receive SMS messages might be unable to sign up, activate their accounts, \n or sign in.

\n

If you have never used SMS text messages with Amazon Cognito or any other Amazon Web Service, Amazon Simple Notification Service \n might place your account in SMS sandbox. In \n \n sandbox mode\n , you will have \n limitations, such as sending messages only to verified phone numbers. After testing in the sandbox environment, you can move \n out of the SMS sandbox and into production. For more information, see \n SMS \n message settings for Amazon Cognito User Pools in the Amazon Cognito Developer Guide.

\n
", "smithy.api#optionalAuth": {} } }, @@ -6443,32 +6443,32 @@ "SecretHash": { "target": "com.amazonaws.cognitoidentityprovider#SecretHashType", "traits": { - "smithy.api#documentation": "

A keyed-hash message authentication code (HMAC) calculated using the secret key of a\n user pool client and username plus the client ID in the message.

" + "smithy.api#documentation": "

A keyed-hash message authentication code (HMAC) calculated using the secret key of a user pool client and username plus the client ID in the message.

" } }, "UserContextData": { "target": "com.amazonaws.cognitoidentityprovider#UserContextDataType", "traits": { - "smithy.api#documentation": "

Contextual data such as the user's device fingerprint, IP address, or location used\n for evaluating the risk of an unexpected event by Amazon Cognito advanced\n security.

" + "smithy.api#documentation": "

Contextual data such as the user's device fingerprint, IP address, or location used for evaluating the risk of an unexpected event by Amazon Cognito advanced security.

" } }, "Username": { "target": "com.amazonaws.cognitoidentityprovider#UsernameType", "traits": { - "smithy.api#documentation": "

The user name of the user for whom you want to enter a code to reset a forgotten\n password.

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

The user name of the user for whom you want to enter a code to reset a forgotten password.

", "smithy.api#required": {} } }, "AnalyticsMetadata": { "target": "com.amazonaws.cognitoidentityprovider#AnalyticsMetadataType", "traits": { - "smithy.api#documentation": "

The Amazon Pinpoint analytics metadata for collecting metrics for\n ForgotPassword calls.

" + "smithy.api#documentation": "

The Amazon Pinpoint analytics metadata for collecting metrics for ForgotPassword calls.

" } }, "ClientMetadata": { "target": "com.amazonaws.cognitoidentityprovider#ClientMetadataType", "traits": { - "smithy.api#documentation": "

A map of custom key-value pairs that you can provide as input for any custom workflows\n that this action triggers.

\n

You create custom workflows by assigning Lambda functions to user pool triggers.\n When you use the ForgotPassword API action, Amazon Cognito invokes any functions that\n are assigned to the following triggers: pre sign-up,\n custom message, and user migration. When\n Amazon Cognito invokes any of these functions, it passes a JSON payload, which the\n function receives as input. This payload contains a clientMetadata\n attribute, which provides the data that you assigned to the ClientMetadata parameter in\n your ForgotPassword request. In your function code in Lambda, you can process the\n clientMetadata value to enhance your workflow for your specific\n needs.

\n

For more information, see Customizing User Pool Workflows with Lambda Triggers in the\n Amazon Cognito Developer Guide.

\n \n

Take the following limitations into consideration when you use the ClientMetadata\n parameter:

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

A map of custom key-value pairs that you can provide as input for any custom workflows that this action triggers.

\n

You create custom workflows by assigning Lambda functions to user pool triggers. When you use the ForgotPassword API action, \n Amazon Cognito invokes any functions that are assigned to the following triggers: pre sign-up, custom message, \n and user migration. When Amazon Cognito invokes any of these functions, it passes a JSON \n payload, which the function receives as input. This payload contains a clientMetadata attribute, which provides the data that you assigned \n to the ClientMetadata parameter in your ForgotPassword request. In your function code in Lambda, you can process the \n clientMetadata value to enhance your workflow for your specific needs.

\n

For more information, see Customizing User Pool Workflows \n with Lambda Triggers in the Amazon Cognito Developer Guide.

\n \n \n

When you use the ClientMetadata parameter, remember that Amazon Cognito won't do the following:

\n \n
" } } }, @@ -6482,12 +6482,12 @@ "CodeDeliveryDetails": { "target": "com.amazonaws.cognitoidentityprovider#CodeDeliveryDetailsType", "traits": { - "smithy.api#documentation": "

The code delivery details returned by the server in response to the request to reset a\n password.

" + "smithy.api#documentation": "

The code delivery details returned by the server in response to the request to reset a password.

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

Respresents the response from the server regarding the request to reset a\n password.

" + "smithy.api#documentation": "

Respresents the response from the server regarding the request to reset a password.

" } }, "com.amazonaws.cognitoidentityprovider#GenerateSecret": { @@ -6519,7 +6519,7 @@ } ], "traits": { - "smithy.api#documentation": "

Gets the header information for the .csv file to be used as input for the user import\n job.

" + "smithy.api#documentation": "

Gets the header information for the comma-separated value (CSV) file to be used as input for the user import job.

" } }, "com.amazonaws.cognitoidentityprovider#GetCSVHeaderRequest": { @@ -6534,7 +6534,7 @@ } }, "traits": { - "smithy.api#documentation": "

Represents the request to get the header information for the .csv file for the user\n import job.

" + "smithy.api#documentation": "

Represents the request to get the header information of the CSV file for the user import job.

" } }, "com.amazonaws.cognitoidentityprovider#GetCSVHeaderResponse": { @@ -6543,18 +6543,18 @@ "UserPoolId": { "target": "com.amazonaws.cognitoidentityprovider#UserPoolIdType", "traits": { - "smithy.api#documentation": "

The user pool ID for the user pool that the users are to be imported into.

" + "smithy.api#documentation": "

The user pool ID for the user pool that the users are to be imported\n into.

" } }, "CSVHeader": { "target": "com.amazonaws.cognitoidentityprovider#ListOfStringTypes", "traits": { - "smithy.api#documentation": "

The header information for the .csv file for the user import job.

" + "smithy.api#documentation": "

The header information of the CSV file for the user import job.

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

Represents the response from the server to the request to get the header information\n for the .csv file for the user import job.

" + "smithy.api#documentation": "

Represents the response from the server to the request to get the header information of the CSV file for the user import job.

" } }, "com.amazonaws.cognitoidentityprovider#GetDevice": { @@ -6788,7 +6788,7 @@ } }, "traits": { - "smithy.api#documentation": "

Request to get a signing certificate from Cognito.

" + "smithy.api#documentation": "

Request to get a signing certificate from Amazon Cognito.

" } }, "com.amazonaws.cognitoidentityprovider#GetSigningCertificateResponse": { @@ -6802,7 +6802,7 @@ } }, "traits": { - "smithy.api#documentation": "

Response from Cognito for a signing certificate request.

" + "smithy.api#documentation": "

Response from Amazon Cognito for a signing certificate request.

" } }, "com.amazonaws.cognitoidentityprovider#GetUICustomization": { @@ -6831,7 +6831,7 @@ } ], "traits": { - "smithy.api#documentation": "

Gets the UI Customization information for a particular app client's app UI, if there\n is something set. If nothing is set for the particular client, but there is an existing\n pool level customization (app clientId will be ALL), then that\n is returned. If nothing is present, then an empty shape is returned.

" + "smithy.api#documentation": "

Gets the user interface (UI) Customization information for a particular app client's app UI, if any such information exists for the client. If nothing is set for the particular client, \n but there is an existing pool level customization (the app clientId is ALL), then that information is returned. If nothing is present, then an empty shape is returned.

" } }, "com.amazonaws.cognitoidentityprovider#GetUICustomizationRequest": { @@ -6964,7 +6964,7 @@ ], "traits": { "smithy.api#auth": [], - "smithy.api#documentation": "

Gets the user attribute verification code for the specified attribute name.

\n \n \n

This action might generate an SMS text message. Starting June 1, 2021, U.S. \n telecom carriers require that you register an origination phone number before you can \n send SMS messages to U.S. phone numbers. If you use SMS text messages in Amazon Cognito, \n you must register a phone number with Amazon Pinpoint. \n Cognito will use the the registered number automatically. Otherwise, Cognito users that must\n receive SMS messages might be unable to sign up, activate their accounts, or sign\n in.

\n

If you have never used SMS text messages with Amazon Cognito or any other Amazon Web Service, Amazon SNS might place your account in SMS sandbox. In \n sandbox\n mode\n , you’ll have limitations, such as sending messages\n to only verified phone numbers. After testing in the sandbox environment, you can\n move out of the SMS sandbox and into production. For more information, see SMS message settings for Cognito User Pools in the Amazon\n Cognito Developer Guide.

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

Gets the user attribute verification code for the specified attribute name.

\n \n \n \n

This action might generate an SMS text message. Starting June 1, 2021, US telecom carriers require you to register an \n origination phone number before you can send SMS messages to U.S. phone numbers. If you use SMS text messages in Amazon Cognito, you must \n register a phone number with Amazon Pinpoint. Amazon Cognito will use the registered number \n automatically. Otherwise, Amazon Cognito users that must receive SMS messages might be unable to sign up, activate their accounts, \n or sign in.

\n

If you have never used SMS text messages with Amazon Cognito or any other Amazon Web Service, Amazon Simple Notification Service \n might place your account in SMS sandbox. In \n \n sandbox mode\n , you will have \n limitations, such as sending messages only to verified phone numbers. After testing in the sandbox environment, you can move \n out of the SMS sandbox and into production. For more information, see \n SMS \n message settings for Amazon Cognito User Pools in the Amazon Cognito Developer Guide.

\n
", "smithy.api#optionalAuth": {} } }, @@ -6974,21 +6974,21 @@ "AccessToken": { "target": "com.amazonaws.cognitoidentityprovider#TokenModelType", "traits": { - "smithy.api#documentation": "

The access token returned by the server response to get the user attribute\n verification code.

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

The access token returned by the server response to get the user attribute verification code.

", "smithy.api#required": {} } }, "AttributeName": { "target": "com.amazonaws.cognitoidentityprovider#AttributeNameType", "traits": { - "smithy.api#documentation": "

The attribute name returned by the server response to get the user attribute\n verification code.

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

The attribute name returned by the server response to get the user attribute verification code.

", "smithy.api#required": {} } }, "ClientMetadata": { "target": "com.amazonaws.cognitoidentityprovider#ClientMetadataType", "traits": { - "smithy.api#documentation": "

A map of custom key-value pairs that you can provide as input for any custom workflows\n that this action triggers.

\n

You create custom workflows by assigning Lambda functions to user pool triggers.\n When you use the GetUserAttributeVerificationCode API action, Amazon Cognito invokes the\n function that is assigned to the custom message trigger. When\n Amazon Cognito invokes this function, it passes a JSON payload, which the function\n receives as input. This payload contains a clientMetadata attribute, which\n provides the data that you assigned to the ClientMetadata parameter in your\n GetUserAttributeVerificationCode request. In your function code in Lambda, you can\n process the clientMetadata value to enhance your workflow for your specific\n needs.

\n

For more information, see Customizing User Pool Workflows with Lambda Triggers in the\n Amazon Cognito Developer Guide.

\n \n

Take the following limitations into consideration when you use the ClientMetadata\n parameter:

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

A map of custom key-value pairs that you can provide as input for any custom workflows that this action triggers.

\n \n

You create custom workflows by assigning Lambda functions to user pool triggers. When you use the GetUserAttributeVerificationCode \n API action, Amazon Cognito invokes the function that is assigned to the custom message trigger. When Amazon Cognito invokes this function, it \n passes a JSON payload, which the function receives as input. This payload contains a clientMetadata attribute, which provides the data \n that you assigned to the ClientMetadata parameter in your GetUserAttributeVerificationCode request. In your function code in Lambda, \n you can process the clientMetadata value to enhance your workflow for your specific needs.

\n

For more information, \n see Customizing User Pool Workflows with Lambda Triggers \n in the Amazon Cognito Developer Guide.

\n \n \n

When you use the ClientMetadata parameter, remember that Amazon Cognito won't do the following:

\n \n
" } } }, @@ -7002,12 +7002,12 @@ "CodeDeliveryDetails": { "target": "com.amazonaws.cognitoidentityprovider#CodeDeliveryDetailsType", "traits": { - "smithy.api#documentation": "

The code delivery details returned by the server in response to the request to get the\n user attribute verification code.

" + "smithy.api#documentation": "

The code delivery details returned by the server in response to the request to get the user attribute verification code.

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

The verification code response returned by the server response to get the user\n attribute verification code.

" + "smithy.api#documentation": "

The verification code response returned by the server response to get the user attribute verification code.

" } }, "com.amazonaws.cognitoidentityprovider#GetUserPoolMfaConfig": { @@ -7069,7 +7069,7 @@ "MfaConfiguration": { "target": "com.amazonaws.cognitoidentityprovider#UserPoolMfaType", "traits": { - "smithy.api#documentation": "

The multi-factor (MFA) configuration. Valid values include:

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

The multi-factor (MFA) configuration. Valid values include:

\n \n " } } } @@ -7080,7 +7080,7 @@ "AccessToken": { "target": "com.amazonaws.cognitoidentityprovider#TokenModelType", "traits": { - "smithy.api#documentation": "

The access token returned by the server response to get information about the\n user.

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

The access token returned by the server response to get information about the user.

", "smithy.api#required": {} } } @@ -7095,21 +7095,21 @@ "Username": { "target": "com.amazonaws.cognitoidentityprovider#UsernameType", "traits": { - "smithy.api#documentation": "

The user name of the user you wish to retrieve from the get user request.

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

The user name of the user you want to retrieve from the get user request.

", "smithy.api#required": {} } }, "UserAttributes": { "target": "com.amazonaws.cognitoidentityprovider#AttributeListType", "traits": { - "smithy.api#documentation": "

An array of name-value pairs representing user attributes.

\n

For custom attributes, you must prepend the custom: prefix to the\n attribute name.

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

An array of name-value pairs representing user attributes.

\n

For custom attributes, you must prepend the custom: prefix to the attribute name.

", "smithy.api#required": {} } }, "MFAOptions": { "target": "com.amazonaws.cognitoidentityprovider#MFAOptionListType", "traits": { - "smithy.api#documentation": "

\n This response parameter is no longer supported. It provides\n information only about SMS MFA configurations. It doesn't provide information about TOTP\n software token MFA configurations. To look up information about either type of MFA\n configuration, use UserMFASettingList instead.

" + "smithy.api#documentation": "

\n This response parameter is no longer supported. It provides information only about SMS MFA configurations. It doesn't provide information about time-based one-time \n password (TOTP) software token MFA configurations. To look up information about either type of MFA configuration, use UserMFASettingList instead.

" } }, "PreferredMfaSetting": { @@ -7121,12 +7121,12 @@ "UserMFASettingList": { "target": "com.amazonaws.cognitoidentityprovider#UserMFASettingListType", "traits": { - "smithy.api#documentation": "

The MFA options that are enabled for the user. The possible values in this list are\n SMS_MFA and SOFTWARE_TOKEN_MFA.

" + "smithy.api#documentation": "

The MFA options that are activated for the user. The possible values in this list are SMS_MFA and SOFTWARE_TOKEN_MFA.

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

Represents the response from the server from the request to get information about the\n user.

" + "smithy.api#documentation": "

Represents the response from the server from the request to get information about the user.

" } }, "com.amazonaws.cognitoidentityprovider#GlobalSignOut": { @@ -7161,7 +7161,7 @@ } ], "traits": { - "smithy.api#documentation": "

Signs out users from all devices. It also invalidates all refresh tokens issued to a\n user. The user's current access and Id tokens remain valid until their expiry. Access\n and Id tokens expire one hour after they are issued.

" + "smithy.api#documentation": "

Signs out users from all devices. It also invalidates all refresh tokens issued to a user. The user's current access and ID tokens remain valid until their expiry. Access and Id tokens expire \n one hour after they're issued.

" } }, "com.amazonaws.cognitoidentityprovider#GlobalSignOutRequest": { @@ -7194,7 +7194,7 @@ } }, "traits": { - "smithy.api#documentation": "

This exception is thrown when Amazon Cognito encounters a group that already exists in\n the user pool.

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

This exception is thrown when Amazon Cognito encounters a group that already exists in the user pool.

", "smithy.api#error": "client", "smithy.api#httpError": 400 } @@ -7239,13 +7239,13 @@ "RoleArn": { "target": "com.amazonaws.cognitoidentityprovider#ArnType", "traits": { - "smithy.api#documentation": "

The role ARN for the group.

" + "smithy.api#documentation": "

The role Amazon Resource Name (ARN) for the group.

" } }, "Precedence": { "target": "com.amazonaws.cognitoidentityprovider#PrecedenceType", "traits": { - "smithy.api#documentation": "

A nonnegative integer value that specifies the precedence of this group relative to\n the other groups that a user can belong to in the user pool. If a user belongs to two or\n more groups, it is the group with the highest precedence whose role ARN will be used in\n the cognito:roles and cognito:preferred_role claims in the\n user's tokens. Groups with higher Precedence values take precedence over\n groups with lower Precedence values or with null Precedence\n values.

\n

Two groups can have the same Precedence value. If this happens, neither\n group takes precedence over the other. If two groups with the same\n Precedence have the same role ARN, that role is used in the\n cognito:preferred_role claim in tokens for users in each group. If the\n two groups have different role ARNs, the cognito:preferred_role claim is\n not set in users' tokens.

\n

The default Precedence value is null.

" + "smithy.api#documentation": "

A non-negative integer value that specifies the precedence of this group relative to the other groups that a user can belong to in \n the user pool. Zero is the highest precedence value. Groups with lower Precedence values take precedence over groups with \n higher ornull Precedence values. If a user belongs to two or more groups, it is the group with the lowest precedence \n value whose role ARN is given in the user's tokens for the cognito:roles and cognito:preferred_role claims.

\n

Two groups can have the same Precedence value. If this happens, neither group takes precedence over the other. If two \n groups with the same Precedence have the same role ARN, that role is used in the cognito:preferred_role claim \n in tokens for users in each group. If the two groups have different role ARNs, the cognito:preferred_role claim isn't set in \n users' tokens.

\n

The default Precedence value is null.

" } }, "LastModifiedDate": { @@ -7277,7 +7277,7 @@ "headerName": { "target": "com.amazonaws.cognitoidentityprovider#StringType", "traits": { - "smithy.api#documentation": "

The header name

" + "smithy.api#documentation": "

The header name.

" } }, "headerValue": { @@ -7331,13 +7331,13 @@ "ProviderDetails": { "target": "com.amazonaws.cognitoidentityprovider#ProviderDetailsType", "traits": { - "smithy.api#documentation": "

The identity provider details. The following list describes the provider detail keys\n for each identity provider type.

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

The identity provider details. The following list describes the provider detail keys for each identity provider type.

\n " } }, "AttributeMapping": { "target": "com.amazonaws.cognitoidentityprovider#AttributeMappingType", "traits": { - "smithy.api#documentation": "

A mapping of identity provider attributes to standard and custom user pool\n attributes.

" + "smithy.api#documentation": "

A mapping of identity provider attributes to standard and custom user pool attributes.

" } }, "IdpIdentifiers": { @@ -7476,7 +7476,7 @@ ], "traits": { "smithy.api#auth": [], - "smithy.api#documentation": "

Initiates the authentication flow.

\n \n \n

This action might generate an SMS text message. Starting June 1, 2021, U.S. \n telecom carriers require that you register an origination phone number before you can \n send SMS messages to U.S. phone numbers. If you use SMS text messages in Amazon Cognito, \n you must register a phone number with Amazon Pinpoint. \n Cognito will use the the registered number automatically. Otherwise, Cognito users that must\n receive SMS messages might be unable to sign up, activate their accounts, or sign\n in.

\n

If you have never used SMS text messages with Amazon Cognito or any other Amazon Web Service, Amazon SNS might place your account in SMS sandbox. In \n sandbox\n mode\n , you’ll have limitations, such as sending messages\n to only verified phone numbers. After testing in the sandbox environment, you can\n move out of the SMS sandbox and into production. For more information, see SMS message settings for Cognito User Pools in the Amazon\n Cognito Developer Guide.

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

Initiates the authentication flow.

\n \n \n

This action might generate an SMS text message. Starting June 1, 2021, US telecom carriers require you to register an \n origination phone number before you can send SMS messages to U.S. phone numbers. If you use SMS text messages in Amazon Cognito, you must \n register a phone number with Amazon Pinpoint. Amazon Cognito will use the registered number \n automatically. Otherwise, Amazon Cognito users that must receive SMS messages might be unable to sign up, activate their accounts, \n or sign in.

\n

If you have never used SMS text messages with Amazon Cognito or any other Amazon Web Service, Amazon Simple Notification Service \n might place your account in SMS sandbox. In \n \n sandbox mode\n , you will have \n limitations, such as sending messages only to verified phone numbers. After testing in the sandbox environment, you can move \n out of the SMS sandbox and into production. For more information, see \n SMS \n message settings for Amazon Cognito User Pools in the Amazon Cognito Developer Guide.

\n
", "smithy.api#optionalAuth": {} } }, @@ -7486,20 +7486,20 @@ "AuthFlow": { "target": "com.amazonaws.cognitoidentityprovider#AuthFlowType", "traits": { - "smithy.api#documentation": "

The authentication flow for this call to execute. The API action will depend on this\n value. For example:

\n \n

Valid values include:

\n \n

\n ADMIN_NO_SRP_AUTH is not a valid value.

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

The authentication flow for this call to run. The API action will depend on this value. For example:

\n \n

Valid values include:

\n \n \n

\n ADMIN_NO_SRP_AUTH isn't a valid value.

", "smithy.api#required": {} } }, "AuthParameters": { "target": "com.amazonaws.cognitoidentityprovider#AuthParametersType", "traits": { - "smithy.api#documentation": "

The authentication parameters. These are inputs corresponding to the\n AuthFlow that you are invoking. The required values depend on the value\n of AuthFlow:

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

The authentication parameters. These are inputs corresponding to the AuthFlow that you're invoking. The required values depend on the value of AuthFlow:

\n \n " } }, "ClientMetadata": { "target": "com.amazonaws.cognitoidentityprovider#ClientMetadataType", "traits": { - "smithy.api#documentation": "

A map of custom key-value pairs that you can provide as input for certain custom\n workflows that this action triggers.

\n

You create custom workflows by assigning Lambda functions to user pool triggers.\n When you use the InitiateAuth API action, Amazon Cognito invokes the Lambda\n functions that are specified for various triggers. The ClientMetadata value is passed as\n input to the functions for only the following triggers:

\n \n

When Amazon Cognito invokes the functions for these triggers, it passes a JSON\n payload, which the function receives as input. This payload contains a\n validationData attribute, which provides the data that you assigned to\n the ClientMetadata parameter in your InitiateAuth request. In your function code in Lambda, you can process the validationData value to enhance your workflow\n for your specific needs.

\n

When you use the InitiateAuth API action, Amazon Cognito also invokes the functions\n for the following triggers, but it does not provide the ClientMetadata value as\n input:

\n \n

For more information, see Customizing User Pool Workflows with Lambda Triggers in the\n Amazon Cognito Developer Guide.

\n \n

Take the following limitations into consideration when you use the ClientMetadata\n parameter:

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

A map of custom key-value pairs that you can provide as input for certain custom workflows that this action triggers.

\n

You create custom workflows by assigning Lambda functions to user pool triggers. When you use the InitiateAuth API action, Amazon Cognito invokes the Lambda functions that are specified for various \n triggers. The ClientMetadata value is passed as input to the functions for only the following triggers:

\n \n

When Amazon Cognito invokes the functions for these triggers, it passes a JSON \n payload, which the function receives as input. This payload contains a validationData attribute, which provides the data that you assigned to the ClientMetadata parameter in your \n InitiateAuth request. In your function code in Lambda, you can process the validationData value to enhance your workflow for your specific needs.

\n

When you use the InitiateAuth API action, Amazon Cognito also invokes the functions for the following triggers, but it doesn't provide the ClientMetadata value as input:

\n \n

For more information, see Customizing User Pool Workflows with \n Lambda Triggers in the Amazon Cognito Developer Guide.

\n \n \n

When you use the ClientMetadata parameter, remember that Amazon Cognito won't do the following:

\n \n
" } }, "ClientId": { @@ -7512,13 +7512,13 @@ "AnalyticsMetadata": { "target": "com.amazonaws.cognitoidentityprovider#AnalyticsMetadataType", "traits": { - "smithy.api#documentation": "

The Amazon Pinpoint analytics metadata for collecting metrics for\n InitiateAuth calls.

" + "smithy.api#documentation": "

The Amazon Pinpoint analytics metadata for collecting metrics for InitiateAuth calls.

" } }, "UserContextData": { "target": "com.amazonaws.cognitoidentityprovider#UserContextDataType", "traits": { - "smithy.api#documentation": "

Contextual data such as the user's device fingerprint, IP address, or location used\n for evaluating the risk of an unexpected event by Amazon Cognito advanced\n security.

" + "smithy.api#documentation": "

Contextual data such as the user's device fingerprint, IP address, or location used for evaluating the risk of an unexpected event by Amazon Cognito advanced security.

" } } }, @@ -7532,25 +7532,25 @@ "ChallengeName": { "target": "com.amazonaws.cognitoidentityprovider#ChallengeNameType", "traits": { - "smithy.api#documentation": "

The name of the challenge which you are responding to with this call. This is returned\n to you in the AdminInitiateAuth response if you need to pass another\n challenge.

\n

Valid values include the following. Note that all of these challenges require\n USERNAME and SECRET_HASH (if applicable) in the\n parameters.

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

The name of the challenge that you're responding to with this call. This name is returned in the AdminInitiateAuth response if you must pass another challenge.

\n

Valid values include the following. Note that all of these challenges require \n USERNAME and SECRET_HASH (if applicable) in the parameters.

\n \n " } }, "Session": { "target": "com.amazonaws.cognitoidentityprovider#SessionType", "traits": { - "smithy.api#documentation": "

The session which should be passed both ways in challenge-response calls to the\n service. If the caller needs to go through another challenge, they return a session with\n other challenge parameters. This session should be passed as it is to the next\n RespondToAuthChallenge API call.

" + "smithy.api#documentation": "

The session that should pass both ways in challenge-response calls to the service. If the caller must pass another challenge, they return a session with other challenge parameters. This session \n should be passed as it is to the next RespondToAuthChallenge API call.

" } }, "ChallengeParameters": { "target": "com.amazonaws.cognitoidentityprovider#ChallengeParametersType", "traits": { - "smithy.api#documentation": "

The challenge parameters. These are returned to you in the InitiateAuth\n response if you need to pass another challenge. The responses in this parameter should\n be used to compute inputs to the next call (RespondToAuthChallenge).

\n

All challenges require USERNAME and SECRET_HASH (if\n applicable).

" + "smithy.api#documentation": "

The challenge parameters. These are returned in the InitiateAuth response if you must pass another challenge. The responses in this parameter should be used to compute inputs to \n the next call (RespondToAuthChallenge).

\n

All challenges require USERNAME and SECRET_HASH (if applicable).

" } }, "AuthenticationResult": { "target": "com.amazonaws.cognitoidentityprovider#AuthenticationResultType", "traits": { - "smithy.api#documentation": "

The result of the authentication response. This is only returned if the caller does\n not need to pass another challenge. If the caller does need to pass another challenge\n before it gets tokens, ChallengeName, ChallengeParameters, and\n Session are returned.

" + "smithy.api#documentation": "

The result of the authentication response. This result is only returned if the caller doesn't need to pass another challenge. If the caller does need to pass another challenge before it gets \n tokens, ChallengeName, ChallengeParameters, and Session are returned.

" } } }, @@ -7582,12 +7582,12 @@ "message": { "target": "com.amazonaws.cognitoidentityprovider#MessageType", "traits": { - "smithy.api#documentation": "

The message returned when you have an unverified email address or the identity policy\n is not set on an email address that Amazon Cognito can access.

" + "smithy.api#documentation": "

The message returned when you have an unverified email address or the identity policy isn't set on an email address that Amazon Cognito can access.

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

This exception is thrown when Amazon Cognito is not allowed to use your email\n identity. HTTP status code: 400.

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

This exception is thrown when Amazon Cognito isn't allowed to use your email identity. HTTP status code: 400.

", "smithy.api#error": "client", "smithy.api#httpError": 400 } @@ -7598,12 +7598,12 @@ "message": { "target": "com.amazonaws.cognitoidentityprovider#MessageType", "traits": { - "smithy.api#documentation": "

The message returned when the Amazon Cognito service throws an invalid Lambda\n response exception.

" + "smithy.api#documentation": "

The message returned when Amazon Cognito hrows an invalid Lambda response exception.

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

This exception is thrown when the Amazon Cognito service encounters an invalid Lambda response.

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

This exception is thrown when Amazon Cognito encounters an invalid Lambda response.

", "smithy.api#error": "client", "smithy.api#httpError": 400 } @@ -7616,7 +7616,7 @@ } }, "traits": { - "smithy.api#documentation": "

This exception is thrown when the specified OAuth flow is invalid.

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

This exception is thrown when the specified OAuth flow is not valid.

", "smithy.api#error": "client", "smithy.api#httpError": 400 } @@ -7627,12 +7627,12 @@ "message": { "target": "com.amazonaws.cognitoidentityprovider#MessageType", "traits": { - "smithy.api#documentation": "

The message returned when the Amazon Cognito service throws an invalid parameter\n exception.

" + "smithy.api#documentation": "

The message returned when the Amazon Cognito service throws an invalid parameter exception.

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

This exception is thrown when the Amazon Cognito service encounters an invalid\n parameter.

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

This exception is thrown when the Amazon Cognito service encounters an invalid parameter.

", "smithy.api#error": "client", "smithy.api#httpError": 400 } @@ -7643,12 +7643,12 @@ "message": { "target": "com.amazonaws.cognitoidentityprovider#MessageType", "traits": { - "smithy.api#documentation": "

The message returned when the Amazon Cognito service throws an invalid user password\n exception.

" + "smithy.api#documentation": "

The message returned when Amazon Cognito throws an invalid user password exception.

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

This exception is thrown when the Amazon Cognito service encounters an invalid\n password.

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

This exception is thrown when Amazon Cognito encounters an invalid password.

", "smithy.api#error": "client", "smithy.api#httpError": 400 } @@ -7659,12 +7659,12 @@ "message": { "target": "com.amazonaws.cognitoidentityprovider#MessageType", "traits": { - "smithy.api#documentation": "

The message retuned when the invalid SMS role access policy exception is\n thrown.

" + "smithy.api#documentation": "

The message returned when the invalid SMS role access policy exception is thrown.

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

This exception is returned when the role provided for SMS configuration does not have\n permission to publish using Amazon SNS.

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

This exception is returned when the role provided for SMS configuration doesn't have permission to publish using Amazon SNS.

", "smithy.api#error": "client", "smithy.api#httpError": 400 } @@ -7675,12 +7675,12 @@ "message": { "target": "com.amazonaws.cognitoidentityprovider#MessageType", "traits": { - "smithy.api#documentation": "

The message returned when the role trust relationship for the SMS message is\n invalid.

" + "smithy.api#documentation": "

The message returned when the role trust relationship for the SMS message is not valid.

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

This exception is thrown when the trust relationship is invalid for the role provided\n for SMS configuration. This can happen if you do not trust cognito-idp.amazonaws.com or the external ID provided in the role does\n not match what is provided in the SMS configuration for the user pool.

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

This exception is thrown when the trust relationship is not valid for the role provided for SMS configuration. This can happen if you don't trust cognito-idp.amazonaws.com or the \n external ID provided in the role does not match what is provided in the SMS configuration for the user pool.

", "smithy.api#error": "client", "smithy.api#httpError": 400 } @@ -7691,12 +7691,12 @@ "message": { "target": "com.amazonaws.cognitoidentityprovider#MessageType", "traits": { - "smithy.api#documentation": "

The message returned when the user pool configuration is invalid.

" + "smithy.api#documentation": "

The message returned when the user pool configuration is not valid.

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

This exception is thrown when the user pool configuration is invalid.

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

This exception is thrown when the user pool configuration is not valid.

", "smithy.api#error": "client", "smithy.api#httpError": 400 } @@ -7779,7 +7779,7 @@ "KMSKeyID": { "target": "com.amazonaws.cognitoidentityprovider#ArnType", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name of Key Management Service Customer master\n keys . Amazon Cognito uses the key to encrypt codes and temporary passwords\n sent to CustomEmailSender and CustomSMSSender.

" + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of an KMS key. Amazon Cognito uses the key to encrypt codes and temporary passwords sent to \n CustomEmailSender and CustomSMSSender.

" } } }, @@ -7798,7 +7798,7 @@ } }, "traits": { - "smithy.api#documentation": "

This exception is thrown when a user exceeds the limit for a requested Amazon Web Services\n resource.

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

This exception is thrown when a user exceeds the limit for a requested Amazon Web Services resource.

", "smithy.api#error": "client", "smithy.api#httpError": 400 } @@ -7945,7 +7945,7 @@ "NextToken": { "target": "com.amazonaws.cognitoidentityprovider#PaginationKey", "traits": { - "smithy.api#documentation": "

An identifier that was returned from the previous call to this operation, which can be\n used to return the next set of items in the list.

" + "smithy.api#documentation": "

An identifier that was returned from the previous call to this operation, which can be used to return the next set of items in the list.

" } } } @@ -7962,7 +7962,7 @@ "NextToken": { "target": "com.amazonaws.cognitoidentityprovider#PaginationKey", "traits": { - "smithy.api#documentation": "

An identifier that was returned from the previous call to this operation, which can be\n used to return the next set of items in the list.

" + "smithy.api#documentation": "

An identifier that was returned from the previous call to this operation, which can be used to return the next set of items in the list.

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

Lists the tags that are assigned to an Amazon Cognito user pool.

\n

A tag is a label that you can apply to user pools to categorize and manage them in\n different ways, such as by purpose, owner, environment, or other criteria.

\n

You can use this action up to 10 times per second, per account.

" + "smithy.api#documentation": "

Lists the tags that are assigned to an Amazon Cognito user pool.

\n

A tag is a label that you can apply to user pools to categorize and manage them in different ways, such as by purpose, owner, environment, or other criteria.

\n

You can use this action up to 10 times per second, per account.

" } }, "com.amazonaws.cognitoidentityprovider#ListTagsForResourceRequest": { @@ -8247,7 +8247,7 @@ "PaginationToken": { "target": "com.amazonaws.cognitoidentityprovider#PaginationKeyType", "traits": { - "smithy.api#documentation": "

An identifier that was returned from the previous call to\n ListUserImportJobs, which can be used to return the next set of import\n jobs in the list.

" + "smithy.api#documentation": "

An identifier that was returned from the previous call to ListUserImportJobs, which can be used to return the next set of import jobs in the list.

" } } }, @@ -8267,12 +8267,12 @@ "PaginationToken": { "target": "com.amazonaws.cognitoidentityprovider#PaginationKeyType", "traits": { - "smithy.api#documentation": "

An identifier that can be used to return the next set of user import jobs in the\n list.

" + "smithy.api#documentation": "

An identifier that can be used to return the next set of user import jobs in the list.

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

Represents the response from the server to the request to list the user import\n jobs.

" + "smithy.api#documentation": "

Represents the response from the server to the request to list the user import jobs.

" } }, "com.amazonaws.cognitoidentityprovider#ListUserPoolClients": { @@ -8323,13 +8323,13 @@ "MaxResults": { "target": "com.amazonaws.cognitoidentityprovider#QueryLimit", "traits": { - "smithy.api#documentation": "

The maximum number of results you want the request to return when listing the user\n pool clients.

" + "smithy.api#documentation": "

The maximum number of results you want the request to return when listing the user pool clients.

" } }, "NextToken": { "target": "com.amazonaws.cognitoidentityprovider#PaginationKey", "traits": { - "smithy.api#documentation": "

An identifier that was returned from the previous call to this operation, which can be\n used to return the next set of items in the list.

" + "smithy.api#documentation": "

An identifier that was returned from the previous call to this operation, which can be used to return the next set of items in the list.

" } } }, @@ -8349,7 +8349,7 @@ "NextToken": { "target": "com.amazonaws.cognitoidentityprovider#PaginationKey", "traits": { - "smithy.api#documentation": "

An identifier that was returned from the previous call to this operation, which can be\n used to return the next set of items in the list.

" + "smithy.api#documentation": "

An identifier that was returned from the previous call to this operation, which can be used to return the next set of items in the list.

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

Lists the user pools associated with an account.

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

Lists the user pools associated with an Amazon Web Services account.

", "smithy.api#paginated": { "inputToken": "NextToken", "outputToken": "NextToken", @@ -8395,13 +8395,13 @@ "NextToken": { "target": "com.amazonaws.cognitoidentityprovider#PaginationKeyType", "traits": { - "smithy.api#documentation": "

An identifier that was returned from the previous call to this operation, which can be\n used to return the next set of items in the list.

" + "smithy.api#documentation": "

An identifier that was returned from the previous call to this operation, which can be used to return the next set of items in the list.

" } }, "MaxResults": { "target": "com.amazonaws.cognitoidentityprovider#PoolQueryLimitType", "traits": { - "smithy.api#documentation": "

The maximum number of results you want the request to return when listing the user\n pools.

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

The maximum number of results you want the request to return when listing the user pools.

", "smithy.api#required": {} } } @@ -8422,7 +8422,7 @@ "NextToken": { "target": "com.amazonaws.cognitoidentityprovider#PaginationKeyType", "traits": { - "smithy.api#documentation": "

An identifier that was returned from the previous call to this operation, which can be\n used to return the next set of items in the list.

" + "smithy.api#documentation": "

An identifier that was returned from the previous call to this operation, which can be used to return the next set of items in the list.

" } } }, @@ -8526,7 +8526,7 @@ "NextToken": { "target": "com.amazonaws.cognitoidentityprovider#PaginationKey", "traits": { - "smithy.api#documentation": "

An identifier that was returned from the previous call to this operation, which can be\n used to return the next set of items in the list.

" + "smithy.api#documentation": "

An identifier that was returned from the previous call to this operation, which can be used to return the next set of items in the list.

" } } } @@ -8543,7 +8543,7 @@ "NextToken": { "target": "com.amazonaws.cognitoidentityprovider#PaginationKey", "traits": { - "smithy.api#documentation": "

An identifier that was returned from the previous call to this operation, which can be\n used to return the next set of items in the list.

" + "smithy.api#documentation": "

An identifier that was returned from the previous call to this operation, which can be used to return the next set of items in the list.

" } } } @@ -8561,7 +8561,7 @@ "AttributesToGet": { "target": "com.amazonaws.cognitoidentityprovider#SearchedAttributeNamesListType", "traits": { - "smithy.api#documentation": "

An array of strings, where each string is the name of a user attribute to be returned\n for each user in the search results. If the array is null, all attributes are\n returned.

" + "smithy.api#documentation": "

An array of strings, where each string is the name of a user attribute to be returned for each user in the search results. If the array is null, all attributes are returned.

" } }, "Limit": { @@ -8573,13 +8573,13 @@ "PaginationToken": { "target": "com.amazonaws.cognitoidentityprovider#SearchPaginationTokenType", "traits": { - "smithy.api#documentation": "

An identifier that was returned from the previous call to this operation, which can be\n used to return the next set of items in the list.

" + "smithy.api#documentation": "

An identifier that was returned from the previous call to this operation, which can be used to return the next set of items in the list.

" } }, "Filter": { "target": "com.amazonaws.cognitoidentityprovider#UserFilterType", "traits": { - "smithy.api#documentation": "

A filter string of the form \"AttributeName\n Filter-Type \"AttributeValue\"\". Quotation marks\n within the filter string must be escaped using the backslash (\\) character. For example,\n \"family_name = \\\"Reddy\\\"\".

\n \n

If the filter string is empty, ListUsers returns all users in the user\n pool.

\n

You can only search for the following standard attributes:

\n \n

Custom attributes are not searchable.

\n

For more information, see Searching for Users Using the ListUsers API and Examples of Using the ListUsers API in the Amazon Cognito\n Developer Guide.

" + "smithy.api#documentation": "

A filter string of the form \"AttributeName \n Filter-Type \"AttributeValue\"\". Quotation \n marks within the filter string must be escaped using the backslash (\\) character. For example, \"family_name = \\\"Reddy\\\"\".

\n \n

If the filter string is empty, ListUsers returns all users in the user pool.

\n

You can only search for the following standard attributes:

\n \n

Custom attributes aren't searchable.

\n \n

You can also list users with a client-side filter. The server-side filter matches no more than 1 attribute. For an advanced search, \n use a client-side filter with the --query parameter of the list-users action in the CLI. When you use a \n client-side filter, ListUsers returns a paginated list of zero or more users. You can receive multiple pages in a row with zero \n results. Repeat the query with each pagination token that is returned until you receive a null pagination token value, and then \n review the combined result.\n

\n

For more information about server-side and client-side filtering, \n see FilteringCLI output \n in the Command Line Interface User Guide.\n

\n
\n

For more information, \n see Searching for Users \n Using the ListUsers API \n and Examples of Using \n the ListUsers API in the Amazon Cognito Developer Guide.

" } } }, @@ -8599,7 +8599,7 @@ "PaginationToken": { "target": "com.amazonaws.cognitoidentityprovider#SearchPaginationTokenType", "traits": { - "smithy.api#documentation": "

An identifier that was returned from the previous call to this operation, which can be\n used to return the next set of items in the list.

" + "smithy.api#documentation": "

An identifier that was returned from the previous call to this operation, which can be used to return the next set of items in the list.

" } } }, @@ -8628,12 +8628,12 @@ "message": { "target": "com.amazonaws.cognitoidentityprovider#MessageType", "traits": { - "smithy.api#documentation": "

The message returned when Amazon Cognito throws an MFA method not found\n exception.

" + "smithy.api#documentation": "

The message returned when Amazon Cognito throws an MFA method not found exception.

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

This exception is thrown when Amazon Cognito cannot find a multi-factor authentication\n (MFA) method.

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

This exception is thrown when Amazon Cognito can't find a multi-factor authentication (MFA) method.

", "smithy.api#error": "client", "smithy.api#httpError": 400 } @@ -8650,18 +8650,18 @@ "DeliveryMedium": { "target": "com.amazonaws.cognitoidentityprovider#DeliveryMediumType", "traits": { - "smithy.api#documentation": "

The delivery medium to send the MFA code. You can use this parameter to set only the\n SMS delivery medium value.

" + "smithy.api#documentation": "

The delivery medium to send the MFA code. You can use this parameter to set only the SMS delivery medium value.

" } }, "AttributeName": { "target": "com.amazonaws.cognitoidentityprovider#AttributeNameType", "traits": { - "smithy.api#documentation": "

The attribute name of the MFA option type. The only valid value is\n phone_number.

" + "smithy.api#documentation": "

The attribute name of the MFA option type. The only valid value is phone_number.

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

\n This data type is no longer supported. You can use it only for\n SMS MFA configurations. You can't use it for TOTP software token MFA\n configurations.

" + "smithy.api#documentation": "

\n This data type is no longer supported. You can use it \n only for SMS multi-factor authentication (MFA) configurations. You can't use it for time-based one-time password (TOTP) software token MFA configurations.

" } }, "com.amazonaws.cognitoidentityprovider#MessageActionType": { @@ -8691,13 +8691,13 @@ "EmailMessage": { "target": "com.amazonaws.cognitoidentityprovider#EmailVerificationMessageType", "traits": { - "smithy.api#documentation": "

The message template for email messages. EmailMessage is allowed only if EmailSendingAccount is DEVELOPER.

" + "smithy.api#documentation": "

The message template for email messages. EmailMessage is allowed only if \n EmailSendingAccount is DEVELOPER.

" } }, "EmailSubject": { "target": "com.amazonaws.cognitoidentityprovider#EmailVerificationSubjectType", "traits": { - "smithy.api#documentation": "

The subject line for email messages. EmailSubject is allowed only if EmailSendingAccount is DEVELOPER.

" + "smithy.api#documentation": "

The subject line for email messages. EmailSubject is allowed only if \n EmailSendingAccount is DEVELOPER.

" } } }, @@ -8734,12 +8734,12 @@ "message": { "target": "com.amazonaws.cognitoidentityprovider#MessageType", "traits": { - "smithy.api#documentation": "

The message returned when the Amazon Cognito service returns a not authorized\n exception.

" + "smithy.api#documentation": "

The message returned when the Amazon Cognito service returns a not authorized exception.

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

This exception is thrown when a user is not authorized.

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

This exception is thrown when a user isn't authorized.

", "smithy.api#error": "client", "smithy.api#httpError": 403 } @@ -8750,7 +8750,7 @@ "From": { "target": "com.amazonaws.cognitoidentityprovider#StringType", "traits": { - "smithy.api#documentation": "

The email address that is sending the email. It must be either individually verified\n with Amazon SES, or from a domain that has been verified with Amazon SES.

" + "smithy.api#documentation": "

The email address that is sending the email. The address must be either individually verified with Amazon Simple Email Service, or from a domain that has been verified with Amazon SES.

" } }, "ReplyTo": { @@ -8762,7 +8762,7 @@ "SourceArn": { "target": "com.amazonaws.cognitoidentityprovider#ArnType", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the identity that is associated with the sending\n authorization policy. It permits Amazon Cognito to send for the email address specified\n in the From parameter.

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

The Amazon Resource Name (ARN) of the identity that is associated with the sending authorization policy. This identity permits Amazon Cognito to send for the email address specified in the \n From parameter.

", "smithy.api#required": {} } }, @@ -8781,7 +8781,7 @@ "MfaEmail": { "target": "com.amazonaws.cognitoidentityprovider#NotifyEmailType", "traits": { - "smithy.api#documentation": "

The MFA email template used when MFA is challenged as part of a detected risk.

" + "smithy.api#documentation": "

The multi-factor authentication (MFA) email template used when MFA is challenged as part of a detected risk.

" } } }, @@ -8795,20 +8795,20 @@ "Subject": { "target": "com.amazonaws.cognitoidentityprovider#EmailNotificationSubjectType", "traits": { - "smithy.api#documentation": "

The subject.

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

The email subject.

", "smithy.api#required": {} } }, "HtmlBody": { "target": "com.amazonaws.cognitoidentityprovider#EmailNotificationBodyType", "traits": { - "smithy.api#documentation": "

The HTML body.

" + "smithy.api#documentation": "

The email HTML body.

" } }, "TextBody": { "target": "com.amazonaws.cognitoidentityprovider#EmailNotificationBodyType", "traits": { - "smithy.api#documentation": "

The text body.

" + "smithy.api#documentation": "

The email text body.

" } } }, @@ -8833,7 +8833,7 @@ } }, "traits": { - "smithy.api#documentation": "

The minimum and maximum value of an attribute that is of the number data type.

" + "smithy.api#documentation": "

The minimum and maximum values of an attribute that is of the number data type.

" } }, "com.amazonaws.cognitoidentityprovider#OAuthFlowType": { @@ -8900,37 +8900,37 @@ "MinimumLength": { "target": "com.amazonaws.cognitoidentityprovider#PasswordPolicyMinLengthType", "traits": { - "smithy.api#documentation": "

The minimum length of the password policy that you have set. Cannot be less than\n 6.

" + "smithy.api#documentation": "

The minimum length of the password in the policy that you have set. This value can't be less than 6.

" } }, "RequireUppercase": { "target": "com.amazonaws.cognitoidentityprovider#BooleanType", "traits": { - "smithy.api#documentation": "

In the password policy that you have set, refers to whether you have required users to\n use at least one uppercase letter in their password.

" + "smithy.api#documentation": "

In the password policy that you have set, refers to whether you have required users to use at least one uppercase letter in their password.

" } }, "RequireLowercase": { "target": "com.amazonaws.cognitoidentityprovider#BooleanType", "traits": { - "smithy.api#documentation": "

In the password policy that you have set, refers to whether you have required users to\n use at least one lowercase letter in their password.

" + "smithy.api#documentation": "

In the password policy that you have set, refers to whether you have required users to use at least one lowercase letter in their password.

" } }, "RequireNumbers": { "target": "com.amazonaws.cognitoidentityprovider#BooleanType", "traits": { - "smithy.api#documentation": "

In the password policy that you have set, refers to whether you have required users to\n use at least one number in their password.

" + "smithy.api#documentation": "

In the password policy that you have set, refers to whether you have required users to use at least one number in their password.

" } }, "RequireSymbols": { "target": "com.amazonaws.cognitoidentityprovider#BooleanType", "traits": { - "smithy.api#documentation": "

In the password policy that you have set, refers to whether you have required users to\n use at least one symbol in their password.

" + "smithy.api#documentation": "

In the password policy that you have set, refers to whether you have required users to use at least one symbol in their password.

" } }, "TemporaryPasswordValidityDays": { "target": "com.amazonaws.cognitoidentityprovider#TemporaryPasswordValidityDaysType", "traits": { - "smithy.api#documentation": "

In the password policy you have set, refers to the number of days a temporary password\n is valid. If the user does not sign-in during this time, their password will need to be\n reset by an administrator.

\n \n

When you set TemporaryPasswordValidityDays for a user pool, you will\n no longer be able to set the deprecated UnusedAccountValidityDays value\n for that user pool.

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

The number of days a temporary password is valid in the password policy. If the user doesn't sign in during this time, an administrator must reset their password.

\n \n

When you set TemporaryPasswordValidityDays for a user pool, you can no longer set the deprecated UnusedAccountValidityDays value for that user pool.

\n
" } } }, @@ -9099,19 +9099,19 @@ "ProviderName": { "target": "com.amazonaws.cognitoidentityprovider#ProviderNameType", "traits": { - "smithy.api#documentation": "

The name of the provider, for example, Facebook, Google, or Login with Amazon.

" + "smithy.api#documentation": "

The name of the provider, such as Facebook, Google, or Login with Amazon.

" } }, "ProviderAttributeName": { "target": "com.amazonaws.cognitoidentityprovider#StringType", "traits": { - "smithy.api#documentation": "

The name of the provider attribute to link to, for example,\n NameID.

" + "smithy.api#documentation": "

The name of the provider attribute to link to, such as NameID.

" } }, "ProviderAttributeValue": { "target": "com.amazonaws.cognitoidentityprovider#StringType", "traits": { - "smithy.api#documentation": "

The value of the provider attribute to link to, for example,\n xxxxx_account.

" + "smithy.api#documentation": "

The value of the provider attribute to link to, such as xxxxx_account.

" } } }, @@ -9187,14 +9187,14 @@ "Priority": { "target": "com.amazonaws.cognitoidentityprovider#PriorityType", "traits": { - "smithy.api#documentation": "

A positive integer specifying priority of a method with 1 being the highest\n priority.

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

A positive integer specifying priority of a method with 1 being the highest priority.

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

Specifies the recovery method for a user.

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

The recovery method for a user.

", "smithy.api#required": {} } } @@ -9276,7 +9276,7 @@ ], "traits": { "smithy.api#auth": [], - "smithy.api#documentation": "

Resends the confirmation (for confirmation of registration) to a specific user in the\n user pool.

\n \n \n

This action might generate an SMS text message. Starting June 1, 2021, U.S. \n telecom carriers require that you register an origination phone number before you can \n send SMS messages to U.S. phone numbers. If you use SMS text messages in Amazon Cognito, \n you must register a phone number with Amazon Pinpoint. \n Cognito will use the the registered number automatically. Otherwise, Cognito users that must\n receive SMS messages might be unable to sign up, activate their accounts, or sign\n in.

\n

If you have never used SMS text messages with Amazon Cognito or any other Amazon Web Service, Amazon SNS might place your account in SMS sandbox. In \n sandbox\n mode\n , you’ll have limitations, such as sending messages\n to only verified phone numbers. After testing in the sandbox environment, you can\n move out of the SMS sandbox and into production. For more information, see SMS message settings for Cognito User Pools in the Amazon\n Cognito Developer Guide.

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

Resends the confirmation (for confirmation of registration) to a specific user in the user pool.

\n \n \n \n

This action might generate an SMS text message. Starting June 1, 2021, US telecom carriers require you to register an \n origination phone number before you can send SMS messages to U.S. phone numbers. If you use SMS text messages in Amazon Cognito, you must \n register a phone number with Amazon Pinpoint. Amazon Cognito will use the registered number \n automatically. Otherwise, Amazon Cognito users that must receive SMS messages might be unable to sign up, activate their accounts, \n or sign in.

\n

If you have never used SMS text messages with Amazon Cognito or any other Amazon Web Service, Amazon Simple Notification Service \n might place your account in SMS sandbox. In \n \n sandbox mode\n , you will have \n limitations, such as sending messages only to verified phone numbers. After testing in the sandbox environment, you can move \n out of the SMS sandbox and into production. For more information, see \n SMS \n message settings for Amazon Cognito User Pools in the Amazon Cognito Developer Guide.

\n
", "smithy.api#optionalAuth": {} } }, @@ -9293,32 +9293,32 @@ "SecretHash": { "target": "com.amazonaws.cognitoidentityprovider#SecretHashType", "traits": { - "smithy.api#documentation": "

A keyed-hash message authentication code (HMAC) calculated using the secret key of a\n user pool client and username plus the client ID in the message.

" + "smithy.api#documentation": "

A keyed-hash message authentication code (HMAC) calculated using the secret key of a user pool client and username plus the client ID in the message.

" } }, "UserContextData": { "target": "com.amazonaws.cognitoidentityprovider#UserContextDataType", "traits": { - "smithy.api#documentation": "

Contextual data such as the user's device fingerprint, IP address, or location used\n for evaluating the risk of an unexpected event by Amazon Cognito advanced\n security.

" + "smithy.api#documentation": "

Contextual data such as the user's device fingerprint, IP address, or location used for evaluating the risk of an unexpected event by Amazon Cognito advanced security.

" } }, "Username": { "target": "com.amazonaws.cognitoidentityprovider#UsernameType", "traits": { - "smithy.api#documentation": "

The user name of the user to whom you wish to resend a confirmation code.

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

The username attribute of the user to whom you want to resend a confirmation code.

", "smithy.api#required": {} } }, "AnalyticsMetadata": { "target": "com.amazonaws.cognitoidentityprovider#AnalyticsMetadataType", "traits": { - "smithy.api#documentation": "

The Amazon Pinpoint analytics metadata for collecting metrics for\n ResendConfirmationCode calls.

" + "smithy.api#documentation": "

The Amazon Pinpoint analytics metadata for collecting metrics for ResendConfirmationCode calls.

" } }, "ClientMetadata": { "target": "com.amazonaws.cognitoidentityprovider#ClientMetadataType", "traits": { - "smithy.api#documentation": "

A map of custom key-value pairs that you can provide as input for any custom workflows\n that this action triggers.

\n

You create custom workflows by assigning Lambda functions to user pool triggers.\n When you use the ResendConfirmationCode API action, Amazon Cognito invokes the function\n that is assigned to the custom message trigger. When Amazon Cognito\n invokes this function, it passes a JSON payload, which the function receives as input.\n This payload contains a clientMetadata attribute, which provides the data\n that you assigned to the ClientMetadata parameter in your ResendConfirmationCode\n request. In your function code in Lambda, you can process the\n clientMetadata value to enhance your workflow for your specific\n needs.

\n

For more information, see Customizing User Pool Workflows with Lambda Triggers in the\n Amazon Cognito Developer Guide.

\n \n

Take the following limitations into consideration when you use the ClientMetadata\n parameter:

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

A map of custom key-value pairs that you can provide as input for any custom workflows that this action triggers.

\n

You create custom workflows by assigning Lambda functions to user pool triggers. When you use the ResendConfirmationCode API action, Amazon Cognito \n invokes the function that is assigned to the custom message trigger. When Amazon Cognito invokes this function, it passes a \n JSON \n payload, which the function receives as input. This payload contains a clientMetadata attribute, which provides the data that you assigned \n to the ClientMetadata parameter in your ResendConfirmationCode request. In your function code in Lambda, you can process the clientMetadata \n value to enhance your workflow for your specific needs.

\n

For more information, \n see Customizing User Pool Workflows with Lambda Triggers \n in the Amazon Cognito Developer Guide.

\n \n \n

When you use the ClientMetadata parameter, remember that Amazon Cognito won't do the following:

\n \n
" } } }, @@ -9332,12 +9332,12 @@ "CodeDeliveryDetails": { "target": "com.amazonaws.cognitoidentityprovider#CodeDeliveryDetailsType", "traits": { - "smithy.api#documentation": "

The code delivery details returned by the server in response to the request to resend\n the confirmation code.

" + "smithy.api#documentation": "

The code delivery details returned by the server in response to the request to resend the confirmation code.

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

The response from the server when the Amazon Cognito Your User Pools service makes the\n request to resend a confirmation code.

" + "smithy.api#documentation": "

The response from the server when Amazon Cognito makes the request to resend a confirmation code.

" } }, "com.amazonaws.cognitoidentityprovider#ResourceNotFoundException": { @@ -9346,12 +9346,12 @@ "message": { "target": "com.amazonaws.cognitoidentityprovider#MessageType", "traits": { - "smithy.api#documentation": "

The message returned when the Amazon Cognito service returns a resource not found\n exception.

" + "smithy.api#documentation": "

The message returned when the Amazon Cognito service returns a resource not found exception.

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

This exception is thrown when the Amazon Cognito service cannot find the requested\n resource.

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

This exception is thrown when the Amazon Cognito service can't find the requested resource.

", "smithy.api#error": "client", "smithy.api#httpError": 404 } @@ -9539,7 +9539,7 @@ ], "traits": { "smithy.api#auth": [], - "smithy.api#documentation": "

Responds to the authentication challenge.

\n \n \n

This action might generate an SMS text message. Starting June 1, 2021, U.S. \n telecom carriers require that you register an origination phone number before you can \n send SMS messages to U.S. phone numbers. If you use SMS text messages in Amazon Cognito, \n you must register a phone number with Amazon Pinpoint. \n Cognito will use the the registered number automatically. Otherwise, Cognito users that must\n receive SMS messages might be unable to sign up, activate their accounts, or sign\n in.

\n

If you have never used SMS text messages with Amazon Cognito or any other Amazon Web Service, Amazon SNS might place your account in SMS sandbox. In \n sandbox\n mode\n , you’ll have limitations, such as sending messages\n to only verified phone numbers. After testing in the sandbox environment, you can\n move out of the SMS sandbox and into production. For more information, see SMS message settings for Cognito User Pools in the Amazon\n Cognito Developer Guide.

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

Responds to the authentication challenge.

\n \n \n

This action might generate an SMS text message. Starting June 1, 2021, US telecom carriers require you to register an \n origination phone number before you can send SMS messages to U.S. phone numbers. If you use SMS text messages in Amazon Cognito, you must \n register a phone number with Amazon Pinpoint. Amazon Cognito will use the registered number \n automatically. Otherwise, Amazon Cognito users that must receive SMS messages might be unable to sign up, activate their accounts, \n or sign in.

\n

If you have never used SMS text messages with Amazon Cognito or any other Amazon Web Service, Amazon Simple Notification Service \n might place your account in SMS sandbox. In \n \n sandbox mode\n , you will have \n limitations, such as sending messages only to verified phone numbers. After testing in the sandbox environment, you can move \n out of the SMS sandbox and into production. For more information, see \n SMS \n message settings for Amazon Cognito User Pools in the Amazon Cognito Developer Guide.

\n
", "smithy.api#optionalAuth": {} } }, @@ -9556,38 +9556,38 @@ "ChallengeName": { "target": "com.amazonaws.cognitoidentityprovider#ChallengeNameType", "traits": { - "smithy.api#documentation": "

The challenge name. For more information, see InitiateAuth.

\n

\n ADMIN_NO_SRP_AUTH is not a valid value.

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

The challenge name. For more information, see InitiateAuth.

\n

\n ADMIN_NO_SRP_AUTH isn't a valid value.

", "smithy.api#required": {} } }, "Session": { "target": "com.amazonaws.cognitoidentityprovider#SessionType", "traits": { - "smithy.api#documentation": "

The session which should be passed both ways in challenge-response calls to the\n service. If InitiateAuth or RespondToAuthChallenge API call\n determines that the caller needs to go through another challenge, they return a session\n with other challenge parameters. This session should be passed as it is to the next\n RespondToAuthChallenge API call.

" + "smithy.api#documentation": "

The session that should be passed both ways in challenge-response calls to the service. If InitiateAuth or RespondToAuthChallenge API call determines \n that the caller must pass another challenge, they return a session with other challenge parameters. This session should be passed as it is to the next RespondToAuthChallenge \n API call.

" } }, "ChallengeResponses": { "target": "com.amazonaws.cognitoidentityprovider#ChallengeResponsesType", "traits": { - "smithy.api#documentation": "

The challenge responses. These are inputs corresponding to the value of\n ChallengeName, for example:

\n \n

\n SECRET_HASH (if app client is configured with client secret) applies\n to all inputs below (including SOFTWARE_TOKEN_MFA).

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

The challenge responses. These are inputs corresponding to the value of ChallengeName, for example:

\n \n

\n SECRET_HASH (if app client is configured with client secret) applies to all of the inputs that follow (including SOFTWARE_TOKEN_MFA).

\n
\n " } }, "AnalyticsMetadata": { "target": "com.amazonaws.cognitoidentityprovider#AnalyticsMetadataType", "traits": { - "smithy.api#documentation": "

The Amazon Pinpoint analytics metadata for collecting metrics for\n RespondToAuthChallenge calls.

" + "smithy.api#documentation": "

The Amazon Pinpoint analytics metadata for collecting metrics for RespondToAuthChallenge calls.

" } }, "UserContextData": { "target": "com.amazonaws.cognitoidentityprovider#UserContextDataType", "traits": { - "smithy.api#documentation": "

Contextual data such as the user's device fingerprint, IP address, or location used\n for evaluating the risk of an unexpected event by Amazon Cognito advanced\n security.

" + "smithy.api#documentation": "

Contextual data such as the user's device fingerprint, IP address, or location used for evaluating the risk of an unexpected event by Amazon Cognito advanced security.

" } }, "ClientMetadata": { "target": "com.amazonaws.cognitoidentityprovider#ClientMetadataType", "traits": { - "smithy.api#documentation": "

A map of custom key-value pairs that you can provide as input for any custom workflows\n that this action triggers.

\n

You create custom workflows by assigning Lambda functions to user pool triggers.\n When you use the RespondToAuthChallenge API action, Amazon Cognito invokes any functions\n that are assigned to the following triggers: post authentication,\n pre token generation, define auth\n challenge, create auth challenge, and\n verify auth challenge. When Amazon Cognito invokes any of these\n functions, it passes a JSON payload, which the function receives as input. This payload\n contains a clientMetadata attribute, which provides the data that you\n assigned to the ClientMetadata parameter in your RespondToAuthChallenge request. In your\n function code in Lambda, you can process the clientMetadata value to\n enhance your workflow for your specific needs.

\n

For more information, see Customizing User Pool Workflows with Lambda Triggers in the\n Amazon Cognito Developer Guide.

\n \n

Take the following limitations into consideration when you use the ClientMetadata\n parameter:

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

A map of custom key-value pairs that you can provide as input for any custom workflows that this action triggers.

\n

You create custom workflows by assigning Lambda functions to user pool triggers. When you use the RespondToAuthChallenge API action, Amazon Cognito \n invokes any functions that are assigned to the following triggers: post authentication, pre token generation, \n define auth challenge, create auth challenge, and verify auth challenge. When Amazon Cognito \n invokes any of these functions, it passes a JSON payload, which the function receives as input. This payload contains a clientMetadata \n attribute, which provides the data that you assigned to the ClientMetadata parameter in your RespondToAuthChallenge request. In your function code in \n Lambda, you can process the clientMetadata value to enhance your workflow for your specific needs.

\n

For more information, see Customizing \n User Pool Workflows with Lambda Triggers in the Amazon Cognito Developer Guide.

\n \n \n

When you use the ClientMetadata parameter, remember that Amazon Cognito won't do the following:

\n \n
" } } }, @@ -9607,7 +9607,7 @@ "Session": { "target": "com.amazonaws.cognitoidentityprovider#SessionType", "traits": { - "smithy.api#documentation": "

The session which should be passed both ways in challenge-response calls to the\n service. If the caller needs to go through another challenge, they return a session with\n other challenge parameters. This session should be passed as it is to the next\n RespondToAuthChallenge API call.

" + "smithy.api#documentation": "

The session that should be passed both ways in challenge-response calls to the service. If the caller must pass another challenge, they return a session with other challenge parameters. \n This session should be passed as it is to the next RespondToAuthChallenge API call.

" } }, "ChallengeParameters": { @@ -9619,7 +9619,7 @@ "AuthenticationResult": { "target": "com.amazonaws.cognitoidentityprovider#AuthenticationResultType", "traits": { - "smithy.api#documentation": "

The result returned by the server in response to the request to respond to the\n authentication challenge.

" + "smithy.api#documentation": "

The result returned by the server in response to the request to respond to the authentication challenge.

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

Revokes all of the access tokens generated by the specified refresh token. After the token is revoked, you can not \n use the revoked token to access Cognito authenticated APIs.

" + "smithy.api#documentation": "

Revokes all of the access tokens generated by the specified refresh token. After the token is revoked, you can't use the revoked token to access Amazon Cognito authenticated APIs.

" } }, "com.amazonaws.cognitoidentityprovider#RevokeTokenRequest": { @@ -9665,7 +9665,7 @@ "Token": { "target": "com.amazonaws.cognitoidentityprovider#TokenModelType", "traits": { - "smithy.api#documentation": "

The token that you want to revoke.

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

The refresh token that you want to revoke.

", "smithy.api#required": {} } }, @@ -9706,13 +9706,13 @@ "CompromisedCredentialsRiskConfiguration": { "target": "com.amazonaws.cognitoidentityprovider#CompromisedCredentialsRiskConfigurationType", "traits": { - "smithy.api#documentation": "

The compromised credentials risk configuration object including the\n EventFilter and the EventAction\n

" + "smithy.api#documentation": "

The compromised credentials risk configuration object, including the EventFilter and the EventAction.

" } }, "AccountTakeoverRiskConfiguration": { "target": "com.amazonaws.cognitoidentityprovider#AccountTakeoverRiskConfigurationType", "traits": { - "smithy.api#documentation": "

The account takeover risk configuration object including the\n NotifyConfiguration object and Actions to take in the case\n of an account takeover.

" + "smithy.api#documentation": "

The account takeover risk configuration object, including the NotifyConfiguration object and Actions to take if there is an account takeover.

" } }, "RiskExceptionConfiguration": { @@ -9757,13 +9757,13 @@ "BlockedIPRangeList": { "target": "com.amazonaws.cognitoidentityprovider#BlockedIPRangeListType", "traits": { - "smithy.api#documentation": "

Overrides the risk decision to always block the pre-authentication requests. The IP\n range is in CIDR notation: a compact representation of an IP address and its associated\n routing prefix.

" + "smithy.api#documentation": "

Overrides the risk decision to always block the pre-authentication requests. The IP range is in CIDR notation, a compact representation of an IP address and its routing prefix.

" } }, "SkippedIPRangeList": { "target": "com.amazonaws.cognitoidentityprovider#SkippedIPRangeListType", "traits": { - "smithy.api#documentation": "

Risk detection is not performed on the IP addresses in the range list. The IP range is\n in CIDR notation.

" + "smithy.api#documentation": "

Risk detection isn't performed on the IP addresses in this range list. The IP range is in CIDR notation.

" } } }, @@ -9816,7 +9816,7 @@ "Enabled": { "target": "com.amazonaws.cognitoidentityprovider#BooleanType", "traits": { - "smithy.api#documentation": "

Specifies whether SMS text message MFA is enabled. If an MFA type is enabled for a\n user, the user will be prompted for MFA during all sign in attempts, unless device\n tracking is turned on and the device has been trusted.

" + "smithy.api#documentation": "

Specifies whether SMS text message MFA is activated. If an MFA type is activated for a user, the user will be prompted for MFA during all sign-in attempts, unless device tracking is \n turned on and the device has been trusted.

" } }, "PreferredMfa": { @@ -9827,7 +9827,7 @@ } }, "traits": { - "smithy.api#documentation": "

The type used for enabling SMS MFA at the user level. Phone numbers don't need to be\n verified to be used for SMS MFA. If an MFA type is enabled for a user, the user will be\n prompted for MFA during all sign in attempts, unless device tracking is turned on and\n the device has been trusted. If you would like MFA to be applied selectively based on\n the assessed risk level of sign in attempts, disable MFA for users and turn on Adaptive\n Authentication for the user pool.

" + "smithy.api#documentation": "

The type used for enabling SMS multi-factor authentication (MFA) at the user level. Phone numbers don't need to be verified to be used for SMS MFA. If an MFA type \n is activated for a user, the user will be prompted for MFA during all sign-in attempts, unless device tracking is turned on and the device has been trusted. If you \n would like MFA to be applied selectively based on the assessed risk level of sign-in attempts, deactivate MFA for users and turn on Adaptive Authentication for the user pool.

" } }, "com.amazonaws.cognitoidentityprovider#SchemaAttributeType": { @@ -9849,21 +9849,21 @@ "target": "com.amazonaws.cognitoidentityprovider#BooleanType", "traits": { "smithy.api#box": {}, - "smithy.api#documentation": "\n

We recommend that you use WriteAttributes in the user pool client to control how attributes can\n be mutated for new use cases instead of using\n DeveloperOnlyAttribute.

\n
\n

Specifies whether the attribute type is developer only. This attribute can only be\n modified by an administrator. Users will not be able to modify this attribute using\n their access token. For example, DeveloperOnlyAttribute can be modified\n using AdminUpdateUserAttributes but cannot be updated using UpdateUserAttributes.

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

You should use WriteAttributes \n in the user pool client to control how attributes can be mutated for new use cases instead of using DeveloperOnlyAttribute.

\n
\n

Specifies whether the attribute type is developer only. This attribute can only be modified by an administrator. Users won't be able to modify this attribute using their access \n token. For example, DeveloperOnlyAttribute can be modified using AdminUpdateUserAttributes but can't be updated using UpdateUserAttributes.

" } }, "Mutable": { "target": "com.amazonaws.cognitoidentityprovider#BooleanType", "traits": { "smithy.api#box": {}, - "smithy.api#documentation": "

Specifies whether the value of the attribute can be changed.

\n

For any user pool attribute that's mapped to an identity provider attribute, you must\n set this parameter to true. Amazon Cognito updates mapped attributes when\n users sign in to your application through an identity provider. If an attribute is\n immutable, Amazon Cognito throws an error when it attempts to update the attribute. For\n more information, see Specifying Identity Provider Attribute Mappings for Your User\n Pool.

" + "smithy.api#documentation": "

Specifies whether the value of the attribute can be changed.

\n

For any user pool attribute that is mapped to an identity provider attribute, you must set this parameter to true. Amazon Cognito updates mapped attributes when users \n sign in to your application through an identity provider. If an attribute is immutable, Amazon Cognito throws an error when it attempts to update the attribute. For more information, \n see Specifying Identity Provider Attribute Mappings for \n Your User Pool.

" } }, "Required": { "target": "com.amazonaws.cognitoidentityprovider#BooleanType", "traits": { "smithy.api#box": {}, - "smithy.api#documentation": "

Specifies whether a user pool attribute is required. If the attribute is required and\n the user does not provide a value, registration or sign-in will fail.

" + "smithy.api#documentation": "

Specifies whether a user pool attribute is required. If the attribute is required and the user doesn't provide a value, registration or sign-in will fail.

" } }, "NumberAttributeConstraints": { @@ -9903,7 +9903,7 @@ } }, "traits": { - "smithy.api#documentation": "

This exception is thrown when the specified scope does not exist.

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

This exception is thrown when the specified scope doesn't exist.

", "smithy.api#error": "client", "smithy.api#httpError": 400 } @@ -10010,7 +10010,7 @@ } ], "traits": { - "smithy.api#documentation": "

Configures actions on detected risks. To delete the risk configuration for\n UserPoolId or ClientId, pass null values for all four\n configuration types.

\n

To enable Amazon Cognito advanced security features, update the user pool to include\n the UserPoolAddOns keyAdvancedSecurityMode.

" + "smithy.api#documentation": "

Configures actions on detected risks. To delete the risk configuration for UserPoolId or ClientId, pass null values for all four configuration types.

\n

To activate Amazon Cognito advanced security features, update the user pool to include the UserPoolAddOns keyAdvancedSecurityMode.

" } }, "com.amazonaws.cognitoidentityprovider#SetRiskConfigurationRequest": { @@ -10026,7 +10026,7 @@ "ClientId": { "target": "com.amazonaws.cognitoidentityprovider#ClientIdType", "traits": { - "smithy.api#documentation": "

The app client ID. If ClientId is null, then the risk configuration is\n mapped to userPoolId. When the client ID is null, the same risk\n configuration is applied to all the clients in the userPool.

\n

Otherwise, ClientId is mapped to the client. When the client ID is not\n null, the user pool configuration is overridden and the risk configuration for the\n client is used instead.

" + "smithy.api#documentation": "

The app client ID. If ClientId is null, then the risk configuration is mapped to userPoolId. When the client ID is null, the same risk configuration is applied \n to all the clients in the userPool.

\n

Otherwise, ClientId is mapped to the client. When the client ID isn't null, the user pool configuration is overridden and the risk configuration for the client is used instead.

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

Sets the UI customization information for a user pool's built-in app UI.

\n

You can specify app UI customization settings for a single client (with a specific\n clientId) or for all clients (by setting the clientId to\n ALL). If you specify ALL, the default configuration will\n be used for every client that has no UI customization set previously. If you specify UI\n customization settings for a particular client, it will no longer fall back to the\n ALL configuration.

\n \n

To use this API, your user pool must have a domain associated with it. Otherwise,\n there is no place to host the app's pages, and the service will throw an\n error.

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

Sets the user interface (UI) customization information for a user pool's built-in app UI.

\n

You can specify app UI customization settings for a single client (with a specific clientId) or for all clients (by setting the clientId \n to ALL). If you specify ALL, the default configuration is used for every client that has no previously set UI customization. If you specify UI \n customization settings for a particular client, it will no longer return to the ALL configuration.

\n \n

To use this API, your user pool must have a domain associated with it. Otherwise, there is no place to host the app's pages, and the service will throw an error.

\n
" } }, "com.amazonaws.cognitoidentityprovider#SetUICustomizationRequest": { @@ -10164,7 +10164,7 @@ } ], "traits": { - "smithy.api#documentation": "

Set the user's multi-factor authentication (MFA) method preference, including which\n MFA factors are enabled and if any are preferred. Only one factor can be set as\n preferred. The preferred MFA factor will be used to authenticate a user if multiple\n factors are enabled. If multiple options are enabled and no preference is set, a\n challenge to choose an MFA option will be returned during sign in. If an MFA type is\n enabled for a user, the user will be prompted for MFA during all sign in attempts,\n unless device tracking is turned on and the device has been trusted. If you would like\n MFA to be applied selectively based on the assessed risk level of sign in attempts,\n disable MFA for users and turn on Adaptive Authentication for the user pool.

" + "smithy.api#documentation": "

Set the user's multi-factor authentication (MFA) method preference, including which MFA factors are activated and if any are preferred. \n Only one factor can be set as preferred. The preferred MFA factor will be used to authenticate a user if multiple factors are activated. \n If multiple options are activated and no preference is set, a challenge to choose an MFA option will be returned during sign-in. If an \n MFA type is activated for a user, the user will be prompted for MFA during all sign-in attempts unless device tracking is turned on and \n the device has been trusted. If you want MFA to be applied selectively based on the assessed risk level of sign-in attempts, deactivate \n MFA for users and turn on Adaptive Authentication for the user pool.

" } }, "com.amazonaws.cognitoidentityprovider#SetUserMFAPreferenceRequest": { @@ -10227,7 +10227,7 @@ } ], "traits": { - "smithy.api#documentation": "

Set the user pool multi-factor authentication (MFA) configuration.

\n \n \n

This action might generate an SMS text message. Starting June 1, 2021, U.S. \n telecom carriers require that you register an origination phone number before you can \n send SMS messages to U.S. phone numbers. If you use SMS text messages in Amazon Cognito, \n you must register a phone number with Amazon Pinpoint. \n Cognito will use the the registered number automatically. Otherwise, Cognito users that must\n receive SMS messages might be unable to sign up, activate their accounts, or sign\n in.

\n

If you have never used SMS text messages with Amazon Cognito or any other Amazon Web Service, Amazon SNS might place your account in SMS sandbox. In \n sandbox\n mode\n , you’ll have limitations, such as sending messages\n to only verified phone numbers. After testing in the sandbox environment, you can\n move out of the SMS sandbox and into production. For more information, see SMS message settings for Cognito User Pools in the Amazon\n Cognito Developer Guide.

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

Sets the user pool multi-factor authentication (MFA) configuration.

\n \n \n

This action might generate an SMS text message. Starting June 1, 2021, US telecom carriers require you to register an \n origination phone number before you can send SMS messages to U.S. phone numbers. If you use SMS text messages in Amazon Cognito, you must \n register a phone number with Amazon Pinpoint. Amazon Cognito will use the registered number \n automatically. Otherwise, Amazon Cognito users that must receive SMS messages might be unable to sign up, activate their accounts, \n or sign in.

\n

If you have never used SMS text messages with Amazon Cognito or any other Amazon Web Service, Amazon Simple Notification Service \n might place your account in SMS sandbox. In \n \n sandbox mode\n , you will have \n limitations, such as sending messages only to verified phone numbers. After testing in the sandbox environment, you can move \n out of the SMS sandbox and into production. For more information, see \n SMS \n message settings for Amazon Cognito User Pools in the Amazon Cognito Developer Guide.

\n
" } }, "com.amazonaws.cognitoidentityprovider#SetUserPoolMfaConfigRequest": { @@ -10255,7 +10255,7 @@ "MfaConfiguration": { "target": "com.amazonaws.cognitoidentityprovider#UserPoolMfaType", "traits": { - "smithy.api#documentation": "

The MFA configuration. Users who don't have an MFA factor set up won't be able to\n sign-in if you set the MfaConfiguration value to ‘ON’. See Adding Multi-Factor\n Authentication (MFA) to a User Pool to learn more. Valid values\n include:

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

The MFA configuration. If you set the MfaConfiguration value to ‘ON’, only users with an MFA factor set up can sign in. To learn more, \n see Adding Multi-Factor Authentication (MFA) to a User Pool. Valid values include:

\n \n " } } } @@ -10278,7 +10278,7 @@ "MfaConfiguration": { "target": "com.amazonaws.cognitoidentityprovider#UserPoolMfaType", "traits": { - "smithy.api#documentation": "

The MFA configuration. Valid values include:

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

The MFA configuration. Valid values include:

\n \n " } } } @@ -10316,7 +10316,7 @@ ], "traits": { "smithy.api#auth": [], - "smithy.api#documentation": "

\n This action is no longer supported. You can use it to configure\n only SMS MFA. You can't use it to configure TOTP software token MFA. To configure either\n type of MFA, use SetUserMFAPreference instead.

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

\n This action is no longer supported. You can use it to configure only SMS MFA. You can't use it to configure time-based one-time password (TOTP) software token MFA. \n To configure either type of MFA, use SetUserMFAPreference instead.

", "smithy.api#optionalAuth": {} } }, @@ -10333,7 +10333,7 @@ "MFAOptions": { "target": "com.amazonaws.cognitoidentityprovider#MFAOptionListType", "traits": { - "smithy.api#documentation": "

You can use this parameter only to set an SMS configuration that uses SMS for\n delivery.

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

You can use this parameter only to set an SMS configuration that uses SMS for delivery.

", "smithy.api#required": {} } } @@ -10403,7 +10403,7 @@ ], "traits": { "smithy.api#auth": [], - "smithy.api#documentation": "

Registers the user in the specified user pool and creates a user name, password, and\n user attributes.

\n \n \n

This action might generate an SMS text message. Starting June 1, 2021, U.S. \n telecom carriers require that you register an origination phone number before you can \n send SMS messages to U.S. phone numbers. If you use SMS text messages in Amazon Cognito, \n you must register a phone number with Amazon Pinpoint. \n Cognito will use the the registered number automatically. Otherwise, Cognito users that must\n receive SMS messages might be unable to sign up, activate their accounts, or sign\n in.

\n

If you have never used SMS text messages with Amazon Cognito or any other Amazon Web Service, Amazon SNS might place your account in SMS sandbox. In \n sandbox\n mode\n , you’ll have limitations, such as sending messages\n to only verified phone numbers. After testing in the sandbox environment, you can\n move out of the SMS sandbox and into production. For more information, see SMS message settings for Cognito User Pools in the Amazon\n Cognito Developer Guide.

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

Registers the user in the specified user pool and creates a user name, password, and user attributes.

\n \n \n \n

This action might generate an SMS text message. Starting June 1, 2021, US telecom carriers require you to register an \n origination phone number before you can send SMS messages to U.S. phone numbers. If you use SMS text messages in Amazon Cognito, you must \n register a phone number with Amazon Pinpoint. Amazon Cognito will use the registered number \n automatically. Otherwise, Amazon Cognito users that must receive SMS messages might be unable to sign up, activate their accounts, \n or sign in.

\n

If you have never used SMS text messages with Amazon Cognito or any other Amazon Web Service, Amazon Simple Notification Service \n might place your account in SMS sandbox. In \n \n sandbox mode\n , you will have \n limitations, such as sending messages only to verified phone numbers. After testing in the sandbox environment, you can move \n out of the SMS sandbox and into production. For more information, see \n SMS \n message settings for Amazon Cognito User Pools in the Amazon Cognito Developer Guide.

\n
", "smithy.api#optionalAuth": {} } }, @@ -10420,27 +10420,27 @@ "SecretHash": { "target": "com.amazonaws.cognitoidentityprovider#SecretHashType", "traits": { - "smithy.api#documentation": "

A keyed-hash message authentication code (HMAC) calculated using the secret key of a\n user pool client and username plus the client ID in the message.

" + "smithy.api#documentation": "

A keyed-hash message authentication code (HMAC) calculated using the secret key of a user pool client and username plus the client ID in the message.

" } }, "Username": { "target": "com.amazonaws.cognitoidentityprovider#UsernameType", "traits": { - "smithy.api#documentation": "

The user name of the user you wish to register.

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

The user name of the user you want to register.

", "smithy.api#required": {} } }, "Password": { "target": "com.amazonaws.cognitoidentityprovider#PasswordType", "traits": { - "smithy.api#documentation": "

The password of the user you wish to register.

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

The password of the user you want to register.

", "smithy.api#required": {} } }, "UserAttributes": { "target": "com.amazonaws.cognitoidentityprovider#AttributeListType", "traits": { - "smithy.api#documentation": "

An array of name-value pairs representing user attributes.

\n

For custom attributes, you must prepend the custom: prefix to the\n attribute name.

" + "smithy.api#documentation": "

An array of name-value pairs representing user attributes.

\n

For custom attributes, you must prepend the custom: prefix to the attribute name.

" } }, "ValidationData": { @@ -10452,19 +10452,19 @@ "AnalyticsMetadata": { "target": "com.amazonaws.cognitoidentityprovider#AnalyticsMetadataType", "traits": { - "smithy.api#documentation": "

The Amazon Pinpoint analytics metadata for collecting metrics for SignUp\n calls.

" + "smithy.api#documentation": "

The Amazon Pinpoint analytics metadata for collecting metrics for SignUp calls.

" } }, "UserContextData": { "target": "com.amazonaws.cognitoidentityprovider#UserContextDataType", "traits": { - "smithy.api#documentation": "

Contextual data such as the user's device fingerprint, IP address, or location used\n for evaluating the risk of an unexpected event by Amazon Cognito advanced\n security.

" + "smithy.api#documentation": "

Contextual data such as the user's device fingerprint, IP address, or location used for evaluating the risk of an unexpected event by Amazon Cognito advanced security.

" } }, "ClientMetadata": { "target": "com.amazonaws.cognitoidentityprovider#ClientMetadataType", "traits": { - "smithy.api#documentation": "

A map of custom key-value pairs that you can provide as input for any custom workflows\n that this action triggers.

\n

You create custom workflows by assigning Lambda functions to user pool triggers.\n When you use the SignUp API action, Amazon Cognito invokes any functions that are\n assigned to the following triggers: pre sign-up, custom\n message, and post confirmation. When Amazon Cognito\n invokes any of these functions, it passes a JSON payload, which the function receives as\n input. This payload contains a clientMetadata attribute, which provides the\n data that you assigned to the ClientMetadata parameter in your SignUp request. In your\n function code in Lambda, you can process the clientMetadata value to\n enhance your workflow for your specific needs.

\n

For more information, see Customizing User Pool Workflows with Lambda Triggers in the\n Amazon Cognito Developer Guide.

\n \n

Take the following limitations into consideration when you use the ClientMetadata\n parameter:

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

A map of custom key-value pairs that you can provide as input for any custom workflows that this action triggers.

\n

You create custom workflows by assigning Lambda functions to user pool triggers. When you use the SignUp API action, Amazon Cognito \n invokes any functions that are assigned to the following triggers: pre sign-up, custom message, \n and post confirmation. When Amazon Cognito invokes any of these functions, it passes a JSON payload, which the function \n receives as input. This payload contains a clientMetadata attribute, which provides the data that you assigned to the \n ClientMetadata parameter in your SignUp request. In your function code in Lambda, you can process the clientMetadata \n value to enhance your workflow for your specific needs.

\n

For more information, \n see Customizing User Pool Workflows with Lambda Triggers \n in the Amazon Cognito Developer Guide.

\n \n \n

When you use the ClientMetadata parameter, remember that Amazon Cognito won't do the following:

\n \n
" } } }, @@ -10478,20 +10478,20 @@ "UserConfirmed": { "target": "com.amazonaws.cognitoidentityprovider#BooleanType", "traits": { - "smithy.api#documentation": "

A response from the server indicating that a user registration has been\n confirmed.

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

A response from the server indicating that a user registration has been confirmed.

", "smithy.api#required": {} } }, "CodeDeliveryDetails": { "target": "com.amazonaws.cognitoidentityprovider#CodeDeliveryDetailsType", "traits": { - "smithy.api#documentation": "

The code delivery details returned by the server response to the user registration\n request.

" + "smithy.api#documentation": "

The code delivery details returned by the server response to the user registration request.

" } }, "UserSub": { "target": "com.amazonaws.cognitoidentityprovider#StringType", "traits": { - "smithy.api#documentation": "

The UUID of the authenticated user. This is not the same as\n username.

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

The UUID of the authenticated user. This isn't the same as username.

", "smithy.api#required": {} } } @@ -10518,19 +10518,19 @@ "SnsCallerArn": { "target": "com.amazonaws.cognitoidentityprovider#ArnType", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the Amazon Simple Notification Service (SNS) caller.\n This is the ARN of the IAM role in your account which Cognito will use to send SMS\n messages. SMS messages are subject to a spending limit.

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

The Amazon Resource Name (ARN) of the Amazon SNS caller. This is the ARN of the IAM role in your Amazon Web Services account that Amazon Cognito will use to send SMS messages. SMS messages are \n subject to a spending limit.

", "smithy.api#required": {} } }, "ExternalId": { "target": "com.amazonaws.cognitoidentityprovider#StringType", "traits": { - "smithy.api#documentation": "

The external ID is a value that we recommend you use to add security to your IAM role\n which is used to call Amazon SNS to send SMS messages for your user pool. If you provide\n an ExternalId, the Cognito User Pool will include it when attempting to\n assume your IAM role, so that you can set your roles trust policy to require the\n ExternalID. If you use the Cognito Management Console to create a role\n for SMS MFA, Cognito will create a role with the required permissions and a trust policy\n that demonstrates use of the ExternalId.

\n

For more information about the ExternalId of a role, see How to use an\n external ID when granting access to your Amazon Web Services resources to a third\n party\n

" + "smithy.api#documentation": "

The external ID is a value that you should use to add security to your IAM role that is used to call Amazon SNS to send SMS messages for your user pool. If you provide an ExternalId, \n the Amazon Cognito User Pool will include it when attempting to assume your IAM role so that you can set your roles trust policy to require the ExternalID. If you use the Amazon Cognito Management \n Console to create a role for SMS multi-factor authentication (MFA), Amazon Cognito will create a role with the required permissions and a trust policy that demonstrates use of the ExternalId.

\n

For more information about the ExternalId of a role, \n see How to use an external ID when granting access to your Amazon Web Services resources to a \n third party\n

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

The SMS configuration type that includes the settings the Cognito User Pool needs to\n call for the Amazon SNS service to send an SMS message from your account. The\n Cognito User Pool makes the request to the Amazon SNS Service by using an IAM role\n that you provide for your account.

" + "smithy.api#documentation": "

The SMS configuration type that includes the settings the Amazon Cognito User Pool must call for the Amazon Simple Notification Service service to send an SMS message from your Amazon Web Services account. The \n Amazon Cognito User Pool makes the request to the Amazon SNS Service by using an Identity and Access Management role that you provide for your Amazon Web Services account.

" } }, "com.amazonaws.cognitoidentityprovider#SmsMfaConfigType": { @@ -10539,7 +10539,7 @@ "SmsAuthenticationMessage": { "target": "com.amazonaws.cognitoidentityprovider#SmsVerificationMessageType", "traits": { - "smithy.api#documentation": "

The SMS authentication message that will be sent to users with the code they need to\n sign in. The message must contain the ‘{####}’ placeholder, which will be replaced with\n the code. If the message is not included, and default message will be used.

" + "smithy.api#documentation": "

The SMS authentication message that will be sent to users with the code they must sign in. The message must contain the ‘{####}’ placeholder, which is replaced with the code. \n If the message isn't included, and default message will be used.

" } }, "SmsConfiguration": { @@ -10571,7 +10571,7 @@ } }, "traits": { - "smithy.api#documentation": "

This exception is thrown when the software token TOTP multi-factor authentication\n (MFA) is not enabled for the user pool.

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

This exception is thrown when the software token time-based one-time password (TOTP) multi-factor authentication (MFA) isn't activated for the user pool.

", "smithy.api#error": "client", "smithy.api#httpError": 400 } @@ -10592,7 +10592,7 @@ "Enabled": { "target": "com.amazonaws.cognitoidentityprovider#BooleanType", "traits": { - "smithy.api#documentation": "

Specifies whether software token MFA is enabled.

" + "smithy.api#documentation": "

Specifies whether software token MFA is activated.

" } } }, @@ -10606,7 +10606,7 @@ "Enabled": { "target": "com.amazonaws.cognitoidentityprovider#BooleanType", "traits": { - "smithy.api#documentation": "

Specifies whether software token MFA is enabled. If an MFA type is enabled for a user,\n the user will be prompted for MFA during all sign in attempts, unless device tracking is\n turned on and the device has been trusted.

" + "smithy.api#documentation": "

Specifies whether software token MFA is activated. If an MFA type is activated for a user, the user will be prompted for MFA during all sign-in attempts, unless device tracking is turned \n on and the device has been trusted.

" } }, "PreferredMfa": { @@ -10617,7 +10617,7 @@ } }, "traits": { - "smithy.api#documentation": "

The type used for enabling software token MFA at the user level. If an MFA type is\n enabled for a user, the user will be prompted for MFA during all sign in attempts,\n unless device tracking is turned on and the device has been trusted. If you would like\n MFA to be applied selectively based on the assessed risk level of sign in attempts,\n disable MFA for users and turn on Adaptive Authentication for the user pool.

" + "smithy.api#documentation": "

The type used for enabling software token MFA at the user level. If an MFA type is activated for a user, the user will be prompted for MFA during all sign-in attempts, unless device tracking \n is turned on and the device has been trusted. If you want MFA to be applied selectively based on the assessed risk level of sign-in attempts, deactivate MFA for users and turn on Adaptive \n Authentication for the user pool.

" } }, "com.amazonaws.cognitoidentityprovider#StartUserImportJob": { @@ -10685,7 +10685,7 @@ } }, "traits": { - "smithy.api#documentation": "

Represents the response from the server to the request to start the user import\n job.

" + "smithy.api#documentation": "

Represents the response from the server to the request to start the user import job.

" } }, "com.amazonaws.cognitoidentityprovider#StatusType": { @@ -10741,7 +10741,7 @@ "UserPoolId": { "target": "com.amazonaws.cognitoidentityprovider#UserPoolIdType", "traits": { - "smithy.api#documentation": "

The user pool ID for the user pool that the users are being imported into.

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

The user pool ID for the user pool that the users are being imported\n into.

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

Represents the response from the server to the request to stop the user import\n job.

" + "smithy.api#documentation": "

Represents the response from the server to the request to stop the user import job.

" } }, "com.amazonaws.cognitoidentityprovider#StringAttributeConstraintsType": { @@ -10835,7 +10835,7 @@ } ], "traits": { - "smithy.api#documentation": "

Assigns a set of tags to an Amazon Cognito user pool. A tag is a label that you can\n use to categorize and manage user pools in different ways, such as by purpose, owner,\n environment, or other criteria.

\n

Each tag consists of a key and value, both of which you define. A key is a general\n category for more specific values. For example, if you have two versions of a user pool,\n one for testing and another for production, you might assign an Environment\n tag key to both user pools. The value of this key might be Test for one\n user pool and Production for the other.

\n

Tags are useful for cost tracking and access control. You can activate your tags so\n that they appear on the Billing and Cost Management console, where you can track the\n costs associated with your user pools. In an IAM policy, you can constrain permissions\n for user pools based on specific tags or tag values.

\n

You can use this action up to 5 times per second, per account. A user pool can have as\n many as 50 tags.

" + "smithy.api#documentation": "

Assigns a set of tags to an Amazon Cognito user pool. A tag is a label that you can use to categorize and manage user pools in different ways, such as by purpose, owner, environment, or other criteria.

\n

Each tag consists of a key and value, both of which you define. A key is a general category for more specific values. For example, if you have two versions of a user pool, \n one for testing and another for production, you might assign an Environment tag key to both user pools. The value of this key might be Test for \n one user pool, and Production for the other.

\n

Tags are useful for cost tracking and access control. You can activate your tags so that they appear on the Billing and Cost Management console, where you can track the costs associated with \n your user pools. In an Identity and Access Management policy, you can constrain permissions for user pools based on specific tags or tag values.

\n

You can use this action up to 5 times per second, per account. A user pool can have as many as 50 tags.

" } }, "com.amazonaws.cognitoidentityprovider#TagResourceRequest": { @@ -10915,24 +10915,24 @@ "AccessToken": { "target": "com.amazonaws.cognitoidentityprovider#TimeUnitsType", "traits": { - "smithy.api#documentation": "

A time unit in “seconds”, “minutes”, “hours” or “days” for the value in\n AccessTokenValidity, defaults to hours.

" + "smithy.api#documentation": "

A time unit in “seconds”, “minutes”, “hours”, or “days” for the value in AccessTokenValidity, defaulting to hours.

" } }, "IdToken": { "target": "com.amazonaws.cognitoidentityprovider#TimeUnitsType", "traits": { - "smithy.api#documentation": "

A time unit in “seconds”, “minutes”, “hours” or “days” for the value in\n IdTokenValidity, defaults to hours.

" + "smithy.api#documentation": "

A time unit in “seconds”, “minutes”, “hours”, or “days” for the value in IdTokenValidity, defaulting to hours.

" } }, "RefreshToken": { "target": "com.amazonaws.cognitoidentityprovider#TimeUnitsType", "traits": { - "smithy.api#documentation": "

A time unit in “seconds”, “minutes”, “hours” or “days” for the value in\n RefreshTokenValidity, defaults to days.

" + "smithy.api#documentation": "

A time unit in “seconds”, “minutes”, “hours”, or “days” for the value in RefreshTokenValidity, defaulting to days.

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

The data type for TokenValidityUnits that specifics the time measurements for token\n validity.

" + "smithy.api#documentation": "

The data type for TokenValidityUnits that specifics the time measurements for token validity.

" } }, "com.amazonaws.cognitoidentityprovider#TooManyFailedAttemptsException": { @@ -10941,12 +10941,12 @@ "message": { "target": "com.amazonaws.cognitoidentityprovider#MessageType", "traits": { - "smithy.api#documentation": "

The message returned when the Amazon Cognito service returns a too many failed\n attempts exception.

" + "smithy.api#documentation": "

The message returned when Amazon Cognito returns a TooManyFailedAttempts exception.

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

This exception is thrown when the user has made too many failed attempts for a given\n action (e.g., sign in).

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

This exception is thrown when the user has made too many failed attempts for a given action, such as sign-in.

", "smithy.api#error": "client", "smithy.api#httpError": 400 } @@ -10957,12 +10957,12 @@ "message": { "target": "com.amazonaws.cognitoidentityprovider#MessageType", "traits": { - "smithy.api#documentation": "

The message returned when the Amazon Cognito service returns a too many requests\n exception.

" + "smithy.api#documentation": "

The message returned when the Amazon Cognito service returns a too many requests exception.

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

This exception is thrown when the user has made too many requests for a given\n operation.

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

This exception is thrown when the user has made too many requests for a given operation.

", "smithy.api#error": "client", "smithy.api#httpError": 429 } @@ -11014,7 +11014,7 @@ } }, "traits": { - "smithy.api#documentation": "

A container for the UI customization information for a user pool's built-in app\n UI.

" + "smithy.api#documentation": "

A container for the UI customization information for a user pool's built-in app UI.

" } }, "com.amazonaws.cognitoidentityprovider#UnauthorizedException": { @@ -11025,7 +11025,7 @@ } }, "traits": { - "smithy.api#documentation": "

This exception is thrown when the request is not authorized. This can happen due to an invalid access token in the request.

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

Exception that is thrown when the request isn't authorized. This can happen due to an invalid access token in the request.

", "smithy.api#error": "client", "smithy.api#httpError": 401 } @@ -11036,12 +11036,12 @@ "message": { "target": "com.amazonaws.cognitoidentityprovider#MessageType", "traits": { - "smithy.api#documentation": "

The message returned when the Amazon Cognito service returns an unexpected Lambda\n exception.

" + "smithy.api#documentation": "

The message returned when Amazon Cognito returns an unexpected Lambda exception.

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

This exception is thrown when the Amazon Cognito service encounters an unexpected\n exception with the Lambda service.

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

This exception is thrown when Amazon Cognito encounters an unexpected exception with Lambda.

", "smithy.api#error": "client", "smithy.api#httpError": 400 } @@ -11054,7 +11054,7 @@ } }, "traits": { - "smithy.api#documentation": "

This exception is thrown when the specified identifier is not supported.

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

This exception is thrown when the specified identifier isn't supported.

", "smithy.api#error": "client", "smithy.api#httpError": 400 } @@ -11067,7 +11067,7 @@ } }, "traits": { - "smithy.api#documentation": "

This exception is thrown when you attempt to perform an operation that is not enabled for the user pool client.

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

Exception that is thrown when you attempt to perform an operation that isn't enabled for the user pool client.

", "smithy.api#error": "client", "smithy.api#httpError": 400 } @@ -11080,7 +11080,7 @@ } }, "traits": { - "smithy.api#documentation": "

This exception is thrown when an unsupported token is passed to an operation.

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

Exception that is thrown when an unsupported token is passed to an operation.

", "smithy.api#error": "client", "smithy.api#httpError": 400 } @@ -11096,7 +11096,7 @@ } }, "traits": { - "smithy.api#documentation": "

The request failed because the user is in an unsupported state.

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

The request failed because the user is in an unsupported\n state.

", "smithy.api#error": "client", "smithy.api#httpError": 400 } @@ -11127,7 +11127,7 @@ } ], "traits": { - "smithy.api#documentation": "

Removes the specified tags from an Amazon Cognito user pool. You can use this action\n up to 5 times per second, per account

" + "smithy.api#documentation": "

Removes the specified tags from an Amazon Cognito user pool. You can use this action up to 5 times per second, per account.

" } }, "com.amazonaws.cognitoidentityprovider#UntagResourceRequest": { @@ -11185,7 +11185,7 @@ } ], "traits": { - "smithy.api#documentation": "

Provides the feedback for an authentication event whether it was from a valid user or\n not. This feedback is used for improving the risk evaluation decision for the user pool\n as part of Amazon Cognito advanced security.

" + "smithy.api#documentation": "

Provides the feedback for an authentication event, whether it was from a valid user or not. This feedback is used for improving the risk evaluation decision for the user pool as part \n of Amazon Cognito advanced security.

" } }, "com.amazonaws.cognitoidentityprovider#UpdateAuthEventFeedbackRequest": { @@ -11363,13 +11363,13 @@ "RoleArn": { "target": "com.amazonaws.cognitoidentityprovider#ArnType", "traits": { - "smithy.api#documentation": "

The new role ARN for the group. This is used for setting the\n cognito:roles and cognito:preferred_role claims in the\n token.

" + "smithy.api#documentation": "

The new role Amazon Resource Name (ARN) for the group. This is used for setting the cognito:roles and cognito:preferred_role claims in the token.

" } }, "Precedence": { "target": "com.amazonaws.cognitoidentityprovider#PrecedenceType", "traits": { - "smithy.api#documentation": "

The new precedence value for the group. For more information about this parameter, see\n CreateGroup.

" + "smithy.api#documentation": "

The new precedence value for the group. For more information about this parameter, \n see CreateGroup.

" } } } @@ -11437,7 +11437,7 @@ "ProviderDetails": { "target": "com.amazonaws.cognitoidentityprovider#ProviderDetailsType", "traits": { - "smithy.api#documentation": "

The identity provider details to be updated, such as MetadataURL and\n MetadataFile.

" + "smithy.api#documentation": "

The identity provider details to be updated, such as MetadataURL and MetadataFile.

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

Updates the name and scopes of resource server. All other fields are read-only.

\n \n

If you don't provide a value for an attribute, it will be set to the default\n value.

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

Updates the name and scopes of resource server. All other fields are read-only.

\n \n

If you don't provide a value for an attribute, it is set to the default value.

\n
" } }, "com.amazonaws.cognitoidentityprovider#UpdateResourceServerRequest": { @@ -11605,7 +11605,7 @@ ], "traits": { "smithy.api#auth": [], - "smithy.api#documentation": "

Allows a user to update a specific attribute (one at a time).

\n \n \n

This action might generate an SMS text message. Starting June 1, 2021, U.S. \n telecom carriers require that you register an origination phone number before you can \n send SMS messages to U.S. phone numbers. If you use SMS text messages in Amazon Cognito, \n you must register a phone number with Amazon Pinpoint. \n Cognito will use the the registered number automatically. Otherwise, Cognito users that must\n receive SMS messages might be unable to sign up, activate their accounts, or sign\n in.

\n

If you have never used SMS text messages with Amazon Cognito or any other Amazon Web Service, Amazon SNS might place your account in SMS sandbox. In \n sandbox\n mode\n , you’ll have limitations, such as sending messages\n to only verified phone numbers. After testing in the sandbox environment, you can\n move out of the SMS sandbox and into production. For more information, see SMS message settings for Cognito User Pools in the Amazon\n Cognito Developer Guide.

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

Allows a user to update a specific attribute (one at a time).

\n \n \n \n

This action might generate an SMS text message. Starting June 1, 2021, US telecom carriers require you to register an \n origination phone number before you can send SMS messages to U.S. phone numbers. If you use SMS text messages in Amazon Cognito, you must \n register a phone number with Amazon Pinpoint. Amazon Cognito will use the registered number \n automatically. Otherwise, Amazon Cognito users that must receive SMS messages might be unable to sign up, activate their accounts, \n or sign in.

\n

If you have never used SMS text messages with Amazon Cognito or any other Amazon Web Service, Amazon Simple Notification Service \n might place your account in SMS sandbox. In \n \n sandbox mode\n , you will have \n limitations, such as sending messages only to verified phone numbers. After testing in the sandbox environment, you can move \n out of the SMS sandbox and into production. For more information, see \n SMS \n message settings for Amazon Cognito User Pools in the Amazon Cognito Developer Guide.

\n
", "smithy.api#optionalAuth": {} } }, @@ -11615,7 +11615,7 @@ "UserAttributes": { "target": "com.amazonaws.cognitoidentityprovider#AttributeListType", "traits": { - "smithy.api#documentation": "

An array of name-value pairs representing user attributes.

\n

For custom attributes, you must prepend the custom: prefix to the\n attribute name.

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

An array of name-value pairs representing user attributes.

\n

For custom attributes, you must prepend the custom: prefix to the attribute name.

", "smithy.api#required": {} } }, @@ -11629,7 +11629,7 @@ "ClientMetadata": { "target": "com.amazonaws.cognitoidentityprovider#ClientMetadataType", "traits": { - "smithy.api#documentation": "

A map of custom key-value pairs that you can provide as input for any custom workflows\n that this action triggers.

\n

You create custom workflows by assigning Lambda functions to user pool triggers.\n When you use the UpdateUserAttributes API action, Amazon Cognito invokes the function\n that is assigned to the custom message trigger. When Amazon Cognito\n invokes this function, it passes a JSON payload, which the function receives as input.\n This payload contains a clientMetadata attribute, which provides the data\n that you assigned to the ClientMetadata parameter in your UpdateUserAttributes request.\n In your function code in Lambda, you can process the clientMetadata\n value to enhance your workflow for your specific needs.

\n

For more information, see Customizing User Pool Workflows with Lambda Triggers in the\n Amazon Cognito Developer Guide.

\n \n

Take the following limitations into consideration when you use the ClientMetadata\n parameter:

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

A map of custom key-value pairs that you can provide as input for any custom workflows that this action initiates.

\n

You create custom workflows by assigning Lambda functions to user pool triggers. When you use the UpdateUserAttributes API action, Amazon Cognito invokes the \n function that is assigned to the custom message trigger. When Amazon Cognito invokes this function, it passes a \n JSON \n payload, which the function receives as input. This payload contains a clientMetadata attribute, which provides the data that you \n assigned to the ClientMetadata parameter in your UpdateUserAttributes request. In your function code in Lambda, you can process the clientMetadata \n value to enhance your workflow for your specific needs.

\n

For more information, see Customizing User Pool \n Workflows with Lambda Triggers in the Amazon Cognito Developer Guide.

\n \n \n

When you use the ClientMetadata parameter, remember that Amazon Cognito won't do the following:

\n \n
" } } }, @@ -11643,12 +11643,12 @@ "CodeDeliveryDetailsList": { "target": "com.amazonaws.cognitoidentityprovider#CodeDeliveryDetailsListType", "traits": { - "smithy.api#documentation": "

The code delivery details list from the server for the request to update user\n attributes.

" + "smithy.api#documentation": "

The code delivery details list from the server for the request to update user attributes.

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

Represents the response from the server for the request to update user\n attributes.

" + "smithy.api#documentation": "

Represents the response from the server for the request to update user attributes.

" } }, "com.amazonaws.cognitoidentityprovider#UpdateUserPool": { @@ -11695,7 +11695,7 @@ } ], "traits": { - "smithy.api#documentation": "

Updates the specified user pool with the specified attributes. You can get a list of\n the current user pool settings using DescribeUserPool. If you don't provide a value for an attribute, it will be set to the default\n value.

\n \n \n

This action might generate an SMS text message. Starting June 1, 2021, U.S. \n telecom carriers require that you register an origination phone number before you can \n send SMS messages to U.S. phone numbers. If you use SMS text messages in Amazon Cognito, \n you must register a phone number with Amazon Pinpoint. \n Cognito will use the the registered number automatically. Otherwise, Cognito users that must\n receive SMS messages might be unable to sign up, activate their accounts, or sign\n in.

\n

If you have never used SMS text messages with Amazon Cognito or any other Amazon Web Service, Amazon SNS might place your account in SMS sandbox. In \n sandbox\n mode\n , you’ll have limitations, such as sending messages\n to only verified phone numbers. After testing in the sandbox environment, you can\n move out of the SMS sandbox and into production. For more information, see SMS message settings for Cognito User Pools in the Amazon\n Cognito Developer Guide.

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

Updates the specified user pool with the specified attributes. You can get a list of the current user pool settings using \n DescribeUserPool. \n If you don't provide a value for an attribute, it will be set to the default value.

\n \n \n \n

This action might generate an SMS text message. Starting June 1, 2021, US telecom carriers require you to register an \n origination phone number before you can send SMS messages to U.S. phone numbers. If you use SMS text messages in Amazon Cognito, you must \n register a phone number with Amazon Pinpoint. Amazon Cognito will use the registered number \n automatically. Otherwise, Amazon Cognito users that must receive SMS messages might be unable to sign up, activate their accounts, \n or sign in.

\n

If you have never used SMS text messages with Amazon Cognito or any other Amazon Web Service, Amazon Simple Notification Service \n might place your account in SMS sandbox. In \n \n sandbox mode\n , you will have \n limitations, such as sending messages only to verified phone numbers. After testing in the sandbox environment, you can move \n out of the SMS sandbox and into production. For more information, see \n SMS \n message settings for Amazon Cognito User Pools in the Amazon Cognito Developer Guide.

\n
" } }, "com.amazonaws.cognitoidentityprovider#UpdateUserPoolClient": { @@ -11733,7 +11733,7 @@ } ], "traits": { - "smithy.api#documentation": "

Updates the specified user pool app client with the specified attributes. You can get\n a list of the current user pool app client settings using DescribeUserPoolClient.

\n \n

If you don't provide a value for an attribute, it will be set to the default\n value.

\n
\n

You can also use this operation to enable token revocation for user pool clients. For more information\n about revoking tokens, see RevokeToken.

" + "smithy.api#documentation": "

Updates the specified user pool app client with the specified attributes. You can get a list of the current user pool app client settings using \n DescribeUserPoolClient.

\n \n

If you don't provide a value for an attribute, it will be set to the default value.

\n
\n

You can also use this operation to enable token revocation for user pool clients. For more information about revoking tokens, \n see RevokeToken.

" } }, "com.amazonaws.cognitoidentityprovider#UpdateUserPoolClientRequest": { @@ -11742,7 +11742,7 @@ "UserPoolId": { "target": "com.amazonaws.cognitoidentityprovider#UserPoolIdType", "traits": { - "smithy.api#documentation": "

The user pool ID for the user pool where you want to update the user pool\n client.

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

The user pool ID for the user pool where you want to update the user pool client.

", "smithy.api#required": {} } }, @@ -11762,25 +11762,25 @@ "RefreshTokenValidity": { "target": "com.amazonaws.cognitoidentityprovider#RefreshTokenValidityType", "traits": { - "smithy.api#documentation": "

The time limit, in days, after which the refresh token is no longer valid and cannot\n be used.

" + "smithy.api#documentation": "

The time limit, in days, after which the refresh token is no longer valid and can't be used.

" } }, "AccessTokenValidity": { "target": "com.amazonaws.cognitoidentityprovider#AccessTokenValidityType", "traits": { - "smithy.api#documentation": "

The time limit, after which the access token is no longer valid and cannot be\n used.

" + "smithy.api#documentation": "

The time limit after which the access token is no longer valid and can't be used.

" } }, "IdTokenValidity": { "target": "com.amazonaws.cognitoidentityprovider#IdTokenValidityType", "traits": { - "smithy.api#documentation": "

The time limit, after which the ID token is no longer valid and cannot be used.

" + "smithy.api#documentation": "

The time limit after which the ID token is no longer valid and can't be used.

" } }, "TokenValidityUnits": { "target": "com.amazonaws.cognitoidentityprovider#TokenValidityUnitsType", "traits": { - "smithy.api#documentation": "

The units in which the validity times are represented in. Default for RefreshToken is\n days, and default for ID and access tokens are hours.

" + "smithy.api#documentation": "

The units in which the validity times are represented. Default for RefreshToken is days, and default for ID and access tokens is hours.

" } }, "ReadAttributes": { @@ -11798,19 +11798,19 @@ "ExplicitAuthFlows": { "target": "com.amazonaws.cognitoidentityprovider#ExplicitAuthFlowsListType", "traits": { - "smithy.api#documentation": "

The authentication flows that are supported by the user pool clients. Flow names\n without the ALLOW_ prefix are deprecated in favor of new names with the\n ALLOW_ prefix. Note that values with ALLOW_ prefix cannot\n be used along with values without ALLOW_ prefix.

\n

Valid values include:

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

The authentication flows that are supported by the user pool clients. Flow names without the ALLOW_ prefix are no longer supported in favor of new names with the \n ALLOW_ prefix. Note that values with ALLOW_ prefix must be used only along with values with the ALLOW_ prefix.

\n

Valid values include:

\n " } }, "SupportedIdentityProviders": { "target": "com.amazonaws.cognitoidentityprovider#SupportedIdentityProvidersListType", "traits": { - "smithy.api#documentation": "

A list of provider names for the identity providers that are supported on this\n client.

" + "smithy.api#documentation": "

A list of provider names for the identity providers that are supported on this client.

" } }, "CallbackURLs": { "target": "com.amazonaws.cognitoidentityprovider#CallbackURLsListType", "traits": { - "smithy.api#documentation": "

A list of allowed redirect (callback) URLs for the identity providers.

\n

A redirect URI must:

\n \n

See OAuth 2.0 -\n Redirection Endpoint.

\n

Amazon Cognito requires HTTPS over HTTP except for http://localhost for testing\n purposes only.

\n

App callback URLs such as myapp://example are also supported.

" + "smithy.api#documentation": "

A list of allowed redirect (callback) URLs for the identity providers.

\n

A redirect URI must:

\n \n

See OAuth 2.0 - Redirection Endpoint.

\n

Amazon Cognito requires HTTPS over HTTP except for http://localhost for testing purposes only.

\n

App callback URLs such as myapp://example are also supported.

" } }, "LogoutURLs": { @@ -11822,43 +11822,43 @@ "DefaultRedirectURI": { "target": "com.amazonaws.cognitoidentityprovider#RedirectUrlType", "traits": { - "smithy.api#documentation": "

The default redirect URI. Must be in the CallbackURLs list.

\n

A redirect URI must:

\n \n

See OAuth 2.0 -\n Redirection Endpoint.

\n

Amazon Cognito requires HTTPS over HTTP except for http://localhost for testing\n purposes only.

\n

App callback URLs such as myapp://example are also supported.

" + "smithy.api#documentation": "

The default redirect URI. Must be in the CallbackURLs list.

\n

A redirect URI must:

\n \n

See OAuth 2.0 - Redirection Endpoint.

\n

Amazon Cognito requires HTTPS over HTTP except for http://localhost for testing purposes only.

\n

App callback URLs such as myapp://example are also supported.

" } }, "AllowedOAuthFlows": { "target": "com.amazonaws.cognitoidentityprovider#OAuthFlowsType", "traits": { - "smithy.api#documentation": "

The allowed OAuth flows.

\n

Set to code to initiate a code grant flow, which provides an\n authorization code as the response. This code can be exchanged for access tokens with\n the token endpoint.

\n

Set to implicit to specify that the client should get the access token\n (and, optionally, ID token, based on scopes) directly.

\n

Set to client_credentials to specify that the client should get the\n access token (and, optionally, ID token, based on scopes) from the token endpoint using\n a combination of client and client_secret.

" + "smithy.api#documentation": "

The allowed OAuth flows.

\n

Set to code to initiate a code grant flow, which provides an authorization code as the response. This code can be exchanged for access tokens with the token endpoint.

\n

Set to implicit to specify that the client should get the access token (and, optionally, ID token, based on scopes) directly.

\n

Set to client_credentials to specify that the client should get the access token (and, optionally, ID token, based on scopes) from the token endpoint using a combination \n of client and client_secret.

" } }, "AllowedOAuthScopes": { "target": "com.amazonaws.cognitoidentityprovider#ScopeListType", "traits": { - "smithy.api#documentation": "

The allowed OAuth scopes. Possible values provided by OAuth are: phone,\n email, openid, and profile. Possible values\n provided by Amazon Web Services are: aws.cognito.signin.user.admin. Custom scopes created\n in Resource Servers are also supported.

" + "smithy.api#documentation": "

The allowed OAuth scopes. Possible values provided by OAuth are: phone, \n email, openid, and profile. Possible values provided by Amazon Web Services are: aws.cognito.signin.user.admin. Custom scopes created \n in Resource Servers are also supported.

" } }, "AllowedOAuthFlowsUserPoolClient": { "target": "com.amazonaws.cognitoidentityprovider#BooleanType", "traits": { - "smithy.api#documentation": "

Set to true if the client is allowed to follow the OAuth protocol when interacting\n with Cognito user pools.

" + "smithy.api#documentation": "

Set to true if the client is allowed to follow the OAuth protocol when interacting with Amazon Cognito user pools.

" } }, "AnalyticsConfiguration": { "target": "com.amazonaws.cognitoidentityprovider#AnalyticsConfigurationType", "traits": { - "smithy.api#documentation": "

The Amazon Pinpoint analytics configuration for collecting metrics for this user\n pool.

\n \n

In regions where Pinpoint is not available, Cognito User Pools only supports\n sending events to Amazon Pinpoint projects in us-east-1. In regions where Pinpoint\n is available, Cognito User Pools will support sending events to Amazon Pinpoint\n projects within that same region.

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

The Amazon Pinpoint analytics configuration for collecting metrics for this user pool.

\n \n

In Amazon Web Services Regions where isn't available, User Pools only supports sending events to Amazon Pinpoint projects in us-east-1. In Regions where Pinpoint is available, User Pools will support \n sending events to Amazon Pinpoint projects within that same Region.

\n
" } }, "PreventUserExistenceErrors": { "target": "com.amazonaws.cognitoidentityprovider#PreventUserExistenceErrorTypes", "traits": { - "smithy.api#documentation": "

Use this setting to choose which errors and responses are returned by Cognito APIs\n during authentication, account confirmation, and password recovery when the user does\n not exist in the user pool. When set to ENABLED and the user does not\n exist, authentication returns an error indicating either the username or password was\n incorrect, and account confirmation and password recovery return a response indicating a\n code was sent to a simulated destination. When set to LEGACY, those APIs\n will return a UserNotFoundException exception if the user does not exist in\n the user pool.

\n

Valid values include:

\n \n \n \n \n

After February 15th 2020, the value of PreventUserExistenceErrors\n will default to ENABLED for newly created user pool clients if no value\n is provided.

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

Errors and responses that you want Amazon Cognito APIs to return during authentication, account confirmation, and password recovery when the user doesn't exist in the \n user pool. When set to ENABLED and the user doesn't exist, authentication returns an error indicating either the username or password was incorrect. \n Account confirmation and password recovery return a response indicating a code was sent to a simulated destination. When set to LEGACY, those APIs \n return a UserNotFoundException exception if the user doesn't exist in the user pool.

\n

Valid values include:

\n " } }, "EnableTokenRevocation": { "target": "com.amazonaws.cognitoidentityprovider#WrappedBooleanType", "traits": { - "smithy.api#documentation": "

Enables or disables token revocation. For more information\n about revoking tokens, see RevokeToken.

" + "smithy.api#documentation": "

Activates or deactivates token revocation. For more information about revoking tokens, \n see RevokeToken.

" } } }, @@ -11872,12 +11872,12 @@ "UserPoolClient": { "target": "com.amazonaws.cognitoidentityprovider#UserPoolClientType", "traits": { - "smithy.api#documentation": "

The user pool client value from the response from the server when an update user pool\n client request is made.

" + "smithy.api#documentation": "

The user pool client value from the response from the server when you request to update the user pool client.

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

Represents the response from the server to the request to update the user pool\n client.

" + "smithy.api#documentation": "

Represents the response from the server to the request to update the user pool client.

" } }, "com.amazonaws.cognitoidentityprovider#UpdateUserPoolDomain": { @@ -11906,7 +11906,7 @@ } ], "traits": { - "smithy.api#documentation": "

Updates the Secure Sockets Layer (SSL) certificate for the custom domain for your user\n pool.

\n

You can use this operation to provide the Amazon Resource Name (ARN) of a new\n certificate to Amazon Cognito. You cannot use it to change the domain for a user\n pool.

\n

A custom domain is used to host the Amazon Cognito hosted UI, which provides sign-up\n and sign-in pages for your application. When you set up a custom domain, you provide a\n certificate that you manage with Certificate Manager (ACM). When necessary, you can\n use this operation to change the certificate that you applied to your custom\n domain.

\n

Usually, this is unnecessary following routine certificate renewal with ACM. When you\n renew your existing certificate in ACM, the ARN for your certificate remains the same,\n and your custom domain uses the new certificate automatically.

\n

However, if you replace your existing certificate with a new one, ACM gives the new\n certificate a new ARN. To apply the new certificate to your custom domain, you must\n provide this ARN to Amazon Cognito.

\n

When you add your new certificate in ACM, you must choose US East (N. Virginia) as the\n Region.

\n

After you submit your request, Amazon Cognito requires up to 1 hour to distribute your\n new certificate to your custom domain.

\n

For more information about adding a custom domain to your user pool, see Using Your Own Domain for the Hosted UI.

" + "smithy.api#documentation": "

Updates the Secure Sockets Layer (SSL) certificate for the custom domain for your user pool.

\n

You can use this operation to provide the Amazon Resource Name (ARN) of a new certificate to Amazon Cognito. You can't use it to change the domain for a user pool.

\n

A custom domain is used to host the Amazon Cognito hosted UI, which provides sign-up and sign-in pages for your application. When you set up a custom domain, you provide a certificate that you \n manage with Certificate Manager (ACM). When necessary, you can use this operation to change the certificate that you applied to your custom domain.

\n

Usually, this is unnecessary following routine certificate renewal with ACM. When you renew your existing certificate in ACM, the ARN for your certificate remains the same, \n and your custom domain uses the new certificate automatically.

\n

However, if you replace your existing certificate with a new one, ACM gives the new certificate a new ARN. To apply the new certificate to your custom domain, you must provide \n this ARN to Amazon Cognito.

\n

When you add your new certificate in ACM, you must choose US East (N. Virginia) as the Amazon Web Services Region.

\n

After you submit your request, Amazon Cognito requires up to 1 hour to distribute your new certificate to your custom domain.

\n

For more information about adding a custom domain to your user pool, \n see Using Your Own Domain for the Hosted UI.

" } }, "com.amazonaws.cognitoidentityprovider#UpdateUserPoolDomainRequest": { @@ -11915,21 +11915,21 @@ "Domain": { "target": "com.amazonaws.cognitoidentityprovider#DomainType", "traits": { - "smithy.api#documentation": "

The domain name for the custom domain that hosts the sign-up and sign-in pages for\n your application. For example: auth.example.com.

\n

This string can include only lowercase letters, numbers, and hyphens. Do not use a\n hyphen for the first or last character. Use periods to separate subdomain names.

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

The domain name for the custom domain that hosts the sign-up and sign-in pages for your application. One example might be auth.example.com.

\n

This string can include only lowercase letters, numbers, and hyphens. Don't use a hyphen for the first or last character. Use periods to separate subdomain names.

", "smithy.api#required": {} } }, "UserPoolId": { "target": "com.amazonaws.cognitoidentityprovider#UserPoolIdType", "traits": { - "smithy.api#documentation": "

The ID of the user pool that is associated with the custom domain that you are\n updating the certificate for.

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

The ID of the user pool that is associated with the custom domain whose certificate you're updating.

", "smithy.api#required": {} } }, "CustomDomainConfig": { "target": "com.amazonaws.cognitoidentityprovider#CustomDomainConfigType", "traits": { - "smithy.api#documentation": "

The configuration for a custom domain that hosts the sign-up and sign-in pages for\n your application. Use this object to specify an SSL certificate that is managed by\n ACM.

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

The configuration for a custom domain that hosts the sign-up and sign-in pages for your application. Use this object to specify an SSL certificate that is managed by ACM.

", "smithy.api#required": {} } } @@ -11944,7 +11944,7 @@ "CloudFrontDomain": { "target": "com.amazonaws.cognitoidentityprovider#DomainType", "traits": { - "smithy.api#documentation": "

The Amazon CloudFront endpoint that Amazon Cognito set up when you added the custom\n domain to your user pool.

" + "smithy.api#documentation": "

The Amazon CloudFront endpoint that Amazon Cognito set up when you added the custom domain to your user pool.

" } } }, @@ -11965,19 +11965,19 @@ "Policies": { "target": "com.amazonaws.cognitoidentityprovider#UserPoolPolicyType", "traits": { - "smithy.api#documentation": "

A container with the policies you wish to update in a user pool.

" + "smithy.api#documentation": "

A container with the policies you want to update in a user pool.

" } }, "LambdaConfig": { "target": "com.amazonaws.cognitoidentityprovider#LambdaConfigType", "traits": { - "smithy.api#documentation": "

The Lambda configuration information from the request to update the user\n pool.

" + "smithy.api#documentation": "

The Lambda configuration information from the request to update the user pool.

" } }, "AutoVerifiedAttributes": { "target": "com.amazonaws.cognitoidentityprovider#VerifiedAttributesListType", "traits": { - "smithy.api#documentation": "

The attributes that are automatically verified when the Amazon Cognito service makes a\n request to update user pools.

" + "smithy.api#documentation": "

The attributes that are automatically verified when Amazon Cognito requests to update user pools.

" } }, "SmsVerificationMessage": { @@ -12013,7 +12013,7 @@ "MfaConfiguration": { "target": "com.amazonaws.cognitoidentityprovider#UserPoolMfaType", "traits": { - "smithy.api#documentation": "

Can be one of the following values:

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

Can be one of the following values:

\n \n " } }, "DeviceConfiguration": { @@ -12037,7 +12037,7 @@ "UserPoolTags": { "target": "com.amazonaws.cognitoidentityprovider#UserPoolTagsType", "traits": { - "smithy.api#documentation": "

The tag keys and values to assign to the user pool. A tag is a label that you can use\n to categorize and manage user pools in different ways, such as by purpose, owner,\n environment, or other criteria.

" + "smithy.api#documentation": "

The tag keys and values to assign to the user pool. A tag is a label that you can use to categorize and manage user pools in different ways, such as by purpose, owner, environment, \n or other criteria.

" } }, "AdminCreateUserConfig": { @@ -12049,13 +12049,13 @@ "UserPoolAddOns": { "target": "com.amazonaws.cognitoidentityprovider#UserPoolAddOnsType", "traits": { - "smithy.api#documentation": "

Used to enable advanced security risk detection. Set the key\n AdvancedSecurityMode to the value \"AUDIT\".

" + "smithy.api#documentation": "

Enables advanced security risk detection. Set the key AdvancedSecurityMode to the value \"AUDIT\".

" } }, "AccountRecoverySetting": { "target": "com.amazonaws.cognitoidentityprovider#AccountRecoverySettingType", "traits": { - "smithy.api#documentation": "

Use this setting to define which verified available method a user can use to recover\n their password when they call ForgotPassword. It allows you to define a\n preferred method when a user has more than one method available. With this setting, SMS\n does not qualify for a valid password recovery mechanism if the user also has SMS MFA\n enabled. In the absence of this setting, Cognito uses the legacy behavior to determine\n the recovery method where SMS is preferred over email.

" + "smithy.api#documentation": "

The available verified method a user can use to recover their password when they call ForgotPassword. You can use this setting to define a \n preferred method when a user has more than one method available. With this setting, SMS doesn't qualify for a valid password recovery mechanism if the user \n also has SMS multi-factor authentication (MFA) activated. In the absence of this setting, Amazon Cognito uses the legacy behavior to determine the recovery method \n where SMS is preferred through email.

" } } }, @@ -12067,7 +12067,7 @@ "type": "structure", "members": {}, "traits": { - "smithy.api#documentation": "

Represents the response from the server when you make a request to update the user\n pool.

" + "smithy.api#documentation": "

Represents the response from the server when you make a request to update the user pool.

" } }, "com.amazonaws.cognitoidentityprovider#UserContextDataType": { @@ -12076,12 +12076,12 @@ "EncodedData": { "target": "com.amazonaws.cognitoidentityprovider#StringType", "traits": { - "smithy.api#documentation": "

Contextual data such as the user's device fingerprint, IP address, or location used\n for evaluating the risk of an unexpected event by Amazon Cognito advanced\n security.

" + "smithy.api#documentation": "

Contextual data, such as the user's device fingerprint, IP address, or location, used for evaluating the risk of an unexpected event by Amazon Cognito advanced security.

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

Contextual data such as the user's device fingerprint, IP address, or location used\n for evaluating the risk of an unexpected event by Amazon Cognito advanced\n security.

" + "smithy.api#documentation": "

Contextual data, such as the user's device fingerprint, IP address, or location, used for evaluating the risk of an unexpected event by Amazon Cognito advanced security.

" } }, "com.amazonaws.cognitoidentityprovider#UserFilterType": { @@ -12104,7 +12104,7 @@ } }, "traits": { - "smithy.api#documentation": "

This exception is thrown when you are trying to modify a user pool while a user import\n job is in progress for that pool.

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

This exception is thrown when you're trying to modify a user pool while a user import job is in progress for that pool.

", "smithy.api#error": "client", "smithy.api#httpError": 400 } @@ -12186,7 +12186,7 @@ "UserPoolId": { "target": "com.amazonaws.cognitoidentityprovider#UserPoolIdType", "traits": { - "smithy.api#documentation": "

The user pool ID for the user pool that the users are being imported into.

" + "smithy.api#documentation": "

The user pool ID for the user pool that the users are being imported\n into.

" } }, "PreSignedUrl": { @@ -12216,13 +12216,13 @@ "Status": { "target": "com.amazonaws.cognitoidentityprovider#UserImportJobStatusType", "traits": { - "smithy.api#documentation": "

The status of the user import job. One of the following:

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

The status of the user import job. One of the following:

\n \n " } }, "CloudWatchLogsRoleArn": { "target": "com.amazonaws.cognitoidentityprovider#ArnType", "traits": { - "smithy.api#documentation": "

The role ARN for the Amazon CloudWatch Logging role for the user import job. For more\n information, see \"Creating the CloudWatch Logs IAM Role\" in the Amazon Cognito Developer\n Guide.

" + "smithy.api#documentation": "

The role Amazon Resource Name (ARN) for the Amazon CloudWatch Logging role for the user import job. For more information, see \"Creating the CloudWatch Logs IAM Role\" in the Amazon Cognito Developer Guide.

" } }, "ImportedUsers": { @@ -12240,7 +12240,7 @@ "FailedUsers": { "target": "com.amazonaws.cognitoidentityprovider#LongType", "traits": { - "smithy.api#documentation": "

The number of users that could not be imported.

" + "smithy.api#documentation": "

The number of users that couldn't be imported.

" } }, "CompletionMessage": { @@ -12272,12 +12272,12 @@ "message": { "target": "com.amazonaws.cognitoidentityprovider#MessageType", "traits": { - "smithy.api#documentation": "

The message returned when the Amazon Cognito service returns a user validation\n exception with the Lambda service.

" + "smithy.api#documentation": "

The message returned when the Amazon Cognito service returns a user validation exception with the Lambda service.

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

This exception is thrown when the Amazon Cognito service encounters a user validation\n exception with the Lambda service.

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

This exception is thrown when the Amazon Cognito service encounters a user validation exception with the Lambda service.

", "smithy.api#error": "client", "smithy.api#httpError": 400 } @@ -12294,12 +12294,12 @@ "message": { "target": "com.amazonaws.cognitoidentityprovider#MessageType", "traits": { - "smithy.api#documentation": "

The message returned when a user is not confirmed successfully.

" + "smithy.api#documentation": "

The message returned when a user isn't confirmed successfully.

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

This exception is thrown when a user is not confirmed successfully.

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

This exception is thrown when a user isn't confirmed successfully.

", "smithy.api#error": "client", "smithy.api#httpError": 400 } @@ -12310,12 +12310,12 @@ "message": { "target": "com.amazonaws.cognitoidentityprovider#MessageType", "traits": { - "smithy.api#documentation": "

The message returned when a user is not found.

" + "smithy.api#documentation": "

The message returned when a user isn't found.

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

This exception is thrown when a user is not found.

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

This exception is thrown when a user isn't found.

", "smithy.api#error": "client", "smithy.api#httpError": 404 } @@ -12328,7 +12328,7 @@ } }, "traits": { - "smithy.api#documentation": "

This exception is thrown when user pool add-ons are not enabled.

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

This exception is thrown when user pool add-ons aren't enabled.

", "smithy.api#error": "client", "smithy.api#httpError": 400 } @@ -12360,7 +12360,7 @@ "UserPoolId": { "target": "com.amazonaws.cognitoidentityprovider#UserPoolIdType", "traits": { - "smithy.api#documentation": "

The user pool ID for the user pool where you want to describe the user pool\n client.

" + "smithy.api#documentation": "

The user pool ID for the user pool where you want to describe the user pool client.

" } }, "ClientName": { @@ -12422,25 +12422,25 @@ "RefreshTokenValidity": { "target": "com.amazonaws.cognitoidentityprovider#RefreshTokenValidityType", "traits": { - "smithy.api#documentation": "

The time limit, in days, after which the refresh token is no longer valid and cannot\n be used.

" + "smithy.api#documentation": "

The time limit, in days, after which the refresh token is no longer valid and can't be used.

" } }, "AccessTokenValidity": { "target": "com.amazonaws.cognitoidentityprovider#AccessTokenValidityType", "traits": { - "smithy.api#documentation": "

The time limit, specified by tokenValidityUnits, defaulting to hours, after which the\n access token is no longer valid and cannot be used.

" + "smithy.api#documentation": "

The time limit, specified by tokenValidityUnits, defaulting to hours, after which the access token is no longer valid and can't be used.

" } }, "IdTokenValidity": { "target": "com.amazonaws.cognitoidentityprovider#IdTokenValidityType", "traits": { - "smithy.api#documentation": "

The time limit, specified by tokenValidityUnits, defaulting to hours, after which the\n refresh token is no longer valid and cannot be used.

" + "smithy.api#documentation": "

The time limit specified by tokenValidityUnits, defaulting to hours, after which the refresh token is no longer valid and can't be used.

" } }, "TokenValidityUnits": { "target": "com.amazonaws.cognitoidentityprovider#TokenValidityUnitsType", "traits": { - "smithy.api#documentation": "

The time units used to specify the token validity times of their respective\n token.

" + "smithy.api#documentation": "

The time units used to specify the token validity times of their respective token.

" } }, "ReadAttributes": { @@ -12458,19 +12458,19 @@ "ExplicitAuthFlows": { "target": "com.amazonaws.cognitoidentityprovider#ExplicitAuthFlowsListType", "traits": { - "smithy.api#documentation": "

The authentication flows that are supported by the user pool clients. Flow names\n without the ALLOW_ prefix are deprecated in favor of new names with the\n ALLOW_ prefix. Note that values with ALLOW_ prefix cannot\n be used along with values without ALLOW_ prefix.

\n

Valid values include:

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

The authentication flows that are supported by the user pool clients. Flow names without the ALLOW_ prefix are no longer supported in favor of new names with the \n ALLOW_ prefix. Note that values with ALLOW_ prefix must be used only along with values including the ALLOW_ prefix.

\n

Valid values include:

\n \n " } }, "SupportedIdentityProviders": { "target": "com.amazonaws.cognitoidentityprovider#SupportedIdentityProvidersListType", "traits": { - "smithy.api#documentation": "

A list of provider names for the identity providers that are supported on this\n client.

" + "smithy.api#documentation": "

A list of provider names for the identity providers that are supported on this client.

" } }, "CallbackURLs": { "target": "com.amazonaws.cognitoidentityprovider#CallbackURLsListType", "traits": { - "smithy.api#documentation": "

A list of allowed redirect (callback) URLs for the identity providers.

\n

A redirect URI must:

\n \n

See OAuth 2.0 -\n Redirection Endpoint.

\n

Amazon Cognito requires HTTPS over HTTP except for http://localhost for testing\n purposes only.

\n

App callback URLs such as myapp://example are also supported.

" + "smithy.api#documentation": "

A list of allowed redirect (callback) URLs for the identity providers.

\n

A redirect URI must:

\n \n

See OAuth 2.0 - Redirection Endpoint.

\n

Amazon Cognito requires HTTPS over HTTP except for http://localhost for testing purposes only.

\n

App callback URLs such as myapp://example are also supported.

" } }, "LogoutURLs": { @@ -12482,44 +12482,44 @@ "DefaultRedirectURI": { "target": "com.amazonaws.cognitoidentityprovider#RedirectUrlType", "traits": { - "smithy.api#documentation": "

The default redirect URI. Must be in the CallbackURLs list.

\n

A redirect URI must:

\n \n

See OAuth 2.0 -\n Redirection Endpoint.

\n

Amazon Cognito requires HTTPS over HTTP except for http://localhost for testing\n purposes only.

\n

App callback URLs such as myapp://example are also supported.

" + "smithy.api#documentation": "

The default redirect URI. Must be in the CallbackURLs list.

\n

A redirect URI must:

\n \n

See OAuth 2.0 - Redirection Endpoint.

\n

Amazon Cognito requires HTTPS over HTTP except for http://localhost for testing purposes only.

\n

App callback URLs such as myapp://example are also supported.

" } }, "AllowedOAuthFlows": { "target": "com.amazonaws.cognitoidentityprovider#OAuthFlowsType", "traits": { - "smithy.api#documentation": "

The allowed OAuth flows.

\n

Set to code to initiate a code grant flow, which provides an\n authorization code as the response. This code can be exchanged for access tokens with\n the token endpoint.

\n

Set to implicit to specify that the client should get the access token\n (and, optionally, ID token, based on scopes) directly.

\n

Set to client_credentials to specify that the client should get the\n access token (and, optionally, ID token, based on scopes) from the token endpoint using\n a combination of client and client_secret.

" + "smithy.api#documentation": "

The allowed OAuth flows.

\n

Set to code to initiate a code grant flow, which provides an authorization code as the response. This code can be exchanged for access tokens with the token endpoint.

\n

Set to implicit to specify that the client should get the access token (and, optionally, ID token, based on scopes) directly.

\n

Set to client_credentials to specify that the client should get the access token (and, optionally, ID token, based on scopes) from the token endpoint using a combination \n of client and client_secret.

" } }, "AllowedOAuthScopes": { "target": "com.amazonaws.cognitoidentityprovider#ScopeListType", "traits": { - "smithy.api#documentation": "

The allowed OAuth scopes. Possible values provided by OAuth are: phone,\n email, openid, and profile. Possible values\n provided by Amazon Web Services are: aws.cognito.signin.user.admin. Custom scopes created\n in Resource Servers are also supported.

" + "smithy.api#documentation": "

The allowed OAuth scopes. Possible values provided by OAuth are: \n phone, email, openid, and profile. Possible values provided by Amazon Web Services are: aws.cognito.signin.user.admin. \n Custom scopes created in Resource Servers are also supported.

" } }, "AllowedOAuthFlowsUserPoolClient": { "target": "com.amazonaws.cognitoidentityprovider#BooleanType", "traits": { "smithy.api#box": {}, - "smithy.api#documentation": "

Set to true if the client is allowed to follow the OAuth protocol when interacting\n with Cognito user pools.

" + "smithy.api#documentation": "

Set to true if the client is allowed to follow the OAuth protocol when interacting with Amazon Cognito user pools.

" } }, "AnalyticsConfiguration": { "target": "com.amazonaws.cognitoidentityprovider#AnalyticsConfigurationType", "traits": { - "smithy.api#documentation": "

The Amazon Pinpoint analytics configuration for the user pool client.

\n \n

Cognito User Pools only supports sending events to Amazon Pinpoint projects in the\n US East (N. Virginia) us-east-1 Region, regardless of the region in which the user\n pool resides.

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

The Amazon Pinpoint analytics configuration for the user pool client.

\n \n

Amazon Cognito User Pools only supports sending events to Amazon Pinpoint projects in the US East (N. Virginia) us-east-1 Region, regardless of the Region in which the user pool resides.

\n
" } }, "PreventUserExistenceErrors": { "target": "com.amazonaws.cognitoidentityprovider#PreventUserExistenceErrorTypes", "traits": { - "smithy.api#documentation": "

Use this setting to choose which errors and responses are returned by Cognito APIs\n during authentication, account confirmation, and password recovery when the user does\n not exist in the user pool. When set to ENABLED and the user does not\n exist, authentication returns an error indicating either the username or password was\n incorrect, and account confirmation and password recovery return a response indicating a\n code was sent to a simulated destination. When set to LEGACY, those APIs\n will return a UserNotFoundException exception if the user does not exist in\n the user pool.

\n

Valid values include:

\n \n \n \n \n

After February 15th 2020, the value of PreventUserExistenceErrors\n will default to ENABLED for newly created user pool clients if no value\n is provided.

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

Errors and responses that you want Amazon Cognito APIs to return during authentication, account confirmation, and password recovery when the user doesn't exist \n in the user pool. When set to ENABLED and the user doesn't exist, authentication returns an error indicating either the username or password \n was incorrect. Account confirmation and password recovery return a response indicating a code was sent to a simulated destination. When set to \n LEGACY, those APIs return a UserNotFoundException exception if the user doesn't exist in the user pool.

\n

Valid values include:

\n \n " } }, "EnableTokenRevocation": { "target": "com.amazonaws.cognitoidentityprovider#WrappedBooleanType", "traits": { - "smithy.api#documentation": "

Indicates whether token revocation is enabled for the user pool client. When you \n create a new user pool client, token revocation is enabled by default. For more information\n about revoking tokens, see RevokeToken.

" + "smithy.api#documentation": "

Indicates whether token revocation is activated for the user pool client. When you create a new user pool client, token revocation is activated by default. For more information about \n revoking tokens, see RevokeToken.

" } } }, @@ -12638,7 +12638,7 @@ } }, "traits": { - "smithy.api#documentation": "

This exception is thrown when a user pool tag cannot be set or updated.

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

This exception is thrown when a user pool tag can't be set or updated.

", "smithy.api#error": "client", "smithy.api#httpError": 400 } @@ -12712,19 +12712,19 @@ "AutoVerifiedAttributes": { "target": "com.amazonaws.cognitoidentityprovider#VerifiedAttributesListType", "traits": { - "smithy.api#documentation": "

Specifies the attributes that are auto-verified in a user pool.

" + "smithy.api#documentation": "

The attributes that are auto-verified in a user pool.

" } }, "AliasAttributes": { "target": "com.amazonaws.cognitoidentityprovider#AliasAttributesListType", "traits": { - "smithy.api#documentation": "

Specifies the attributes that are aliased in a user pool.

" + "smithy.api#documentation": "

The attributes that are aliased in a user pool.

" } }, "UsernameAttributes": { "target": "com.amazonaws.cognitoidentityprovider#UsernameAttributesListType", "traits": { - "smithy.api#documentation": "

Specifies whether email addresses or phone numbers can be specified as usernames when\n a user signs up.

" + "smithy.api#documentation": "

Specifies whether a user can use an email address or phone number as a username when they sign up.

" } }, "SmsVerificationMessage": { @@ -12760,7 +12760,7 @@ "MfaConfiguration": { "target": "com.amazonaws.cognitoidentityprovider#UserPoolMfaType", "traits": { - "smithy.api#documentation": "

Can be one of the following values:

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

Can be one of the following values:

\n \n " } }, "DeviceConfiguration": { @@ -12790,31 +12790,31 @@ "UserPoolTags": { "target": "com.amazonaws.cognitoidentityprovider#UserPoolTagsType", "traits": { - "smithy.api#documentation": "

The tags that are assigned to the user pool. A tag is a label that you can apply to\n user pools to categorize and manage them in different ways, such as by purpose, owner,\n environment, or other criteria.

" + "smithy.api#documentation": "

The tags that are assigned to the user pool. A tag is a label that you can apply to user pools to categorize and manage them in different ways, such as by purpose, owner, environment, \n or other criteria.

" } }, "SmsConfigurationFailure": { "target": "com.amazonaws.cognitoidentityprovider#StringType", "traits": { - "smithy.api#documentation": "

The reason why the SMS configuration cannot send the messages to your users.

\n

This message might include comma-separated values to describe why your SMS configuration\n can't send messages to user pool end users.

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

The reason why the SMS configuration can't send the messages to your users.

\n

This message might include comma-separated values to describe why your SMS configuration can't send messages to user pool end users.

\n \n \n " } }, "EmailConfigurationFailure": { "target": "com.amazonaws.cognitoidentityprovider#StringType", "traits": { - "smithy.api#documentation": "

The reason why the email configuration cannot send the messages to your users.

" + "smithy.api#documentation": "

The reason why the email configuration can't send the messages to your users.

" } }, "Domain": { "target": "com.amazonaws.cognitoidentityprovider#DomainType", "traits": { - "smithy.api#documentation": "

Holds the domain prefix if the user pool has a domain associated with it.

" + "smithy.api#documentation": "

The domain prefix, if the user pool has a domain associated with it.

" } }, "CustomDomain": { "target": "com.amazonaws.cognitoidentityprovider#DomainType", "traits": { - "smithy.api#documentation": "

A custom domain name that you provide to Amazon Cognito. This parameter applies only\n if you use a custom domain to host the sign-up and sign-in pages for your application.\n For example: auth.example.com.

\n

For more information about adding a custom domain to your user pool, see Using Your Own Domain for the Hosted UI.

" + "smithy.api#documentation": "

A custom domain name that you provide to Amazon Cognito. This parameter applies only if you use a custom domain to host the sign-up and sign-in pages for your application. An \n example of a custom domain name might be auth.example.com.

\n

For more information about adding a custom domain to your user pool, \n see Using Your Own Domain for the Hosted UI.

" } }, "AdminCreateUserConfig": { @@ -12832,7 +12832,7 @@ "UsernameConfiguration": { "target": "com.amazonaws.cognitoidentityprovider#UsernameConfigurationType", "traits": { - "smithy.api#documentation": "

You can choose to enable case sensitivity on the username input for the selected\n sign-in option. For example, when this is set to False, users will be able\n to sign in using either \"username\" or \"Username\". This configuration is immutable once\n it has been set. For more information, see UsernameConfigurationType.

" + "smithy.api#documentation": "

Case sensitivity of the username input for the selected sign-in option. For example, when case sensitivity is set to False, users can sign in using either \"username\" \n or \"Username\". This configuration is immutable once it has been set. For more information, \n see UsernameConfigurationType.

" } }, "Arn": { @@ -12844,7 +12844,7 @@ "AccountRecoverySetting": { "target": "com.amazonaws.cognitoidentityprovider#AccountRecoverySettingType", "traits": { - "smithy.api#documentation": "

Use this setting to define which verified available method a user can use to recover\n their password when they call ForgotPassword. It allows you to define a\n preferred method when a user has more than one method available. With this setting, SMS\n does not qualify for a valid password recovery mechanism if the user also has SMS MFA\n enabled. In the absence of this setting, Cognito uses the legacy behavior to determine\n the recovery method where SMS is preferred over email.

" + "smithy.api#documentation": "

The available verified method a user can use to recover their password when they call ForgotPassword. You can use this setting to define a \n preferred method when a user has more than one method available. With this setting, SMS doesn't qualify for a valid password recovery mechanism if the user \n also has SMS multi-factor authentication (MFA) activated. In the absence of this setting, Amazon Cognito uses the legacy behavior to determine the recovery method \n where SMS is preferred through email.

" } } }, @@ -12893,7 +12893,7 @@ "Username": { "target": "com.amazonaws.cognitoidentityprovider#UsernameType", "traits": { - "smithy.api#documentation": "

The user name of the user you wish to describe.

" + "smithy.api#documentation": "

The user name of the user you want to describe.

" } }, "Attributes": { @@ -12923,7 +12923,7 @@ "UserStatus": { "target": "com.amazonaws.cognitoidentityprovider#UserStatusType", "traits": { - "smithy.api#documentation": "

The user status. Can be one of the following:

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

The user status. This can be one of the following:

\n \n " } }, "MFAOptions": { @@ -12964,7 +12964,7 @@ "CaseSensitive": { "target": "com.amazonaws.cognitoidentityprovider#WrappedBooleanType", "traits": { - "smithy.api#documentation": "

Specifies whether username case sensitivity will be applied for all users in the user\n pool through Cognito APIs.

\n

Valid values include:

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

Specifies whether username case sensitivity will be applied for all users in the user pool through Amazon Cognito APIs.

\n

Valid values include:

\n \n ", "smithy.api#required": {} } } @@ -12984,7 +12984,7 @@ } }, "traits": { - "smithy.api#documentation": "

This exception is thrown when Amazon Cognito encounters a user name that already\n exists in the user pool.

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

This exception is thrown when Amazon Cognito encounters a user name that already exists in the user pool.

", "smithy.api#error": "client", "smithy.api#httpError": 400 } @@ -13018,25 +13018,25 @@ "EmailMessage": { "target": "com.amazonaws.cognitoidentityprovider#EmailVerificationMessageType", "traits": { - "smithy.api#documentation": "

The email message template. EmailMessage is allowed only if EmailSendingAccount is DEVELOPER.

" + "smithy.api#documentation": "

The email message template. EmailMessage is allowed only if \n EmailSendingAccount is DEVELOPER.

" } }, "EmailSubject": { "target": "com.amazonaws.cognitoidentityprovider#EmailVerificationSubjectType", "traits": { - "smithy.api#documentation": "

The subject line for the email message template. EmailSubject is allowed only if\n EmailSendingAccount is DEVELOPER.

" + "smithy.api#documentation": "

The subject line for the email message template. EmailSubject is allowed only if \n EmailSendingAccount is DEVELOPER.

" } }, "EmailMessageByLink": { "target": "com.amazonaws.cognitoidentityprovider#EmailVerificationMessageByLinkType", "traits": { - "smithy.api#documentation": "

The email message template for sending a confirmation link to the user.\n EmailMessageByLink is allowed only if EmailSendingAccount is DEVELOPER.

" + "smithy.api#documentation": "

The email message template for sending a confirmation link to the user. EmailMessageByLink is allowed only if \n EmailSendingAccount is DEVELOPER.

" } }, "EmailSubjectByLink": { "target": "com.amazonaws.cognitoidentityprovider#EmailVerificationSubjectByLinkType", "traits": { - "smithy.api#documentation": "

The subject line for the email message template for sending a confirmation link to the\n user. EmailSubjectByLink is allowed only EmailSendingAccount is DEVELOPER.

" + "smithy.api#documentation": "

The subject line for the email message template for sending a confirmation link to the user. EmailSubjectByLink is allowed only \n EmailSendingAccount is DEVELOPER.

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

Use this API to register a user's entered TOTP code and mark the user's software token\n MFA status as \"verified\" if successful. The request takes an access token or a session\n string, but not both.

" + "smithy.api#documentation": "

Use this API to register a user's entered time-based one-time password (TOTP) code and mark the user's software token MFA status as \"verified\" if successful. The request takes an access \n token or a session string, but not both.

" } }, "com.amazonaws.cognitoidentityprovider#VerifySoftwareTokenRequest": { @@ -13133,13 +13133,13 @@ "Session": { "target": "com.amazonaws.cognitoidentityprovider#SessionType", "traits": { - "smithy.api#documentation": "

The session which should be passed both ways in challenge-response calls to the\n service.

" + "smithy.api#documentation": "

The session that should be passed both ways in challenge-response calls to the service.

" } }, "UserCode": { "target": "com.amazonaws.cognitoidentityprovider#SoftwareTokenMFAUserCodeType", "traits": { - "smithy.api#documentation": "

The one time password computed using the secret code returned by AssociateSoftwareToken\".

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

The one- time password computed using the secret code returned by \n AssociateSoftwareToken.

", "smithy.api#required": {} } }, @@ -13163,7 +13163,7 @@ "Session": { "target": "com.amazonaws.cognitoidentityprovider#SessionType", "traits": { - "smithy.api#documentation": "

The session which should be passed both ways in challenge-response calls to the\n service.

" + "smithy.api#documentation": "

The session that should be passed both ways in challenge-response calls to the service.

" } } } @@ -13238,7 +13238,7 @@ "AccessToken": { "target": "com.amazonaws.cognitoidentityprovider#TokenModelType", "traits": { - "smithy.api#documentation": "

Represents the access token of the request to verify user attributes.

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

The access token of the request to verify user attributes.

", "smithy.api#required": {} } }, @@ -13265,7 +13265,7 @@ "type": "structure", "members": {}, "traits": { - "smithy.api#documentation": "

A container representing the response from the server from the request to verify user\n attributes.

" + "smithy.api#documentation": "

A container representing the response from the server from the request to verify user attributes.

" } }, "com.amazonaws.cognitoidentityprovider#WrappedBooleanType": { diff --git a/codegen/sdk-codegen/aws-models/comprehend.2017-11-27.json b/codegen/sdk-codegen/aws-models/comprehend.2017-11-27.json index 4ae65847063..0b09849064b 100644 --- a/codegen/sdk-codegen/aws-models/comprehend.2017-11-27.json +++ b/codegen/sdk-codegen/aws-models/comprehend.2017-11-27.json @@ -76,7 +76,7 @@ "Split": { "target": "com.amazonaws.comprehend#Split", "traits": { - "smithy.api#documentation": "

The purpose of the data you've provided in the augmented manifest. You can either train or test this data. If you don't specify, the default is train.

\n

TRAIN - all of the documents in the manifest will be used for training. If no test documents are provided, Amazon Comprehend will automatically reserve a portion of the training documents for testing.

\n

TEST - all of the documents in the manifest will be used for testing.

" + "smithy.api#documentation": "

The purpose of the data you've provided in the augmented manifest. You can either train or\n test this data. If you don't specify, the default is train.

\n

TRAIN - all of the documents in the manifest will be used for training. If no test\n documents are provided, Amazon Comprehend will automatically reserve a portion of the training\n documents for testing.

\n

TEST - all of the documents in the manifest will be used for testing.

" } }, "AttributeNames": { @@ -89,19 +89,19 @@ "AnnotationDataS3Uri": { "target": "com.amazonaws.comprehend#S3Uri", "traits": { - "smithy.api#documentation": "

The S3 prefix to the annotation files that are referred in the augmented manifest file.

" + "smithy.api#documentation": "

The S3 prefix to the annotation files that are referred in the augmented manifest\n file.

" } }, "SourceDocumentsS3Uri": { "target": "com.amazonaws.comprehend#S3Uri", "traits": { - "smithy.api#documentation": "

The S3 prefix to the source files (PDFs) that are referred to in the augmented manifest file.

" + "smithy.api#documentation": "

The S3 prefix to the source files (PDFs) that are referred to in the augmented manifest\n file.

" } }, "DocumentType": { "target": "com.amazonaws.comprehend#AugmentedManifestsDocumentTypeFormat", "traits": { - "smithy.api#documentation": "

The type of augmented manifest. PlainTextDocument or SemiStructuredDocument. If you don't specify, the default is PlainTextDocument.

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

The type of augmented manifest. PlainTextDocument or SemiStructuredDocument. If you don't\n specify, the default is PlainTextDocument.

\n " } } }, @@ -511,7 +511,7 @@ } }, "traits": { - "smithy.api#documentation": "

The result of calling the operation. The operation\n returns one object that is successfully processed by the operation.

" + "smithy.api#documentation": "

The result of calling the operation. The\n operation returns one object that is successfully processed by the operation.

" } }, "com.amazonaws.comprehend#BatchDetectSyntaxRequest": { @@ -539,7 +539,7 @@ "ResultList": { "target": "com.amazonaws.comprehend#ListOfDetectSyntaxResult", "traits": { - "smithy.api#documentation": "

A list of objects containing the results\n of the operation. The results are sorted in ascending order by the Index field\n and match the order of the documents in the input list. If all of the documents contain an\n error, the ResultList is empty.

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

A list of objects containing the\n results of the operation. The results are sorted in ascending order by the Index\n field and match the order of the documents in the input list. If all of the documents contain\n an error, the ResultList is empty.

", "smithy.api#required": {} } }, @@ -816,6 +816,21 @@ }, "com.amazonaws.comprehend#Comprehend_20171127": { "type": "service", + "traits": { + "aws.api#service": { + "sdkId": "Comprehend", + "arnNamespace": "comprehend", + "cloudFormationName": "Comprehend", + "cloudTrailEventSource": "comprehend.amazonaws.com", + "endpointPrefix": "comprehend" + }, + "aws.auth#sigv4": { + "name": "comprehend" + }, + "aws.protocols#awsJson1_1": {}, + "smithy.api#documentation": "

Amazon Comprehend is an AWS service for gaining insight into the content of documents.\n Use these actions to determine the topics contained in your documents, the topics they\n discuss, the predominant sentiment expressed in them, the predominant language used, and\n more.

", + "smithy.api#title": "Amazon Comprehend" + }, "version": "2017-11-27", "operations": [ { @@ -857,6 +872,9 @@ { "target": "com.amazonaws.comprehend#DeleteEntityRecognizer" }, + { + "target": "com.amazonaws.comprehend#DeleteResourcePolicy" + }, { "target": "com.amazonaws.comprehend#DescribeDocumentClassificationJob" }, @@ -884,6 +902,9 @@ { "target": "com.amazonaws.comprehend#DescribePiiEntitiesDetectionJob" }, + { + "target": "com.amazonaws.comprehend#DescribeResourcePolicy" + }, { "target": "com.amazonaws.comprehend#DescribeSentimentDetectionJob" }, @@ -908,6 +929,9 @@ { "target": "com.amazonaws.comprehend#DetectSyntax" }, + { + "target": "com.amazonaws.comprehend#ImportModel" + }, { "target": "com.amazonaws.comprehend#ListDocumentClassificationJobs" }, @@ -950,6 +974,9 @@ { "target": "com.amazonaws.comprehend#ListTopicsDetectionJobs" }, + { + "target": "com.amazonaws.comprehend#PutResourcePolicy" + }, { "target": "com.amazonaws.comprehend#StartDocumentClassificationJob" }, @@ -1007,22 +1034,7 @@ { "target": "com.amazonaws.comprehend#UpdateEndpoint" } - ], - "traits": { - "aws.api#service": { - "sdkId": "Comprehend", - "arnNamespace": "comprehend", - "cloudFormationName": "Comprehend", - "cloudTrailEventSource": "comprehend.amazonaws.com", - "endpointPrefix": "comprehend" - }, - "aws.auth#sigv4": { - "name": "comprehend" - }, - "aws.protocols#awsJson1_1": {}, - "smithy.api#documentation": "

Amazon Comprehend is an AWS service for gaining insight into the content of documents.\n Use these actions to determine the topics contained in your documents, the topics they\n discuss, the predominant sentiment expressed in them, the predominant language used, and\n more.

", - "smithy.api#title": "Amazon Comprehend" - } + ] }, "com.amazonaws.comprehend#ConcurrentModificationException": { "type": "structure", @@ -1144,7 +1156,7 @@ "VersionName": { "target": "com.amazonaws.comprehend#VersionName", "traits": { - "smithy.api#documentation": "

The version name given to the newly created classifier. \n Version names can have a maximum of 256 characters. Alphanumeric characters, hyphens (-) and underscores (_) are allowed. \n The version name must be unique among all models with the same classifier name in the account/AWS Region.

" + "smithy.api#documentation": "

The version name given to the newly created classifier. Version names can have a maximum\n of 256 characters. Alphanumeric characters, hyphens (-) and underscores (_) are allowed. The\n version name must be unique among all models with the same classifier name in the account/AWS\n Region.

" } }, "DataAccessRoleArn": { @@ -1210,6 +1222,12 @@ "traits": { "smithy.api#documentation": "

ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses to encrypt\n trained custom models. The ModelKmsKeyId can be either of the following formats:

\n " } + }, + "ModelPolicy": { + "target": "com.amazonaws.comprehend#Policy", + "traits": { + "smithy.api#documentation": "

The resource-based policy to attach to your custom document classifier model. You can use\n this policy to allow another AWS account to import your custom model.

\n

Provide your policy as a JSON body that you enter as a UTF-8 encoded string without line\n breaks. To provide valid JSON, enclose the attribute names and values in double quotes. If the\n JSON body is also enclosed in double quotes, then you must escape the double quotes that are\n inside the policy:

\n

\n \"{\\\"attribute\\\": \\\"value\\\", \\\"attribute\\\": [\\\"value\\\"]}\"\n

\n

To avoid escaping quotes, you can use single quotes to enclose the policy and double\n quotes to enclose the JSON names and values:

\n

\n '{\"attribute\": \"value\", \"attribute\": [\"value\"]}'\n

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

Creates a model-specific endpoint for synchronous inference for a previously trained\n custom model\n

" + "smithy.api#documentation": "

Creates a model-specific endpoint for synchronous inference for a previously trained\n custom model

" } }, "com.amazonaws.comprehend#CreateEndpointRequest": { @@ -1369,7 +1387,7 @@ "VersionName": { "target": "com.amazonaws.comprehend#VersionName", "traits": { - "smithy.api#documentation": "

The version name given to the newly created recognizer. \n Version names can be a maximum of 256 characters. Alphanumeric characters, hyphens (-) and underscores (_) are allowed. \n The version name must be unique among all models with the same recognizer name in the account/ AWS Region.

" + "smithy.api#documentation": "

The version name given to the newly created recognizer. Version names can be a maximum of\n 256 characters. Alphanumeric characters, hyphens (-) and underscores (_) are allowed. The\n version name must be unique among all models with the same recognizer name in the account/ AWS\n Region.

" } }, "DataAccessRoleArn": { @@ -1423,6 +1441,12 @@ "traits": { "smithy.api#documentation": "

ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses to encrypt\n trained custom models. The ModelKmsKeyId can be either of the following formats

\n " } + }, + "ModelPolicy": { + "target": "com.amazonaws.comprehend#Policy", + "traits": { + "smithy.api#documentation": "

The JSON resource-based policy to attach to your custom entity recognizer model. You can\n use this policy to allow another AWS account to import your custom model.

\n

Provide your JSON as a UTF-8 encoded string without line breaks. To provide valid JSON for\n your policy, enclose the attribute names and values in double quotes. If the JSON body is also\n enclosed in double quotes, then you must escape the double quotes that are inside the\n policy:

\n

\n \"{\\\"attribute\\\": \\\"value\\\", \\\"attribute\\\": [\\\"value\\\"]}\"\n

\n

To avoid escaping quotes, you can use single quotes to enclose the policy and double\n quotes to enclose the JSON names and values:

\n

\n '{\"attribute\": \"value\", \"attribute\": [\"value\"]}'\n

" + } } } }, @@ -1596,6 +1620,51 @@ "type": "structure", "members": {} }, + "com.amazonaws.comprehend#DeleteResourcePolicy": { + "type": "operation", + "input": { + "target": "com.amazonaws.comprehend#DeleteResourcePolicyRequest" + }, + "output": { + "target": "com.amazonaws.comprehend#DeleteResourcePolicyResponse" + }, + "errors": [ + { + "target": "com.amazonaws.comprehend#InternalServerException" + }, + { + "target": "com.amazonaws.comprehend#InvalidRequestException" + }, + { + "target": "com.amazonaws.comprehend#ResourceNotFoundException" + } + ], + "traits": { + "smithy.api#documentation": "

Deletes a resource-based policy that is attached to a custom model.

" + } + }, + "com.amazonaws.comprehend#DeleteResourcePolicyRequest": { + "type": "structure", + "members": { + "ResourceArn": { + "target": "com.amazonaws.comprehend#ComprehendModelArn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the custom model version that has the policy to delete.

", + "smithy.api#required": {} + } + }, + "PolicyRevisionId": { + "target": "com.amazonaws.comprehend#PolicyRevisionId", + "traits": { + "smithy.api#documentation": "

The revision ID of the policy to delete.

" + } + } + } + }, + "com.amazonaws.comprehend#DeleteResourcePolicyResponse": { + "type": "structure", + "members": {} + }, "com.amazonaws.comprehend#DescribeDocumentClassificationJob": { "type": "operation", "input": { @@ -2034,6 +2103,70 @@ } } }, + "com.amazonaws.comprehend#DescribeResourcePolicy": { + "type": "operation", + "input": { + "target": "com.amazonaws.comprehend#DescribeResourcePolicyRequest" + }, + "output": { + "target": "com.amazonaws.comprehend#DescribeResourcePolicyResponse" + }, + "errors": [ + { + "target": "com.amazonaws.comprehend#InternalServerException" + }, + { + "target": "com.amazonaws.comprehend#InvalidRequestException" + }, + { + "target": "com.amazonaws.comprehend#ResourceNotFoundException" + } + ], + "traits": { + "smithy.api#documentation": "

Gets the details of a resource-based policy that is attached to a custom model, including\n the JSON body of the policy.

" + } + }, + "com.amazonaws.comprehend#DescribeResourcePolicyRequest": { + "type": "structure", + "members": { + "ResourceArn": { + "target": "com.amazonaws.comprehend#ComprehendModelArn", + "traits": { + "smithy.api#documentation": "

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

", + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.comprehend#DescribeResourcePolicyResponse": { + "type": "structure", + "members": { + "ResourcePolicy": { + "target": "com.amazonaws.comprehend#Policy", + "traits": { + "smithy.api#documentation": "

The JSON body of the resource-based policy.

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

The time at which the policy was created.

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

The time at which the policy was last modified.

" + } + }, + "PolicyRevisionId": { + "target": "com.amazonaws.comprehend#PolicyRevisionId", + "traits": { + "smithy.api#documentation": "

The revision ID of the policy. Each time you modify a policy, Amazon Comprehend assigns a\n new revision ID, and it deletes the prior version of the policy.

" + } + } + } + }, "com.amazonaws.comprehend#DescribeSentimentDetectionJob": { "type": "operation", "input": { @@ -2722,7 +2855,7 @@ "TestS3Uri": { "target": "com.amazonaws.comprehend#S3Uri", "traits": { - "smithy.api#documentation": "

The Amazon S3 URI for the input data. \n The Amazon S3 bucket must be in the same AWS Region as the API endpoint that you are calling.\n The URI can point to a single input file or it can provide the prefix for a collection of input files.

" + "smithy.api#documentation": "

The Amazon S3 URI for the input data. The Amazon S3 bucket must be in the same AWS Region\n as the API endpoint that you are calling. The URI can point to a single input file or it can\n provide the prefix for a collection of input files.

" } }, "LabelDelimiter": { @@ -2881,6 +3014,12 @@ "traits": { "smithy.api#documentation": "

The version name that you assigned to the document classifier.

" } + }, + "SourceModelArn": { + "target": "com.amazonaws.comprehend#DocumentClassifierArn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the source model. This model was imported from a\n different AWS account to create the document classifier model in your AWS account.

" + } } }, "traits": { @@ -2975,7 +3114,7 @@ "com.amazonaws.comprehend#DocumentReadFeatureTypes": { "type": "string", "traits": { - "smithy.api#documentation": "

A list of the types of analyses to perform. This field specifies what feature types need to be extracted from the document where entity recognition is \n expected.

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

A list of the types of analyses to perform. This field specifies what feature types\n need to be extracted from the document where entity recognition is expected.

\n\n ", "smithy.api#enum": [ { "value": "TABLES", @@ -3009,14 +3148,14 @@ "DocumentReadAction": { "target": "com.amazonaws.comprehend#DocumentReadAction", "traits": { - "smithy.api#documentation": "

This enum field will start with two values which will apply to PDFs:

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

This enum field will start with two values which will apply to PDFs:

\n ", "smithy.api#required": {} } }, "DocumentReadMode": { "target": "com.amazonaws.comprehend#DocumentReadMode", "traits": { - "smithy.api#documentation": "

This enum field provides two values:

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

This enum field provides two values:

\n " } }, "FeatureTypes": { @@ -3079,7 +3218,7 @@ } }, "traits": { - "smithy.api#documentation": "

Provides information for filtering a list of dominant language detection jobs. For more\n information, see the operation.

" + "smithy.api#documentation": "

Provides information for filtering a list of dominant language detection jobs. For more\n information, see the \n operation.

" } }, "com.amazonaws.comprehend#DominantLanguageDetectionJobProperties": { @@ -3236,7 +3375,7 @@ "DesiredModelArn": { "target": "com.amazonaws.comprehend#ComprehendModelArn", "traits": { - "smithy.api#documentation": "

ARN of the new model to use for updating an existing endpoint. This ARN is going to be different from the model ARN when the update is in progress

" + "smithy.api#documentation": "

ARN of the new model to use for updating an existing endpoint. This ARN is going to be\n different from the model ARN when the update is in progress

" } }, "DesiredInferenceUnits": { @@ -3272,7 +3411,7 @@ "DesiredDataAccessRoleArn": { "target": "com.amazonaws.comprehend#IamRoleArn", "traits": { - "smithy.api#documentation": "

Data access role ARN to use in case the new model is encrypted with a customer KMS key.

" + "smithy.api#documentation": "

Data access role ARN to use in case the new model is encrypted with a customer KMS\n key.

" } } }, @@ -3514,7 +3653,7 @@ "TestS3Uri": { "target": "com.amazonaws.comprehend#S3Uri", "traits": { - "smithy.api#documentation": "

This specifies the Amazon S3 location where the test annotations for an entity recognizer are located. \n The URI must be in the same AWS Region as the API endpoint that you are calling.

" + "smithy.api#documentation": "

This specifies the Amazon S3 location where the test annotations for an entity recognizer\n are located. The URI must be in the same AWS Region as the API endpoint that you are\n calling.

" } } }, @@ -3566,13 +3705,13 @@ "TestS3Uri": { "target": "com.amazonaws.comprehend#S3Uri", "traits": { - "smithy.api#documentation": "

Specifies the Amazon S3 location where the test documents for an entity recognizer are located. \n The URI must be in the same AWS Region as the API endpoint that you are calling.

" + "smithy.api#documentation": "

Specifies the Amazon S3 location where the test documents for an entity recognizer are\n located. The URI must be in the same AWS Region as the API endpoint that you are\n calling.

" } }, "InputFormat": { "target": "com.amazonaws.comprehend#InputFormat", "traits": { - "smithy.api#documentation": "

Specifies how the text in an input file should be processed. This is optional, and the default is ONE_DOC_PER_LINE.\n \n ONE_DOC_PER_FILE - Each file is considered a separate document. Use this option when you are processing large documents, such as newspaper articles or scientific papers.\n \n ONE_DOC_PER_LINE - Each line in a file is considered a separate document. Use this option when you are processing many short documents, such as text messages.

" + "smithy.api#documentation": "

Specifies how the text in an input file should be processed. This is optional, and the\n default is ONE_DOC_PER_LINE. ONE_DOC_PER_FILE - Each file is considered a separate document.\n Use this option when you are processing large documents, such as newspaper articles or\n scientific papers. ONE_DOC_PER_LINE - Each line in a file is considered a separate document.\n Use this option when you are processing many short documents, such as text messages.

" } } }, @@ -3865,6 +4004,12 @@ "traits": { "smithy.api#documentation": "

The version name you assigned to the entity recognizer.

" } + }, + "SourceModelArn": { + "target": "com.amazonaws.comprehend#EntityRecognizerArn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the source model. This model was imported from a\n different AWS account to create the entity recognizer model in your AWS account.

" + } } }, "traits": { @@ -3971,7 +4116,7 @@ "min": 0, "max": 64 }, - "smithy.api#pattern": "^(?:(?!\\\\n+|\\\\t+|\\\\r+|[\\r\\t\\n,]).)+$" + "smithy.api#pattern": "^(?![^\\n\\r\\t,]*\\\\n|\\\\r|\\\\t)[^\\n\\r\\t,]+$" } }, "com.amazonaws.comprehend#EntityTypesEvaluationMetrics": { @@ -4165,6 +4310,100 @@ "smithy.api#pattern": "^arn:aws(-[^:]+)?:iam::[0-9]{12}:role/.+$" } }, + "com.amazonaws.comprehend#ImportModel": { + "type": "operation", + "input": { + "target": "com.amazonaws.comprehend#ImportModelRequest" + }, + "output": { + "target": "com.amazonaws.comprehend#ImportModelResponse" + }, + "errors": [ + { + "target": "com.amazonaws.comprehend#InternalServerException" + }, + { + "target": "com.amazonaws.comprehend#InvalidRequestException" + }, + { + "target": "com.amazonaws.comprehend#KmsKeyValidationException" + }, + { + "target": "com.amazonaws.comprehend#ResourceInUseException" + }, + { + "target": "com.amazonaws.comprehend#ResourceLimitExceededException" + }, + { + "target": "com.amazonaws.comprehend#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.comprehend#ResourceUnavailableException" + }, + { + "target": "com.amazonaws.comprehend#TooManyRequestsException" + }, + { + "target": "com.amazonaws.comprehend#TooManyTagsException" + } + ], + "traits": { + "smithy.api#documentation": "

Creates a new custom model that replicates a source custom model that you import. The\n source model can be in your AWS account or another one.

\n

If the source model is in another AWS account, then it must have a resource-based policy\n that authorizes you to import it.

\n

The source model must be in the same AWS region that you're using when you import. You\n can't import a model that's in a different region.

" + } + }, + "com.amazonaws.comprehend#ImportModelRequest": { + "type": "structure", + "members": { + "SourceModelArn": { + "target": "com.amazonaws.comprehend#ComprehendModelArn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the custom model to import.

", + "smithy.api#required": {} + } + }, + "ModelName": { + "target": "com.amazonaws.comprehend#ComprehendArnName", + "traits": { + "smithy.api#documentation": "

The name to assign to the custom model that is created in Amazon Comprehend by this\n import.

" + } + }, + "VersionName": { + "target": "com.amazonaws.comprehend#VersionName", + "traits": { + "smithy.api#documentation": "

The version name given to the custom model that is created by this import. Version names\n can have a maximum of 256 characters. Alphanumeric characters, hyphens (-) and underscores (_)\n are allowed. The version name must be unique among all models with the same classifier name in\n the account/AWS Region.

" + } + }, + "ModelKmsKeyId": { + "target": "com.amazonaws.comprehend#KmsKeyId", + "traits": { + "smithy.api#documentation": "

ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses to encrypt\n trained custom models. The ModelKmsKeyId can be either of the following formats:

\n " + } + }, + "DataAccessRoleArn": { + "target": "com.amazonaws.comprehend#IamRoleArn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the AWS Identity and Management (IAM) role that allows\n Amazon Comprehend to use Amazon Key Management Service (KMS) to encrypt or decrypt the custom\n model.

" + } + }, + "Tags": { + "target": "com.amazonaws.comprehend#TagList", + "traits": { + "smithy.api#documentation": "

Tags to be associated with the custom model that is created by this import. A tag is a\n key-value pair that adds as a metadata to a resource used by Amazon Comprehend. For example, a\n tag with \"Sales\" as the key might be added to a resource to indicate its use by the sales\n department.

" + } + } + } + }, + "com.amazonaws.comprehend#ImportModelResponse": { + "type": "structure", + "members": { + "ModelArn": { + "target": "com.amazonaws.comprehend#ComprehendModelArn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the custom model being imported.

" + } + } + } + }, "com.amazonaws.comprehend#InferenceUnitsInteger": { "type": "integer", "traits": { @@ -4193,7 +4432,7 @@ "DocumentReaderConfig": { "target": "com.amazonaws.comprehend#DocumentReaderConfig", "traits": { - "smithy.api#documentation": "

The document reader config field applies only for InputDataConfig of StartEntitiesDetectionJob.

\n

Use DocumentReaderConfig to provide specifications about how you want your inference documents read.\n Currently it applies for PDF documents in StartEntitiesDetectionJob custom inference.

" + "smithy.api#documentation": "

The document reader config field applies only for InputDataConfig of\n StartEntitiesDetectionJob.

\n

Use DocumentReaderConfig to provide specifications about how you want your inference\n documents read. Currently it applies for PDF documents in StartEntitiesDetectionJob custom\n inference.

" } } }, @@ -6100,6 +6339,85 @@ "smithy.api#documentation": "

Provides configuration parameters for the output of PII entity detection jobs.

" } }, + "com.amazonaws.comprehend#Policy": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 20000 + }, + "smithy.api#pattern": "^[\\u0009\\u000A\\u000D\\u0020-\\u00FF]+$" + } + }, + "com.amazonaws.comprehend#PolicyRevisionId": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 64 + }, + "smithy.api#pattern": "^[0-9A-Fa-f]+$" + } + }, + "com.amazonaws.comprehend#PutResourcePolicy": { + "type": "operation", + "input": { + "target": "com.amazonaws.comprehend#PutResourcePolicyRequest" + }, + "output": { + "target": "com.amazonaws.comprehend#PutResourcePolicyResponse" + }, + "errors": [ + { + "target": "com.amazonaws.comprehend#InternalServerException" + }, + { + "target": "com.amazonaws.comprehend#InvalidRequestException" + }, + { + "target": "com.amazonaws.comprehend#ResourceNotFoundException" + } + ], + "traits": { + "smithy.api#documentation": "

Attaches a resource-based policy to a custom model. You can use this policy to authorize\n an entity in another AWS account to import the custom model, which replicates it in Amazon\n Comprehend in their account.

" + } + }, + "com.amazonaws.comprehend#PutResourcePolicyRequest": { + "type": "structure", + "members": { + "ResourceArn": { + "target": "com.amazonaws.comprehend#ComprehendModelArn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the custom model to attach the policy to.

", + "smithy.api#required": {} + } + }, + "ResourcePolicy": { + "target": "com.amazonaws.comprehend#Policy", + "traits": { + "smithy.api#documentation": "

The JSON resource-based policy to attach to your custom model. Provide your JSON as a\n UTF-8 encoded string without line breaks. To provide valid JSON for your policy, enclose the\n attribute names and values in double quotes. If the JSON body is also enclosed in double\n quotes, then you must escape the double quotes that are inside the policy:

\n

\n \"{\\\"attribute\\\": \\\"value\\\", \\\"attribute\\\": [\\\"value\\\"]}\"\n

\n

To avoid escaping quotes, you can use single quotes to enclose the policy and double\n quotes to enclose the JSON names and values:

\n

\n '{\"attribute\": \"value\", \"attribute\": [\"value\"]}'\n

", + "smithy.api#required": {} + } + }, + "PolicyRevisionId": { + "target": "com.amazonaws.comprehend#PolicyRevisionId", + "traits": { + "smithy.api#documentation": "

The revision ID that Amazon Comprehend assigned to the policy that you are updating. If\n you are creating a new policy that has no prior version, don't use this parameter. Amazon\n Comprehend creates the revision ID for you.

" + } + } + } + }, + "com.amazonaws.comprehend#PutResourcePolicyResponse": { + "type": "structure", + "members": { + "PolicyRevisionId": { + "target": "com.amazonaws.comprehend#PolicyRevisionId", + "traits": { + "smithy.api#documentation": "

The revision ID of the policy. Each time you modify a policy, Amazon Comprehend assigns a\n new revision ID, and it deletes the prior version of the policy.

" + } + } + } + }, "com.amazonaws.comprehend#RedactionConfig": { "type": "structure", "members": { diff --git a/codegen/sdk-codegen/aws-models/connect.2017-08-08.json b/codegen/sdk-codegen/aws-models/connect.2017-08-08.json index 2a0ccbb5926..dad49d41b92 100644 --- a/codegen/sdk-codegen/aws-models/connect.2017-08-08.json +++ b/codegen/sdk-codegen/aws-models/connect.2017-08-08.json @@ -307,7 +307,7 @@ "name": "connect" }, "aws.protocols#restJson1": {}, - "smithy.api#documentation": "

Amazon Connect is a cloud-based contact center solution that you use to set up and manage a customer\n contact center and provide reliable customer engagement at any scale.

\n

Amazon Connect provides metrics and real-time reporting that enable you to optimize contact routing.\n You can also resolve customer issues more efficiently by getting customers in touch with the\n appropriate agents.

\n

There are limits to the number of Amazon Connect resources that you can create. There are also limits\n to the number of requests that you can make per second. For more information, see Amazon Connect\n Service Quotas in the Amazon Connect Administrator Guide.

\n

You can connect programmatically to an Amazon Web Services service by using an endpoint. For a list of Amazon Connect\n endpoints, see Amazon Connect\n Endpoints.

\n \n

Working with contact flows? Check out the Amazon Connect Flow language.

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

Amazon Connect is a cloud-based contact center solution that you use to set up and manage a customer\n contact center and provide reliable customer engagement at any scale.

\n

Amazon Connect provides metrics and real-time reporting that enable you to optimize contact routing.\n You can also resolve customer issues more efficiently by getting customers in touch with the\n appropriate agents.

\n

There are limits to the number of Amazon Connect resources that you can create. There are also limits\n to the number of requests that you can make per second. For more information, see Amazon Connect\n Service Quotas in the Amazon Connect Administrator Guide.

\n

You can connect programmatically to an Amazon Web Services service by using an endpoint. For\n a list of Amazon Connect endpoints, see Amazon Connect Endpoints.

\n \n

Working with contact flows? Check out the Amazon Connect Flow language.

\n
", "smithy.api#title": "Amazon Connect Service" }, "version": "2017-08-08", @@ -1468,6 +1468,16 @@ } } }, + "com.amazonaws.connect#ChatDurationInMinutes": { + "type": "integer", + "traits": { + "smithy.api#box": {}, + "smithy.api#range": { + "min": 60, + "max": 10080 + } + } + }, "com.amazonaws.connect#ChatMessage": { "type": "structure", "members": { @@ -3495,7 +3505,7 @@ "Content": { "target": "com.amazonaws.connect#VocabularyContent", "traits": { - "smithy.api#documentation": "

The content of the custom vocabulary in plain-text format with a table of values. Each row\n in the table represents a word or a phrase, described with Phrase, IPA,\n SoundsLike, and DisplayAs fields. Separate the fields with TAB\n characters. The size limit is 50KB. For more information, see Create a custom\n vocabulary using a table.

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

The content of the custom vocabulary in plain-text format with a table of values. Each row\n in the table represents a word or a phrase, described with Phrase, IPA,\n SoundsLike, and DisplayAs fields. Separate the fields with TAB\n characters. The size limit is 50KB. For more information, see Create a custom\n vocabulary using a table.

", "smithy.api#required": {} } }, @@ -3982,7 +3992,7 @@ } ], "traits": { - "smithy.api#documentation": "

Deletes an Amazon Web Services resource association from an Amazon Connect instance. The association must not have\n any use cases associated with it.

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

Deletes an Amazon Web Services resource association from an Amazon Connect instance. The association\n must not have any use cases associated with it.

", "smithy.api#http": { "method": "DELETE", "uri": "/instance/{InstanceId}/integration-associations/{IntegrationAssociationId}", @@ -6018,7 +6028,7 @@ "Queues": { "target": "com.amazonaws.connect#Queues", "traits": { - "smithy.api#documentation": "

The queues to use to filter the metrics. You should specify at least one queue, and can specify up to 100 queues per\n request. The GetCurrentMetricsData API in particular requires a queue when you include a Filter in your request.

" + "smithy.api#documentation": "

The queues to use to filter the metrics. You should specify at least one queue, and can\n specify up to 100 queues per request. The GetCurrentMetricsData API in particular\n requires a queue when you include a Filter in your request.

" } }, "Channels": { @@ -8733,7 +8743,7 @@ } ], "traits": { - "smithy.api#documentation": "

Provides summary information about the Amazon Web Services resource associations for the specified Amazon Connect\n instance.

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

Provides summary information about the Amazon Web Services resource associations for the\n specified Amazon Connect instance.

", "smithy.api#http": { "method": "GET", "uri": "/instance/{InstanceId}/integration-associations", @@ -12864,7 +12874,7 @@ } ], "traits": { - "smithy.api#documentation": "

Initiates a contact flow to start a new chat for the customer. Response of this API provides\n a token required to obtain credentials from the CreateParticipantConnection API in the Amazon Connect Participant Service.

\n\n

When a new chat contact is successfully created, clients must subscribe to the participant’s\n connection for the created chat within 5 minutes. This is achieved by invoking CreateParticipantConnection with WEBSOCKET and CONNECTION_CREDENTIALS.

\n\n

A 429 error occurs in two situations:

\n \n\n

For more information about chat, see Chat in the Amazon Connect Administrator\n Guide.

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

Initiates a contact flow to start a new chat for the customer. Response of this API provides\n a token required to obtain credentials from the CreateParticipantConnection API in the Amazon Connect Participant Service.

\n\n

When a new chat contact is successfully created, clients must subscribe to the participant’s\n connection for the created chat within 5 minutes. This is achieved by invoking CreateParticipantConnection with WEBSOCKET and CONNECTION_CREDENTIALS.

\n\n

A 429 error occurs in the following situations:

\n \n

If you use the ChatDurationInMinutes parameter and receive a 400 error, your account may\n not support the ability to configure custom chat durations. For more information, contact Amazon Web Services Support. \n

\n\n

For more information about chat, see Chat in the Amazon Connect Administrator\n Guide.

", "smithy.api#http": { "method": "PUT", "uri": "/contact/chat", @@ -12914,6 +12924,12 @@ "smithy.api#documentation": "

A unique, case-sensitive identifier that you provide to ensure the idempotency of the\n request.

", "smithy.api#idempotencyToken": {} } + }, + "ChatDurationInMinutes": { + "target": "com.amazonaws.connect#ChatDurationInMinutes", + "traits": { + "smithy.api#documentation": "

The total duration of the newly started chat session. If not specified, the chat session duration defaults to 25 hour. \n The minumum configurable time is 60 minutes. The maximum configurable time is 10,080 minutes (7 days).

" + } } } }, @@ -14160,7 +14176,7 @@ "Name": { "target": "com.amazonaws.connect#ContactFlowName", "traits": { - "smithy.api#documentation": "

The name of the contact flow.

" + "smithy.api#documentation": "

TThe name of the contact flow.

" } }, "Description": { diff --git a/codegen/sdk-codegen/aws-models/costexplorer.2017-10-25.json b/codegen/sdk-codegen/aws-models/costexplorer.2017-10-25.json index 9390d61ddcb..f77fd4044ae 100644 --- a/codegen/sdk-codegen/aws-models/costexplorer.2017-10-25.json +++ b/codegen/sdk-codegen/aws-models/costexplorer.2017-10-25.json @@ -1671,6 +1671,10 @@ { "value": "AGREEMENT_END_DATE_TIME_BEFORE", "name": "AGREEMENT_END_DATE_TIME_BEFORE" + }, + { + "value": "INVOICING_ENTITY", + "name": "INVOICING_ENTITY" } ] } @@ -2502,7 +2506,7 @@ "Filter": { "target": "com.amazonaws.costexplorer#Expression", "traits": { - "smithy.api#documentation": "

Filters Amazon Web Services costs by different dimensions. For example, you can specify SERVICE and LINKED_ACCOUNT \n\t\t\tand get the costs that are associated with that account's usage of that service. You can nest Expression objects \n\t\t\tto define any combination of dimension filters. For more information, see \n\t\t\tExpression.

\n\t

The default values are EQUALS and CASE_SENSITIVE. Valid values for MatchOptions for Dimensions are EQUALS and CASE_SENSITIVE.

\n\t

Valid values for MatchOptions for CostCategories and Tags are EQUALS, ABSENT, and CASE_SENSITIVE.

" + "smithy.api#documentation": "

Filters Amazon Web Services costs by different dimensions. For example, you can specify SERVICE and LINKED_ACCOUNT \n\t\t\tand get the costs that are associated with that account's usage of that service. You can nest Expression objects \n\t\t\tto define any combination of dimension filters. For more information, see \n\t\t\tExpression.

\n\t

Valid values for MatchOptions for CostCategories and Tags are EQUALS, ABSENT, and CASE_SENSITIVE.

\n\t

The default values are EQUALS and CASE_SENSITIVE. Valid values for MatchOptions for Dimensions are EQUALS and CASE_SENSITIVE.

" } }, "Metrics": { @@ -2515,7 +2519,7 @@ "GroupBy": { "target": "com.amazonaws.costexplorer#GroupDefinitions", "traits": { - "smithy.api#documentation": "

You can group Amazon Web Services costs using up to two different groups, either dimensions, tag keys,\n cost categories, or any two group by types.

\n\t

Valid values for the DIMENSION type are AZ, INSTANCE_TYPE, LEGAL_ENTITY_NAME, LINKED_ACCOUNT, \n\t\t\tOPERATION, PLATFORM, PURCHASE_TYPE, SERVICE,\n\t\t TENANCY, RECORD_TYPE, and USAGE_TYPE.

\n\t

When you group by the TAG type and include a valid tag key, you get all tag values, including empty strings.

" + "smithy.api#documentation": "

You can group Amazon Web Services costs using up to two different groups, either dimensions, tag keys,\n cost categories, or any two group by types.

\n\t

Valid values for the DIMENSION type are AZ, INSTANCE_TYPE, LEGAL_ENTITY_NAME, INVOICING_ENTITY, LINKED_ACCOUNT, \n\t\t\tOPERATION, PLATFORM, PURCHASE_TYPE, SERVICE,\n\t\t TENANCY, RECORD_TYPE, and USAGE_TYPE.

\n\t

When you group by the TAG type and include a valid tag key, you get all tag values, including empty strings.

" } }, "NextPageToken": { @@ -2604,7 +2608,7 @@ "Filter": { "target": "com.amazonaws.costexplorer#Expression", "traits": { - "smithy.api#documentation": "

Filters Amazon Web Services costs by different dimensions. For example, you can specify\n SERVICE and LINKED_ACCOUNT and get the costs that are associated\n with that account's usage of that service. You can nest Expression objects to\n define any combination of dimension filters. For more information, see Expression.

\n

The GetCostAndUsageWithResources operation requires that you either group by or filter by a\n ResourceId. It requires the Expression \n \"SERVICE = Amazon Elastic Compute Cloud - Compute\" in the filter.

\n

The default values are EQUALS and CASE_SENSITIVE. Valid values for MatchOptions for Dimensions are EQUALS and CASE_SENSITIVE.

\n

Valid values for MatchOptions for CostCategories and Tags are EQUALS, ABSENT, and CASE_SENSITIVE.

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

Filters Amazon Web Services costs by different dimensions. For example, you can specify\n SERVICE and LINKED_ACCOUNT and get the costs that are associated\n with that account's usage of that service. You can nest Expression objects to\n define any combination of dimension filters. For more information, see Expression.

\n

The GetCostAndUsageWithResources operation requires that you either group by or filter by a\n ResourceId. It requires the Expression \n \"SERVICE = Amazon Elastic Compute Cloud - Compute\" in the filter.

\n

Valid values for MatchOptions for CostCategories and Tags are EQUALS, ABSENT, and CASE_SENSITIVE.

\n

The default values are EQUALS and CASE_SENSITIVE. Valid values for MatchOptions for Dimensions are EQUALS and CASE_SENSITIVE.

", "smithy.api#required": {} } }, @@ -2887,14 +2891,14 @@ "Dimension": { "target": "com.amazonaws.costexplorer#Dimension", "traits": { - "smithy.api#documentation": "

The name of the dimension. Each Dimension is available for a different Context. \n\t\t For more information, see Context. \n\t\t\t\n\t\t

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

The name of the dimension. Each Dimension is available for a different Context. \n\t\t\tFor more information, see Context. \n\t\t\t\n\t\t

", "smithy.api#required": {} } }, "Context": { "target": "com.amazonaws.costexplorer#Context", "traits": { - "smithy.api#documentation": "

The context for the call to GetDimensionValues. This can be RESERVATIONS or COST_AND_USAGE. \n\t\t\tThe default value is COST_AND_USAGE. If the context is set to RESERVATIONS, the resulting dimension values \n\t\t\tcan be used in the GetReservationUtilization operation. If the context is set to COST_AND_USAGE, \n\t\t\tthe resulting dimension values can be used in the GetCostAndUsage operation.

\n\t\t

If you set the context to COST_AND_USAGE, you can use the following \n dimensions for searching:

\n \n

If you set the context to RESERVATIONS, you can use the following \n dimensions for searching:

\n \n

If you set the context to SAVINGS_PLANS, you can use the following dimensions for searching:

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

The context for the call to GetDimensionValues. This can be RESERVATIONS or COST_AND_USAGE. \n\t\t\tThe default value is COST_AND_USAGE. If the context is set to RESERVATIONS, the resulting dimension values \n\t\t\tcan be used in the GetReservationUtilization operation. If the context is set to COST_AND_USAGE, \n\t\t\tthe resulting dimension values can be used in the GetCostAndUsage operation.

\n\t\t

If you set the context to COST_AND_USAGE, you can use the following \n dimensions for searching:

\n \n

If you set the context to RESERVATIONS, you can use the following \n dimensions for searching:

\n \n

If you set the context to SAVINGS_PLANS, you can use the following dimensions for searching:

\n " } }, "Filter": { @@ -2988,7 +2992,7 @@ "GroupBy": { "target": "com.amazonaws.costexplorer#GroupDefinitions", "traits": { - "smithy.api#documentation": "

You can group the data by the following attributes:

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

You can group the data by the following attributes:

\n\t\t " } }, "Granularity": { @@ -3000,7 +3004,7 @@ "Filter": { "target": "com.amazonaws.costexplorer#Expression", "traits": { - "smithy.api#documentation": "

Filters utilization data by dimensions. You can filter by the following dimensions:

\n\t\t \n\t\t

\n GetReservationCoverage uses the same \n\t\t\tExpression object \n\t\t\tas the other operations, but only AND is supported among each dimension. You can nest only one level deep.

\n\t\t

If you don't provide a SERVICE filter, Cost Explorer defaults to EC2.

\n\t

Cost category is also supported.

" + "smithy.api#documentation": "

Filters utilization data by dimensions. You can filter by the following dimensions:

\n\t\t \n\t\t

\n GetReservationCoverage uses the same \n\t\t\tExpression object \n\t\t\tas the other operations, but only AND is supported among each dimension. You can nest only one level deep. \n\t\t\tIf there are multiple values for a dimension, they are OR'd together.

\n\t\t

If you don't provide a SERVICE filter, Cost Explorer defaults to EC2.

\n\t

Cost category is also supported.

" } }, "Metrics": { @@ -3214,7 +3218,7 @@ "Filter": { "target": "com.amazonaws.costexplorer#Expression", "traits": { - "smithy.api#documentation": "

Filters utilization data by dimensions. You can filter by the following dimensions:

\n\t\t \n\t\t

\n GetReservationUtilization uses the same \n\t\t\tExpression object \n\t\t\tas the other operations, but only AND is supported among each dimension, and nesting is supported up to \n\t\t\tonly one level deep.

" + "smithy.api#documentation": "

Filters utilization data by dimensions. You can filter by the following dimensions:

\n\t\t \n\t\t

\n GetReservationUtilization uses the same \n\t\t\tExpression object \n\t\t\tas the other operations, but only AND is supported among each dimension, and nesting is supported up to \n\t\t\tonly one level deep. If there are multiple values for a dimension, they are OR'd together.

" } }, "SortBy": { @@ -3370,7 +3374,7 @@ } ], "traits": { - "smithy.api#documentation": "

Retrieves the Savings Plans covered for your account. This enables you to see how much of your cost is covered by a Savings Plan. An organization’s management account can see the coverage of the associated member accounts. This supports dimensions, Cost Categories, and nested expressions. For any time period, you can filter data for Savings Plans usage with the following dimensions:

\n\t \n \n

\n GetSavingsPlansCoverage doesn't support filtering by tags. GetSavingsPlansCoverage also doesn't support the OR operator between filter dimensions. For the full request syntax with supported parameters, see Examples.

\n
\n\t

To determine valid values for a dimension, use the GetDimensionValues operation.

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

Retrieves the Savings Plans covered for your account. This enables you to see how much of your cost is covered by a Savings Plan. An organization’s management account can see the coverage of the associated member accounts. This supports dimensions, Cost Categories, and nested expressions. For any time period, you can filter data for Savings Plans usage with the following dimensions:

\n\t \n\t

To determine valid values for a dimension, use the GetDimensionValues operation.

", "smithy.api#paginated": { "inputToken": "NextToken", "outputToken": "NextToken", @@ -3403,7 +3407,7 @@ "Filter": { "target": "com.amazonaws.costexplorer#Expression", "traits": { - "smithy.api#documentation": "

Filters Savings Plans coverage data by dimensions. You can filter data for Savings Plans usage with the following dimensions:

\n \n

\n GetSavingsPlansCoverage uses the same \n Expression object \n as the other operations, but only AND is supported among each dimension.

\n

Cost category is supported. Tags are not supported.

" + "smithy.api#documentation": "

Filters Savings Plans coverage data by dimensions. You can filter data for Savings Plans usage with the following dimensions:

\n \n

\n GetSavingsPlansCoverage uses the same \n Expression object \n as the other operations, but only AND is supported among each dimension. If there are multiple values for a dimension, they are OR'd together.

\n

Cost category is also supported.

" } }, "Metrics": { @@ -3568,7 +3572,7 @@ } ], "traits": { - "smithy.api#documentation": "

Retrieves the Savings Plans utilization for your account across date ranges with daily or monthly granularity. Management account in an organization have access to member accounts. You can use GetDimensionValues in SAVINGS_PLANS to determine the possible dimension values.

\n\t \n

You cannot group by any dimension values for GetSavingsPlansUtilization.

\n

\n GetSavingsPlansUtilization doesn't support filtering by tags. GetSavingsPlansUtilization also doesn't support the OR operator between filter dimensions. For the full request syntax with supported parameters, see Examples.

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

Retrieves the Savings Plans utilization for your account across date ranges with daily or monthly granularity. Management account in an organization have access to member accounts. You can use GetDimensionValues in SAVINGS_PLANS to determine the possible dimension values.

\n\t \n

You cannot group by any dimension values for GetSavingsPlansUtilization.

\n
" } }, "com.amazonaws.costexplorer#GetSavingsPlansUtilizationDetails": { @@ -3591,7 +3595,7 @@ } ], "traits": { - "smithy.api#documentation": "

Retrieves attribute data along with aggregate utilization and savings data for a given time period. This doesn't support granular or grouped data (daily/monthly) in response. You can't retrieve data by dates in a single response similar to GetSavingsPlanUtilization, but you have the option to make multiple calls to GetSavingsPlanUtilizationDetails by providing individual dates. You can use GetDimensionValues in SAVINGS_PLANS to determine the possible dimension values.

\n\t \n

\n GetSavingsPlanUtilizationDetails internally groups data by SavingsPlansArn.

\n\t

\n GetSavingsPlansUtilizationDetails doesn't support filtering by tags. GetSavingsPlansUtilizationDetails also doesn't support the OR operator between filter dimensions. For the full request syntax with supported parameters, see Examples.

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

Retrieves attribute data along with aggregate utilization and savings data for a given time period. This doesn't support granular or grouped data (daily/monthly) in response. You can't retrieve data by dates in a single response similar to GetSavingsPlanUtilization, but you have the option to make multiple calls to GetSavingsPlanUtilizationDetails by providing individual dates. You can use GetDimensionValues in SAVINGS_PLANS to determine the possible dimension values.

\n\t \n

\n GetSavingsPlanUtilizationDetails internally groups data by SavingsPlansArn.

\n
", "smithy.api#paginated": { "inputToken": "NextToken", "outputToken": "NextToken", @@ -3612,7 +3616,7 @@ "Filter": { "target": "com.amazonaws.costexplorer#Expression", "traits": { - "smithy.api#documentation": "

Filters Savings Plans utilization coverage data for active Savings Plans dimensions. You can filter data with the following dimensions:

\n \n

\n GetSavingsPlansUtilizationDetails uses the same \n Expression object \n as the other operations, but only AND is supported among each dimension.

\n

Filtering by tags isn't supported.

" + "smithy.api#documentation": "

Filters Savings Plans utilization coverage data for active Savings Plans dimensions. You can filter data with the following dimensions:

\n \n

\n GetSavingsPlansUtilizationDetails uses the same \n Expression object \n as the other operations, but only AND is supported among each dimension.

" } }, "DataType": { @@ -3691,7 +3695,7 @@ "Filter": { "target": "com.amazonaws.costexplorer#Expression", "traits": { - "smithy.api#documentation": "

Filters Savings Plans utilization coverage data for active Savings Plans dimensions. You can filter data with the following dimensions:

\n \n

\n GetSavingsPlansUtilization uses the same \n Expression object \n as the other operations, but only AND is supported among each dimension.

\n

Filtering by tags isn't supported.

" + "smithy.api#documentation": "

Filters Savings Plans utilization coverage data for active Savings Plans dimensions. You can filter data with the following dimensions:

\n \n

\n GetSavingsPlansUtilization uses the same \n Expression object \n as the other operations, but only AND is supported among each dimension.

" } }, "SortBy": { @@ -6119,7 +6123,7 @@ "min": 6, "max": 302 }, - "smithy.api#pattern": "^(^[a-zA-Z0-9.!#$%&'*+=?^_‘{|}~-]+@[a-zA-Z0-9_-]+(\\.[a-zA-Z0-9_-]+)+$)|(^arn:(aws[a-zA-Z-]*):sns:[a-zA-Z0-9-]+:[0-9]{12}:[a-zA-Z0-9_-]+$)$" + "smithy.api#pattern": "^(^[a-zA-Z0-9.!#$%&'*+=?^_‘{|}~-]+@[a-zA-Z0-9_-]+(\\.[a-zA-Z0-9_-]+)+$)|(^arn:(aws[a-zA-Z-]*):sns:[a-zA-Z0-9-]+:[0-9]{12}:[a-zA-Z0-9_-]+(\\.fifo)?$)$" } }, "com.amazonaws.costexplorer#SubscriberStatus": { diff --git a/codegen/sdk-codegen/aws-models/customerprofiles.2020-08-15.json b/codegen/sdk-codegen/aws-models/customerprofiles.2020-08-15.json index 4bd8fecb0a1..01605938553 100644 --- a/codegen/sdk-codegen/aws-models/customerprofiles.2020-08-15.json +++ b/codegen/sdk-codegen/aws-models/customerprofiles.2020-08-15.json @@ -195,6 +195,147 @@ "smithy.api#documentation": "

A generic address associated with the customer that is not mailing, shipping, or\n billing.

" } }, + "com.amazonaws.customerprofiles#AppflowIntegration": { + "type": "structure", + "members": { + "FlowDefinition": { + "target": "com.amazonaws.customerprofiles#FlowDefinition", + "traits": { + "smithy.api#required": {} + } + }, + "Batches": { + "target": "com.amazonaws.customerprofiles#Batches", + "traits": { + "smithy.api#documentation": "

Batches in workflow of type APPFLOW_INTEGRATION.

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

Details for workflow of type APPFLOW_INTEGRATION.

" + } + }, + "com.amazonaws.customerprofiles#AppflowIntegrationWorkflowAttributes": { + "type": "structure", + "members": { + "SourceConnectorType": { + "target": "com.amazonaws.customerprofiles#SourceConnectorType", + "traits": { + "smithy.api#documentation": "

Specifies the source connector type, such as Salesforce, ServiceNow, and Marketo. Indicates source of ingestion.

", + "smithy.api#required": {} + } + }, + "ConnectorProfileName": { + "target": "com.amazonaws.customerprofiles#ConnectorProfileName", + "traits": { + "smithy.api#documentation": "

The name of the AppFlow connector profile used for ingestion.

", + "smithy.api#required": {} + } + }, + "RoleArn": { + "target": "com.amazonaws.customerprofiles#string1To255", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the IAM role. Customer Profiles assumes this role to create resources on your behalf as part of workflow execution.

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

Structure holding all APPFLOW_INTEGRATION specific workflow attributes.

" + } + }, + "com.amazonaws.customerprofiles#AppflowIntegrationWorkflowMetrics": { + "type": "structure", + "members": { + "RecordsProcessed": { + "target": "com.amazonaws.customerprofiles#long", + "traits": { + "smithy.api#documentation": "

Number of records processed in APPFLOW_INTEGRATION workflow.

", + "smithy.api#required": {} + } + }, + "StepsCompleted": { + "target": "com.amazonaws.customerprofiles#long", + "traits": { + "smithy.api#documentation": "

Total steps completed in APPFLOW_INTEGRATION workflow.

", + "smithy.api#required": {} + } + }, + "TotalSteps": { + "target": "com.amazonaws.customerprofiles#long", + "traits": { + "smithy.api#documentation": "

Total steps in APPFLOW_INTEGRATION workflow.

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

Workflow specific execution metrics for APPFLOW_INTEGRATION workflow.

" + } + }, + "com.amazonaws.customerprofiles#AppflowIntegrationWorkflowStep": { + "type": "structure", + "members": { + "FlowName": { + "target": "com.amazonaws.customerprofiles#FlowName", + "traits": { + "smithy.api#documentation": "

Name of the flow created during execution of workflow step. APPFLOW_INTEGRATION workflow type creates an appflow flow during workflow step execution on the customers behalf.

", + "smithy.api#required": {} + } + }, + "Status": { + "target": "com.amazonaws.customerprofiles#Status", + "traits": { + "smithy.api#documentation": "

Workflow step status for APPFLOW_INTEGRATION workflow.

", + "smithy.api#required": {} + } + }, + "ExecutionMessage": { + "target": "com.amazonaws.customerprofiles#string1To255", + "traits": { + "smithy.api#documentation": "

Message indicating execution of workflow step for APPFLOW_INTEGRATION workflow.

", + "smithy.api#required": {} + } + }, + "RecordsProcessed": { + "target": "com.amazonaws.customerprofiles#long", + "traits": { + "smithy.api#documentation": "

Total number of records processed during execution of workflow step for APPFLOW_INTEGRATION workflow.

", + "smithy.api#required": {} + } + }, + "BatchRecordsStartTime": { + "target": "com.amazonaws.customerprofiles#string1To255", + "traits": { + "smithy.api#documentation": "

Start datetime of records pulled in batch during execution of workflow step for APPFLOW_INTEGRATION workflow.

", + "smithy.api#required": {} + } + }, + "BatchRecordsEndTime": { + "target": "com.amazonaws.customerprofiles#string1To255", + "traits": { + "smithy.api#documentation": "

End datetime of records pulled in batch during execution of workflow step for APPFLOW_INTEGRATION workflow.

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

Creation timestamp of workflow step for APPFLOW_INTEGRATION workflow.

", + "smithy.api#required": {} + } + }, + "LastUpdatedAt": { + "target": "com.amazonaws.customerprofiles#timestamp", + "traits": { + "smithy.api#documentation": "

Last updated timestamp for workflow step for APPFLOW_INTEGRATION workflow.

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

Workflow step details for APPFLOW_INTEGRATION workflow.

" + } + }, "com.amazonaws.customerprofiles#AttributeSourceIdMap": { "type": "map", "key": { @@ -253,6 +394,34 @@ "smithy.api#httpError": 400 } }, + "com.amazonaws.customerprofiles#Batch": { + "type": "structure", + "members": { + "StartTime": { + "target": "com.amazonaws.customerprofiles#timestamp", + "traits": { + "smithy.api#documentation": "

Start time of batch to split ingestion.

", + "smithy.api#required": {} + } + }, + "EndTime": { + "target": "com.amazonaws.customerprofiles#timestamp", + "traits": { + "smithy.api#documentation": "

End time of batch to split ingestion.

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

Batch defines the boundaries for ingestion for each step in APPFLOW_INTEGRATION workflow. APPFLOW_INTEGRATION workflow splits ingestion based on these boundaries.

" + } + }, + "com.amazonaws.customerprofiles#Batches": { + "type": "list", + "member": { + "target": "com.amazonaws.customerprofiles#Batch" + } + }, "com.amazonaws.customerprofiles#BucketName": { "type": "string", "traits": { @@ -507,6 +676,106 @@ } } }, + "com.amazonaws.customerprofiles#CreateIntegrationWorkflow": { + "type": "operation", + "input": { + "target": "com.amazonaws.customerprofiles#CreateIntegrationWorkflowRequest" + }, + "output": { + "target": "com.amazonaws.customerprofiles#CreateIntegrationWorkflowResponse" + }, + "errors": [ + { + "target": "com.amazonaws.customerprofiles#AccessDeniedException" + }, + { + "target": "com.amazonaws.customerprofiles#BadRequestException" + }, + { + "target": "com.amazonaws.customerprofiles#InternalServerException" + }, + { + "target": "com.amazonaws.customerprofiles#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.customerprofiles#ThrottlingException" + } + ], + "traits": { + "smithy.api#documentation": "

\n\tCreates an integration workflow. An integration workflow is an async process which ingests historic data and sets up an integration for ongoing updates. The supported Amazon AppFlow sources are Salesforce, ServiceNow, and Marketo.\n\t

", + "smithy.api#http": { + "method": "POST", + "uri": "/domains/{DomainName}/workflows/integrations", + "code": 200 + } + } + }, + "com.amazonaws.customerprofiles#CreateIntegrationWorkflowRequest": { + "type": "structure", + "members": { + "DomainName": { + "target": "com.amazonaws.customerprofiles#name", + "traits": { + "smithy.api#documentation": "

The unique name of the domain.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "WorkflowType": { + "target": "com.amazonaws.customerprofiles#WorkflowType", + "traits": { + "smithy.api#documentation": "

The type of workflow. The only supported value is APPFLOW_INTEGRATION.

", + "smithy.api#required": {} + } + }, + "IntegrationConfig": { + "target": "com.amazonaws.customerprofiles#IntegrationConfig", + "traits": { + "smithy.api#documentation": "

Configuration data for integration workflow.

", + "smithy.api#required": {} + } + }, + "ObjectTypeName": { + "target": "com.amazonaws.customerprofiles#typeName", + "traits": { + "smithy.api#documentation": "

The name of the profile object type.

", + "smithy.api#required": {} + } + }, + "RoleArn": { + "target": "com.amazonaws.customerprofiles#RoleArn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the IAM role. Customer Profiles assumes this role to create resources on your behalf as part of workflow execution.

", + "smithy.api#required": {} + } + }, + "Tags": { + "target": "com.amazonaws.customerprofiles#TagMap", + "traits": { + "smithy.api#documentation": "

The tags used to organize, track, or control access for this resource.

" + } + } + } + }, + "com.amazonaws.customerprofiles#CreateIntegrationWorkflowResponse": { + "type": "structure", + "members": { + "WorkflowId": { + "target": "com.amazonaws.customerprofiles#uuid", + "traits": { + "smithy.api#documentation": "

Unique identifier for the workflow.

", + "smithy.api#required": {} + } + }, + "Message": { + "target": "com.amazonaws.customerprofiles#string1To255", + "traits": { + "smithy.api#documentation": "

A message indicating create request was received.

", + "smithy.api#required": {} + } + } + } + }, "com.amazonaws.customerprofiles#CreateProfile": { "type": "operation", "input": { @@ -717,6 +986,9 @@ { "target": "com.amazonaws.customerprofiles#CreateDomain" }, + { + "target": "com.amazonaws.customerprofiles#CreateIntegrationWorkflow" + }, { "target": "com.amazonaws.customerprofiles#CreateProfile" }, @@ -738,6 +1010,9 @@ { "target": "com.amazonaws.customerprofiles#DeleteProfileObjectType" }, + { + "target": "com.amazonaws.customerprofiles#DeleteWorkflow" + }, { "target": "com.amazonaws.customerprofiles#GetAutoMergingPreview" }, @@ -759,6 +1034,12 @@ { "target": "com.amazonaws.customerprofiles#GetProfileObjectTypeTemplate" }, + { + "target": "com.amazonaws.customerprofiles#GetWorkflow" + }, + { + "target": "com.amazonaws.customerprofiles#GetWorkflowSteps" + }, { "target": "com.amazonaws.customerprofiles#ListAccountIntegrations" }, @@ -783,6 +1064,9 @@ { "target": "com.amazonaws.customerprofiles#ListTagsForResource" }, + { + "target": "com.amazonaws.customerprofiles#ListWorkflows" + }, { "target": "com.amazonaws.customerprofiles#MergeProfiles" }, @@ -1255,6 +1539,65 @@ } } }, + "com.amazonaws.customerprofiles#DeleteWorkflow": { + "type": "operation", + "input": { + "target": "com.amazonaws.customerprofiles#DeleteWorkflowRequest" + }, + "output": { + "target": "com.amazonaws.customerprofiles#DeleteWorkflowResponse" + }, + "errors": [ + { + "target": "com.amazonaws.customerprofiles#AccessDeniedException" + }, + { + "target": "com.amazonaws.customerprofiles#BadRequestException" + }, + { + "target": "com.amazonaws.customerprofiles#InternalServerException" + }, + { + "target": "com.amazonaws.customerprofiles#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.customerprofiles#ThrottlingException" + } + ], + "traits": { + "smithy.api#documentation": "

Deletes the specified workflow and all its corresponding resources. This is an async process.

", + "smithy.api#http": { + "method": "DELETE", + "uri": "/domains/{DomainName}/workflows/{WorkflowId}", + "code": 200 + } + } + }, + "com.amazonaws.customerprofiles#DeleteWorkflowRequest": { + "type": "structure", + "members": { + "DomainName": { + "target": "com.amazonaws.customerprofiles#name", + "traits": { + "smithy.api#documentation": "

The unique name of the domain.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "WorkflowId": { + "target": "com.amazonaws.customerprofiles#string1To255", + "traits": { + "smithy.api#documentation": "

Unique identifier for the workflow.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.customerprofiles#DeleteWorkflowResponse": { + "type": "structure", + "members": {} + }, "com.amazonaws.customerprofiles#DestinationField": { "type": "string", "traits": { @@ -2029,6 +2372,12 @@ "traits": { "smithy.api#documentation": "

A map in which each key is an event type from an external application such as Segment or Shopify, and each value is an ObjectTypeName (template) used to ingest the event.\nIt supports the following event types: SegmentIdentify, ShopifyCreateCustomers, ShopifyUpdateCustomers, ShopifyCreateDraftOrders, \nShopifyUpdateDraftOrders, ShopifyCreateOrders, and ShopifyUpdatedOrders.

" } + }, + "WorkflowId": { + "target": "com.amazonaws.customerprofiles#string1To255", + "traits": { + "smithy.api#documentation": "

Unique identifier for the workflow.

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

Before calling this API, use CreateDomain or\n UpdateDomain to\n enable identity resolution: set Matching to true.

\n

GetMatches returns potentially matching profiles, based on the results of the latest run\n of a machine learning process.

\n \n

The process of matching duplicate profiles. If Matching = true, Amazon Connect Customer Profiles starts a weekly\nbatch process called Identity Resolution Job. If you do not specify a date and time for Identity Resolution Job to run, by default it runs every \nSaturday at 12AM UTC to detect duplicate profiles in your domains.

\n

After the Identity Resolution Job completes, use the \nGetMatches\nAPI to return and review the results. Or, if you have configured ExportingConfig in the MatchingRequest, you can download the results from\nS3.

\n
\n\n

Amazon Connect uses the following profile attributes to identify matches:

\n \n

For example, two or more profiles—with spelling mistakes such as John Doe and Jhn Doe, or different casing\n email addresses such as JOHN_DOE@ANYCOMPANY.COM and\n johndoe@anycompany.com, or different phone number\n formats such as 555-010-0000 and +1-555-010-0000—can be detected as belonging to the same customer John Doe and merged into a unified profile.

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

Before calling this API, use CreateDomain or\n UpdateDomain to\n enable identity resolution: set Matching to true.

\n

GetMatches returns potentially matching profiles, based on the results of the latest run\n of a machine learning process.

\n \n

The process of matching duplicate profiles. If Matching = true, Amazon Connect Customer Profiles starts a weekly\nbatch process called Identity Resolution Job. If you do not specify a date and time for Identity Resolution Job to run, by default it runs every \nSaturday at 12AM UTC to detect duplicate profiles in your domains.

\n

After the Identity Resolution Job completes, use the \nGetMatches\nAPI to return and review the results. Or, if you have configured ExportingConfig in the MatchingRequest, you can download the results from\nS3.

\n
\n\n

Amazon Connect uses the following profile attributes to identify matches:

\n \n

For example, two or more profiles—with spelling mistakes such as John Doe and Jhn Doe, or different casing\n email addresses such as JOHN_DOE@ANYCOMPANY.COM and\n johndoe@anycompany.com, or different phone number\n formats such as 555-010-0000 and +1-555-010-0000—can be detected as belonging to the same customer John Doe and merged into a unified profile.

", "smithy.api#http": { "method": "GET", "uri": "/domains/{DomainName}/matches", @@ -2303,49 +2652,255 @@ } } }, - "com.amazonaws.customerprofiles#GetProfileObjectTypeTemplateResponse": { + "com.amazonaws.customerprofiles#GetProfileObjectTypeTemplateResponse": { + "type": "structure", + "members": { + "TemplateId": { + "target": "com.amazonaws.customerprofiles#name", + "traits": { + "smithy.api#documentation": "

A unique identifier for the object template.

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

The name of the source of the object template.

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

The source of the object template.

" + } + }, + "AllowProfileCreation": { + "target": "com.amazonaws.customerprofiles#boolean", + "traits": { + "smithy.api#documentation": "

Indicates whether a profile should be created when data is received if one doesn’t exist\n for an object of this type. The default is FALSE. If the AllowProfileCreation\n flag is set to FALSE, then the service tries to fetch a standard profile and\n associate this object with the profile. If it is set to TRUE, and if no match\n is found, then the service creates a new standard profile.

" + } + }, + "SourceLastUpdatedTimestampFormat": { + "target": "com.amazonaws.customerprofiles#string1To255", + "traits": { + "smithy.api#documentation": "

The format of your sourceLastUpdatedTimestamp that was previously set\n up.

" + } + }, + "Fields": { + "target": "com.amazonaws.customerprofiles#FieldMap", + "traits": { + "smithy.api#documentation": "

A map of the name and ObjectType field.

" + } + }, + "Keys": { + "target": "com.amazonaws.customerprofiles#KeyMap", + "traits": { + "smithy.api#documentation": "

A list of unique keys that can be used to map data to the profile.

" + } + } + } + }, + "com.amazonaws.customerprofiles#GetWorkflow": { + "type": "operation", + "input": { + "target": "com.amazonaws.customerprofiles#GetWorkflowRequest" + }, + "output": { + "target": "com.amazonaws.customerprofiles#GetWorkflowResponse" + }, + "errors": [ + { + "target": "com.amazonaws.customerprofiles#AccessDeniedException" + }, + { + "target": "com.amazonaws.customerprofiles#BadRequestException" + }, + { + "target": "com.amazonaws.customerprofiles#InternalServerException" + }, + { + "target": "com.amazonaws.customerprofiles#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.customerprofiles#ThrottlingException" + } + ], + "traits": { + "smithy.api#documentation": "

Get details of specified workflow.

", + "smithy.api#http": { + "method": "GET", + "uri": "/domains/{DomainName}/workflows/{WorkflowId}", + "code": 200 + } + } + }, + "com.amazonaws.customerprofiles#GetWorkflowRequest": { + "type": "structure", + "members": { + "DomainName": { + "target": "com.amazonaws.customerprofiles#name", + "traits": { + "smithy.api#documentation": "

The unique name of the domain.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "WorkflowId": { + "target": "com.amazonaws.customerprofiles#uuid", + "traits": { + "smithy.api#documentation": "

Unique identifier for the workflow.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.customerprofiles#GetWorkflowResponse": { + "type": "structure", + "members": { + "WorkflowId": { + "target": "com.amazonaws.customerprofiles#uuid", + "traits": { + "smithy.api#documentation": "

Unique identifier for the workflow.

" + } + }, + "WorkflowType": { + "target": "com.amazonaws.customerprofiles#WorkflowType", + "traits": { + "smithy.api#documentation": "

The type of workflow. The only supported value is APPFLOW_INTEGRATION.

" + } + }, + "Status": { + "target": "com.amazonaws.customerprofiles#Status", + "traits": { + "smithy.api#documentation": "

Status of workflow execution.

" + } + }, + "ErrorDescription": { + "target": "com.amazonaws.customerprofiles#string1To255", + "traits": { + "smithy.api#documentation": "

Workflow error messages during execution (if any).

" + } + }, + "StartDate": { + "target": "com.amazonaws.customerprofiles#timestamp", + "traits": { + "smithy.api#documentation": "

The timestamp that represents when workflow execution started.

" + } + }, + "LastUpdatedAt": { + "target": "com.amazonaws.customerprofiles#timestamp", + "traits": { + "smithy.api#documentation": "

The timestamp that represents when workflow execution last updated.

" + } + }, + "Attributes": { + "target": "com.amazonaws.customerprofiles#WorkflowAttributes", + "traits": { + "smithy.api#documentation": "

Attributes provided for workflow execution.

" + } + }, + "Metrics": { + "target": "com.amazonaws.customerprofiles#WorkflowMetrics", + "traits": { + "smithy.api#documentation": "

Workflow specific execution metrics.

" + } + } + } + }, + "com.amazonaws.customerprofiles#GetWorkflowSteps": { + "type": "operation", + "input": { + "target": "com.amazonaws.customerprofiles#GetWorkflowStepsRequest" + }, + "output": { + "target": "com.amazonaws.customerprofiles#GetWorkflowStepsResponse" + }, + "errors": [ + { + "target": "com.amazonaws.customerprofiles#AccessDeniedException" + }, + { + "target": "com.amazonaws.customerprofiles#BadRequestException" + }, + { + "target": "com.amazonaws.customerprofiles#InternalServerException" + }, + { + "target": "com.amazonaws.customerprofiles#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.customerprofiles#ThrottlingException" + } + ], + "traits": { + "smithy.api#documentation": "

Get granular list of steps in workflow.

", + "smithy.api#http": { + "method": "GET", + "uri": "/domains/{DomainName}/workflows/{WorkflowId}/steps", + "code": 200 + } + } + }, + "com.amazonaws.customerprofiles#GetWorkflowStepsRequest": { + "type": "structure", + "members": { + "DomainName": { + "target": "com.amazonaws.customerprofiles#name", + "traits": { + "smithy.api#documentation": "

The unique name of the domain.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "WorkflowId": { + "target": "com.amazonaws.customerprofiles#uuid", + "traits": { + "smithy.api#documentation": "

Unique identifier for the workflow.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "NextToken": { + "target": "com.amazonaws.customerprofiles#token", + "traits": { + "smithy.api#documentation": "

The token for the next set of results. Use the value returned in the previous \nresponse in the next request to retrieve the next set of results.

", + "smithy.api#httpQuery": "next-token" + } + }, + "MaxResults": { + "target": "com.amazonaws.customerprofiles#maxSize100", + "traits": { + "smithy.api#documentation": "

The maximum number of results to return per page.

", + "smithy.api#httpQuery": "max-results" + } + } + } + }, + "com.amazonaws.customerprofiles#GetWorkflowStepsResponse": { "type": "structure", "members": { - "TemplateId": { - "target": "com.amazonaws.customerprofiles#name", - "traits": { - "smithy.api#documentation": "

A unique identifier for the object template.

" - } - }, - "SourceName": { - "target": "com.amazonaws.customerprofiles#name", - "traits": { - "smithy.api#documentation": "

The name of the source of the object template.

" - } - }, - "SourceObject": { - "target": "com.amazonaws.customerprofiles#name", - "traits": { - "smithy.api#documentation": "

The source of the object template.

" - } - }, - "AllowProfileCreation": { - "target": "com.amazonaws.customerprofiles#boolean", + "WorkflowId": { + "target": "com.amazonaws.customerprofiles#uuid", "traits": { - "smithy.api#documentation": "

Indicates whether a profile should be created when data is received if one doesn’t exist\n for an object of this type. The default is FALSE. If the AllowProfileCreation\n flag is set to FALSE, then the service tries to fetch a standard profile and\n associate this object with the profile. If it is set to TRUE, and if no match\n is found, then the service creates a new standard profile.

" + "smithy.api#documentation": "

Unique identifier for the workflow.

" } }, - "SourceLastUpdatedTimestampFormat": { - "target": "com.amazonaws.customerprofiles#string1To255", + "WorkflowType": { + "target": "com.amazonaws.customerprofiles#WorkflowType", "traits": { - "smithy.api#documentation": "

The format of your sourceLastUpdatedTimestamp that was previously set\n up.

" + "smithy.api#documentation": "

The type of workflow. The only supported value is APPFLOW_INTEGRATION.

" } }, - "Fields": { - "target": "com.amazonaws.customerprofiles#FieldMap", + "Items": { + "target": "com.amazonaws.customerprofiles#WorkflowStepsList", "traits": { - "smithy.api#documentation": "

A map of the name and ObjectType field.

" + "smithy.api#documentation": "

List containing workflow step details.

" } }, - "Keys": { - "target": "com.amazonaws.customerprofiles#KeyMap", + "NextToken": { + "target": "com.amazonaws.customerprofiles#token", "traits": { - "smithy.api#documentation": "

A list of unique keys that can be used to map data to the profile.

" + "smithy.api#documentation": "

If there are additional results, this is the token for the next set of results.

" } } } @@ -2461,6 +3016,20 @@ "smithy.api#documentation": "

Specifies the configuration used when importing incremental records from the\n source.

" } }, + "com.amazonaws.customerprofiles#IntegrationConfig": { + "type": "structure", + "members": { + "AppflowIntegration": { + "target": "com.amazonaws.customerprofiles#AppflowIntegration", + "traits": { + "smithy.api#documentation": "

Configuration data for APPFLOW_INTEGRATION workflow type.

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

Configuration data for integration workflow.

" + } + }, "com.amazonaws.customerprofiles#IntegrationList": { "type": "list", "member": { @@ -2649,6 +3218,13 @@ "smithy.api#documentation": "

The maximum number of objects returned per page.

", "smithy.api#httpQuery": "max-results" } + }, + "IncludeHidden": { + "target": "com.amazonaws.customerprofiles#optionalBoolean", + "traits": { + "smithy.api#documentation": "

Boolean to indicate if hidden integration should be returned. Defaults to False.

", + "smithy.api#httpQuery": "include-hidden" + } } } }, @@ -2900,6 +3476,12 @@ "traits": { "smithy.api#documentation": "

A map in which each key is an event type from an external application such as Segment or Shopify, and each value is an ObjectTypeName (template) used to ingest the event.\nIt supports the following event types: SegmentIdentify, ShopifyCreateCustomers, ShopifyUpdateCustomers, ShopifyCreateDraftOrders, \nShopifyUpdateDraftOrders, ShopifyCreateOrders, and ShopifyUpdatedOrders.

" } + }, + "WorkflowId": { + "target": "com.amazonaws.customerprofiles#string1To255", + "traits": { + "smithy.api#documentation": "

Unique identifier for the workflow.

" + } } }, "traits": { @@ -2964,6 +3546,13 @@ "smithy.api#documentation": "

The maximum number of objects returned per page.

", "smithy.api#httpQuery": "max-results" } + }, + "IncludeHidden": { + "target": "com.amazonaws.customerprofiles#optionalBoolean", + "traits": { + "smithy.api#documentation": "

Boolean to indicate if hidden integration should be returned. Defaults to False.

", + "smithy.api#httpQuery": "include-hidden" + } } } }, @@ -3374,6 +3963,158 @@ } } }, + "com.amazonaws.customerprofiles#ListWorkflows": { + "type": "operation", + "input": { + "target": "com.amazonaws.customerprofiles#ListWorkflowsRequest" + }, + "output": { + "target": "com.amazonaws.customerprofiles#ListWorkflowsResponse" + }, + "errors": [ + { + "target": "com.amazonaws.customerprofiles#AccessDeniedException" + }, + { + "target": "com.amazonaws.customerprofiles#BadRequestException" + }, + { + "target": "com.amazonaws.customerprofiles#InternalServerException" + }, + { + "target": "com.amazonaws.customerprofiles#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.customerprofiles#ThrottlingException" + } + ], + "traits": { + "smithy.api#documentation": "

Query to list all workflows.

", + "smithy.api#http": { + "method": "POST", + "uri": "/domains/{DomainName}/workflows", + "code": 200 + } + } + }, + "com.amazonaws.customerprofiles#ListWorkflowsItem": { + "type": "structure", + "members": { + "WorkflowType": { + "target": "com.amazonaws.customerprofiles#WorkflowType", + "traits": { + "smithy.api#documentation": "

The type of workflow. The only supported value is APPFLOW_INTEGRATION.

", + "smithy.api#required": {} + } + }, + "WorkflowId": { + "target": "com.amazonaws.customerprofiles#string1To255", + "traits": { + "smithy.api#documentation": "

Unique identifier for the workflow.

", + "smithy.api#required": {} + } + }, + "Status": { + "target": "com.amazonaws.customerprofiles#Status", + "traits": { + "smithy.api#documentation": "

Status of workflow execution.

", + "smithy.api#required": {} + } + }, + "StatusDescription": { + "target": "com.amazonaws.customerprofiles#string1To255", + "traits": { + "smithy.api#documentation": "

Description for workflow execution status.

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

Creation timestamp for workflow.

", + "smithy.api#required": {} + } + }, + "LastUpdatedAt": { + "target": "com.amazonaws.customerprofiles#timestamp", + "traits": { + "smithy.api#documentation": "

Last updated timestamp for workflow.

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

A workflow in list of workflows.

" + } + }, + "com.amazonaws.customerprofiles#ListWorkflowsRequest": { + "type": "structure", + "members": { + "DomainName": { + "target": "com.amazonaws.customerprofiles#name", + "traits": { + "smithy.api#documentation": "

The unique name of the domain.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "WorkflowType": { + "target": "com.amazonaws.customerprofiles#WorkflowType", + "traits": { + "smithy.api#documentation": "

The type of workflow. The only supported value is APPFLOW_INTEGRATION.

" + } + }, + "Status": { + "target": "com.amazonaws.customerprofiles#Status", + "traits": { + "smithy.api#documentation": "

Status of workflow execution.

" + } + }, + "QueryStartDate": { + "target": "com.amazonaws.customerprofiles#timestamp", + "traits": { + "smithy.api#documentation": "

Retrieve workflows started after timestamp.

" + } + }, + "QueryEndDate": { + "target": "com.amazonaws.customerprofiles#timestamp", + "traits": { + "smithy.api#documentation": "

Retrieve workflows ended after timestamp.

" + } + }, + "NextToken": { + "target": "com.amazonaws.customerprofiles#token", + "traits": { + "smithy.api#documentation": "

The token for the next set of results. Use the value returned in the previous \nresponse in the next request to retrieve the next set of results.

", + "smithy.api#httpQuery": "next-token" + } + }, + "MaxResults": { + "target": "com.amazonaws.customerprofiles#maxSize100", + "traits": { + "smithy.api#documentation": "

The maximum number of results to return per page.

", + "smithy.api#httpQuery": "max-results" + } + } + } + }, + "com.amazonaws.customerprofiles#ListWorkflowsResponse": { + "type": "structure", + "members": { + "Items": { + "target": "com.amazonaws.customerprofiles#WorkflowList", + "traits": { + "smithy.api#documentation": "

List containing workflow details.

" + } + }, + "NextToken": { + "target": "com.amazonaws.customerprofiles#token", + "traits": { + "smithy.api#documentation": "

If there are additional results, this is the token for the next set of results.

" + } + } + } + }, "com.amazonaws.customerprofiles#MarketoConnectorOperator": { "type": "string", "traits": { @@ -4148,6 +4889,12 @@ "traits": { "smithy.api#documentation": "

A map in which each key is an event type from an external application such as Segment or Shopify, and each value is an ObjectTypeName (template) used to ingest the event.\nIt supports the following event types: SegmentIdentify, ShopifyCreateCustomers, ShopifyUpdateCustomers, ShopifyCreateDraftOrders, \nShopifyUpdateDraftOrders, ShopifyCreateOrders, and ShopifyUpdatedOrders.

" } + }, + "WorkflowId": { + "target": "com.amazonaws.customerprofiles#string1To255", + "traits": { + "smithy.api#documentation": "

Unique identifier for the workflow.

" + } } } }, @@ -4425,6 +5172,16 @@ "smithy.api#httpError": 404 } }, + "com.amazonaws.customerprofiles#RoleArn": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 512 + }, + "smithy.api#pattern": "^arn:aws:iam:.*:[0-9]+:" + } + }, "com.amazonaws.customerprofiles#S3ConnectorOperator": { "type": "string", "traits": { @@ -5111,6 +5868,41 @@ "target": "com.amazonaws.customerprofiles#StandardIdentifier" } }, + "com.amazonaws.customerprofiles#Status": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "NOT_STARTED", + "name": "NOT_STARTED" + }, + { + "value": "IN_PROGRESS", + "name": "IN_PROGRESS" + }, + { + "value": "COMPLETE", + "name": "COMPLETE" + }, + { + "value": "FAILED", + "name": "FAILED" + }, + { + "value": "SPLIT", + "name": "SPLIT" + }, + { + "value": "RETRY", + "name": "RETRY" + }, + { + "value": "CANCELLED", + "name": "CANCELLED" + } + ] + } + }, "com.amazonaws.customerprofiles#TagArn": { "type": "string", "traits": { @@ -5841,6 +6633,71 @@ } } }, + "com.amazonaws.customerprofiles#WorkflowAttributes": { + "type": "structure", + "members": { + "AppflowIntegration": { + "target": "com.amazonaws.customerprofiles#AppflowIntegrationWorkflowAttributes", + "traits": { + "smithy.api#documentation": "

Workflow attributes specific to APPFLOW_INTEGRATION workflow.

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

Structure to hold workflow attributes.

" + } + }, + "com.amazonaws.customerprofiles#WorkflowList": { + "type": "list", + "member": { + "target": "com.amazonaws.customerprofiles#ListWorkflowsItem" + } + }, + "com.amazonaws.customerprofiles#WorkflowMetrics": { + "type": "structure", + "members": { + "AppflowIntegration": { + "target": "com.amazonaws.customerprofiles#AppflowIntegrationWorkflowMetrics", + "traits": { + "smithy.api#documentation": "

Workflow execution metrics for APPFLOW_INTEGRATION workflow.

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

Generic object containing workflow execution metrics.

" + } + }, + "com.amazonaws.customerprofiles#WorkflowStepItem": { + "type": "structure", + "members": { + "AppflowIntegration": { + "target": "com.amazonaws.customerprofiles#AppflowIntegrationWorkflowStep", + "traits": { + "smithy.api#documentation": "

Workflow step information specific to APPFLOW_INTEGRATION workflow.

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

List containing steps in workflow.

" + } + }, + "com.amazonaws.customerprofiles#WorkflowStepsList": { + "type": "list", + "member": { + "target": "com.amazonaws.customerprofiles#WorkflowStepItem" + } + }, + "com.amazonaws.customerprofiles#WorkflowType": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "APPFLOW_INTEGRATION", + "name": "APPFLOW_INTEGRATION" + } + ] + } + }, "com.amazonaws.customerprofiles#ZendeskConnectorOperator": { "type": "string", "traits": { diff --git a/codegen/sdk-codegen/aws-models/dynamodb.2012-08-10.json b/codegen/sdk-codegen/aws-models/dynamodb.2012-08-10.json index 5b6f3724d43..47e63f7d5a7 100644 --- a/codegen/sdk-codegen/aws-models/dynamodb.2012-08-10.json +++ b/codegen/sdk-codegen/aws-models/dynamodb.2012-08-10.json @@ -1041,7 +1041,7 @@ "aws.api#clientDiscoveredEndpoint": { "required": false }, - "smithy.api#documentation": "

The BatchWriteItem operation puts or deletes multiple items in one or\n more tables. A single call to BatchWriteItem can write up to 16 MB of data,\n which can comprise as many as 25 put or delete requests. Individual items to be written\n can be as large as 400 KB.

\n \n

\n BatchWriteItem cannot update items. To update items, use the\n UpdateItem action.

\n
\n

The individual PutItem and DeleteItem operations specified\n in BatchWriteItem are atomic; however BatchWriteItem as a\n whole is not. If any requested operations fail because the table's provisioned\n throughput is exceeded or an internal processing failure occurs, the failed operations\n are returned in the UnprocessedItems response parameter. You can\n investigate and optionally resend the requests. Typically, you would call\n BatchWriteItem in a loop. Each iteration would check for unprocessed\n items and submit a new BatchWriteItem request with those unprocessed items\n until all items have been processed.

\n

If none of the items can be processed due to insufficient\n provisioned throughput on all of the tables in the request, then\n BatchWriteItem returns a\n ProvisionedThroughputExceededException.

\n \n

If DynamoDB returns any unprocessed items, you should retry the batch operation on\n those items. However, we strongly recommend that you use an exponential\n backoff algorithm. If you retry the batch operation immediately, the\n underlying read or write requests can still fail due to throttling on the individual\n tables. If you delay the batch operation using exponential backoff, the individual\n requests in the batch are much more likely to succeed.

\n

For more information, see Batch Operations and Error Handling in the Amazon DynamoDB\n Developer Guide.

\n
\n\n

With BatchWriteItem, you can efficiently write or delete large amounts of\n data, such as from Amazon EMR, or copy data from another database into DynamoDB. In\n order to improve performance with these large-scale operations,\n BatchWriteItem does not behave in the same way as individual\n PutItem and DeleteItem calls would. For example, you\n cannot specify conditions on individual put and delete requests, and\n BatchWriteItem does not return deleted items in the response.

\n

If you use a programming language that supports concurrency, you can use threads to\n write items in parallel. Your application must include the necessary logic to manage the\n threads. With languages that don't support threading, you must update or delete the\n specified items one at a time. In both situations, BatchWriteItem performs\n the specified put and delete operations in parallel, giving you the power of the thread\n pool approach without having to introduce complexity into your application.

\n

Parallel processing reduces latency, but each specified put and delete request\n consumes the same number of write capacity units whether it is processed in parallel or\n not. Delete operations on nonexistent items consume one write capacity unit.

\n

If one or more of the following is true, DynamoDB rejects the entire batch write\n operation:

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

The BatchWriteItem operation puts or deletes multiple items in one or\n more tables. A single call to BatchWriteItem can transmit up to 16MB of \n data over the network, consisting of up to 25 item put or delete operations. While \n individual items can be up to 400 KB once stored, it's important to \n note that an item's representation might be greater than 400KB while being sent in \n DynamoDB's JSON format for the API call. For more details on this distinction, see Naming Rules and Data Types.

\n \n

\n BatchWriteItem cannot update items. To update items, use the\n UpdateItem action.

\n
\n

The individual PutItem and DeleteItem operations specified\n in BatchWriteItem are atomic; however BatchWriteItem as a\n whole is not. If any requested operations fail because the table's provisioned\n throughput is exceeded or an internal processing failure occurs, the failed operations\n are returned in the UnprocessedItems response parameter. You can\n investigate and optionally resend the requests. Typically, you would call\n BatchWriteItem in a loop. Each iteration would check for unprocessed\n items and submit a new BatchWriteItem request with those unprocessed items\n until all items have been processed.

\n

If none of the items can be processed due to insufficient\n provisioned throughput on all of the tables in the request, then\n BatchWriteItem returns a\n ProvisionedThroughputExceededException.

\n \n

If DynamoDB returns any unprocessed items, you should retry the batch operation on\n those items. However, we strongly recommend that you use an exponential\n backoff algorithm. If you retry the batch operation immediately, the\n underlying read or write requests can still fail due to throttling on the individual\n tables. If you delay the batch operation using exponential backoff, the individual\n requests in the batch are much more likely to succeed.

\n

For more information, see Batch Operations and Error Handling in the Amazon DynamoDB\n Developer Guide.

\n
\n\n

With BatchWriteItem, you can efficiently write or delete large amounts of\n data, such as from Amazon EMR, or copy data from another database into DynamoDB. In\n order to improve performance with these large-scale operations,\n BatchWriteItem does not behave in the same way as individual\n PutItem and DeleteItem calls would. For example, you\n cannot specify conditions on individual put and delete requests, and\n BatchWriteItem does not return deleted items in the response.

\n

If you use a programming language that supports concurrency, you can use threads to\n write items in parallel. Your application must include the necessary logic to manage the\n threads. With languages that don't support threading, you must update or delete the\n specified items one at a time. In both situations, BatchWriteItem performs\n the specified put and delete operations in parallel, giving you the power of the thread\n pool approach without having to introduce complexity into your application.

\n

Parallel processing reduces latency, but each specified put and delete request\n consumes the same number of write capacity units whether it is processed in parallel or\n not. Delete operations on nonexistent items consume one write capacity unit.

\n

If one or more of the following is true, DynamoDB rejects the entire batch write\n operation:

\n " } }, "com.amazonaws.dynamodb#BatchWriteItemInput": { @@ -3325,7 +3325,7 @@ } ], "traits": { - "smithy.api#documentation": "

This operation allows you to perform reads and singleton writes on data stored in\n DynamoDB, using PartiQL.

" + "smithy.api#documentation": "

This operation allows you to perform reads and singleton writes on data stored in\n DynamoDB, using PartiQL.

\n

For PartiQL reads (SELECT statement), if the total number of processed\n items exceeds the maximum dataset size limit of 1 MB, the read stops and results are\n returned to the user as a LastEvaluatedKey value to continue the read in a\n subsequent operation. If the filter criteria in WHERE clause does not match\n any data, the read will return an empty result set.

\n

A single SELECT statement response can return up to the maximum number of\n items (if using the Limit parameter) or a maximum of 1 MB of data (and then apply any\n filtering to the results using WHERE clause). If\n LastEvaluatedKey is present in the response, you need to paginate the\n result set.

" } }, "com.amazonaws.dynamodb#ExecuteStatementInput": { @@ -3358,6 +3358,12 @@ }, "ReturnConsumedCapacity": { "target": "com.amazonaws.dynamodb#ReturnConsumedCapacity" + }, + "Limit": { + "target": "com.amazonaws.dynamodb#PositiveIntegerObject", + "traits": { + "smithy.api#documentation": "

The maximum number of items to evaluate (not necessarily the number of matching\n items). If DynamoDB processes the number of items up to the limit while processing the\n results, it stops the operation and returns the matching values up to that point, along\n with a key in LastEvaluatedKey to apply in a subsequent operation so you\n can pick up where you left off. Also, if the processed dataset size exceeds 1 MB before\n DynamoDB reaches this limit, it stops the operation and returns the matching values up\n to the limit, and a key in LastEvaluatedKey to apply in a subsequent\n operation to continue the operation.

" + } } } }, @@ -3378,6 +3384,12 @@ }, "ConsumedCapacity": { "target": "com.amazonaws.dynamodb#ConsumedCapacity" + }, + "LastEvaluatedKey": { + "target": "com.amazonaws.dynamodb#Key", + "traits": { + "smithy.api#documentation": "

The primary key of the item where the operation stopped, inclusive of the previous\n result set. Use this value to start a new operation, excluding this value in the new\n request. If LastEvaluatedKey is empty, then the \"last page\" of results has\n been processed and there is no more data to be retrieved. If\n LastEvaluatedKey is not empty, it does not necessarily mean that there\n is more data in the result set. The only way to know when you have reached the end of\n the result set is when LastEvaluatedKey is empty.

" + } } } }, @@ -5535,7 +5547,7 @@ "PointInTimeRecoveryStatus": { "target": "com.amazonaws.dynamodb#PointInTimeRecoveryStatus", "traits": { - "smithy.api#documentation": "

The current state of point in time recovery:

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

The current state of point in time recovery:

\n " } }, "EarliestRestorableDateTime": { @@ -8640,7 +8652,7 @@ } ], "traits": { - "smithy.api#documentation": "

Updates the status for contributor insights for a specific table or index. CloudWatch\n Contributor Insights for DynamoDB graphs display the partition key and (if applicable)\n sort key of frequently accessed items and frequently throttled items in plaintext. If\n you require the use of AWS Key Management Service (KMS) to encrypt this table’s\n partition key and sort key data with an AWS managed key or customer managed key, you\n should not enable CloudWatch Contributor Insights for DynamoDB for this table.

" + "smithy.api#documentation": "

Updates the status for contributor insights for a specific table or index. CloudWatch\n Contributor Insights for DynamoDB graphs display the partition key and (if applicable)\n sort key of frequently accessed items and frequently throttled items in plaintext. If\n you require the use of Amazon Web Services Key Management Service (KMS) to encrypt this table’s\n partition key and sort key data with an Amazon Web Services managed key or customer managed key, you\n should not enable CloudWatch Contributor Insights for DynamoDB for this table.

" } }, "com.amazonaws.dynamodb#UpdateContributorInsightsInput": { diff --git a/codegen/sdk-codegen/aws-models/ec2.2016-11-15.json b/codegen/sdk-codegen/aws-models/ec2.2016-11-15.json index 1ce9a49fc6a..7bcdea00a40 100644 --- a/codegen/sdk-codegen/aws-models/ec2.2016-11-15.json +++ b/codegen/sdk-codegen/aws-models/ec2.2016-11-15.json @@ -2808,6 +2808,9 @@ { "target": "com.amazonaws.ec2#ImportVolume" }, + { + "target": "com.amazonaws.ec2#ListImagesInRecycleBin" + }, { "target": "com.amazonaws.ec2#ListSnapshotsInRecycleBin" }, @@ -3090,6 +3093,9 @@ { "target": "com.amazonaws.ec2#RestoreAddressToClassic" }, + { + "target": "com.amazonaws.ec2#RestoreImageFromRecycleBin" + }, { "target": "com.amazonaws.ec2#RestoreManagedPrefixListVersion" }, @@ -5624,7 +5630,7 @@ "target": "com.amazonaws.ec2#AvailabilityZoneState", "traits": { "aws.protocols#ec2QueryName": "ZoneState", - "smithy.api#documentation": "

The state of the Availability Zone, Local Zone, or Wavelength Zone.

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

The state of the Availability Zone, Local Zone, or Wavelength Zone. This value is always\n available.

", "smithy.api#xmlName": "zoneState" } }, @@ -8199,11 +8205,20 @@ "type": "structure", "members": { "Enabled": { - "target": "com.amazonaws.ec2#Boolean" + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "smithy.api#documentation": "

Enable or disable a customizable text banner that will be displayed on\n\t\t\tAmazon Web Services provided clients when a VPN session is established.

\n\t\t

Valid values: true | false\n

\n\t\t

Default value: false\n

" + } }, "BannerText": { - "target": "com.amazonaws.ec2#String" + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

Customizable text that will be displayed in a banner on Amazon Web Services provided\n\t\t\tclients when a VPN session is established. UTF-8 encoded characters only. Maximum of\n\t\t\t1400 characters.

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

Options for enabling a customizable text banner that will be displayed on\n\t\t\tAmazon Web Services provided clients when a VPN session is established.

" } }, "com.amazonaws.ec2#ClientLoginBannerResponseOptions": { @@ -8213,6 +8228,7 @@ "target": "com.amazonaws.ec2#Boolean", "traits": { "aws.protocols#ec2QueryName": "Enabled", + "smithy.api#documentation": "

Current state of text banner feature.

\n\t\t

Valid values: true | false\n

", "smithy.api#xmlName": "enabled" } }, @@ -8220,9 +8236,13 @@ "target": "com.amazonaws.ec2#String", "traits": { "aws.protocols#ec2QueryName": "BannerText", + "smithy.api#documentation": "

Customizable text that will be displayed in a banner on Amazon Web Services provided\n\t\t\tclients when a VPN session is established. UTF-8 encoded\n\t\t\tcharacters only. Maximum of 1400 characters.

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

Current state of options for customizable text banner that will be displayed on\n\t\t\tAmazon Web Services provided clients when a VPN session is established.

" } }, "com.amazonaws.ec2#ClientVpnAssociationId": { @@ -8735,6 +8755,7 @@ "target": "com.amazonaws.ec2#Integer", "traits": { "aws.protocols#ec2QueryName": "SessionTimeoutHours", + "smithy.api#documentation": "

The maximum VPN session duration time in hours.

\n\t\t

Valid values: 8 | 10 | 12 | 24\n

\n\t\t

Default value: 24\n

", "smithy.api#xmlName": "sessionTimeoutHours" } }, @@ -8742,6 +8763,7 @@ "target": "com.amazonaws.ec2#ClientLoginBannerResponseOptions", "traits": { "aws.protocols#ec2QueryName": "ClientLoginBannerOptions", + "smithy.api#documentation": "

Options for enabling a customizable text banner that will be displayed on Amazon Web Services provided clients when a VPN session is\n\t\t\testablished.

", "smithy.api#xmlName": "clientLoginBannerOptions" } } @@ -10306,10 +10328,16 @@ } }, "SessionTimeoutHours": { - "target": "com.amazonaws.ec2#Integer" + "target": "com.amazonaws.ec2#Integer", + "traits": { + "smithy.api#documentation": "

The maximum VPN session duration time in hours.

\n\t\t

Valid values: 8 | 10 | 12 | 24\n

\n\t\t

Default value: 24\n

" + } }, "ClientLoginBannerOptions": { - "target": "com.amazonaws.ec2#ClientLoginBannerOptions" + "target": "com.amazonaws.ec2#ClientLoginBannerOptions", + "traits": { + "smithy.api#documentation": "

Options for enabling a customizable text banner that will be displayed on\n\t\t\tAmazon Web Services provided clients when a VPN session is established.

" + } } } }, @@ -10708,7 +10736,7 @@ "target": "com.amazonaws.ec2#CreateFleetResult" }, "traits": { - "smithy.api#documentation": "

Launches an EC2 Fleet.

\n

You can create a single EC2 Fleet that includes multiple launch specifications that vary by\n instance type, AMI, Availability Zone, or subnet.

\n

For more information, see Launching an EC2 Fleet in the Amazon EC2 User Guide.

" + "smithy.api#documentation": "

Launches an EC2 Fleet.

\n

You can create a single EC2 Fleet that includes multiple launch specifications that vary by\n instance type, AMI, Availability Zone, or subnet.

\n

For more information, see EC2 Fleet in the Amazon EC2 User Guide.

" } }, "com.amazonaws.ec2#CreateFleetError": { @@ -10734,7 +10762,7 @@ "target": "com.amazonaws.ec2#String", "traits": { "aws.protocols#ec2QueryName": "ErrorCode", - "smithy.api#documentation": "

The error code that indicates why the instance could not be launched. For more\n information about error codes, see Error Codes.

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

The error code that indicates why the instance could not be launched. For more\n information about error codes, see Error codes.

", "smithy.api#xmlName": "errorCode" } }, @@ -10742,7 +10770,7 @@ "target": "com.amazonaws.ec2#String", "traits": { "aws.protocols#ec2QueryName": "ErrorMessage", - "smithy.api#documentation": "

The error message that describes why the instance could not be launched. For more\n information about error messages, see Error Codes.

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

The error message that describes why the instance could not be launched. For more\n information about error messages, see Error codes.

", "smithy.api#xmlName": "errorMessage" } } @@ -10829,7 +10857,7 @@ "ClientToken": { "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

Unique, case-sensitive identifier that you provide to ensure the idempotency of the\n request. For more information, see Ensuring\n Idempotency.

" + "smithy.api#documentation": "

Unique, case-sensitive identifier that you provide to ensure the idempotency of the\n request. For more information, see Ensuring\n idempotency.

" } }, "SpotOptions": { @@ -11158,7 +11186,7 @@ "target": "com.amazonaws.ec2#CreateImageResult" }, "traits": { - "smithy.api#documentation": "

Creates an Amazon EBS-backed AMI from an Amazon EBS-backed instance \n \tthat is either running or stopped.

\n \n \n \n \t\n \t

If you customized your instance with instance store volumes or Amazon EBS volumes in addition to the root device volume, the \n \tnew AMI contains block device mapping information for those volumes. When you launch an instance from this new AMI, \n \tthe instance automatically launches with those additional volumes.

\n \t

For more information, see Creating Amazon EBS-Backed Linux AMIs \n\t\t\t\tin the Amazon Elastic Compute Cloud User Guide.

" + "smithy.api#documentation": "

Creates an Amazon EBS-backed AMI from an Amazon EBS-backed instance \n \tthat is either running or stopped.

\n \n

By default, Amazon EC2 shuts down and reboots the instance before creating the AMI to ensure that everything on \n the instance is stopped and in a consistent state during the creation process. If you're confident that your \n instance is in a consistent state appropriate for AMI creation, use the NoReboot \n parameter to prevent Amazon EC2 from shutting down and rebooting the instance.

\n
\n \n \n \n \t\n \t

If you customized your instance with instance store volumes or Amazon EBS volumes in addition to the root device volume, the \n \tnew AMI contains block device mapping information for those volumes. When you launch an instance from this new AMI, \n \tthe instance automatically launches with those additional volumes.

\n \t

For more information, see Creating Amazon EBS-Backed Linux AMIs \n\t\t\t\tin the Amazon Elastic Compute Cloud User Guide.

" } }, "com.amazonaws.ec2#CreateImageRequest": { @@ -12627,7 +12655,7 @@ "InterfaceType": { "target": "com.amazonaws.ec2#NetworkInterfaceCreationType", "traits": { - "smithy.api#documentation": "

Indicates the type of network interface. To create an Elastic Fabric Adapter (EFA), specify \n\t\t\tefa. For more information, see \n\t\t\t Elastic Fabric Adapter in the Amazon Elastic Compute Cloud User Guide. To create a trunk network interface, specify \n\t\t trunk.

" + "smithy.api#documentation": "

The type of network interface. The default is interface.

\n\t

The only supported values are efa and trunk.

" } }, "SubnetId": { @@ -16109,7 +16137,7 @@ "target": "com.amazonaws.ec2#DeleteFleetsResult" }, "traits": { - "smithy.api#documentation": "

Deletes the specified EC2 Fleet.

\n

After you delete an EC2 Fleet, it launches no new instances.

\n

You must specify whether a deleted EC2 Fleet should also terminate its instances. If you\n choose to terminate the instances, the EC2 Fleet enters the deleted_terminating\n state. Otherwise, the EC2 Fleet enters the deleted_running state, and the instances\n continue to run until they are interrupted or you terminate them manually.

\n

For instant fleets, EC2 Fleet must terminate the instances when the fleet is\n deleted. A deleted instant fleet with running instances is not\n supported.

\n

\n Restrictions\n

\n \n \n

For more information, see Deleting an EC2\n Fleet in the Amazon EC2 User Guide.

" + "smithy.api#documentation": "

Deletes the specified EC2 Fleet.

\n

After you delete an EC2 Fleet, it launches no new instances.

\n

You must specify whether a deleted EC2 Fleet should also terminate its instances. If you\n choose to terminate the instances, the EC2 Fleet enters the deleted_terminating\n state. Otherwise, the EC2 Fleet enters the deleted_running state, and the instances\n continue to run until they are interrupted or you terminate them manually.

\n

For instant fleets, EC2 Fleet must terminate the instances when the fleet is\n deleted. A deleted instant fleet with running instances is not\n supported.

\n

\n Restrictions\n

\n \n \n

For more information, see Delete an EC2\n Fleet in the Amazon EC2 User Guide.

" } }, "com.amazonaws.ec2#DeleteFleetsRequest": { @@ -18756,7 +18784,7 @@ "target": "com.amazonaws.ec2#DeregisterImageRequest" }, "traits": { - "smithy.api#documentation": "

Deregisters the specified AMI. After you deregister an AMI, it can't be used to launch\n\t\t\tnew instances; however, it doesn't affect any instances that you've already launched\n\t\t\tfrom the AMI. You'll continue to incur usage costs for those instances until you\n\t\t\tterminate them.

\n \t

When you deregister an Amazon EBS-backed AMI, it doesn't affect the snapshot that was\n\t\t\tcreated for the root volume of the instance during the AMI creation process. When you\n\t\t\tderegister an instance store-backed AMI, it doesn't affect the files that you uploaded\n\t\t\tto Amazon S3 when you created the AMI.

" + "smithy.api#documentation": "

Deregisters the specified AMI. After you deregister an AMI, it can't be used to \n launch new instances.

\n \n \n

If you deregister an AMI that matches a Recycle Bin retention rule, the AMI is \n retained in the Recycle Bin for the specified retention period. For more information, \n see Recycle\n Bin in the Amazon Elastic Compute Cloud User Guide.

\n \n

When you deregister an AMI, it doesn't affect any instances that you've already \n launched from the AMI. You'll continue to incur usage costs for those instances until \n you terminate them.

\n \t

When you deregister an Amazon EBS-backed AMI, it doesn't affect the snapshot that was\n\t\t\tcreated for the root volume of the instance during the AMI creation process. When you\n\t\t\tderegister an instance store-backed AMI, it doesn't affect the files that you uploaded\n\t\t\tto Amazon S3 when you created the AMI.

" } }, "com.amazonaws.ec2#DeregisterImageRequest": { @@ -18791,7 +18819,7 @@ "target": "com.amazonaws.ec2#DeregisterInstanceEventNotificationAttributesResult" }, "traits": { - "smithy.api#documentation": "

c

\n \t

Deregisters tag keys to prevent tags that have the specified tag keys from being included\n\t\t\tin scheduled event notifications for resources in the Region.

" + "smithy.api#documentation": "

Deregisters tag keys to prevent tags that have the specified tag keys from being included\n\t\t\tin scheduled event notifications for resources in the Region.

" } }, "com.amazonaws.ec2#DeregisterInstanceEventNotificationAttributesRequest": { @@ -19195,7 +19223,7 @@ "Filters": { "target": "com.amazonaws.ec2#FilterList", "traits": { - "smithy.api#documentation": "

The filters.

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

The filters.

\n ", "smithy.api#xmlName": "Filter" } }, @@ -19530,7 +19558,7 @@ "Filters": { "target": "com.amazonaws.ec2#FilterList", "traits": { - "smithy.api#documentation": "

One or more filters.

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

One or more filters.

\n\t \t ", "smithy.api#xmlName": "Filter" } }, @@ -20192,7 +20220,7 @@ "Filters": { "target": "com.amazonaws.ec2#FilterList", "traits": { - "smithy.api#documentation": "

The filters. The following are the possible values:

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

One or more filters.

\n ", "smithy.api#xmlName": "Filter" } }, @@ -21257,7 +21285,7 @@ "target": "com.amazonaws.ec2#String", "traits": { "aws.protocols#ec2QueryName": "ErrorCode", - "smithy.api#documentation": "

The error code that indicates why the instance could not be launched. For more\n information about error codes, see Error Codes.

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

The error code that indicates why the instance could not be launched. For more\n information about error codes, see Error codes.

", "smithy.api#xmlName": "errorCode" } }, @@ -21265,7 +21293,7 @@ "target": "com.amazonaws.ec2#String", "traits": { "aws.protocols#ec2QueryName": "ErrorMessage", - "smithy.api#documentation": "

The error message that describes why the instance could not be launched. For more\n information about error messages, see Error Codes.

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

The error message that describes why the instance could not be launched. For more\n information about error messages, see Error codes.

", "smithy.api#xmlName": "errorMessage" } } @@ -21383,7 +21411,7 @@ "target": "com.amazonaws.ec2#DescribeFleetInstancesResult" }, "traits": { - "smithy.api#documentation": "

Describes the running instances for the specified EC2 Fleet.

\n

For more information, see Monitoring your EC2 Fleet in the Amazon EC2 User Guide.

" + "smithy.api#documentation": "

Describes the running instances for the specified EC2 Fleet.

\n

For more information, see Monitor your EC2 Fleet in the Amazon EC2 User Guide.

" } }, "com.amazonaws.ec2#DescribeFleetInstancesRequest": { @@ -21461,7 +21489,7 @@ "target": "com.amazonaws.ec2#DescribeFleetsResult" }, "traits": { - "smithy.api#documentation": "

Describes the specified EC2 Fleets or all of your EC2 Fleets.

\n

For more information, see Monitoring your EC2 Fleet in the Amazon EC2 User Guide.

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

Describes the specified EC2 Fleets or all of your EC2 Fleets.

\n

For more information, see Monitor your EC2 Fleet in the Amazon EC2 User Guide.

", "smithy.api#paginated": { "inputToken": "NextToken", "outputToken": "NextToken", @@ -21560,7 +21588,7 @@ "FleetIds": { "target": "com.amazonaws.ec2#FleetIdSet", "traits": { - "smithy.api#documentation": "

The ID of the EC2 Fleets.

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

The IDs of the EC2 Fleets.

\n \n

If a fleet is of type instant, you must specify the fleet ID, otherwise\n it does not appear in the response.

\n
", "smithy.api#xmlName": "FleetId" } }, @@ -23005,7 +23033,7 @@ "Filters": { "target": "com.amazonaws.ec2#FilterList", "traits": { - "smithy.api#documentation": "

One or more filters. Filter names and values are case-sensitive.

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

One or more filters. Filter names and values are case-sensitive.

\n ", "smithy.api#xmlName": "Filter" } }, @@ -23999,7 +24027,7 @@ "Filters": { "target": "com.amazonaws.ec2#FilterList", "traits": { - "smithy.api#documentation": "

One or more filters.

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

One or more filters.

\n ", "smithy.api#xmlName": "Filter" } }, @@ -24075,7 +24103,7 @@ "Filters": { "target": "com.amazonaws.ec2#FilterList", "traits": { - "smithy.api#documentation": "

One or more filters.

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

One or more filters.

\n ", "smithy.api#xmlName": "Filter" } }, @@ -24151,7 +24179,7 @@ "Filters": { "target": "com.amazonaws.ec2#FilterList", "traits": { - "smithy.api#documentation": "

One or more filters.

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

One or more filters.

\n ", "smithy.api#xmlName": "Filter" } }, @@ -24227,7 +24255,7 @@ "Filters": { "target": "com.amazonaws.ec2#FilterList", "traits": { - "smithy.api#documentation": "

One or more filters.

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

One or more filters.

\n ", "smithy.api#xmlName": "Filter" } }, @@ -24303,7 +24331,7 @@ "Filters": { "target": "com.amazonaws.ec2#FilterList", "traits": { - "smithy.api#documentation": "

One or more filters.

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

One or more filters.

\n ", "smithy.api#xmlName": "Filter" } }, @@ -24372,14 +24400,14 @@ "LocalGatewayIds": { "target": "com.amazonaws.ec2#LocalGatewayIdSet", "traits": { - "smithy.api#documentation": "

One or more filters.

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

The IDs of the local gateways.

", "smithy.api#xmlName": "LocalGatewayId" } }, "Filters": { "target": "com.amazonaws.ec2#FilterList", "traits": { - "smithy.api#documentation": "

One or more filters.

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

One or more filters.

\n ", "smithy.api#xmlName": "Filter" } }, @@ -25398,7 +25426,7 @@ "target": "com.amazonaws.ec2#FilterList", "traits": { "aws.protocols#ec2QueryName": "Filter", - "smithy.api#documentation": "

One or more filters.

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

One or more filters.

\n\t\t ", "smithy.api#xmlName": "filter" } }, @@ -30899,7 +30927,7 @@ "target": "com.amazonaws.ec2#DisableFastLaunchResult" }, "traits": { - "smithy.api#documentation": "

Discontinue faster launching for a Windows AMI, and clean up existing pre-provisioned snapshots. \n\t\t\tWhen you disable faster launching, the AMI uses the standard launch process for each \n\t\t\tinstance. All pre-provisioned snapshots must be removed before you can enable faster launching again.

" + "smithy.api#documentation": "

Discontinue faster launching for a Windows AMI, and clean up existing pre-provisioned snapshots. \n\t\t\tWhen you disable faster launching, the AMI uses the standard launch process for each \n\t\t\tinstance. All pre-provisioned snapshots must be removed before you can enable faster launching again.

\n\t\t \n\t\t\t

To change these settings, you must own the AMI.

\n\t\t
" } }, "com.amazonaws.ec2#DisableFastLaunchRequest": { @@ -32476,7 +32504,7 @@ "target": "com.amazonaws.ec2#Boolean", "traits": { "aws.protocols#ec2QueryName": "Encrypted", - "smithy.api#documentation": "

Indicates whether the encryption state of an EBS volume is changed while being\n restored from a backing snapshot. \n The effect of setting the encryption state to true depends on \nthe volume origin (new or from a snapshot), starting encryption state, ownership, and whether encryption by default is enabled. \n For more information, see Amazon EBS encryption \n in the Amazon EC2 User Guide.

\n

In no case can you remove encryption from an encrypted volume.

\n

Encrypted volumes can only be attached to instances that support Amazon EBS\n encryption. For more information, see Supported instance types.

\n

This parameter is not returned by .

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

Indicates whether the encryption state of an EBS volume is changed while being\n restored from a backing snapshot. \n The effect of setting the encryption state to true depends on \nthe volume origin (new or from a snapshot), starting encryption state, ownership, and whether encryption by default is enabled. \n For more information, see Amazon EBS encryption \n in the Amazon EC2 User Guide.

\n

In no case can you remove encryption from an encrypted volume.

\n

Encrypted volumes can only be attached to instances that support Amazon EBS\n encryption. For more information, see Supported instance types.

\n

This parameter is not returned by DescribeImageAttribute.

", "smithy.api#xmlName": "encrypted" } } @@ -33161,7 +33189,7 @@ "target": "com.amazonaws.ec2#EnableFastLaunchResult" }, "traits": { - "smithy.api#documentation": "

When you enable faster launching for a Windows AMI, images are pre-provisioned, \n\t\t\tusing snapshots to launch instances up to 65% faster. To create the optimized Windows \n\t\t\timage, Amazon EC2 launches an instance and runs through Sysprep steps, rebooting as required. \n\t\t\tThen it creates a set of reserved snapshots that are used for subsequent launches. The \n\t\t\treserved snapshots are automatically replenished as they are used, depending on your \n\t\t\tsettings for launch frequency.

" + "smithy.api#documentation": "

When you enable faster launching for a Windows AMI, images are pre-provisioned, \n\t\t\tusing snapshots to launch instances up to 65% faster. To create the optimized Windows \n\t\t\timage, Amazon EC2 launches an instance and runs through Sysprep steps, rebooting as required. \n\t\t\tThen it creates a set of reserved snapshots that are used for subsequent launches. The \n\t\t\treserved snapshots are automatically replenished as they are used, depending on your \n\t\t\tsettings for launch frequency.

\n\t\t \n\t\t\t

To change these settings, you must own the AMI.

\n\t\t
" } }, "com.amazonaws.ec2#EnableFastLaunchRequest": { @@ -33195,7 +33223,7 @@ "MaxParallelLaunches": { "target": "com.amazonaws.ec2#Integer", "traits": { - "smithy.api#documentation": "

The maximum number of parallel instances to launch for creating resources.

" + "smithy.api#documentation": "

The maximum number of parallel instances to launch for creating resources. Value must be 6 or greater.

" } }, "DryRun": { @@ -35634,7 +35662,7 @@ "target": "com.amazonaws.ec2#String", "traits": { "aws.protocols#ec2QueryName": "ClientToken", - "smithy.api#documentation": "

Unique, case-sensitive identifier that you provide to ensure the idempotency of the\n request. For more information, see Ensuring\n Idempotency.

\n

Constraints: Maximum 64 ASCII characters

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

Unique, case-sensitive identifier that you provide to ensure the idempotency of the\n request. For more information, see Ensuring\n idempotency.

\n

Constraints: Maximum 64 ASCII characters

", "smithy.api#xmlName": "clientToken" } }, @@ -37116,7 +37144,7 @@ "Filters": { "target": "com.amazonaws.ec2#FilterList", "traits": { - "smithy.api#documentation": "

The filters. The following are the possible values:

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

One or more filters.

\n ", "smithy.api#xmlName": "Filter" } }, @@ -40825,6 +40853,63 @@ } } }, + "com.amazonaws.ec2#ImageRecycleBinInfo": { + "type": "structure", + "members": { + "ImageId": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "ImageId", + "smithy.api#documentation": "

The ID of the AMI.

", + "smithy.api#xmlName": "imageId" + } + }, + "Name": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "Name", + "smithy.api#documentation": "

The name of the AMI.

", + "smithy.api#xmlName": "name" + } + }, + "Description": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "Description", + "smithy.api#documentation": "

The description of the AMI.

", + "smithy.api#xmlName": "description" + } + }, + "RecycleBinEnterTime": { + "target": "com.amazonaws.ec2#MillisecondDateTime", + "traits": { + "aws.protocols#ec2QueryName": "RecycleBinEnterTime", + "smithy.api#documentation": "

The date and time when the AMI entered the Recycle Bin.

", + "smithy.api#xmlName": "recycleBinEnterTime" + } + }, + "RecycleBinExitTime": { + "target": "com.amazonaws.ec2#MillisecondDateTime", + "traits": { + "aws.protocols#ec2QueryName": "RecycleBinExitTime", + "smithy.api#documentation": "

The date and time when the AMI is to be permanently deleted from the Recycle Bin.

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

Information about an AMI that is currently in the Recycle Bin.

" + } + }, + "com.amazonaws.ec2#ImageRecycleBinInfoList": { + "type": "list", + "member": { + "target": "com.amazonaws.ec2#ImageRecycleBinInfo", + "traits": { + "smithy.api#xmlName": "item" + } + } + }, "com.amazonaws.ec2#ImageState": { "type": "string", "traits": { @@ -43922,7 +44007,7 @@ "target": "com.amazonaws.ec2#String", "traits": { "aws.protocols#ec2QueryName": "InterfaceType", - "smithy.api#documentation": "

Describes the type of network interface.

\n\t

Valid values: interface | efa | trunk\n

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

The type of network interface.

\n\t

Valid values: interface | efa | trunk\n

", "smithy.api#xmlName": "interfaceType" } }, @@ -44167,7 +44252,7 @@ "InterfaceType": { "target": "com.amazonaws.ec2#String", "traits": { - "smithy.api#documentation": "

The type of network interface.

\n\t

To create an Elastic Fabric Adapter (EFA), specify \n\t\t\tefa. For more information, see Elastic Fabric Adapter in the \n\t\t\tAmazon Elastic Compute Cloud User Guide.

\n\t\n\t

Valid values: interface | efa\n

" + "smithy.api#documentation": "

The type of network interface.

\n\t

Valid values: interface | efa\n

" } }, "NetworkCardIndex": { @@ -46881,6 +46966,30 @@ "value": "x1e.32xlarge", "name": "x1e_32xlarge" }, + { + "value": "x2iezn.2xlarge", + "name": "x2iezn_2xlarge" + }, + { + "value": "x2iezn.4xlarge", + "name": "x2iezn_4xlarge" + }, + { + "value": "x2iezn.6xlarge", + "name": "x2iezn_6xlarge" + }, + { + "value": "x2iezn.8xlarge", + "name": "x2iezn_8xlarge" + }, + { + "value": "x2iezn.12xlarge", + "name": "x2iezn_12xlarge" + }, + { + "value": "x2iezn.metal", + "name": "x2iezn_metal" + }, { "value": "x2gd.medium", "name": "x2gd_medium" @@ -50323,7 +50432,7 @@ "target": "com.amazonaws.ec2#LaunchTemplateInstanceMetadataTagsState", "traits": { "aws.protocols#ec2QueryName": "InstanceMetadataTags", - "smithy.api#documentation": "

\n \n

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

Set to enabled to allow access to instance tags from the instance\n metadata. Set to disabled to turn off access to instance tags from the instance\n metadata. For more information, see Work with\n instance tags using the instance metadata.

\n

Default: disabled\n

", "smithy.api#xmlName": "instanceMetadataTags" } } @@ -51204,7 +51313,7 @@ "ResourceType": { "target": "com.amazonaws.ec2#ResourceType", "traits": { - "smithy.api#documentation": "

The type of resource to tag. Currently, the resource types that support tagging on\n creation are instance and volume. To tag a resource after it\n \thas been created, see CreateTags.

" + "smithy.api#documentation": "

The type of resource to tag. Currently, the resource types that support tagging on\n creation are instance, volume, elastic-gpu,\n network-interface, and spot-instances-request. To tag a\n resource after it has been created, see CreateTags.

" } }, "Tags": { @@ -51387,6 +51496,85 @@ } } }, + "com.amazonaws.ec2#ListImagesInRecycleBin": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#ListImagesInRecycleBinRequest" + }, + "output": { + "target": "com.amazonaws.ec2#ListImagesInRecycleBinResult" + }, + "traits": { + "smithy.api#documentation": "

Lists one or more AMIs that are currently in the Recycle Bin. For more information, \n see Recycle\n Bin in the Amazon Elastic Compute Cloud User Guide.

", + "smithy.api#paginated": { + "inputToken": "NextToken", + "outputToken": "NextToken", + "items": "Images", + "pageSize": "MaxResults" + } + } + }, + "com.amazonaws.ec2#ListImagesInRecycleBinMaxResults": { + "type": "integer", + "traits": { + "smithy.api#box": {}, + "smithy.api#range": { + "min": 1, + "max": 1000 + } + } + }, + "com.amazonaws.ec2#ListImagesInRecycleBinRequest": { + "type": "structure", + "members": { + "ImageIds": { + "target": "com.amazonaws.ec2#ImageIdStringList", + "traits": { + "smithy.api#documentation": "

The IDs of the AMIs to list. Omit this parameter to list all of the AMIs that \n are in the Recycle Bin. You can specify up to 20 IDs in a single request.

", + "smithy.api#xmlName": "ImageId" + } + }, + "NextToken": { + "target": "com.amazonaws.ec2#String", + "traits": { + "smithy.api#documentation": "

The token for the next page of results.

" + } + }, + "MaxResults": { + "target": "com.amazonaws.ec2#ListImagesInRecycleBinMaxResults", + "traits": { + "smithy.api#documentation": "

The maximum number of results to return with a single call.\n\tTo retrieve the remaining results, make another call with the returned nextToken value.

\n

If you do not specify a value for MaxResults, the request \n returns 1,000 items per page by default. For more information, see \n \n Pagination.

" + } + }, + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n\t\t\tand provides an error response. If you have the required permissions, the error response is \n\t\t\tDryRunOperation. Otherwise, it is UnauthorizedOperation.

" + } + } + } + }, + "com.amazonaws.ec2#ListImagesInRecycleBinResult": { + "type": "structure", + "members": { + "Images": { + "target": "com.amazonaws.ec2#ImageRecycleBinInfoList", + "traits": { + "aws.protocols#ec2QueryName": "ImageSet", + "smithy.api#documentation": "

Information about the AMIs.

", + "smithy.api#xmlName": "imageSet" + } + }, + "NextToken": { + "target": "com.amazonaws.ec2#String", + "traits": { + "aws.protocols#ec2QueryName": "NextToken", + "smithy.api#documentation": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

", + "smithy.api#xmlName": "nextToken" + } + } + } + }, "com.amazonaws.ec2#ListSnapshotsInRecycleBin": { "type": "operation", "input": { @@ -52964,10 +53152,16 @@ } }, "SessionTimeoutHours": { - "target": "com.amazonaws.ec2#Integer" + "target": "com.amazonaws.ec2#Integer", + "traits": { + "smithy.api#documentation": "

The maximum VPN session duration time in hours.

\n\t\t

Valid values: 8 | 10 | 12 | 24\n

\n\t\t

Default value: 24\n

" + } }, "ClientLoginBannerOptions": { - "target": "com.amazonaws.ec2#ClientLoginBannerOptions" + "target": "com.amazonaws.ec2#ClientLoginBannerOptions", + "traits": { + "smithy.api#documentation": "

Options for enabling a customizable text banner that will be displayed on\n\t\t\tAmazon Web Services provided clients when a VPN session is established.

" + } } } }, @@ -56426,7 +56620,7 @@ "target": "com.amazonaws.ec2#MonitorInstancesResult" }, "traits": { - "smithy.api#documentation": "

Enables detailed monitoring for a running instance. Otherwise, basic monitoring is\n enabled. For more information, see Monitor your instances using \n CloudWatch in the Amazon EC2 User Guide.

\n

To disable detailed monitoring, see .

" + "smithy.api#documentation": "

Enables detailed monitoring for a running instance. Otherwise, basic monitoring is\n enabled. For more information, see Monitor your instances using \n CloudWatch in the Amazon EC2 User Guide.

\n

To disable detailed monitoring, see UnmonitorInstances.

" } }, "com.amazonaws.ec2#MonitorInstancesRequest": { @@ -58451,6 +58645,58 @@ { "value": "trunk", "name": "trunk" + }, + { + "value": "load_balancer", + "name": "load_balancer" + }, + { + "value": "network_load_balancer", + "name": "network_load_balancer" + }, + { + "value": "vpc_endpoint", + "name": "vpc_endpoint" + }, + { + "value": "branch", + "name": "branch" + }, + { + "value": "transit_gateway", + "name": "transit_gateway" + }, + { + "value": "lambda", + "name": "lambda" + }, + { + "value": "quicksight", + "name": "quicksight" + }, + { + "value": "global_accelerator_managed", + "name": "global_accelerator_managed" + }, + { + "value": "api_gateway_managed", + "name": "api_gateway_managed" + }, + { + "value": "gateway_load_balancer", + "name": "gateway_load_balancer" + }, + { + "value": "gateway_load_balancer_endpoint", + "name": "gateway_load_balancer_endpoint" + }, + { + "value": "iot_rules_managed", + "name": "iot_rules_managed" + }, + { + "value": "aws_codestar_connections_managed", + "name": "aws_codestar_connections_managed" } ] } @@ -61770,7 +62016,7 @@ "target": "com.amazonaws.ec2#RegisterInstanceEventNotificationAttributesResult" }, "traits": { - "smithy.api#documentation": "

Registers a set of tag keys to include in scheduled event notifications for your resources. \n \t\t

\n

To remove tags, use .

" + "smithy.api#documentation": "

Registers a set of tag keys to include in scheduled event notifications for your resources. \n \t\t

\n

To remove tags, use DeregisterInstanceEventNotificationAttributes.

" } }, "com.amazonaws.ec2#RegisterInstanceEventNotificationAttributesRequest": { @@ -65570,6 +65816,49 @@ } } }, + "com.amazonaws.ec2#RestoreImageFromRecycleBin": { + "type": "operation", + "input": { + "target": "com.amazonaws.ec2#RestoreImageFromRecycleBinRequest" + }, + "output": { + "target": "com.amazonaws.ec2#RestoreImageFromRecycleBinResult" + }, + "traits": { + "smithy.api#documentation": "

Restores an AMI from the Recycle Bin. For more information, see Recycle Bin in the Amazon Elastic Compute Cloud User Guide.

" + } + }, + "com.amazonaws.ec2#RestoreImageFromRecycleBinRequest": { + "type": "structure", + "members": { + "ImageId": { + "target": "com.amazonaws.ec2#ImageId", + "traits": { + "smithy.api#documentation": "

The ID of the AMI to restore.

", + "smithy.api#required": {} + } + }, + "DryRun": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "smithy.api#documentation": "

Checks whether you have the required permissions for the action, without actually making the request, \n\t\t\tand provides an error response. If you have the required permissions, the error response is \n\t\t\tDryRunOperation. Otherwise, it is UnauthorizedOperation.

" + } + } + } + }, + "com.amazonaws.ec2#RestoreImageFromRecycleBinResult": { + "type": "structure", + "members": { + "Return": { + "target": "com.amazonaws.ec2#Boolean", + "traits": { + "aws.protocols#ec2QueryName": "Return", + "smithy.api#documentation": "

Returns true if the request succeeds; otherwise, it returns an error.

", + "smithy.api#xmlName": "return" + } + } + } + }, "com.amazonaws.ec2#RestoreManagedPrefixListVersion": { "type": "operation", "input": { @@ -67749,7 +68038,7 @@ "Filters": { "target": "com.amazonaws.ec2#FilterList", "traits": { - "smithy.api#documentation": "

One or more filters.

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

One or more filters.

\n ", "smithy.api#xmlName": "Filter" } }, @@ -71912,7 +72201,7 @@ "target": "com.amazonaws.ec2#String", "traits": { "aws.protocols#ec2QueryName": "Value", - "smithy.api#documentation": "

The value of the tag.

\n

Constraints: Tag values are case-sensitive and accept a maximum of 255 Unicode characters.

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

The value of the tag.

\n

Constraints: Tag values are case-sensitive and accept a maximum of 256 Unicode characters.

", "smithy.api#xmlName": "value" } } diff --git a/codegen/sdk-codegen/aws-models/elasticache.2015-02-02.json b/codegen/sdk-codegen/aws-models/elasticache.2015-02-02.json index 720736231e1..2bd9d3273f0 100644 --- a/codegen/sdk-codegen/aws-models/elasticache.2015-02-02.json +++ b/codegen/sdk-codegen/aws-models/elasticache.2015-02-02.json @@ -1281,7 +1281,7 @@ "CacheParameterGroupFamily": { "target": "com.amazonaws.elasticache#String", "traits": { - "smithy.api#documentation": "

The name of the cache parameter group family that this cache parameter group is compatible with.

\n

Valid values are: \n memcached1.4 | \n memcached1.5 | \n memcached1.6 | \n redis2.6 | \n redis2.8 |\n redis3.2 |\n redis4.0 |\n redis5.0 | \n redis6.0 | \n

" + "smithy.api#documentation": "

The name of the cache parameter group family that this cache parameter group is compatible with.

\n

Valid values are: \n memcached1.4 | \n memcached1.5 | \n memcached1.6 | \n redis2.6 | \n redis2.8 |\n redis3.2 |\n redis4.0 |\n redis5.0 | \n redis6.x | \n

" } }, "Description": { @@ -2141,7 +2141,7 @@ "PreferredMaintenanceWindow": { "target": "com.amazonaws.elasticache#String", "traits": { - "smithy.api#documentation": "

Specifies the weekly time range during which maintenance\n on the cluster is performed. It is specified as a range in\n the format ddd:hh24:mi-ddd:hh24:mi (24H Clock UTC). The minimum\n maintenance window is a 60 minute period.\n Valid values for ddd are:

" + "smithy.api#documentation": "

Specifies the weekly time range during which maintenance\n on the cluster is performed. It is specified as a range in\n the format ddd:hh24:mi-ddd:hh24:mi (24H Clock UTC). The minimum\n maintenance window is a 60 minute period.\n

" } }, "Port": { @@ -2262,7 +2262,7 @@ "CacheParameterGroupFamily": { "target": "com.amazonaws.elasticache#String", "traits": { - "smithy.api#documentation": "

The name of the cache parameter group family that the cache parameter group can be used with.

\n

Valid values are: \n memcached1.4 | \n memcached1.5 | \n memcached1.6 | \n redis2.6 | \n redis2.8 |\n redis3.2 |\n redis4.0 |\n redis5.0 | \n redis6.0 | \n redis6.2\n

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

The name of the cache parameter group family that the cache parameter group can be used with.

\n

Valid values are: \n memcached1.4 | \n memcached1.5 | \n memcached1.6 | \n redis2.6 | \n redis2.8 |\n redis3.2 |\n redis4.0 |\n redis5.0 | \n redis6.x \n

", "smithy.api#required": {} } }, diff --git a/codegen/sdk-codegen/aws-models/elasticsearchservice.2015-01-01.json b/codegen/sdk-codegen/aws-models/elasticsearchservice.2015-01-01.json index b282df3683a..e3044dd28d4 100644 --- a/codegen/sdk-codegen/aws-models/elasticsearchservice.2015-01-01.json +++ b/codegen/sdk-codegen/aws-models/elasticsearchservice.2015-01-01.json @@ -400,6 +400,9 @@ { "target": "com.amazonaws.elasticsearchservice#DescribeDomainAutoTunes" }, + { + "target": "com.amazonaws.elasticsearchservice#DescribeDomainChangeProgress" + }, { "target": "com.amazonaws.elasticsearchservice#DescribeElasticsearchDomain" }, @@ -934,6 +937,135 @@ "smithy.api#documentation": "

The result of a CancelElasticsearchServiceSoftwareUpdate operation. Contains the status of the update.

" } }, + "com.amazonaws.elasticsearchservice#ChangeProgressDetails": { + "type": "structure", + "members": { + "ChangeId": { + "target": "com.amazonaws.elasticsearchservice#GUID", + "traits": { + "smithy.api#documentation": "

The unique change identifier associated with a specific domain configuration change.

" + } + }, + "Message": { + "target": "com.amazonaws.elasticsearchservice#Message", + "traits": { + "smithy.api#documentation": "

Contains an optional message associated with the domain configuration change.

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

Specifies change details of the domain configuration change.

" + } + }, + "com.amazonaws.elasticsearchservice#ChangeProgressStage": { + "type": "structure", + "members": { + "Name": { + "target": "com.amazonaws.elasticsearchservice#ChangeProgressStageName", + "traits": { + "smithy.api#documentation": "

The name of the specific progress stage.

" + } + }, + "Status": { + "target": "com.amazonaws.elasticsearchservice#ChangeProgressStageStatus", + "traits": { + "smithy.api#documentation": "

The overall status of a specific progress stage.

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

The description of the progress stage.

" + } + }, + "LastUpdated": { + "target": "com.amazonaws.elasticsearchservice#LastUpdated", + "traits": { + "smithy.api#documentation": "

The last updated timestamp of the progress stage.

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

A progress stage details of a specific domain configuration change.

" + } + }, + "com.amazonaws.elasticsearchservice#ChangeProgressStageList": { + "type": "list", + "member": { + "target": "com.amazonaws.elasticsearchservice#ChangeProgressStage" + }, + "traits": { + "smithy.api#documentation": "

The list of progress stages of a specific domain configuration change.

" + } + }, + "com.amazonaws.elasticsearchservice#ChangeProgressStageName": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 64 + } + } + }, + "com.amazonaws.elasticsearchservice#ChangeProgressStageStatus": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 256 + } + } + }, + "com.amazonaws.elasticsearchservice#ChangeProgressStatusDetails": { + "type": "structure", + "members": { + "ChangeId": { + "target": "com.amazonaws.elasticsearchservice#GUID", + "traits": { + "smithy.api#documentation": "

The unique change identifier associated with a specific domain configuration change.

" + } + }, + "StartTime": { + "target": "com.amazonaws.elasticsearchservice#UpdateTimestamp", + "traits": { + "smithy.api#documentation": "

The time at which the configuration change is made on the domain.

" + } + }, + "Status": { + "target": "com.amazonaws.elasticsearchservice#OverallChangeStatus", + "traits": { + "smithy.api#documentation": "

The overall status of the domain configuration change. This field can take the following values: PENDING, PROCESSING, COMPLETED and FAILED

" + } + }, + "PendingProperties": { + "target": "com.amazonaws.elasticsearchservice#StringList", + "traits": { + "smithy.api#documentation": "

The list of properties involved in the domain configuration change that are still in pending.

" + } + }, + "CompletedProperties": { + "target": "com.amazonaws.elasticsearchservice#StringList", + "traits": { + "smithy.api#documentation": "

The list of properties involved in the domain configuration change that are completed.

" + } + }, + "TotalNumberOfStages": { + "target": "com.amazonaws.elasticsearchservice#TotalNumberOfStages", + "traits": { + "smithy.api#documentation": "

The total number of stages required for the configuration change.

" + } + }, + "ChangeProgressStages": { + "target": "com.amazonaws.elasticsearchservice#ChangeProgressStageList", + "traits": { + "smithy.api#documentation": "

The specific stages that the domain is going through to perform the configuration change.

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

The progress details of a specific domain configuration change.

" + } + }, "com.amazonaws.elasticsearchservice#CloudWatchLogsLogGroupArn": { "type": "string", "traits": { @@ -1801,6 +1933,74 @@ "smithy.api#documentation": "

The result of DescribeDomainAutoTunes request. See the Developer Guide for more information.

" } }, + "com.amazonaws.elasticsearchservice#DescribeDomainChangeProgress": { + "type": "operation", + "input": { + "target": "com.amazonaws.elasticsearchservice#DescribeDomainChangeProgressRequest" + }, + "output": { + "target": "com.amazonaws.elasticsearchservice#DescribeDomainChangeProgressResponse" + }, + "errors": [ + { + "target": "com.amazonaws.elasticsearchservice#BaseException" + }, + { + "target": "com.amazonaws.elasticsearchservice#InternalException" + }, + { + "target": "com.amazonaws.elasticsearchservice#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.elasticsearchservice#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Returns information about the current blue/green deployment happening on a domain, including\n a change ID, status, and progress stages.

", + "smithy.api#http": { + "method": "GET", + "uri": "/2015-01-01/es/domain/{DomainName}/progress", + "code": 200 + } + } + }, + "com.amazonaws.elasticsearchservice#DescribeDomainChangeProgressRequest": { + "type": "structure", + "members": { + "DomainName": { + "target": "com.amazonaws.elasticsearchservice#DomainName", + "traits": { + "smithy.api#documentation": "

The domain you want to get the progress information about.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "ChangeId": { + "target": "com.amazonaws.elasticsearchservice#GUID", + "traits": { + "smithy.api#documentation": "

The specific change ID for which you want to get progress information. This is an optional parameter.\n If omitted, the service returns information about the most recent configuration change.\n

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

Container for the parameters to the DescribeDomainChangeProgress operation. Specifies the\n domain name and optional change specific identity for which you want progress information.\n

" + } + }, + "com.amazonaws.elasticsearchservice#DescribeDomainChangeProgressResponse": { + "type": "structure", + "members": { + "ChangeProgressStatus": { + "target": "com.amazonaws.elasticsearchservice#ChangeProgressStatusDetails", + "traits": { + "smithy.api#documentation": "

Progress information for the configuration change that is requested in the DescribeDomainChangeProgress request.\n

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

The result of a DescribeDomainChangeProgress request. Contains the progress information of\n the requested domain change.\n

" + } + }, "com.amazonaws.elasticsearchservice#DescribeElasticsearchDomain": { "type": "operation", "input": { @@ -2526,6 +2726,9 @@ "smithy.api#documentation": "

Container for results from DescribeReservedElasticsearchInstances

" } }, + "com.amazonaws.elasticsearchservice#Description": { + "type": "string" + }, "com.amazonaws.elasticsearchservice#DisableTimestamp": { "type": "timestamp" }, @@ -3404,6 +3607,12 @@ "traits": { "smithy.api#documentation": "

Specifies AutoTuneOptions for the domain.

" } + }, + "ChangeProgressDetails": { + "target": "com.amazonaws.elasticsearchservice#ChangeProgressDetails", + "traits": { + "smithy.api#documentation": "

Specifies change details of the domain configuration change.

" + } } }, "traits": { @@ -3557,6 +3766,12 @@ "traits": { "smithy.api#documentation": "

The current status of the Elasticsearch domain's Auto-Tune options.

" } + }, + "ChangeProgressDetails": { + "target": "com.amazonaws.elasticsearchservice#ChangeProgressDetails", + "traits": { + "smithy.api#documentation": "

Specifies change details of the domain configuration change.

" + } } }, "traits": { @@ -5116,6 +5331,30 @@ "target": "com.amazonaws.elasticsearchservice#OutboundCrossClusterSearchConnection" } }, + "com.amazonaws.elasticsearchservice#OverallChangeStatus": { + "type": "string", + "traits": { + "smithy.api#documentation": "

The overall status value of the domain configuration change.

", + "smithy.api#enum": [ + { + "value": "PENDING", + "name": "PENDING" + }, + { + "value": "PROCESSING", + "name": "PROCESSING" + }, + { + "value": "COMPLETED", + "name": "COMPLETED" + }, + { + "value": "FAILED", + "name": "FAILED" + } + ] + } + }, "com.amazonaws.elasticsearchservice#OwnerId": { "type": "string", "traits": { @@ -6322,6 +6561,9 @@ ] } }, + "com.amazonaws.elasticsearchservice#TotalNumberOfStages": { + "type": "integer" + }, "com.amazonaws.elasticsearchservice#UIntValue": { "type": "integer", "traits": { @@ -6656,6 +6898,9 @@ "traits": { "smithy.api#documentation": "

\n This flag, when set to True, indicates that an Upgrade Eligibility Check needs to be performed.\n This will not actually perform the Upgrade.\n

" } + }, + "ChangeProgressDetails": { + "target": "com.amazonaws.elasticsearchservice#ChangeProgressDetails" } }, "traits": { diff --git a/codegen/sdk-codegen/aws-models/emr.2009-03-31.json b/codegen/sdk-codegen/aws-models/emr.2009-03-31.json index c4ce68a9ed1..4e9c8424622 100644 --- a/codegen/sdk-codegen/aws-models/emr.2009-03-31.json +++ b/codegen/sdk-codegen/aws-models/emr.2009-03-31.json @@ -193,7 +193,7 @@ } ], "traits": { - "smithy.api#documentation": "

AddJobFlowSteps adds new steps to a running cluster. A maximum of 256 steps are allowed\n in each job flow.

\n

If your cluster is long-running (such as a Hive data warehouse) or complex, you may\n require more than 256 steps to process your data. You can bypass the 256-step limitation in\n various ways, including using SSH to connect to the master node and submitting queries\n directly to the software running on the master node, such as Hive and Hadoop. For more\n information on how to do this, see Add More than 256 Steps to a\n Cluster in the Amazon EMR Management Guide.

\n

A step specifies the location of a JAR file stored either on the master node of the\n cluster or in Amazon S3. Each step is performed by the main function of the main class of\n the JAR file. The main class can be specified either in the manifest of the JAR or by using\n the MainFunction parameter of the step.

\n

Amazon EMR executes each step in the order listed. For a step to be considered complete,\n the main function must exit with a zero exit code and all Hadoop jobs started while the\n step was running must have completed and run successfully.

\n

You can only add steps to a cluster that is in one of the following states: STARTING,\n BOOTSTRAPPING, RUNNING, or WAITING.

" + "smithy.api#documentation": "

AddJobFlowSteps adds new steps to a running cluster. A maximum of 256 steps are allowed\n in each job flow.

\n

If your cluster is long-running (such as a Hive data warehouse) or complex, you may\n require more than 256 steps to process your data. You can bypass the 256-step limitation in\n various ways, including using SSH to connect to the master node and submitting queries\n directly to the software running on the master node, such as Hive and Hadoop. For more\n information on how to do this, see Add More than 256 Steps to a\n Cluster in the Amazon EMR Management Guide.

\n

A step specifies the location of a JAR file stored either on the master node of the\n cluster or in Amazon S3. Each step is performed by the main function of the main class of\n the JAR file. The main class can be specified either in the manifest of the JAR or by using\n the MainFunction parameter of the step.

\n

Amazon EMR executes each step in the order listed. For a step to be considered complete,\n the main function must exit with a zero exit code and all Hadoop jobs started while the\n step was running must have completed and run successfully.

\n

You can only add steps to a cluster that is in one of the following states: STARTING,\n BOOTSTRAPPING, RUNNING, or WAITING.

\n \n

The string values passed into HadoopJarStep object cannot exceed a total of 10240 characters.

\n
" } }, "com.amazonaws.emr#AddJobFlowStepsInput": { @@ -885,7 +885,7 @@ "VisibleToAllUsers": { "target": "com.amazonaws.emr#Boolean", "traits": { - "smithy.api#documentation": "

Indicates whether the cluster is visible to IAM principals in the Amazon Web Services account associated\n with the cluster. When true, IAM principals in the\n Amazon Web Services account can perform EMR cluster actions on the cluster that their IAM policies allow. When false, only the IAM principal that created the cluster and the Amazon Web Services account root user can perform EMR actions, regardless of IAM permissions policies attached to other IAM principals.

\n

The default value is true if a value is not provided when creating a\n cluster using the EMR API RunJobFlow command, the CLI\n create-cluster command, or the Amazon Web Services Management Console. IAM principals that are\n allowed to perform actions on the cluster can use the SetVisibleToAllUsers action to change the value on a running cluster. For more information, see Understanding the EMR Cluster VisibleToAllUsers Setting in the Amazon EMRManagement Guide.

" + "smithy.api#documentation": "

Indicates whether the cluster is visible to IAM principals in the Amazon Web Services account associated\n with the cluster. When true, IAM principals in the\n Amazon Web Services account can perform EMR cluster actions on the cluster that their IAM policies allow. When false, only the IAM principal that created the cluster and the Amazon Web Services account root user can perform EMR actions, regardless of IAM permissions policies attached to other IAM principals.

\n

The default value is true if a value is not provided when creating a\n cluster using the EMR API RunJobFlow command, the CLI\n create-cluster command, or the Amazon Web Services Management Console.

" } }, "Applications": { @@ -2386,6 +2386,24 @@ }, "com.amazonaws.emr#ElasticMapReduce": { "type": "service", + "traits": { + "aws.api#service": { + "sdkId": "EMR", + "arnNamespace": "elasticmapreduce", + "cloudFormationName": "EMR", + "cloudTrailEventSource": "emr.amazonaws.com", + "endpointPrefix": "elasticmapreduce" + }, + "aws.auth#sigv4": { + "name": "elasticmapreduce" + }, + "aws.protocols#awsJson1_1": {}, + "smithy.api#documentation": "

Amazon EMR is a web service that makes it easier to process large amounts of data\n efficiently. Amazon EMR uses Hadoop processing combined with several Amazon Web Services services to do\n tasks such as web indexing, data mining, log file analysis, machine learning, scientific\n simulation, and data warehouse management.

", + "smithy.api#title": "Amazon EMR", + "smithy.api#xmlNamespace": { + "uri": "http://elasticmapreduce.amazonaws.com/doc/2009-03-31" + } + }, "version": "2009-03-31", "operations": [ { @@ -2544,25 +2562,7 @@ { "target": "com.amazonaws.emr#UpdateStudioSessionMapping" } - ], - "traits": { - "aws.api#service": { - "sdkId": "EMR", - "arnNamespace": "elasticmapreduce", - "cloudFormationName": "EMR", - "cloudTrailEventSource": "emr.amazonaws.com", - "endpointPrefix": "elasticmapreduce" - }, - "aws.auth#sigv4": { - "name": "elasticmapreduce" - }, - "aws.protocols#awsJson1_1": {}, - "smithy.api#documentation": "

Amazon EMR is a web service that makes it easier to process large amounts of data\n efficiently. Amazon EMR uses Hadoop processing combined with several Amazon Web Services services to do\n tasks such as web indexing, data mining, log file analysis, machine learning, scientific\n simulation, and data warehouse management.

", - "smithy.api#title": "Amazon EMR", - "smithy.api#xmlNamespace": { - "uri": "http://elasticmapreduce.amazonaws.com/doc/2009-03-31" - } - } + ] }, "com.amazonaws.emr#ErrorCode": { "type": "string", @@ -3566,7 +3566,7 @@ "State": { "target": "com.amazonaws.emr#InstanceGroupState", "traits": { - "smithy.api#documentation": "

State of instance group. The following values are deprecated: STARTING, TERMINATED, and\n FAILED.

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

State of instance group. The following values are no longer supported: STARTING, TERMINATED, and\n FAILED.

", "smithy.api#required": {} } }, @@ -4289,7 +4289,7 @@ "VisibleToAllUsers": { "target": "com.amazonaws.emr#Boolean", "traits": { - "smithy.api#documentation": "

Indicates whether the cluster is visible to IAM principals in the Amazon Web Services account associated\n with the cluster. When true, IAM principals in the\n Amazon Web Services account can perform EMR cluster actions that their IAM policies allow. When false, only the IAM principal that created the cluster and the Amazon Web Services account root user can perform EMR actions, regardless of IAM permissions policies attached to other IAM principals.

\n

The default value is true if a value is not provided when creating a\n cluster using the EMR API RunJobFlow command, the CLI\n create-cluster command, or the Amazon Web Services Management Console. IAM principals that are authorized to perform actions on the cluster can use the SetVisibleToAllUsers action to change the value on a running cluster. For more information, see Understanding the EMR Cluster VisibleToAllUsers Setting in the Amazon EMRManagement Guide.

" + "smithy.api#documentation": "

Indicates whether the cluster is visible to IAM principals in the Amazon Web Services account associated\n with the cluster. When true, IAM principals in the\n Amazon Web Services account can perform EMR cluster actions that their IAM policies allow. When false, only the IAM principal that created the cluster and the Amazon Web Services account root user can perform EMR actions, regardless of IAM permissions policies attached to other IAM principals.

\n

The default value is true if a value is not provided when creating a\n cluster using the EMR API RunJobFlow command, the CLI\n create-cluster command, or the Amazon Web Services Management Console.

" } }, "JobFlowRole": { @@ -6104,7 +6104,7 @@ "target": "com.amazonaws.emr#PutAutoTerminationPolicyOutput" }, "traits": { - "smithy.api#documentation": "

Creates or updates an auto-termination policy for an Amazon EMR cluster. An auto-termination policy defines the amount of idle time in seconds after which a cluster automatically terminates. For alternative cluster termination options, see Control cluster termination.

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

Auto-termination is supported in Amazon EMR versions 5.30.0 and 6.1.0 and later. For more information, see Using an auto-termination policy.

\n
\n

Creates or updates an auto-termination policy for an Amazon EMR cluster. An auto-termination policy defines the amount of idle time in seconds after which a cluster automatically terminates. For alternative cluster termination options, see Control cluster termination.

" } }, "com.amazonaws.emr#PutAutoTerminationPolicyInput": { @@ -6469,7 +6469,7 @@ "Applications": { "target": "com.amazonaws.emr#ApplicationList", "traits": { - "smithy.api#documentation": "

Applies to Amazon EMR releases 4.0 and later. A case-insensitive list of applications\n for Amazon EMR to install and configure when launching the cluster. For a list of\n applications available for each Amazon EMR release version, see the Amazon EMR Release\n Guide.

" + "smithy.api#documentation": "

Applies to Amazon EMR releases 4.0 and later. A case-insensitive list of applications\n for Amazon EMR to install and configure when launching the cluster. For a list of\n applications available for each Amazon EMR release version, see the Amazon EMRRelease\n Guide.

" } }, "Configurations": { @@ -6481,7 +6481,7 @@ "VisibleToAllUsers": { "target": "com.amazonaws.emr#Boolean", "traits": { - "smithy.api#documentation": "

Set this value to true so that IAM principals in the Amazon Web Services account associated with the cluster can perform EMR actions on the cluster that their IAM policies allow. This value defaults to true for clusters created using the EMR API or the CLI create-cluster command.

\n

When set to false, only the IAM principal that created the cluster and the Amazon Web Services account root user can perform EMR actions for the cluster, regardless of the IAM permissions policies attached to other IAM principals. For more information, see Understanding the EMR Cluster VisibleToAllUsers Setting in the Amazon EMRManagement Guide.

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

The VisibleToAllUsers parameter is no longer supported. By default, the value is set to true. Setting it to false now has no effect.

\n
\n

Set this value to true so that IAM principals in the Amazon Web Services account associated with the cluster can perform EMR actions on the cluster that their IAM policies allow. This value defaults to true for clusters created using the EMR API or the CLI create-cluster command.

\n

When set to false, only the IAM principal that created the cluster and the Amazon Web Services account root user can perform EMR actions for the cluster, regardless of the IAM permissions policies attached to other IAM principals. For more information, see Understanding the EMR Cluster VisibleToAllUsers Setting in the Amazon EMRManagement Guide.

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

Sets the Cluster$VisibleToAllUsers value for an EMR cluster. When true, IAM principals in the\n Amazon Web Services account can perform EMR cluster actions that their IAM policies allow. When false, only the IAM principal that created the cluster and the Amazon Web Services account root user can perform EMR actions on the cluster, regardless of IAM permissions policies attached to other IAM principals.

\n

This action works on running clusters. When you create a cluster, use the RunJobFlowInput$VisibleToAllUsers parameter.

\n

For more information, see Understanding the EMR Cluster VisibleToAllUsers Setting in the Amazon EMRManagement Guide.

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

The SetVisibleToAllUsers parameter is no longer supported. Your cluster may be visible to all users in your account.\n To restrict cluster access using an IAM policy, see Identity and Access Management for EMR.\n

\n
\n

Sets the Cluster$VisibleToAllUsers value for an EMR cluster. When true, IAM principals in the\n Amazon Web Services account can perform EMR cluster actions that their IAM policies allow. When false, only the IAM principal that created the cluster and the Amazon Web Services account root user can perform EMR actions on the cluster, regardless of IAM permissions policies attached to other IAM principals.

\n

This action works on running clusters. When you create a cluster, use the RunJobFlowInput$VisibleToAllUsers parameter.

\n

For more information, see Understanding the EMR Cluster VisibleToAllUsers Setting in the Amazon EMRManagement Guide.

" } }, "com.amazonaws.emr#SetVisibleToAllUsersInput": { @@ -7033,7 +7033,7 @@ "BlockDurationMinutes": { "target": "com.amazonaws.emr#WholeNumber", "traits": { - "smithy.api#documentation": "

The defined duration for Spot Instances (also known as Spot blocks) in minutes. When\n specified, the Spot Instance does not terminate before the defined duration expires, and\n defined duration pricing for Spot Instances applies. Valid values are 60, 120, 180, 240,\n 300, or 360. The duration period starts as soon as a Spot Instance receives its instance\n ID. At the end of the duration, Amazon EC2 marks the Spot Instance for termination and\n provides a Spot Instance termination notice, which gives the instance a two-minute warning\n before it terminates.

" + "smithy.api#documentation": "

The defined duration for Spot Instances (also known as Spot blocks) in minutes. When\n specified, the Spot Instance does not terminate before the defined duration expires, and\n defined duration pricing for Spot Instances applies. Valid values are 60, 120, 180, 240,\n 300, or 360. The duration period starts as soon as a Spot Instance receives its instance\n ID. At the end of the duration, Amazon EC2 marks the Spot Instance for termination and\n provides a Spot Instance termination notice, which gives the instance a two-minute warning\n before it terminates.

\n \n

Spot Instances with a defined duration (also known as Spot blocks) are no longer available to new customers from July 1, 2021. For customers who have previously used the feature, we will continue to support Spot Instances with a defined duration until December 31, 2022.\n

\n
" } }, "AllocationStrategy": { @@ -7044,7 +7044,7 @@ } }, "traits": { - "smithy.api#documentation": "

The launch specification for Spot Instances in the instance fleet, which determines the\n defined duration, provisioning timeout behavior, and allocation strategy.

\n \n

The instance fleet configuration is available only in Amazon EMR versions 4.8.0 and\n later, excluding 5.0.x versions. Spot Instance allocation strategy is available in\n Amazon EMR version 5.12.1 and later.

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

The launch specification for Spot Instances in the instance fleet, which determines the\n defined duration, provisioning timeout behavior, and allocation strategy.

\n \n

The instance fleet configuration is available only in Amazon EMR versions 4.8.0 and\n later, excluding 5.0.x versions. Spot Instance allocation strategy is available in\n Amazon EMR version 5.12.1 and later.

\n
\n \n

Spot Instances with a defined duration (also known as Spot blocks) are no longer available to new customers from July 1, 2021. For customers who have previously used the feature, we will continue to support Spot Instances with a defined duration until December 31, 2022.\n

\n
" } }, "com.amazonaws.emr#SpotProvisioningTimeoutAction": { @@ -7801,7 +7801,7 @@ "Key": { "target": "com.amazonaws.emr#String", "traits": { - "smithy.api#documentation": "

A user-defined key, which is the minimum required information for a valid tag. For more\n information, see Tag .

" + "smithy.api#documentation": "

A user-defined key, which is the minimum required information for a valid tag. For more\n information, see Tag.

" } }, "Value": { @@ -8079,7 +8079,7 @@ "VolumeType": { "target": "com.amazonaws.emr#String", "traits": { - "smithy.api#documentation": "

The volume type. Volume types supported are gp2, io1, standard.

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

The volume type. Volume types supported are gp2, io1, and standard.

", "smithy.api#required": {} } }, diff --git a/codegen/sdk-codegen/aws-models/eventbridge.2015-10-07.json b/codegen/sdk-codegen/aws-models/eventbridge.2015-10-07.json index e6c9003d012..07af3307085 100644 --- a/codegen/sdk-codegen/aws-models/eventbridge.2015-10-07.json +++ b/codegen/sdk-codegen/aws-models/eventbridge.2015-10-07.json @@ -31,6 +31,24 @@ "shapes": { "com.amazonaws.eventbridge#AWSEvents": { "type": "service", + "traits": { + "aws.api#service": { + "sdkId": "EventBridge", + "arnNamespace": "events", + "cloudFormationName": "Events", + "cloudTrailEventSource": "eventbridge.amazonaws.com", + "endpointPrefix": "events" + }, + "aws.auth#sigv4": { + "name": "events" + }, + "aws.protocols#awsJson1_1": {}, + "smithy.api#documentation": "

Amazon EventBridge helps you to respond to state changes in your Amazon Web Services resources. When your\n resources change state, they automatically send events to an event stream. You can create\n rules that match selected events in the stream and route them to targets to take action. You\n can also use rules to take action on a predetermined schedule. For example, you can configure\n rules to:

\n \n

For more information about the features of Amazon EventBridge, see the Amazon EventBridge User\n Guide.

", + "smithy.api#title": "Amazon EventBridge", + "smithy.api#xmlNamespace": { + "uri": "http://events.amazonaws.com/doc/2015-10-07" + } + }, "version": "2015-10-07", "operations": [ { @@ -186,25 +204,7 @@ { "target": "com.amazonaws.eventbridge#UpdateConnection" } - ], - "traits": { - "aws.api#service": { - "sdkId": "EventBridge", - "arnNamespace": "events", - "cloudFormationName": "Events", - "cloudTrailEventSource": "eventbridge.amazonaws.com", - "endpointPrefix": "events" - }, - "aws.auth#sigv4": { - "name": "events" - }, - "aws.protocols#awsJson1_1": {}, - "smithy.api#documentation": "

Amazon EventBridge helps you to respond to state changes in your Amazon Web Services resources. When your\n resources change state, they automatically send events to an event stream. You can create\n rules that match selected events in the stream and route them to targets to take action. You\n can also use rules to take action on a predetermined schedule. For example, you can configure\n rules to:

\n \n

For more information about the features of Amazon EventBridge, see the Amazon EventBridge User\n Guide.

", - "smithy.api#title": "Amazon EventBridge", - "smithy.api#xmlNamespace": { - "uri": "http://events.amazonaws.com/doc/2015-10-07" - } - } + ] }, "com.amazonaws.eventbridge#AccountId": { "type": "string", @@ -2985,7 +2985,7 @@ "LaunchType": { "target": "com.amazonaws.eventbridge#LaunchType", "traits": { - "smithy.api#documentation": "

Specifies the launch type on which your task is running. The launch type that you specify\n here must match one of the launch type (compatibilities) of the target task. The\n FARGATE value is supported only in the Regions where Fargate witt Amazon ECS\n is supported. For more information, see Fargate on Amazon ECS in\n the Amazon Elastic Container Service Developer Guide.

" + "smithy.api#documentation": "

Specifies the launch type on which your task is running. The launch type that you specify\n here must match one of the launch type (compatibilities) of the target task. The\n FARGATE value is supported only in the Regions where Fargate with Amazon ECS\n is supported. For more information, see Fargate on Amazon ECS in\n the Amazon Elastic Container Service Developer Guide.

" } }, "NetworkConfiguration": { @@ -4637,7 +4637,7 @@ "TraceHeader": { "target": "com.amazonaws.eventbridge#TraceHeader", "traits": { - "smithy.api#documentation": "

An X-Ray trade header, which is an http header (X-Amzn-Trace-Id) that contains the\n trace-id associated with the event.

\n

To learn more about X-Ray trace headers, see Tracing header in the X-Ray Developer Guide.

" + "smithy.api#documentation": "

An X-Ray trace header, which is an http header (X-Amzn-Trace-Id) that contains the\n trace-id associated with the event.

\n

To learn more about X-Ray trace headers, see Tracing header in the X-Ray Developer Guide.

" } } }, @@ -4697,7 +4697,7 @@ } }, "traits": { - "smithy.api#documentation": "

Represents an event that failed to be submitted.

" + "smithy.api#documentation": "

Represents an event that failed to be submitted. For information about the errors that are common to all actions, see \n Common Errors.

" } }, "com.amazonaws.eventbridge#PutEventsResultEntryList": { @@ -4887,7 +4887,7 @@ "StatementId": { "target": "com.amazonaws.eventbridge#StatementId", "traits": { - "smithy.api#documentation": "

An identifier string for the external account that you are granting permissions to. If you\n later want to revoke the permission for this external account, specify this\n StatementId when you run RemovePermission.

" + "smithy.api#documentation": "

An identifier string for the external account that you are granting permissions to. If you\n later want to revoke the permission for this external account, specify this\n StatementId when you run RemovePermission.

\n \n

Each StatementId must be unique.

\n
" } }, "Condition": { @@ -5027,7 +5027,7 @@ } ], "traits": { - "smithy.api#documentation": "

Adds the specified targets to the specified rule, or updates the targets if they are\n already associated with the rule.

\n

Targets are the resources that are invoked when a rule is triggered.

\n

You can configure the following as targets for Events:

\n\n \n\n

Creating rules with built-in targets is supported only in the Amazon Web Services Management Console. The\n built-in targets are EC2 CreateSnapshot API call, EC2 RebootInstances API\n call, EC2 StopInstances API call, and EC2 TerminateInstances API\n call.

\n\n

For some target types, PutTargets provides target-specific parameters. If the\n target is a Kinesis data stream, you can optionally specify which shard the event goes to by\n using the KinesisParameters argument. To invoke a command on multiple EC2\n instances with one rule, you can use the RunCommandParameters field.

\n\n

To be able to make API calls against the resources that you own, Amazon EventBridge\n needs the appropriate permissions. For Lambda and Amazon SNS\n resources, EventBridge relies on resource-based policies. For EC2 instances, Kinesis Data Streams, \n Step Functions state machines and API Gateway REST APIs, EventBridge relies on\n IAM roles that you specify in the RoleARN argument in PutTargets.\n For more information, see Authentication\n and Access Control in the Amazon EventBridge User Guide.

\n\n

If another Amazon Web Services account is in the same region and has granted you permission (using\n PutPermission), you can send events to that account. Set that account's event\n bus as a target of the rules in your account. To send the matched events to the other account,\n specify that account's event bus as the Arn value when you run\n PutTargets. If your account sends events to another account, your account is\n charged for each sent event. Each event sent to another account is charged as a custom event.\n The account receiving the event is not charged. For more information, see Amazon EventBridge\n Pricing.

\n\n \n

\n Input, InputPath, and InputTransformer are not\n available with PutTarget if the target is an event bus of a different Amazon Web Services \n account.

\n
\n\n

If you are setting the event bus of another account as the target, and that account\n granted permission to your account through an organization instead of directly by the account\n ID, then you must specify a RoleArn with proper permissions in the\n Target structure. For more information, see Sending and\n Receiving Events Between Amazon Web Services Accounts in the Amazon EventBridge User\n Guide.

\n\n

For more information about enabling cross-account events, see PutPermission.

\n\n

\n Input, InputPath, and\n InputTransformer are mutually exclusive and optional\n parameters of a target. When a rule is triggered due to a matched event:

\n\n \n\n

When you specify InputPath or InputTransformer, you must use\n JSON dot notation, not bracket notation.

\n\n

When you add targets to a rule and the associated rule triggers soon after, new or updated\n targets might not be immediately invoked. Allow a short period of time for changes to take\n effect.

\n\n

This action can partially fail if too many requests are made at the same time. If that\n happens, FailedEntryCount is non-zero in the response and each entry in\n FailedEntries provides the ID of the failed target and the error code.

" + "smithy.api#documentation": "

Adds the specified targets to the specified rule, or updates the targets if they are\n already associated with the rule.

\n

Targets are the resources that are invoked when a rule is triggered.

\n \n

Each rule can have up to five (5) targets associated with it at one time.

\n
\n

You can configure the following as targets for Events:

\n\n \n\n

Creating rules with built-in targets is supported only in the Amazon Web Services Management Console. The\n built-in targets are EC2 CreateSnapshot API call, EC2 RebootInstances API\n call, EC2 StopInstances API call, and EC2 TerminateInstances API\n call.

\n\n

For some target types, PutTargets provides target-specific parameters. If the\n target is a Kinesis data stream, you can optionally specify which shard the event goes to by\n using the KinesisParameters argument. To invoke a command on multiple EC2\n instances with one rule, you can use the RunCommandParameters field.

\n\n

To be able to make API calls against the resources that you own, Amazon EventBridge\n needs the appropriate permissions. For Lambda and Amazon SNS\n resources, EventBridge relies on resource-based policies. For EC2 instances, Kinesis Data Streams, \n Step Functions state machines and API Gateway REST APIs, EventBridge relies on\n IAM roles that you specify in the RoleARN argument in PutTargets.\n For more information, see Authentication\n and Access Control in the Amazon EventBridge User Guide.

\n\n

If another Amazon Web Services account is in the same region and has granted you permission (using\n PutPermission), you can send events to that account. Set that account's event\n bus as a target of the rules in your account. To send the matched events to the other account,\n specify that account's event bus as the Arn value when you run\n PutTargets. If your account sends events to another account, your account is\n charged for each sent event. Each event sent to another account is charged as a custom event.\n The account receiving the event is not charged. For more information, see Amazon EventBridge\n Pricing.

\n\n \n

\n Input, InputPath, and InputTransformer are not\n available with PutTarget if the target is an event bus of a different Amazon Web Services \n account.

\n
\n\n

If you are setting the event bus of another account as the target, and that account\n granted permission to your account through an organization instead of directly by the account\n ID, then you must specify a RoleArn with proper permissions in the\n Target structure. For more information, see Sending and\n Receiving Events Between Amazon Web Services Accounts in the Amazon EventBridge User\n Guide.

\n\n

For more information about enabling cross-account events, see PutPermission.

\n\n

\n Input, InputPath, and\n InputTransformer are mutually exclusive and optional\n parameters of a target. When a rule is triggered due to a matched event:

\n\n \n\n

When you specify InputPath or InputTransformer, you must use\n JSON dot notation, not bracket notation.

\n\n

When you add targets to a rule and the associated rule triggers soon after, new or updated\n targets might not be immediately invoked. Allow a short period of time for changes to take\n effect.

\n\n

This action can partially fail if too many requests are made at the same time. If that\n happens, FailedEntryCount is non-zero in the response and each entry in\n FailedEntries provides the ID of the failed target and the error code.

" } }, "com.amazonaws.eventbridge#PutTargetsRequest": { @@ -5267,7 +5267,7 @@ } ], "traits": { - "smithy.api#documentation": "

Removes the specified targets from the specified rule. When the rule is triggered, those\n targets are no longer be invoked.

\n\n

When you remove a target, when the associated rule triggers, removed targets might\n continue to be invoked. Allow a short period of time for changes to take effect.

\n\n

This action can partially fail if too many requests are made at the same time. If that\n happens, FailedEntryCount is non-zero in the response and each entry in\n FailedEntries provides the ID of the failed target and the error code.

" + "smithy.api#documentation": "

Removes the specified targets from the specified rule. When the rule is triggered, those\n targets are no longer be invoked.

\n \n \n

A successful execution of RemoveTargets doesn't guarantee all targets are removed from the rule, it means that the target(s) listed in the request are removed.

\n
\n\n

When you remove a target, when the associated rule triggers, removed targets might\n continue to be invoked. Allow a short period of time for changes to take effect.

\n\n

This action can partially fail if too many requests are made at the same time. If that\n happens, FailedEntryCount is non-zero in the response and each entry in\n FailedEntries provides the ID of the failed target and the error code.

" } }, "com.amazonaws.eventbridge#RemoveTargetsRequest": { @@ -6132,7 +6132,7 @@ "Id": { "target": "com.amazonaws.eventbridge#TargetId", "traits": { - "smithy.api#documentation": "

The ID of the target. We recommend using a memorable and unique string.

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

The ID of the target within the specified rule. Use this ID to reference the target when updating the rule. We recommend using a memorable and unique string.

", "smithy.api#required": {} } }, diff --git a/codegen/sdk-codegen/aws-models/evidently.2021-02-01.json b/codegen/sdk-codegen/aws-models/evidently.2021-02-01.json index 3b532430f8a..53dd025a105 100644 --- a/codegen/sdk-codegen/aws-models/evidently.2021-02-01.json +++ b/codegen/sdk-codegen/aws-models/evidently.2021-02-01.json @@ -593,6 +593,9 @@ }, { "target": "com.amazonaws.evidently#ServiceUnavailableException" + }, + { + "target": "com.amazonaws.evidently#ValidationException" } ], "traits": { @@ -1364,7 +1367,7 @@ "min": 1, "max": 127 }, - "smithy.api#pattern": "[-a-zA-Z0-9._]*" + "smithy.api#pattern": "^[-a-zA-Z0-9._]*$" } }, "com.amazonaws.evidently#ExperimentReport": { @@ -1774,7 +1777,7 @@ "min": 1, "max": 127 }, - "smithy.api#pattern": "[-a-zA-Z0-9._]*" + "smithy.api#pattern": "^[-a-zA-Z0-9._]*$" } }, "com.amazonaws.evidently#FeatureResource": { @@ -1924,6 +1927,9 @@ }, { "target": "com.amazonaws.evidently#ThrottlingException" + }, + { + "target": "com.amazonaws.evidently#ValidationException" } ], "traits": { @@ -2178,6 +2184,9 @@ }, { "target": "com.amazonaws.evidently#ThrottlingException" + }, + { + "target": "com.amazonaws.evidently#ValidationException" } ], "traits": { @@ -2286,7 +2295,7 @@ "min": 1, "max": 127 }, - "smithy.api#pattern": "[-a-zA-Z0-9._]*" + "smithy.api#pattern": "^[-a-zA-Z0-9._]*$" } }, "com.amazonaws.evidently#GroupToWeightMap": { @@ -2554,7 +2563,7 @@ "min": 1, "max": 127 }, - "smithy.api#pattern": "[-a-zA-Z0-9._]*" + "smithy.api#pattern": "^[-a-zA-Z0-9._]*$" } }, "com.amazonaws.evidently#LaunchResource": { @@ -2659,6 +2668,9 @@ "target": "com.amazonaws.evidently#ListExperimentsResponse" }, "errors": [ + { + "target": "com.amazonaws.evidently#AccessDeniedException" + }, { "target": "com.amazonaws.evidently#ResourceNotFoundException" }, @@ -2706,6 +2718,13 @@ "smithy.api#documentation": "

The token to use when requesting the next set of results. You received this token from a previous \n ListExperiments operation.

", "smithy.api#httpQuery": "nextToken" } + }, + "status": { + "target": "com.amazonaws.evidently#ExperimentStatus", + "traits": { + "smithy.api#documentation": "

Use this optional parameter to limit the returned results to only the experiments with the status that you specify here.

", + "smithy.api#httpQuery": "status" + } } } }, @@ -2867,6 +2886,13 @@ "smithy.api#documentation": "

The token to use when requesting the next set of results. You received this token from a previous \n ListLaunches operation.

", "smithy.api#httpQuery": "nextToken" } + }, + "status": { + "target": "com.amazonaws.evidently#LaunchStatus", + "traits": { + "smithy.api#documentation": "

Use this optional parameter to limit the returned results to only the launches with the status that you specify here.

", + "smithy.api#httpQuery": "status" + } } } }, @@ -3095,19 +3121,22 @@ "name": { "target": "com.amazonaws.evidently#CwDimensionSafeName", "traits": { - "smithy.api#documentation": "

A name for the metric.

" + "smithy.api#documentation": "

A name for the metric.

", + "smithy.api#required": {} } }, "entityIdKey": { "target": "com.amazonaws.evidently#JsonPath", "traits": { - "smithy.api#documentation": "

The entity, such as a user or session, that does an action that causes a metric\n value to be recorded. An example is userDetails.userID.

" + "smithy.api#documentation": "

The entity, such as a user or session, that does an action that causes a metric\n value to be recorded. An example is userDetails.userID.

", + "smithy.api#required": {} } }, "valueKey": { "target": "com.amazonaws.evidently#JsonPath", "traits": { - "smithy.api#documentation": "

The value that is tracked to produce the metric.

" + "smithy.api#documentation": "

The value that is tracked to produce the metric.

", + "smithy.api#required": {} } }, "eventPattern": { @@ -3469,7 +3498,7 @@ "min": 1, "max": 127 }, - "smithy.api#pattern": "[-a-zA-Z0-9._]*" + "smithy.api#pattern": "^[-a-zA-Z0-9._]*$" } }, "com.amazonaws.evidently#ProjectRef": { @@ -4141,6 +4170,9 @@ { "target": "com.amazonaws.evidently#AccessDeniedException" }, + { + "target": "com.amazonaws.evidently#ConflictException" + }, { "target": "com.amazonaws.evidently#ResourceNotFoundException" }, @@ -4573,7 +4605,7 @@ "min": 1, "max": 127 }, - "smithy.api#pattern": "[-a-zA-Z0-9._]*" + "smithy.api#pattern": "^[-a-zA-Z0-9._]*$" } }, "com.amazonaws.evidently#TreatmentNameList": { @@ -5268,7 +5300,7 @@ "min": 1, "max": 127 }, - "smithy.api#pattern": "[-a-zA-Z0-9._]*" + "smithy.api#pattern": "^[-a-zA-Z0-9._]*$" } }, "com.amazonaws.evidently#VariationNameList": { diff --git a/codegen/sdk-codegen/aws-models/fis.2020-12-01.json b/codegen/sdk-codegen/aws-models/fis.2020-12-01.json index d919933d410..b387b750496 100644 --- a/codegen/sdk-codegen/aws-models/fis.2020-12-01.json +++ b/codegen/sdk-codegen/aws-models/fis.2020-12-01.json @@ -182,7 +182,7 @@ "type": "structure", "members": { "resourceType": { - "target": "com.amazonaws.fis#TargetResourceType", + "target": "com.amazonaws.fis#TargetResourceTypeId", "traits": { "smithy.api#documentation": "

The resource type of the target.

" } @@ -412,9 +412,9 @@ "type": "structure", "members": { "resourceType": { - "target": "com.amazonaws.fis#ResourceType", + "target": "com.amazonaws.fis#TargetResourceTypeId", "traits": { - "smithy.api#documentation": "

The Amazon Web Services resource type. The resource type must be supported for the specified action.

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

The resource type. The resource type must be supported for the specified action.

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

Scopes the identified resources to a specific count of the resources at random, or a percentage of the resources. All identified resources are included in the target.

\n ", "smithy.api#required": {} } + }, + "parameters": { + "target": "com.amazonaws.fis#ExperimentTemplateTargetParameterMap", + "traits": { + "smithy.api#documentation": "

The resource type parameters.

" + } } }, "traits": { @@ -972,7 +978,7 @@ "type": "structure", "members": { "resourceType": { - "target": "com.amazonaws.fis#ResourceType", + "target": "com.amazonaws.fis#TargetResourceTypeId", "traits": { "smithy.api#documentation": "

The resource type.

" } @@ -1000,6 +1006,12 @@ "traits": { "smithy.api#documentation": "

Scopes the identified resources to a specific count or percentage.

" } + }, + "parameters": { + "target": "com.amazonaws.fis#ExperimentTargetParameterMap", + "traits": { + "smithy.api#documentation": "

The resource type parameters.

" + } } }, "traits": { @@ -1077,6 +1089,34 @@ "smithy.api#pattern": "^[\\S]+$" } }, + "com.amazonaws.fis#ExperimentTargetParameterMap": { + "type": "map", + "key": { + "target": "com.amazonaws.fis#ExperimentTargetParameterName" + }, + "value": { + "target": "com.amazonaws.fis#ExperimentTargetParameterValue" + } + }, + "com.amazonaws.fis#ExperimentTargetParameterName": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 64 + }, + "smithy.api#pattern": "^[\\S]+$" + } + }, + "com.amazonaws.fis#ExperimentTargetParameterValue": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 1024 + } + } + }, "com.amazonaws.fis#ExperimentTargetSelectionMode": { "type": "string", "traits": { @@ -1374,7 +1414,7 @@ "type": "structure", "members": { "resourceType": { - "target": "com.amazonaws.fis#ResourceType", + "target": "com.amazonaws.fis#TargetResourceTypeId", "traits": { "smithy.api#documentation": "

The resource type.

" } @@ -1402,6 +1442,12 @@ "traits": { "smithy.api#documentation": "

Scopes the identified resources to a specific count or percentage.

" } + }, + "parameters": { + "target": "com.amazonaws.fis#ExperimentTemplateTargetParameterMap", + "traits": { + "smithy.api#documentation": "

The resource type parameters.

" + } } }, "traits": { @@ -1507,6 +1553,35 @@ "smithy.api#pattern": "^[\\S]+$" } }, + "com.amazonaws.fis#ExperimentTemplateTargetParameterMap": { + "type": "map", + "key": { + "target": "com.amazonaws.fis#ExperimentTemplateTargetParameterName" + }, + "value": { + "target": "com.amazonaws.fis#ExperimentTemplateTargetParameterValue" + } + }, + "com.amazonaws.fis#ExperimentTemplateTargetParameterName": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 64 + }, + "smithy.api#pattern": "^[\\S]+$" + } + }, + "com.amazonaws.fis#ExperimentTemplateTargetParameterValue": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 1024 + }, + "smithy.api#pattern": "^[\\p{L}\\p{Z}\\p{N}_.:/=+\\-@]+$" + } + }, "com.amazonaws.fis#ExperimentTemplateTargetSelectionMode": { "type": "string", "traits": { @@ -1551,6 +1626,9 @@ { "target": "com.amazonaws.fis#GetExperimentTemplate" }, + { + "target": "com.amazonaws.fis#GetTargetResourceType" + }, { "target": "com.amazonaws.fis#ListActions" }, @@ -1563,6 +1641,9 @@ { "target": "com.amazonaws.fis#ListTagsForResource" }, + { + "target": "com.amazonaws.fis#ListTargetResourceTypes" + }, { "target": "com.amazonaws.fis#StartExperiment" }, @@ -1727,6 +1808,55 @@ } } }, + "com.amazonaws.fis#GetTargetResourceType": { + "type": "operation", + "input": { + "target": "com.amazonaws.fis#GetTargetResourceTypeRequest" + }, + "output": { + "target": "com.amazonaws.fis#GetTargetResourceTypeResponse" + }, + "errors": [ + { + "target": "com.amazonaws.fis#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.fis#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Gets information about the specified resource type.

", + "smithy.api#http": { + "method": "GET", + "uri": "/targetResourceTypes/{resourceType}", + "code": 200 + } + } + }, + "com.amazonaws.fis#GetTargetResourceTypeRequest": { + "type": "structure", + "members": { + "resourceType": { + "target": "com.amazonaws.fis#TargetResourceTypeId", + "traits": { + "smithy.api#documentation": "

The resource type.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.fis#GetTargetResourceTypeResponse": { + "type": "structure", + "members": { + "targetResourceType": { + "target": "com.amazonaws.fis#TargetResourceType", + "traits": { + "smithy.api#documentation": "

Information about the resource type.

" + } + } + } + }, "com.amazonaws.fis#LastUpdateTime": { "type": "timestamp" }, @@ -1990,6 +2120,79 @@ } } }, + "com.amazonaws.fis#ListTargetResourceTypes": { + "type": "operation", + "input": { + "target": "com.amazonaws.fis#ListTargetResourceTypesRequest" + }, + "output": { + "target": "com.amazonaws.fis#ListTargetResourceTypesResponse" + }, + "errors": [ + { + "target": "com.amazonaws.fis#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Lists the target resource types.

", + "smithy.api#http": { + "method": "GET", + "uri": "/targetResourceTypes", + "code": 200 + }, + "smithy.api#paginated": { + "inputToken": "nextToken", + "outputToken": "nextToken", + "pageSize": "maxResults" + } + } + }, + "com.amazonaws.fis#ListTargetResourceTypesMaxResults": { + "type": "integer", + "traits": { + "smithy.api#range": { + "min": 1, + "max": 100 + } + } + }, + "com.amazonaws.fis#ListTargetResourceTypesRequest": { + "type": "structure", + "members": { + "maxResults": { + "target": "com.amazonaws.fis#ListTargetResourceTypesMaxResults", + "traits": { + "smithy.api#box": {}, + "smithy.api#documentation": "

The maximum number of results to return with a single call. To retrieve the remaining results, make another call with the returned nextToken value.

", + "smithy.api#httpQuery": "maxResults" + } + }, + "nextToken": { + "target": "com.amazonaws.fis#NextToken", + "traits": { + "smithy.api#documentation": "

The token for the next page of results.

", + "smithy.api#httpQuery": "nextToken" + } + } + } + }, + "com.amazonaws.fis#ListTargetResourceTypesResponse": { + "type": "structure", + "members": { + "targetResourceTypes": { + "target": "com.amazonaws.fis#TargetResourceTypeSummaryList", + "traits": { + "smithy.api#documentation": "

The target resource types.

" + } + }, + "nextToken": { + "target": "com.amazonaws.fis#NextToken", + "traits": { + "smithy.api#documentation": "

The token to use to retrieve the next page of results. This value is null when there are no more results to return.

" + } + } + } + }, "com.amazonaws.fis#NextToken": { "type": "string", "traits": { @@ -2039,16 +2242,6 @@ "smithy.api#httpError": 404 } }, - "com.amazonaws.fis#ResourceType": { - "type": "string", - "traits": { - "smithy.api#length": { - "min": 0, - "max": 64 - }, - "smithy.api#pattern": "^[\\S]+$" - } - }, "com.amazonaws.fis#RoleArn": { "type": "string", "traits": { @@ -2296,6 +2489,42 @@ } }, "com.amazonaws.fis#TargetResourceType": { + "type": "structure", + "members": { + "resourceType": { + "target": "com.amazonaws.fis#TargetResourceTypeId", + "traits": { + "smithy.api#documentation": "

The resource type.

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

A description of the resource type.

" + } + }, + "parameters": { + "target": "com.amazonaws.fis#TargetResourceTypeParameterMap", + "traits": { + "smithy.api#documentation": "

The parameters for the resource type.

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

Describes a resource type.

" + } + }, + "com.amazonaws.fis#TargetResourceTypeDescription": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 512 + }, + "smithy.api#pattern": "^[\\s\\S]+$" + } + }, + "com.amazonaws.fis#TargetResourceTypeId": { "type": "string", "traits": { "smithy.api#length": { @@ -2305,6 +2534,85 @@ "smithy.api#pattern": "^[\\S]+$" } }, + "com.amazonaws.fis#TargetResourceTypeParameter": { + "type": "structure", + "members": { + "description": { + "target": "com.amazonaws.fis#TargetResourceTypeParameterDescription", + "traits": { + "smithy.api#documentation": "

A description of the parameter.

" + } + }, + "required": { + "target": "com.amazonaws.fis#TargetResourceTypeParameterRequired", + "traits": { + "smithy.api#box": {}, + "smithy.api#documentation": "

Indicates whether the parameter is required.

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

Describes the parameters for a resource type. Use parameters to determine which tasks are\n identified during target resolution.

" + } + }, + "com.amazonaws.fis#TargetResourceTypeParameterDescription": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 512 + }, + "smithy.api#pattern": "^[\\s\\S]+$" + } + }, + "com.amazonaws.fis#TargetResourceTypeParameterMap": { + "type": "map", + "key": { + "target": "com.amazonaws.fis#TargetResourceTypeParameterName" + }, + "value": { + "target": "com.amazonaws.fis#TargetResourceTypeParameter" + } + }, + "com.amazonaws.fis#TargetResourceTypeParameterName": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 64 + }, + "smithy.api#pattern": "^[\\S]+$" + } + }, + "com.amazonaws.fis#TargetResourceTypeParameterRequired": { + "type": "boolean" + }, + "com.amazonaws.fis#TargetResourceTypeSummary": { + "type": "structure", + "members": { + "resourceType": { + "target": "com.amazonaws.fis#TargetResourceTypeId", + "traits": { + "smithy.api#documentation": "

The resource type.

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

A description of the resource type.

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

Describes a resource type.

" + } + }, + "com.amazonaws.fis#TargetResourceTypeSummaryList": { + "type": "list", + "member": { + "target": "com.amazonaws.fis#TargetResourceTypeSummary" + } + }, "com.amazonaws.fis#UntagResource": { "type": "operation", "input": { @@ -2506,9 +2814,9 @@ "type": "structure", "members": { "resourceType": { - "target": "com.amazonaws.fis#ResourceType", + "target": "com.amazonaws.fis#TargetResourceTypeId", "traits": { - "smithy.api#documentation": "

The Amazon Web Services resource type. The resource type must be supported for the specified action.

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

The resource type. The resource type must be supported for the specified action.

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

Scopes the identified resources to a specific count or percentage.

", "smithy.api#required": {} } + }, + "parameters": { + "target": "com.amazonaws.fis#ExperimentTemplateTargetParameterMap", + "traits": { + "smithy.api#documentation": "

The resource type parameters.

" + } } }, "traits": { diff --git a/codegen/sdk-codegen/aws-models/gamelift.2015-10-01.json b/codegen/sdk-codegen/aws-models/gamelift.2015-10-01.json index e48579ce58e..f9a27e38b33 100644 --- a/codegen/sdk-codegen/aws-models/gamelift.2015-10-01.json +++ b/codegen/sdk-codegen/aws-models/gamelift.2015-10-01.json @@ -214,7 +214,7 @@ "SL": { "target": "com.amazonaws.gamelift#StringList", "traits": { - "smithy.api#documentation": "

For a list of up to 10 strings. Maximum length for each string is 100 characters.\n Duplicate values are not recognized; all occurrences of the repeated value after the\n first of a repeated value are ignored.

" + "smithy.api#documentation": "

For a list of up to 100 strings. Maximum length for each string is 100 characters.\n Duplicate values are not recognized; all occurrences of the repeated value after the\n first of a repeated value are ignored.

" } }, "SDM": { @@ -244,13 +244,13 @@ "AccessKeyId": { "target": "com.amazonaws.gamelift#NonEmptyString", "traits": { - "smithy.api#documentation": "

Temporary key allowing access to the Amazon GameLift S3 account.

" + "smithy.api#documentation": "

Temporary key allowing access to the Amazon Web Services S3 account.

" } }, "SecretAccessKey": { "target": "com.amazonaws.gamelift#NonEmptyString", "traits": { - "smithy.api#documentation": "

Temporary secret key allowing access to the Amazon GameLift S3 account.

" + "smithy.api#documentation": "

Temporary secret key allowing access to the Amazon Web Services S3 account.

" } }, "SessionToken": { @@ -261,7 +261,7 @@ } }, "traits": { - "smithy.api#documentation": "

Temporary access credentials used for uploading game build files to Amazon GameLift. They\n are valid for a limited time. If they expire before you upload your game build, get a\n new set by calling RequestUploadCredentials.

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

Temporary access credentials used for uploading game build files to Amazon Web Services. They\n are valid for a limited time. If they expire before you upload your game build, get a\n new set by calling RequestUploadCredentials.

", "smithy.api#sensitive": {} } }, @@ -341,7 +341,7 @@ "SizeOnDisk": { "target": "com.amazonaws.gamelift#PositiveLong", "traits": { - "smithy.api#documentation": "

File size of the uploaded game build, expressed in bytes. When the build status is\n INITIALIZED, this value is 0.

" + "smithy.api#documentation": "

File size of the uploaded game build, expressed in bytes. When the build status is\n INITIALIZED or when using a custom Amazon S3 storage location, \n this value is 0.

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

Creates an alias for a fleet. In most situations, you can use an alias ID in place of\n a fleet ID. An alias provides a level of abstraction for a fleet that is useful when\n redirecting player traffic from one fleet to another, such as when updating your game\n build.

\n

Amazon GameLift supports two types of routing strategies for aliases: simple and terminal. A\n simple alias points to an active fleet. A terminal alias is used to display messaging or\n link to a URL instead of routing players to an active fleet. For example, you might use\n a terminal alias when a game version is no longer supported and you want to direct\n players to an upgrade site.

\n

To create a fleet alias, specify an alias name, routing strategy, and optional\n description. Each simple alias can point to only one fleet, but a fleet can have\n multiple aliases. If successful, a new alias record is returned, including an alias ID\n and an ARN. You can reassign an alias to another fleet by calling\n UpdateAlias.

\n

\n Related actions\n

\n

\n CreateAlias | \n ListAliases | \n DescribeAlias | \n UpdateAlias | \n DeleteAlias | \n ResolveAlias | \n All APIs by task\n

" + "smithy.api#documentation": "

Creates an alias for a fleet. In most situations, you can use an alias ID in place of\n a fleet ID. An alias provides a level of abstraction for a fleet that is useful when\n redirecting player traffic from one fleet to another, such as when updating your game\n build.

\n

Amazon Web Services supports two types of routing strategies for aliases: simple and terminal. A\n simple alias points to an active fleet. A terminal alias is used to display messaging or\n link to a URL instead of routing players to an active fleet. For example, you might use\n a terminal alias when a game version is no longer supported and you want to direct\n players to an upgrade site.

\n

To create a fleet alias, specify an alias name, routing strategy, and optional\n description. Each simple alias can point to only one fleet, but a fleet can have\n multiple aliases. If successful, a new alias record is returned, including an alias ID\n and an ARN. You can reassign an alias to another fleet by calling\n UpdateAlias.

\n

\n Related actions\n

\n

\n CreateAlias | \n ListAliases | \n DescribeAlias | \n UpdateAlias | \n DeleteAlias | \n ResolveAlias | \n All APIs by task\n

" } }, "com.amazonaws.gamelift#CreateAliasInput": { @@ -594,7 +594,7 @@ "Tags": { "target": "com.amazonaws.gamelift#TagList", "traits": { - "smithy.api#documentation": "

A list of labels to assign to the new alias resource. Tags are developer-defined \n key-value pairs. Tagging\n AWS resources are useful for resource management, access management and cost allocation.\n For more information, see Tagging AWS Resources in the\n AWS General Reference. Once the resource is created, you can\n use TagResource, UntagResource, and \n ListTagsForResource to add, remove, and view tags. The\n maximum tag limit may be lower than stated. See the AWS General Reference for actual \n tagging limits.

" + "smithy.api#documentation": "

A list of labels to assign to the new alias resource. Tags are developer-defined \n key-value pairs. Tagging\n Amazon Web Services resources are useful for resource management, access management and cost allocation.\n For more information, see Tagging Amazon Web Services Resources in the\n Amazon Web Services General Reference. Once the resource is created, you can\n use TagResource, UntagResource, and \n ListTagsForResource to add, remove, and view tags. The\n maximum tag limit may be lower than stated. See the Amazon Web Services General Reference for actual \n tagging limits.

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

Creates a new Amazon GameLift build resource for your game server binary files. Game server\n binaries must be combined into a zip file for use with Amazon GameLift.

\n \n

When setting up a new game build for GameLift, we recommend using the AWS CLI\n command \n upload-build\n . This helper command combines two tasks: (1) it\n uploads your build files from a file directory to a GameLift Amazon S3 location, and (2)\n it creates a new build resource.

\n
\n

The CreateBuild operation can used in the following scenarios:

\n \n

If successful, this operation creates a new build resource with a unique build ID and\n places it in INITIALIZED status. A build must be in READY\n status before you can create fleets with it.

\n

\n Learn more\n

\n

\n Uploading Your\n Game\n

\n

\n Create a Build with Files in Amazon S3\n

\n

\n Related actions\n

\n

\n CreateBuild | \n ListBuilds | \n DescribeBuild | \n UpdateBuild | \n DeleteBuild | \n All APIs by task\n

" + "smithy.api#documentation": "

Creates a new Amazon Web Services build resource for your game server binary files. Game server\n binaries must be combined into a zip file for use with Amazon Web Services.

\n \n

When setting up a new game build for GameLift, we recommend using the Amazon Web Services CLI\n command \n upload-build\n . This helper command combines two tasks: (1) it\n uploads your build files from a file directory to a GameLift Amazon S3 location, and (2)\n it creates a new build resource.

\n
\n

The CreateBuild operation can used in the following scenarios:

\n \n

If successful, this operation creates a new build resource with a unique build ID and\n places it in INITIALIZED status. A build must be in READY\n status before you can create fleets with it.

\n

\n Learn more\n

\n

\n Uploading Your\n Game\n

\n

\n Create a Build with Files in Amazon S3\n

\n

\n Related actions\n

\n

\n CreateBuild | \n ListBuilds | \n DescribeBuild | \n UpdateBuild | \n DeleteBuild | \n All APIs by task\n

" } }, "com.amazonaws.gamelift#CreateBuildInput": { @@ -663,7 +663,7 @@ "StorageLocation": { "target": "com.amazonaws.gamelift#S3Location", "traits": { - "smithy.api#documentation": "

Information indicating where your game build files are stored. Use this parameter only\n when creating a build with files stored in an Amazon S3 bucket that you own. The storage\n location must specify an Amazon S3 bucket name and key. The location must also specify a role\n ARN that you set up to allow Amazon GameLift to access your Amazon S3 bucket. The S3 bucket and your\n new build must be in the same Region.

" + "smithy.api#documentation": "

Information indicating where your game build files are stored. Use this parameter only\n when creating a build with files stored in an Amazon S3 bucket that you own. The storage\n location must specify an Amazon S3 bucket name and key. The location must also specify a role\n ARN that you set up to allow Amazon Web Services to access your Amazon S3 bucket. The S3 bucket and your\n new build must be in the same Region.

\n

If a StorageLocation is specified, the size of your file\n can be found in your Amazon S3 bucket. Amazon Web Services will report a SizeOnDisk of 0. \n

" } }, "OperatingSystem": { @@ -675,7 +675,7 @@ "Tags": { "target": "com.amazonaws.gamelift#TagList", "traits": { - "smithy.api#documentation": "

A list of labels to assign to the new build resource. Tags are developer-defined \n key-value pairs. Tagging\n AWS resources are useful for resource management, access management and cost allocation.\n For more information, see Tagging AWS Resources in the\n AWS General Reference. Once the resource is created, you can\n use TagResource, UntagResource, and \n ListTagsForResource to add, remove, and view tags. The\n maximum tag limit may be lower than stated. See the AWS General Reference for actual \n tagging limits.

" + "smithy.api#documentation": "

A list of labels to assign to the new build resource. Tags are developer-defined \n key-value pairs. Tagging\n Amazon Web Services resources are useful for resource management, access management and cost allocation.\n For more information, see Tagging Amazon Web Services Resources in the\n Amazon Web Services General Reference. Once the resource is created, you can\n use TagResource, UntagResource, and \n ListTagsForResource to add, remove, and view tags. The\n maximum tag limit may be lower than stated. See the Amazon Web Services General Reference for actual \n tagging limits.

" } } }, @@ -695,7 +695,7 @@ "UploadCredentials": { "target": "com.amazonaws.gamelift#AwsCredentials", "traits": { - "smithy.api#documentation": "

This element is returned only when the operation is called without a storage\n location. It contains credentials to use when you are uploading a build file to an Amazon S3\n bucket that is owned by Amazon GameLift. Credentials have a limited life span. To refresh these\n credentials, call RequestUploadCredentials.

" + "smithy.api#documentation": "

This element is returned only when the operation is called without a storage\n location. It contains credentials to use when you are uploading a build file to an Amazon S3\n bucket that is owned by Amazon Web Services. Credentials have a limited life span. To refresh these\n credentials, call RequestUploadCredentials.

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

Creates a fleet of Amazon Elastic Compute Cloud (Amazon EC2) instances to host your\n custom game server or Realtime Servers. Use this operation to configure the computing resources for\n your fleet and provide instructions for running game servers on each instance.

\n

Most GameLift fleets can deploy instances to multiple locations, including the home\n Region (where the fleet is created) and an optional set of remote locations. Fleets that\n are created in the following AWS Regions support multiple locations: us-east-1 (N.\n Virginia), us-west-2 (Oregon), eu-central-1 (Frankfurt), eu-west-1 (Ireland),\n ap-southeast-2 (Sydney), ap-northeast-1 (Tokyo), and ap-northeast-2 (Seoul). Fleets that\n are created in other GameLift Regions can deploy instances in the fleet's home Region\n only. All fleet instances use the same configuration regardless of location; however,\n you can adjust capacity settings and turn auto-scaling on/off for each location.

\n

To create a fleet, choose the hardware for your instances, specify a game server build\n or Realtime script to deploy, and provide a runtime configuration to direct GameLift how\n to start and run game servers on each instance in the fleet. Set permissions for inbound\n traffic to your game servers, and enable optional features as needed. When creating a\n multi-location fleet, provide a list of additional remote locations.

\n \n

If successful, this operation creates a new Fleet resource and places it in\n NEW status, which prompts GameLift to initiate the fleet creation\n workflow. You can track fleet creation by checking fleet status using DescribeFleetAttributes and DescribeFleetLocationAttributes/, or by monitoring fleet creation events\n using DescribeFleetEvents. As soon as the fleet status changes to\n ACTIVE, you can enable automatic scaling for the fleet with PutScalingPolicy and set capacity for the home Region with UpdateFleetCapacity. When the status of each remote location reaches\n ACTIVE, you can set capacity by location using UpdateFleetCapacity.

\n\n \n

\n Learn more\n

\n

\n Setting up fleets\n

\n

\n Debug fleet creation issues\n

\n

\n Multi-location fleets\n

\n

\n Related actions\n

\n

\n CreateFleet | \n UpdateFleetCapacity | \n PutScalingPolicy | \n DescribeEC2InstanceLimits | \n DescribeFleetAttributes | \n DescribeFleetLocationAttributes | \n UpdateFleetAttributes | \n StopFleetActions | \n DeleteFleet | \n All APIs by task\n

" + "smithy.api#documentation": "

Creates a fleet of Amazon Elastic Compute Cloud (Amazon Elastic Compute Cloud) instances to host your\n custom game server or Realtime Servers. Use this operation to configure the computing resources for\n your fleet and provide instructions for running game servers on each instance.

\n

Most GameLift fleets can deploy instances to multiple locations, including the home\n Region (where the fleet is created) and an optional set of remote locations. Fleets that\n are created in the following Amazon Web Services Regions support multiple locations: us-east-1 (N.\n Virginia), us-west-2 (Oregon), eu-central-1 (Frankfurt), eu-west-1 (Ireland),\n ap-southeast-2 (Sydney), ap-northeast-1 (Tokyo), and ap-northeast-2 (Seoul). Fleets that\n are created in other GameLift Regions can deploy instances in the fleet's home Region\n only. All fleet instances use the same configuration regardless of location; however,\n you can adjust capacity settings and turn auto-scaling on/off for each location.

\n

To create a fleet, choose the hardware for your instances, specify a game server build\n or Realtime script to deploy, and provide a runtime configuration to direct GameLift how\n to start and run game servers on each instance in the fleet. Set permissions for inbound\n traffic to your game servers, and enable optional features as needed. When creating a\n multi-location fleet, provide a list of additional remote locations.

\n

If you need to debug your fleet, fetch logs, view performance metrics\n or other actions on the fleet, create the development fleet with port 22/3389 open.\n As a best practice, we recommend opening ports for remote access only when you need them \n and closing them when you're finished.

\n

If successful, this operation creates a new Fleet resource and places it in\n NEW status, which prompts GameLift to initiate the fleet creation\n workflow. You can track fleet creation by checking fleet status using DescribeFleetAttributes and DescribeFleetLocationAttributes/, or by monitoring fleet creation events\n using DescribeFleetEvents. As soon as the fleet status changes to\n ACTIVE, you can enable automatic scaling for the fleet with PutScalingPolicy and set capacity for the home Region with UpdateFleetCapacity. When the status of each remote location reaches\n ACTIVE, you can set capacity by location using UpdateFleetCapacity.

\n\n \n

\n Learn more\n

\n

\n Setting up fleets\n

\n

\n Debug fleet creation issues\n

\n

\n Multi-location fleets\n

\n

\n Related actions\n

\n

\n CreateFleet | \n UpdateFleetCapacity | \n PutScalingPolicy | \n DescribeEC2InstanceLimits | \n DescribeFleetAttributes | \n DescribeFleetLocationAttributes | \n UpdateFleetAttributes | \n StopFleetActions | \n DeleteFleet | \n All APIs by task\n

" } }, "com.amazonaws.gamelift#CreateFleetInput": { @@ -796,7 +796,7 @@ "EC2InstanceType": { "target": "com.amazonaws.gamelift#EC2InstanceType", "traits": { - "smithy.api#documentation": "

The GameLift-supported EC2 instance type to use for all fleet instances. Instance\n type determines the computing resources that will be used to host your game servers,\n including CPU, memory, storage, and networking capacity. See Amazon EC2 Instance Types for detailed descriptions\n of EC2 instance types.

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

The GameLift-supported Amazon EC2 instance type to use for all fleet instances. Instance\n type determines the computing resources that will be used to host your game servers,\n including CPU, memory, storage, and networking capacity. See Amazon Elastic Compute Cloud Instance Types for detailed descriptions\n of Amazon EC2 instance types.

", "smithy.api#required": {} } }, @@ -827,19 +827,19 @@ "MetricGroups": { "target": "com.amazonaws.gamelift#MetricGroupList", "traits": { - "smithy.api#documentation": "

The name of an AWS CloudWatch metric group to add this fleet to. A metric group is\n used to aggregate the metrics for multiple fleets. You can specify an existing metric\n group name or set a new name to create a new metric group. A fleet can be included in\n only one metric group at a time.

" + "smithy.api#documentation": "

The name of an Amazon Web Services CloudWatch metric group to add this fleet to. A metric group is\n used to aggregate the metrics for multiple fleets. You can specify an existing metric\n group name or set a new name to create a new metric group. A fleet can be included in\n only one metric group at a time.

" } }, "PeerVpcAwsAccountId": { "target": "com.amazonaws.gamelift#NonZeroAndMaxString", "traits": { - "smithy.api#documentation": "

Used when peering your GameLift fleet with a VPC, the unique identifier for the AWS\n account that owns the VPC. You can find your account ID in the AWS Management Console under account\n settings.

" + "smithy.api#documentation": "

Used when peering your GameLift fleet with a VPC, the unique identifier for the Amazon Web Services\n account that owns the VPC. You can find your account ID in the Amazon Web Services Management Console under account\n settings.

" } }, "PeerVpcId": { "target": "com.amazonaws.gamelift#NonZeroAndMaxString", "traits": { - "smithy.api#documentation": "

A unique identifier for a VPC with resources to be accessed by your GameLift fleet. The\n VPC must be in the same Region as your fleet. To look up a VPC ID, use the \n VPC Dashboard in the AWS Management Console. \n Learn more about VPC peering in VPC Peering with GameLift Fleets.

" + "smithy.api#documentation": "

A unique identifier for a VPC with resources to be accessed by your GameLift fleet. The\n VPC must be in the same Region as your fleet. To look up a VPC ID, use the \n VPC Dashboard in the Amazon Web Services Management Console. \n Learn more about VPC peering in VPC Peering with GameLift Fleets.

" } }, "FleetType": { @@ -851,25 +851,25 @@ "InstanceRoleArn": { "target": "com.amazonaws.gamelift#NonEmptyString", "traits": { - "smithy.api#documentation": "

A unique identifier for an AWS IAM role that manages access to your AWS services. \n With an instance role ARN set, any application that runs on an instance in this fleet can assume the role, \n including install scripts, server processes, and daemons (background processes). Create a role or look up a role's \n ARN by using the IAM dashboard in the AWS Management Console.\n Learn more about using on-box credentials for your game servers at \n \n Access external resources from a game server. This property cannot be changed after the fleet is created.

" + "smithy.api#documentation": "

A unique identifier for an IAM role that manages access to your Amazon Web Services services. \n With an instance role ARN set, any application that runs on an instance in this fleet can assume the role, \n including install scripts, server processes, and daemons (background processes). Create a role or look up a role's \n ARN by using the IAM dashboard in the Amazon Web Services Management Console.\n Learn more about using on-box credentials for your game servers at \n \n Access external resources from a game server. This property cannot be changed after the fleet is created.

" } }, "CertificateConfiguration": { "target": "com.amazonaws.gamelift#CertificateConfiguration", "traits": { - "smithy.api#documentation": "

Prompts GameLift to generate a TLS/SSL certificate for the fleet. TLS certificates are\n used for encrypting traffic between game clients and the game servers that are running\n on GameLift. By default, the CertificateConfiguration is set to\n DISABLED. Learn more at Securing Client/Server Communication. This property cannot be changed after\n the fleet is created.

\n

Note: This feature requires the AWS Certificate Manager (ACM) service, which is not\n available in all AWS regions. When working in a region that does not support this\n feature, a fleet creation request with certificate generation fails with a 4xx\n error.

" + "smithy.api#documentation": "

Prompts GameLift to generate a TLS/SSL certificate for the fleet. TLS certificates are\n used for encrypting traffic between game clients and the game servers that are running\n on GameLift. By default, the CertificateConfiguration is set to\n DISABLED. This property cannot be changed after the fleet is created.

\n

Note: This feature requires the Amazon Web Services Certificate Manager (ACM) service, which is not\n available in all Amazon Web Services regions. When working in a region that does not support this\n feature, a fleet creation request with certificate generation fails with a 4xx\n error.

" } }, "Locations": { "target": "com.amazonaws.gamelift#LocationConfigurationList", "traits": { - "smithy.api#documentation": "

A set of remote locations to deploy additional instances to and manage as part of the\n fleet. This parameter can only be used when creating fleets in AWS Regions that support\n multiple locations. You can add any GameLift-supported AWS Region as a remote location,\n in the form of an AWS Region code such as us-west-2. To create a fleet with\n instances in the home Region only, omit this parameter.

" + "smithy.api#documentation": "

A set of remote locations to deploy additional instances to and manage as part of the\n fleet. This parameter can only be used when creating fleets in Amazon Web Services Regions that support\n multiple locations. You can add any GameLift-supported Amazon Web Services Region as a remote location,\n in the form of an Amazon Web Services Region code such as us-west-2. To create a fleet with\n instances in the home Region only, omit this parameter.

" } }, "Tags": { "target": "com.amazonaws.gamelift#TagList", "traits": { - "smithy.api#documentation": "

A list of labels to assign to the new fleet resource. Tags are developer-defined\n key-value pairs. Tagging AWS resources are useful for resource management, access\n management and cost allocation. For more information, see Tagging AWS Resources in the\n AWS General Reference. Once the fleet is created, you can use\n TagResource, UntagResource, and ListTagsForResource to add, remove, and view tags. The maximum tag limit\n may be lower than stated. See the AWS General Reference for actual\n tagging limits.

" + "smithy.api#documentation": "

A list of labels to assign to the new fleet resource. Tags are developer-defined\n key-value pairs. Tagging Amazon Web Services resources are useful for resource management, access\n management and cost allocation. For more information, see Tagging Amazon Web Services Resources in the\n Amazon Web Services General Reference. Once the fleet is created, you can use\n TagResource, UntagResource, and ListTagsForResource to add, remove, and view tags. The maximum tag limit\n may be lower than stated. See the Amazon Web Services General Reference for actual\n tagging limits.

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

Adds remote locations to a fleet and begins populating the new locations with EC2\n instances. The new instances conform to the fleet's instance type, auto-scaling, and\n other configuration settings.

\n \n

This operation cannot be used with fleets that don't support remote locations. Fleets\n can have multiple locations only if they reside in AWS Regions that support this\n feature (see CreateFleet for the complete list) and were created\n after the feature was released in March 2021.

\n
\n

To add fleet locations, specify the fleet to be updated and provide a list of one or\n more locations.

\n

If successful, this operation returns the list of added locations with their status set\n to NEW. GameLift initiates the process of starting an instance in each added\n location. You can track the status of each new location by monitoring location creation\n events using DescribeFleetEvents. Alternatively, you can poll location\n status by calling DescribeFleetLocationAttributes. After a location\n status becomes ACTIVE, you can adjust the location's capacity as needed\n with UpdateFleetCapacity.

\n

\n Learn more\n

\n

\n Setting up fleets\n

\n

\n Multi-location fleets\n

\n

\n Related actions\n

\n

\n CreateFleetLocations |\n DescribeFleetLocationAttributes |\n DescribeFleetLocationCapacity | \n DescribeFleetLocationUtilization | \n DescribeFleetAttributes | \n DescribeFleetCapacity | \n DescribeFleetUtilization | \n UpdateFleetCapacity | \n StopFleetActions | \n DeleteFleetLocations | \n All APIs by task\n

" + "smithy.api#documentation": "

Adds remote locations to a fleet and begins populating the new locations with EC2\n instances. The new instances conform to the fleet's instance type, auto-scaling, and\n other configuration settings.

\n \n

This operation cannot be used with fleets that don't support remote locations. Fleets\n can have multiple locations only if they reside in Amazon Web Services Regions that support this\n feature (see CreateFleet for the complete list) and were created\n after the feature was released in March 2021.

\n
\n

To add fleet locations, specify the fleet to be updated and provide a list of one or\n more locations.

\n

If successful, this operation returns the list of added locations with their status set\n to NEW. GameLift initiates the process of starting an instance in each added\n location. You can track the status of each new location by monitoring location creation\n events using DescribeFleetEvents. Alternatively, you can poll location\n status by calling DescribeFleetLocationAttributes. After a location\n status becomes ACTIVE, you can adjust the location's capacity as needed\n with UpdateFleetCapacity.

\n

\n Learn more\n

\n

\n Setting up fleets\n

\n

\n Multi-location fleets\n

\n

\n Related actions\n

\n

\n CreateFleetLocations |\n DescribeFleetLocationAttributes |\n DescribeFleetLocationCapacity | \n DescribeFleetLocationUtilization | \n DescribeFleetAttributes | \n DescribeFleetCapacity | \n DescribeFleetUtilization | \n UpdateFleetCapacity | \n StopFleetActions | \n DeleteFleetLocations | \n All APIs by task\n

" } }, "com.amazonaws.gamelift#CreateFleetLocationsInput": { @@ -922,7 +922,7 @@ "Locations": { "target": "com.amazonaws.gamelift#LocationConfigurationList", "traits": { - "smithy.api#documentation": "

A list of locations to deploy additional instances to and manage as part of the fleet.\n You can add any GameLift-supported AWS Region as a remote location, in the form of an AWS\n Region code such as us-west-2.

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

A list of locations to deploy additional instances to and manage as part of the fleet.\n You can add any GameLift-supported Amazon Web Services Region as a remote location, in the form of an Amazon Web Services\n Region code such as us-west-2.

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

\n This operation is used with the GameLift FleetIQ solution and game server groups.\n

\n

Creates a GameLift FleetIQ game server group for managing game hosting on a collection of\n Amazon EC2 instances for game hosting. This operation creates the game server group,\n creates an Auto Scaling group in your AWS account, and establishes a link between the\n two groups. You can view the status of your game server groups in the GameLift console.\n Game server group metrics and events are emitted to Amazon CloudWatch.

\n

Before creating a new game server group, you must have the following:

\n \n

To create a new game server group, specify a unique group name, IAM role and Amazon EC2\n launch template, and provide a list of instance types that can be used in the group. You\n must also set initial maximum and minimum limits on the group's instance count. You can\n optionally set an Auto Scaling policy with target tracking based on a GameLift FleetIQ\n metric.

\n

Once the game server group and corresponding Auto Scaling group are created, you have\n full access to change the Auto Scaling group's configuration as needed. Several\n properties that are set when creating a game server group, including maximum/minimum\n size and auto-scaling policy settings, must be updated directly in the Auto Scaling\n group. Keep in mind that some Auto Scaling group properties are periodically updated by\n GameLift FleetIQ as part of its balancing activities to optimize for availability and\n cost.

\n

\n Learn more\n

\n

\n GameLift FleetIQ Guide\n

\n \n

\n Related actions\n

\n

\n CreateGameServerGroup | \n ListGameServerGroups | \n DescribeGameServerGroup | \n UpdateGameServerGroup | \n DeleteGameServerGroup | \n ResumeGameServerGroup | \n SuspendGameServerGroup | \n DescribeGameServerInstances | \n All APIs by task\n

" + "smithy.api#documentation": "

\n This operation is used with the GameLift FleetIQ solution and game server groups.\n

\n

Creates a GameLift FleetIQ game server group for managing game hosting on a collection of\n Amazon Elastic Compute Cloud instances for game hosting. This operation creates the game server group,\n creates an Auto Scaling group in your Amazon Web Services account, and establishes a link between the\n two groups. You can view the status of your game server groups in the GameLift console.\n Game server group metrics and events are emitted to Amazon CloudWatch.

\n

Before creating a new game server group, you must have the following:

\n \n

To create a new game server group, specify a unique group name, IAM role and Amazon Elastic Compute Cloud\n launch template, and provide a list of instance types that can be used in the group. You\n must also set initial maximum and minimum limits on the group's instance count. You can\n optionally set an Auto Scaling policy with target tracking based on a GameLift FleetIQ\n metric.

\n

Once the game server group and corresponding Auto Scaling group are created, you have\n full access to change the Auto Scaling group's configuration as needed. Several\n properties that are set when creating a game server group, including maximum/minimum\n size and auto-scaling policy settings, must be updated directly in the Auto Scaling\n group. Keep in mind that some Auto Scaling group properties are periodically updated by\n GameLift FleetIQ as part of its balancing activities to optimize for availability and\n cost.

\n

\n Learn more\n

\n

\n GameLift FleetIQ Guide\n

\n \n

\n Related actions\n

\n

\n CreateGameServerGroup | \n ListGameServerGroups | \n DescribeGameServerGroup | \n UpdateGameServerGroup | \n DeleteGameServerGroup | \n ResumeGameServerGroup | \n SuspendGameServerGroup | \n DescribeGameServerInstances | \n All APIs by task\n

" } }, "com.amazonaws.gamelift#CreateGameServerGroupInput": { @@ -1012,49 +1012,49 @@ "GameServerGroupName": { "target": "com.amazonaws.gamelift#GameServerGroupName", "traits": { - "smithy.api#documentation": "

An identifier for the new game server group. This value is used to generate unique ARN\n identifiers for the EC2 Auto Scaling group and the GameLift FleetIQ game server group. The name\n must be unique per Region per AWS account.

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

An identifier for the new game server group. This value is used to generate unique ARN\n identifiers for the Amazon EC2 Auto Scaling group and the GameLift FleetIQ game server group. The name\n must be unique per Region per Amazon Web Services account.

", "smithy.api#required": {} } }, "RoleArn": { "target": "com.amazonaws.gamelift#IamRoleArn", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) for an IAM role that\n allows Amazon GameLift to access your EC2 Auto Scaling groups.

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

The Amazon Resource Name (ARN) for an IAM role that\n allows Amazon Web Services to access your Amazon EC2 Auto Scaling groups.

", "smithy.api#required": {} } }, "MinSize": { "target": "com.amazonaws.gamelift#WholeNumber", "traits": { - "smithy.api#documentation": "

The minimum number of instances allowed in the EC2 Auto Scaling group. During\n automatic scaling events, GameLift FleetIQ and EC2 do not scale down the group below this\n minimum. In production, this value should be set to at least 1. After the Auto Scaling\n group is created, update this value directly in the Auto Scaling group using the AWS\n console or APIs.

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

The minimum number of instances allowed in the Amazon EC2 Auto Scaling group. During\n automatic scaling events, GameLift FleetIQ and Amazon EC2 do not scale down the group below this\n minimum. In production, this value should be set to at least 1. After the Auto Scaling\n group is created, update this value directly in the Auto Scaling group using the Amazon Web Services\n console or APIs.

", "smithy.api#required": {} } }, "MaxSize": { "target": "com.amazonaws.gamelift#PositiveInteger", "traits": { - "smithy.api#documentation": "

The maximum number of instances allowed in the EC2 Auto Scaling group. During\n automatic scaling events, GameLift FleetIQ and EC2 do not scale up the group above this maximum.\n After the Auto Scaling group is created, update this value directly in the Auto Scaling\n group using the AWS console or APIs.

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

The maximum number of instances allowed in the Amazon EC2 Auto Scaling group. During\n automatic scaling events, GameLift FleetIQ and EC2 do not scale up the group above this maximum.\n After the Auto Scaling group is created, update this value directly in the Auto Scaling\n group using the Amazon Web Services console or APIs.

", "smithy.api#required": {} } }, "LaunchTemplate": { "target": "com.amazonaws.gamelift#LaunchTemplateSpecification", "traits": { - "smithy.api#documentation": "

The EC2 launch template that contains configuration settings and game server code to\n be deployed to all instances in the game server group. You can specify the template\n using either the template name or ID. For help with creating a launch template, see\n Creating a Launch\n Template for an Auto Scaling Group in the Amazon EC2 Auto Scaling\n User Guide. After the Auto Scaling group is created, update this value\n directly in the Auto Scaling group using the AWS console or APIs.

\n \n

If you specify network interfaces in your launch template, you must explicitly set\n the property AssociatePublicIpAddress to \"true\". If no network\n interface is specified in the launch template, GameLift FleetIQ uses your account's default\n VPC.

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

The Amazon EC2 launch template that contains configuration settings and game server code to\n be deployed to all instances in the game server group. You can specify the template\n using either the template name or ID. For help with creating a launch template, see\n Creating a Launch\n Template for an Auto Scaling Group in the Amazon Elastic Compute Cloud Auto Scaling\n User Guide. After the Auto Scaling group is created, update this value\n directly in the Auto Scaling group using the Amazon Web Services console or APIs.

\n \n

If you specify network interfaces in your launch template, you must explicitly set\n the property AssociatePublicIpAddress to \"true\". If no network\n interface is specified in the launch template, GameLift FleetIQ uses your account's default\n VPC.

\n
", "smithy.api#required": {} } }, "InstanceDefinitions": { "target": "com.amazonaws.gamelift#InstanceDefinitions", "traits": { - "smithy.api#documentation": "

The EC2 instance types and sizes to use in the Auto Scaling group. The instance\n definitions must specify at least two different instance types that are supported by\n GameLift FleetIQ. For more information on instance types, see EC2 Instance Types in the\n Amazon EC2 User Guide. You can optionally specify capacity\n weighting for each instance type. If no weight value is specified for an instance type,\n it is set to the default value \"1\". For more information about capacity weighting, see\n Instance Weighting for\n Amazon EC2 Auto Scaling in the Amazon EC2 Auto Scaling User Guide.

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

The Amazon EC2 instance types and sizes to use in the Auto Scaling group. The instance\n definitions must specify at least two different instance types that are supported by\n GameLift FleetIQ. For more information on instance types, see EC2 Instance Types in the\n Amazon Elastic Compute Cloud User Guide. You can optionally specify capacity\n weighting for each instance type. If no weight value is specified for an instance type,\n it is set to the default value \"1\". For more information about capacity weighting, see\n Instance Weighting for\n Amazon EC2 Auto Scaling in the Amazon EC2 Auto Scaling User Guide.

", "smithy.api#required": {} } }, "AutoScalingPolicy": { "target": "com.amazonaws.gamelift#GameServerGroupAutoScalingPolicy", "traits": { - "smithy.api#documentation": "

Configuration settings to define a scaling policy for the Auto Scaling group that is\n optimized for game hosting. The scaling policy uses the metric\n \"PercentUtilizedGameServers\" to maintain a buffer of idle game servers\n that can immediately accommodate new games and players. After the Auto Scaling group is\n created, update this value directly in the Auto Scaling group using the AWS console or\n APIs.

" + "smithy.api#documentation": "

Configuration settings to define a scaling policy for the Auto Scaling group that is\n optimized for game hosting. The scaling policy uses the metric\n \"PercentUtilizedGameServers\" to maintain a buffer of idle game servers\n that can immediately accommodate new games and players. After the Auto Scaling group is\n created, update this value directly in the Auto Scaling group using the Amazon Web Services console or\n APIs.

" } }, "BalancingStrategy": { @@ -1066,7 +1066,7 @@ "GameServerProtectionPolicy": { "target": "com.amazonaws.gamelift#GameServerProtectionPolicy", "traits": { - "smithy.api#documentation": "

A flag that indicates whether instances in the game server group are protected \n from early termination. Unprotected instances that have active game servers running might \n be terminated during a scale-down event, causing players to be dropped from the game. \n Protected instances cannot be terminated while there are active game servers running except \n in the event of a forced game server group deletion (see ). An exception to this is with Spot \n Instances, which can be terminated by AWS regardless of protection status. This property is set to NO_PROTECTION by default.

" + "smithy.api#documentation": "

A flag that indicates whether instances in the game server group are protected \n from early termination. Unprotected instances that have active game servers running might \n be terminated during a scale-down event, causing players to be dropped from the game. \n Protected instances cannot be terminated while there are active game servers running except \n in the event of a forced game server group deletion (see ). An exception to this is with Spot \n Instances, which can be terminated by Amazon Web Services regardless of protection status. This property is set to NO_PROTECTION by default.

" } }, "VpcSubnets": { @@ -1078,7 +1078,7 @@ "Tags": { "target": "com.amazonaws.gamelift#TagList", "traits": { - "smithy.api#documentation": "

A list of labels to assign to the new game server group resource. Tags are\n developer-defined key-value pairs. Tagging AWS resources is useful for resource\n management, access management, and cost allocation. For more information, see Tagging AWS\n Resources in the AWS General Reference. Once the\n resource is created, you can use TagResource, UntagResource, and ListTagsForResource to add, remove,\n and view tags, respectively. The maximum tag limit may be lower than stated. See the\n AWS General Reference for actual tagging limits.

" + "smithy.api#documentation": "

A list of labels to assign to the new game server group resource. Tags are\n developer-defined key-value pairs. Tagging Amazon Web Services resources is useful for resource\n management, access management, and cost allocation. For more information, see Tagging Amazon Web Services\n Resources in the Amazon Web Services General Reference. Once the\n resource is created, you can use TagResource, UntagResource, and ListTagsForResource to add, remove,\n and view tags, respectively. The maximum tag limit may be lower than stated. See the\n Amazon Web Services General Reference for actual tagging limits.

" } } } @@ -1089,7 +1089,7 @@ "GameServerGroup": { "target": "com.amazonaws.gamelift#GameServerGroup", "traits": { - "smithy.api#documentation": "

The newly created game server group object, including the new ARN value for the GameLift FleetIQ\n game server group and the object's status. The EC2 Auto Scaling group ARN is initially\n null, since the group has not yet been created. This value is added once the game server\n group status reaches ACTIVE.

" + "smithy.api#documentation": "

The newly created game server group object, including the new ARN value for the GameLift FleetIQ\n game server group and the object's status. The Amazon EC2 Auto Scaling group ARN is initially\n null, since the group has not yet been created. This value is added once the game server\n group status reaches ACTIVE.

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

Creates a multiplayer game session for players in a specific fleet location. This\n operation prompts an available server process to start a game session and retrieves\n connection information for the new game session. As an alternative, consider using the\n GameLift game session placement feature with

\n

with StartGameSessionPlacement, which uses FleetIQ algorithms and\n queues to optimize the placement process.

\n

When creating a game session, you specify exactly where you want to place it and\n provide a set of game session configuration settings. The fleet must be in\n ACTIVE status before a game session can be created in it.

\n

This operation can be used in the following ways:

\n \n

If successful, a workflow is initiated to start a new game session. A\n GameSession object is returned containing the game session\n configuration and status. When the status is ACTIVE, game session\n connection information is provided and player sessions can be created for the game\n session. By default, newly created game sessions are open to new players. You can\n restrict new player access by using UpdateGameSession to change the\n game session's player session creation policy.

\n

Game session logs are retained for all active game sessions for 14 days. To access the\n logs, call GetGameSessionLogUrl to download the log files.

\n

\n Available in GameLift Local.\n

\n

\n Learn more\n

\n

\n Start a game session\n

\n

\n Related actions\n

\n

\n CreateGameSession | \n DescribeGameSessions | \n DescribeGameSessionDetails | \n SearchGameSessions | \n UpdateGameSession | \n GetGameSessionLogUrl | \n StartGameSessionPlacement | \n DescribeGameSessionPlacement | \n StopGameSessionPlacement | \n All APIs by task\n

" + "smithy.api#documentation": "

Creates a multiplayer game session for players in a specific fleet location. This\n operation prompts an available server process to start a game session and retrieves\n connection information for the new game session. As an alternative, consider using the\n GameLift game session placement feature with

\n

with StartGameSessionPlacement, which uses FleetIQ algorithms and\n queues to optimize the placement process.

\n

When creating a game session, you specify exactly where you want to place it and\n provide a set of game session configuration settings. The fleet must be in\n ACTIVE status before a game session can be created in it.

\n

This operation can be used in the following ways:

\n \n

If successful, a workflow is initiated to start a new game session. A\n GameSession object is returned containing the game session\n configuration and status. When the status is ACTIVE, game session\n connection information is provided and player sessions can be created for the game\n session. By default, newly created game sessions are open to new players. You can\n restrict new player access by using UpdateGameSession to change the\n game session's player session creation policy.

\n

Game session logs are retained for all active game sessions for 14 days. To access the\n logs, call GetGameSessionLogUrl to download the log files.

\n

\n Available in Amazon Web Services Local.\n

\n

\n Learn more\n

\n

\n Start a game session\n

\n

\n Related actions\n

\n

\n CreateGameSession | \n DescribeGameSessions | \n DescribeGameSessionDetails | \n SearchGameSessions | \n UpdateGameSession | \n GetGameSessionLogUrl | \n StartGameSessionPlacement | \n DescribeGameSessionPlacement | \n StopGameSessionPlacement | \n All APIs by task\n

" } }, "com.amazonaws.gamelift#CreateGameSessionInput": { @@ -1172,7 +1172,7 @@ "GameProperties": { "target": "com.amazonaws.gamelift#GamePropertyList", "traits": { - "smithy.api#documentation": "

A set of custom properties for a game session, formatted as key:value pairs. These properties are passed to a game server process in the \n GameSession object with a request to start a new game session.

" + "smithy.api#documentation": "

A set of custom properties for a game session, formatted as key:value pairs. These properties are passed to a game server process in the \n GameSession object with a request to start a new game session (see Start a Game Session).

" } }, "CreatorId": { @@ -1196,13 +1196,13 @@ "GameSessionData": { "target": "com.amazonaws.gamelift#LargeGameSessionData", "traits": { - "smithy.api#documentation": "

A set of custom game session properties, formatted as a single string value. This data is passed to a game server process in the \n GameSession object with a request to start a new game session.

" + "smithy.api#documentation": "

A set of custom game session properties, formatted as a single string value. This data is passed to a game server process in the \n GameSession object with a request to start a new game session (see Start a Game Session).

" } }, "Location": { "target": "com.amazonaws.gamelift#LocationStringModel", "traits": { - "smithy.api#documentation": "

A fleet's remote location to place the new game session in. If this parameter is not\n set, the new game session is placed in the fleet's home Region. Specify a remote\n location with an AWS Region code such as us-west-2.

" + "smithy.api#documentation": "

A fleet's remote location to place the new game session in. If this parameter is not\n set, the new game session is placed in the fleet's home Region. Specify a remote\n location with an Amazon Web Services Region code such as us-west-2.

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

Creates a placement queue that processes requests for new game sessions. A queue uses\n FleetIQ algorithms to determine the best placement locations and find an\n available game server there, then prompts the game server process to start a new game\n session.

\n

A game session queue is configured with a set of destinations (GameLift fleets or\n aliases), which determine the locations where the queue can place new game sessions.\n These destinations can span multiple fleet types (Spot and On-Demand), instance types,\n and AWS Regions. If the queue includes multi-location fleets, the queue is able to place\n game sessions in all of a fleet's remote locations. You can opt to filter out individual\n locations if needed.

\n

The queue configuration also determines how FleetIQ selects the best available placement\n for a new game session. Before searching for an available game server, FleetIQ first\n prioritizes the queue's destinations and locations, with the best placement locations on\n top. You can set up the queue to use the FleetIQ default prioritization or provide an\n alternate set of priorities.

\n

To create a new queue, provide a name, timeout value, and a list of destinations.\n Optionally, specify a sort configuration and/or a filter, and define a set of latency\n cap policies. You can also include the ARN for an Amazon Simple Notification Service\n (SNS) topic to receive notifications of game session placement activity. Notifications\n using SNS or CloudWatch events is the preferred way to track placement activity.

\n

If successful, a new GameSessionQueue object is returned with an assigned\n queue ARN. New game session requests, which are submitted to the queue with StartGameSessionPlacement or StartMatchmaking,\n reference a queue's name or ARN.

\n

\n Learn more\n

\n

\n \n Design a game session queue\n

\n

\n \n Create a game session queue\n

\n

\n Related actions\n

\n

\n CreateGameSessionQueue | \n DescribeGameSessionQueues | \n UpdateGameSessionQueue | \n DeleteGameSessionQueue | \n All APIs by task\n

" + "smithy.api#documentation": "

Creates a placement queue that processes requests for new game sessions. A queue uses\n FleetIQ algorithms to determine the best placement locations and find an\n available game server there, then prompts the game server process to start a new game\n session.

\n

A game session queue is configured with a set of destinations (GameLift fleets or\n aliases), which determine the locations where the queue can place new game sessions.\n These destinations can span multiple fleet types (Spot and On-Demand), instance types,\n and Amazon Web Services Regions. If the queue includes multi-location fleets, the queue is able to place\n game sessions in all of a fleet's remote locations. You can opt to filter out individual\n locations if needed.

\n

The queue configuration also determines how FleetIQ selects the best available placement\n for a new game session. Before searching for an available game server, FleetIQ first\n prioritizes the queue's destinations and locations, with the best placement locations on\n top. You can set up the queue to use the FleetIQ default prioritization or provide an\n alternate set of priorities.

\n

To create a new queue, provide a name, timeout value, and a list of destinations.\n Optionally, specify a sort configuration and/or a filter, and define a set of latency\n cap policies. You can also include the ARN for an Amazon Simple Notification Service\n (SNS) topic to receive notifications of game session placement activity. Notifications\n using SNS or CloudWatch events is the preferred way to track placement activity.

\n

If successful, a new GameSessionQueue object is returned with an assigned\n queue ARN. New game session requests, which are submitted to queue with\n StartGameSessionPlacement\n or \n StartMatchmaking, \n reference a queue's name or ARN.

\n

\n Learn more\n

\n

\n \n Design a game session queue\n

\n

\n \n Create a game session queue\n

\n

\n Related actions\n

\n

\n CreateGameSessionQueue \n |\n DescribeGameSessionQueues\n | \n UpdateGameSessionQueue\n | \n DeleteGameSessionQueue\n | \n All APIs by task\n

" } }, "com.amazonaws.gamelift#CreateGameSessionQueueInput": { @@ -1287,7 +1287,7 @@ "FilterConfiguration": { "target": "com.amazonaws.gamelift#FilterConfiguration", "traits": { - "smithy.api#documentation": "

A list of locations where a queue is allowed to place new game sessions. Locations \n are specified in the form of AWS Region codes, such as us-west-2. If this parameter is \n not set, game sessions can be placed in any queue location.

" + "smithy.api#documentation": "

A list of locations where a queue is allowed to place new game sessions. Locations \n are specified in the form of Amazon Web Services Region codes, such as us-west-2. If this parameter is \n not set, game sessions can be placed in any queue location.

" } }, "PriorityConfiguration": { @@ -1311,7 +1311,7 @@ "Tags": { "target": "com.amazonaws.gamelift#TagList", "traits": { - "smithy.api#documentation": "

A list of labels to assign to the new game session queue resource. Tags are developer-defined \n key-value pairs. Tagging\n AWS resources are useful for resource management, access management and cost allocation.\n For more information, see Tagging AWS Resources in the\n AWS General Reference. Once the resource is created, you can\n use TagResource, UntagResource, and \n ListTagsForResource to add, remove, and view tags. The\n maximum tag limit may be lower than stated. See the AWS General Reference for actual \n tagging limits.

" + "smithy.api#documentation": "

A list of labels to assign to the new game session queue resource. Tags are developer-defined \n key-value pairs. Tagging\n Amazon Web Services resources are useful for resource management, access management and cost allocation.\n For more information, see Tagging Amazon Web Services Resources in the\n Amazon Web Services General Reference. Once the resource is created, you can\n use TagResource, UntagResource, and \n ListTagsForResource to add, remove, and view tags. The\n maximum tag limit may be lower than stated. See the Amazon Web Services General Reference for actual \n tagging limits.

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

Defines a new matchmaking configuration for use with FlexMatch. Whether your are using\n FlexMatch with GameLift hosting or as a standalone matchmaking service, the matchmaking\n configuration sets out rules for matching players and forming teams. If you're also\n using GameLift hosting, it defines how to start game sessions for each match. Your\n matchmaking system can use multiple configurations to handle different game scenarios.\n All matchmaking requests (StartMatchmaking or StartMatchBackfill) identify the matchmaking configuration to use and\n provide player attributes consistent with that configuration.

\n

To create a matchmaking configuration, you must provide the following: configuration\n name and FlexMatch mode (with or without GameLift hosting); a rule set that specifies how\n to evaluate players and find acceptable matches; whether player acceptance is required;\n and the maximum time allowed for a matchmaking attempt. When using FlexMatch with GameLift\n hosting, you also need to identify the game session queue to use when starting a game\n session for the match.

\n

In addition, you must set up an Amazon Simple Notification Service (SNS) topic to receive matchmaking notifications.\n Provide the topic ARN in the matchmaking configuration. An alternative method,\n continuously polling ticket status with DescribeMatchmaking, is only\n suitable for games in development with low matchmaking usage.

\n

\n Learn more\n

\n

\n \n Design a FlexMatch matchmaker\n

\n

\n \n Set up FlexMatch event notification\n

\n

\n Related actions\n

\n

\n CreateMatchmakingConfiguration | \n DescribeMatchmakingConfigurations | \n UpdateMatchmakingConfiguration | \n DeleteMatchmakingConfiguration | \n CreateMatchmakingRuleSet | \n DescribeMatchmakingRuleSets | \n ValidateMatchmakingRuleSet | \n DeleteMatchmakingRuleSet | \n All APIs by task\n

" + "smithy.api#documentation": "

Defines a new matchmaking configuration for use with FlexMatch. Whether your are using\n FlexMatch with GameLift hosting or as a standalone matchmaking service, the matchmaking\n configuration sets out rules for matching players and forming teams. If you're also\n using GameLift hosting, it defines how to start game sessions for each match. Your\n matchmaking system can use multiple configurations to handle different game scenarios.\n All matchmaking requests (StartMatchmaking or StartMatchBackfill) identify the matchmaking configuration to use and\n provide player attributes consistent with that configuration.

\n

To create a matchmaking configuration, you must provide the following: configuration\n name and FlexMatch mode (with or without GameLift hosting); a rule set that specifies how\n to evaluate players and find acceptable matches; whether player acceptance is required;\n and the maximum time allowed for a matchmaking attempt. When using FlexMatch with GameLift\n hosting, you also need to identify the game session queue to use when starting a game\n session for the match.

\n

In addition, you must set up an Amazon Simple Notification Service topic to receive matchmaking notifications.\n Provide the topic ARN in the matchmaking configuration. An alternative method,\n continuously polling ticket status with DescribeMatchmaking, is only\n suitable for games in development with low matchmaking usage.

\n

\n Learn more\n

\n

\n \n Design a FlexMatch matchmaker\n

\n

\n \n Set up FlexMatch event notification\n

\n

\n Related actions\n

\n

\n CreateMatchmakingConfiguration | \n DescribeMatchmakingConfigurations | \n UpdateMatchmakingConfiguration | \n DeleteMatchmakingConfiguration | \n CreateMatchmakingRuleSet | \n DescribeMatchmakingRuleSets | \n ValidateMatchmakingRuleSet | \n DeleteMatchmakingRuleSet | \n All APIs by task\n

" } }, "com.amazonaws.gamelift#CreateMatchmakingConfigurationInput": { @@ -1459,7 +1459,7 @@ "Tags": { "target": "com.amazonaws.gamelift#TagList", "traits": { - "smithy.api#documentation": "

A list of labels to assign to the new matchmaking configuration resource. Tags are developer-defined \n key-value pairs. Tagging\n AWS resources are useful for resource management, access management and cost allocation.\n For more information, see Tagging AWS Resources in the\n AWS General Reference. Once the resource is created, you can\n use TagResource, UntagResource, and \n ListTagsForResource to add, remove, and view tags. The\n maximum tag limit may be lower than stated. See the AWS General Reference for actual \n tagging limits.

" + "smithy.api#documentation": "

A list of labels to assign to the new matchmaking configuration resource. Tags are developer-defined \n key-value pairs. Tagging\n Amazon Web Services resources are useful for resource management, access management and cost allocation.\n For more information, see Tagging Amazon Web Services Resources in the\n Amazon Web Services General Reference. Once the resource is created, you can\n use TagResource, UntagResource, and \n ListTagsForResource to add, remove, and view tags. The\n maximum tag limit may be lower than stated. See the Amazon Web Services General Reference for actual \n tagging limits.

" } } }, @@ -1527,7 +1527,7 @@ "Tags": { "target": "com.amazonaws.gamelift#TagList", "traits": { - "smithy.api#documentation": "

A list of labels to assign to the new matchmaking rule set resource. Tags are developer-defined \n key-value pairs. Tagging\n AWS resources are useful for resource management, access management and cost allocation.\n For more information, see Tagging AWS Resources in the\n AWS General Reference. Once the resource is created, you can\n use TagResource, UntagResource, and \n ListTagsForResource to add, remove, and view tags. The\n maximum tag limit may be lower than stated. See the AWS General Reference for actual \n tagging limits.

" + "smithy.api#documentation": "

A list of labels to assign to the new matchmaking rule set resource. Tags are developer-defined \n key-value pairs. Tagging\n Amazon Web Services resources are useful for resource management, access management and cost allocation.\n For more information, see Tagging Amazon Web Services Resources in the\n Amazon Web Services General Reference. Once the resource is created, you can\n use TagResource, UntagResource, and \n ListTagsForResource to add, remove, and view tags. The\n maximum tag limit may be lower than stated. See the Amazon Web Services General Reference for actual \n tagging limits.

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

Reserves an open player slot in a game session for a player. New player sessions can be\n created in any game session with an open slot that is in ACTIVE status and\n has a player creation policy of ACCEPT_ALL. You can add a group of players\n to a game session with CreatePlayerSessions.

\n

To create a player session, specify a game session ID, player ID, and optionally a set of\n player data.

\n

If successful, a slot is reserved in the game session for the player and a new PlayerSession object is returned with a player session ID. The player\n references the player session ID when sending a connection request to the game session,\n and the game server can use it to validate the player reservation with the GameLift service. Player\n sessions cannot be updated.

\n

\n Available in Amazon GameLift Local.\n

\n

\n Related actions\n

\n

\n CreatePlayerSession |\n CreatePlayerSessions |\n DescribePlayerSessions |\n StartGameSessionPlacement | \n DescribeGameSessionPlacement |\n All APIs by task\n

" + "smithy.api#documentation": "

Reserves an open player slot in a game session for a player. New player sessions can be\n created in any game session with an open slot that is in ACTIVE status and\n has a player creation policy of ACCEPT_ALL. You can add a group of players\n to a game session with CreatePlayerSessions.

\n

To create a player session, specify a game session ID, player ID, and optionally a set of\n player data.

\n

If successful, a slot is reserved in the game session for the player and a new PlayerSession object is returned with a player session ID. The player\n references the player session ID when sending a connection request to the game session,\n and the game server can use it to validate the player reservation with the GameLift service. Player\n sessions cannot be updated.

\n

The maximum number of players per game session is 200. It is not adjustable.\n

\n

\n Available in Amazon Web Services Local.\n

\n

\n Related actions\n

\n

\n CreatePlayerSession |\n CreatePlayerSessions |\n DescribePlayerSessions |\n StartGameSessionPlacement | \n DescribeGameSessionPlacement |\n All APIs by task\n

" } }, "com.amazonaws.gamelift#CreatePlayerSessionInput": { @@ -1659,7 +1659,7 @@ } ], "traits": { - "smithy.api#documentation": "

Reserves open slots in a game session for a group of players. New player sessions can be\n created in any game session with an open slot that is in ACTIVE status and\n has a player creation policy of ACCEPT_ALL. To add a single player to a\n game session, use CreatePlayerSession.

\n

To create player sessions, specify a game session ID and a list of player IDs. Optionally,\n provide a set of player data for each player ID.

\n

If successful, a slot is reserved in the game session for each player, and new PlayerSession objects are returned with player session IDs. Each player\n references their player session ID when sending a connection request to the game\n session, and the game server can use it to validate the player reservation with the\n GameLift service. Player sessions cannot be updated.

\n

\n Available in Amazon GameLift Local.\n

\n

\n Related actions\n

\n

\n CreatePlayerSession |\n CreatePlayerSessions |\n DescribePlayerSessions |\n StartGameSessionPlacement | \n DescribeGameSessionPlacement |\n All APIs by task\n

" + "smithy.api#documentation": "

Reserves open slots in a game session for a group of players. New player sessions can be\n created in any game session with an open slot that is in ACTIVE status and\n has a player creation policy of ACCEPT_ALL. To add a single player to a\n game session, use CreatePlayerSession.

\n

To create player sessions, specify a game session ID and a list of player IDs. Optionally,\n provide a set of player data for each player ID.

\n

If successful, a slot is reserved in the game session for each player, and new PlayerSession objects are returned with player session IDs. Each player\n references their player session ID when sending a connection request to the game\n session, and the game server can use it to validate the player reservation with the\n GameLift service. Player sessions cannot be updated.

\n

The maximum number of players per game session is 200. It is not adjustable.\n

\n

\n Available in Amazon Web Services Local.\n

\n

\n Related actions\n

\n

\n CreatePlayerSession |\n CreatePlayerSessions |\n DescribePlayerSessions |\n StartGameSessionPlacement | \n DescribeGameSessionPlacement |\n All APIs by task\n

" } }, "com.amazonaws.gamelift#CreatePlayerSessionsInput": { @@ -1682,7 +1682,7 @@ "PlayerDataMap": { "target": "com.amazonaws.gamelift#PlayerDataMap", "traits": { - "smithy.api#documentation": "

Map of string pairs, each specifying a player ID and a set of developer-defined\n information related to the player. Amazon GameLift does not use this data, so it can be formatted\n as needed for use in the game. Any player data strings for player IDs that are not\n included in the PlayerIds parameter are ignored.

" + "smithy.api#documentation": "

Map of string pairs, each specifying a player ID and a set of developer-defined\n information related to the player. Amazon Web Services does not use this data, so it can be formatted\n as needed for use in the game. Any player data strings for player IDs that are not\n included in the PlayerIds parameter are ignored.

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

Creates a new script record for your Realtime Servers script. Realtime scripts are JavaScript that\n provide configuration settings and optional custom game logic for your game. The script\n is deployed when you create a Realtime Servers fleet to host your game sessions. Script logic is\n executed during an active game session.

\n

To create a new script record, specify a script name and provide the script file(s).\n The script files and all dependencies must be zipped into a single file. You can pull\n the zip file from either of these locations:

\n \n

If the call is successful, a new script record is created with a unique script ID. If the \n script file is provided as a local file, the file is uploaded to an Amazon GameLift-owned S3 bucket \n and the script record's storage location reflects this location. If the script file is provided\n as an S3 bucket, Amazon GameLift accesses the file at this storage location as needed for deployment.

\n

\n Learn more\n

\n \n

\n Amazon GameLift Realtime Servers\n

\n

\n Set Up a Role for Amazon GameLift Access\n

\n

\n Related actions\n

\n

\n CreateScript | \n ListScripts | \n DescribeScript | \n UpdateScript | \n DeleteScript | \n All APIs by task\n

" + "smithy.api#documentation": "

Creates a new script record for your Realtime Servers script. Realtime scripts are JavaScript that\n provide configuration settings and optional custom game logic for your game. The script\n is deployed when you create a Realtime Servers fleet to host your game sessions. Script logic is\n executed during an active game session.

\n

To create a new script record, specify a script name and provide the script file(s).\n The script files and all dependencies must be zipped into a single file. You can pull\n the zip file from either of these locations:

\n \n

If the call is successful, a new script record is created with a unique script ID. If the \n script file is provided as a local file, the file is uploaded to an Amazon Web Services-owned S3 bucket \n and the script record's storage location reflects this location. If the script file is provided\n as an S3 bucket, Amazon Web Services accesses the file at this storage location as needed for deployment.

\n

\n Learn more\n

\n \n

\n Amazon Web Services Realtime Servers\n

\n

\n Set Up a Role for Amazon Web Services Access\n

\n

\n Related actions\n

\n

\n CreateScript | \n ListScripts | \n DescribeScript | \n UpdateScript | \n DeleteScript | \n All APIs by task\n

" } }, "com.amazonaws.gamelift#CreateScriptInput": { @@ -1751,19 +1751,19 @@ "StorageLocation": { "target": "com.amazonaws.gamelift#S3Location", "traits": { - "smithy.api#documentation": "

The location of the Amazon S3 bucket where a zipped file containing your Realtime scripts is\n stored. The storage location must specify the Amazon S3 bucket name, the zip file name (the\n \"key\"), and a role ARN that allows Amazon GameLift to access the Amazon S3 storage location. The S3\n bucket must be in the same Region where you want to create a new script. By default,\n Amazon GameLift uploads the latest version of the zip file; if you have S3 object versioning\n turned on, you can use the ObjectVersion parameter to specify an earlier\n version.

" + "smithy.api#documentation": "

The location of the Amazon S3 bucket where a zipped file containing your Realtime scripts is\n stored. The storage location must specify the Amazon S3 bucket name, the zip file name (the\n \"key\"), and a role ARN that allows Amazon Web Services to access the Amazon S3 storage location. The S3\n bucket must be in the same Region where you want to create a new script. By default,\n Amazon Web Services uploads the latest version of the zip file; if you have S3 object versioning\n turned on, you can use the ObjectVersion parameter to specify an earlier\n version.

" } }, "ZipFile": { "target": "com.amazonaws.gamelift#ZipBlob", "traits": { - "smithy.api#documentation": "

A data object containing your Realtime scripts and dependencies as a zip file. The zip\n file can have one or multiple files. Maximum size of a zip file is 5 MB.

\n

When using the AWS CLI tool to create a script, this parameter is set to the zip file name. It must be prepended with the \n string \"fileb://\" to indicate that the file data is a binary object. For example: --zip-file fileb://myRealtimeScript.zip.

" + "smithy.api#documentation": "

A data object containing your Realtime scripts and dependencies as a zip file. The zip\n file can have one or multiple files. Maximum size of a zip file is 5 MB.

\n

When using the Amazon Web Services CLI tool to create a script, this parameter is set to the zip file name. It must be prepended with the \n string \"fileb://\" to indicate that the file data is a binary object. For example: --zip-file fileb://myRealtimeScript.zip.

" } }, "Tags": { "target": "com.amazonaws.gamelift#TagList", "traits": { - "smithy.api#documentation": "

A list of labels to assign to the new script resource. Tags are developer-defined \n key-value pairs. Tagging\n AWS resources are useful for resource management, access management and cost allocation.\n For more information, see Tagging AWS Resources in the\n AWS General Reference. Once the resource is created, you can\n use TagResource, UntagResource, and \n ListTagsForResource to add, remove, and view tags. The\n maximum tag limit may be lower than stated. See the AWS General Reference for actual \n tagging limits.

" + "smithy.api#documentation": "

A list of labels to assign to the new script resource. Tags are developer-defined \n key-value pairs. Tagging\n Amazon Web Services resources are useful for resource management, access management and cost allocation.\n For more information, see Tagging Amazon Web Services Resources in the\n Amazon Web Services General Reference. Once the resource is created, you can\n use TagResource, UntagResource, and \n ListTagsForResource to add, remove, and view tags. The\n maximum tag limit may be lower than stated. See the Amazon Web Services General Reference for actual \n tagging limits.

" } } } @@ -1774,7 +1774,7 @@ "Script": { "target": "com.amazonaws.gamelift#Script", "traits": { - "smithy.api#documentation": "

The newly created script record with a unique script ID and ARN. The new script's\n storage location reflects an Amazon S3 location: (1) If the script was uploaded from an S3\n bucket under your account, the storage location reflects the information that was\n provided in the CreateScript request; (2) If the script file was\n uploaded from a local zip file, the storage location reflects an S3 location controls by\n the Amazon GameLift service.

" + "smithy.api#documentation": "

The newly created script record with a unique script ID and ARN. The new script's\n storage location reflects an Amazon S3 location: (1) If the script was uploaded from an S3\n bucket under your account, the storage location reflects the information that was\n provided in the CreateScript request; (2) If the script file was\n uploaded from a local zip file, the storage location reflects an S3 location controls by\n the Amazon Web Services service.

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

Requests authorization to create or delete a peer connection between the VPC for\n your Amazon GameLift fleet and a virtual private cloud (VPC) in your AWS account. VPC peering enables the game\n servers on your fleet to communicate directly with other AWS resources. Once you've\n received authorization, call CreateVpcPeeringConnection to establish\n the peering connection. For more information, see VPC Peering with Amazon GameLift\n Fleets.

\n

You can peer with VPCs that are owned by any AWS account you have access to,\n including the account that you use to manage your Amazon GameLift fleets. You cannot peer with\n VPCs that are in different Regions.

\n

To request authorization to create a connection, call this operation from the AWS\n account with the VPC that you want to peer to your Amazon GameLift fleet. For example, to\n enable your game servers to retrieve data from a DynamoDB table, use the account that\n manages that DynamoDB resource. Identify the following values: (1) The ID of the VPC\n that you want to peer with, and (2) the ID of the AWS account that you use to manage\n Amazon GameLift. If successful, VPC peering is authorized for the specified VPC.

\n

To request authorization to delete a connection, call this operation from the AWS\n account with the VPC that is peered with your Amazon GameLift fleet. Identify the following\n values: (1) VPC ID that you want to delete the peering connection for, and (2) ID of the\n AWS account that you use to manage Amazon GameLift.

\n

The authorization remains valid for 24 hours unless it is canceled by a call to\n DeleteVpcPeeringAuthorization. You must create or delete the\n peering connection while the authorization is valid.

\n

\n Related actions\n

\n

\n CreateVpcPeeringAuthorization | \n DescribeVpcPeeringAuthorizations | \n DeleteVpcPeeringAuthorization | \n CreateVpcPeeringConnection | \n DescribeVpcPeeringConnections | \n DeleteVpcPeeringConnection | \n All APIs by task\n

" + "smithy.api#documentation": "

Requests authorization to create or delete a peer connection between the VPC for\n your Amazon Web Services fleet and a virtual private cloud (VPC) in your Amazon Web Services account. VPC peering enables the game\n servers on your fleet to communicate directly with other Amazon Web Services resources. Once you've\n received authorization, call CreateVpcPeeringConnection to establish\n the peering connection. For more information, see VPC Peering with Amazon Web Services\n Fleets.

\n

You can peer with VPCs that are owned by any Amazon Web Services account you have access to,\n including the account that you use to manage your Amazon Web Services fleets. You cannot peer with\n VPCs that are in different Regions.

\n

To request authorization to create a connection, call this operation from the Amazon Web Services\n account with the VPC that you want to peer to your Amazon Web Services fleet. For example, to\n enable your game servers to retrieve data from a DynamoDB table, use the account that\n manages that DynamoDB resource. Identify the following values: (1) The ID of the VPC\n that you want to peer with, and (2) the ID of the Amazon Web Services account that you use to manage\n Amazon Web Services. If successful, VPC peering is authorized for the specified VPC.

\n

To request authorization to delete a connection, call this operation from the Amazon Web Services\n account with the VPC that is peered with your Amazon Web Services fleet. Identify the following\n values: (1) VPC ID that you want to delete the peering connection for, and (2) ID of the\n Amazon Web Services account that you use to manage Amazon Web Services.

\n

The authorization remains valid for 24 hours unless it is canceled by a call to\n DeleteVpcPeeringAuthorization. You must create or delete the\n peering connection while the authorization is valid.

\n

\n Related actions\n

\n

\n CreateVpcPeeringAuthorization | \n DescribeVpcPeeringAuthorizations | \n DeleteVpcPeeringAuthorization | \n CreateVpcPeeringConnection | \n DescribeVpcPeeringConnections | \n DeleteVpcPeeringConnection | \n All APIs by task\n

" } }, "com.amazonaws.gamelift#CreateVpcPeeringAuthorizationInput": { @@ -1811,14 +1811,14 @@ "GameLiftAwsAccountId": { "target": "com.amazonaws.gamelift#NonZeroAndMaxString", "traits": { - "smithy.api#documentation": "

A unique identifier for the AWS account that you use to manage your GameLift fleet. \n You can find your Account ID in the AWS Management Console under account settings.

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

A unique identifier for the Amazon Web Services account that you use to manage your GameLift fleet. \n You can find your Account ID in the Amazon Web Services Management Console under account settings.

", "smithy.api#required": {} } }, "PeerVpcId": { "target": "com.amazonaws.gamelift#NonZeroAndMaxString", "traits": { - "smithy.api#documentation": "

A unique identifier for a VPC with resources to be accessed by your GameLift fleet. The\n VPC must be in the same Region as your fleet. To look up a VPC ID, use the \n VPC Dashboard in the AWS Management Console. \n Learn more about VPC peering in VPC Peering with GameLift Fleets.

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

A unique identifier for a VPC with resources to be accessed by your GameLift fleet. The\n VPC must be in the same Region as your fleet. To look up a VPC ID, use the \n VPC Dashboard in the Amazon Web Services Management Console. \n Learn more about VPC peering in VPC Peering with GameLift Fleets.

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

Establishes a VPC peering connection between a virtual private cloud (VPC) in an AWS account with the VPC\n for your Amazon GameLift fleet. VPC peering enables the game servers on your fleet to\n communicate directly with other AWS resources. You can peer with VPCs in any AWS account\n that you have access to, including the account that you use to manage your Amazon GameLift\n fleets. You cannot peer with VPCs that are in different Regions. For more information,\n see VPC Peering with Amazon GameLift Fleets.

\n

Before calling this operation to establish the peering connection, you first need\n to call CreateVpcPeeringAuthorization and identify the VPC you want to\n peer with. Once the authorization for the specified VPC is issued, you have 24 hours to\n establish the connection. These two operations handle all tasks necessary to peer the\n two VPCs, including acceptance, updating routing tables, etc.

\n

To establish the connection, call this operation from the AWS account that is used\n to manage the Amazon GameLift fleets. Identify the following values: (1) The ID of the fleet\n you want to be enable a VPC peering connection for; (2) The AWS account with the VPC\n that you want to peer with; and (3) The ID of the VPC you want to peer with. This\n operation is asynchronous. If successful, a VpcPeeringConnection\n request is created. You can use continuous polling to track the request's status using\n DescribeVpcPeeringConnections, or by monitoring fleet events for\n success or failure using DescribeFleetEvents.

\n

\n Related actions\n

\n

\n CreateVpcPeeringAuthorization | \n DescribeVpcPeeringAuthorizations | \n DeleteVpcPeeringAuthorization | \n CreateVpcPeeringConnection | \n DescribeVpcPeeringConnections | \n DeleteVpcPeeringConnection | \n All APIs by task\n

" + "smithy.api#documentation": "

Establishes a VPC peering connection between a virtual private cloud (VPC) in an Amazon Web Services account with the VPC\n for your Amazon Web Services fleet. VPC peering enables the game servers on your fleet to\n communicate directly with other Amazon Web Services resources. You can peer with VPCs in any Amazon Web Services account\n that you have access to, including the account that you use to manage your Amazon Web Services\n fleets. You cannot peer with VPCs that are in different Regions. For more information,\n see VPC Peering with Amazon Web Services Fleets.

\n

Before calling this operation to establish the peering connection, you first need\n to call CreateVpcPeeringAuthorization and identify the VPC you want to\n peer with. Once the authorization for the specified VPC is issued, you have 24 hours to\n establish the connection. These two operations handle all tasks necessary to peer the\n two VPCs, including acceptance, updating routing tables, etc.

\n

To establish the connection, call this operation from the Amazon Web Services account that is used\n to manage the Amazon Web Services fleets. Identify the following values: (1) The ID of the fleet\n you want to be enable a VPC peering connection for; (2) The Amazon Web Services account with the VPC\n that you want to peer with; and (3) The ID of the VPC you want to peer with. This\n operation is asynchronous. If successful, a VpcPeeringConnection\n request is created. You can use continuous polling to track the request's status using\n DescribeVpcPeeringConnections, or by monitoring fleet events for\n success or failure using DescribeFleetEvents.

\n

\n Related actions\n

\n

\n CreateVpcPeeringAuthorization | \n DescribeVpcPeeringAuthorizations | \n DeleteVpcPeeringAuthorization | \n CreateVpcPeeringConnection | \n DescribeVpcPeeringConnections | \n DeleteVpcPeeringConnection | \n All APIs by task\n

" } }, "com.amazonaws.gamelift#CreateVpcPeeringConnectionInput": { @@ -1873,21 +1873,21 @@ "FleetId": { "target": "com.amazonaws.gamelift#FleetId", "traits": { - "smithy.api#documentation": "

A unique identifier for the fleet. You can use either the fleet ID or ARN value. This tells Amazon GameLift which GameLift\n VPC to peer with.

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

A unique identifier for the fleet. You can use either the fleet ID or ARN value. This tells Amazon Web Services which GameLift\n VPC to peer with.

", "smithy.api#required": {} } }, "PeerVpcAwsAccountId": { "target": "com.amazonaws.gamelift#NonZeroAndMaxString", "traits": { - "smithy.api#documentation": "

A unique identifier for the AWS account with the VPC that you want to peer your\n Amazon GameLift fleet with. You can find your Account ID in the AWS Management Console under account\n settings.

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

A unique identifier for the Amazon Web Services account with the VPC that you want to peer your\n Amazon Web Services fleet with. You can find your Account ID in the Amazon Web Services Management Console under account\n settings.

", "smithy.api#required": {} } }, "PeerVpcId": { "target": "com.amazonaws.gamelift#NonZeroAndMaxString", "traits": { - "smithy.api#documentation": "

A unique identifier for a VPC with resources to be accessed by your GameLift fleet. The\n VPC must be in the same Region as your fleet. To look up a VPC ID, use the \n VPC Dashboard in the AWS Management Console. \n Learn more about VPC peering in VPC Peering with GameLift Fleets.

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

A unique identifier for a VPC with resources to be accessed by your GameLift fleet. The\n VPC must be in the same Region as your fleet. To look up a VPC ID, use the \n VPC Dashboard in the Amazon Web Services Management Console. \n Learn more about VPC peering in VPC Peering with GameLift Fleets.

", "smithy.api#required": {} } } @@ -2077,7 +2077,7 @@ "Locations": { "target": "com.amazonaws.gamelift#LocationList", "traits": { - "smithy.api#documentation": "

The list of fleet locations to delete. Specify locations in the form of an AWS Region code, such as\n us-west-2.

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

The list of fleet locations to delete. Specify locations in the form of an Amazon Web Services Region code, such as\n us-west-2.

", "smithy.api#required": {} } } @@ -2151,7 +2151,7 @@ "DeleteOption": { "target": "com.amazonaws.gamelift#GameServerGroupDeleteOption", "traits": { - "smithy.api#documentation": "

The type of delete to perform. Options include the following:

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

The type of delete to perform. Options include the following:

\n " } } } @@ -2193,7 +2193,7 @@ } ], "traits": { - "smithy.api#documentation": "

Deletes a game session queue. Once a queue is successfully deleted, unfulfilled StartGameSessionPlacement requests that reference the queue will fail.\n To delete a queue, specify the queue name.

\n

\n Learn more\n

\n

\n \n Using Multi-Region Queues\n

\n

\n Related actions\n

\n

\n CreateGameSessionQueue | \n DescribeGameSessionQueues | \n UpdateGameSessionQueue | \n DeleteGameSessionQueue | \n All APIs by task\n

" + "smithy.api#documentation": "

Deletes a game session queue. Once a queue is successfully deleted, unfulfilled \n StartGameSessionPlacement requests that reference the queue will fail.\n To delete a queue, specify the queue name.

\n

\n Learn more\n

\n

\n \n Using Multi-Region Queues\n

\n

\n Related actions\n

\n

\n CreateGameSessionQueue \n |\n DescribeGameSessionQueues\n | \n UpdateGameSessionQueue\n | \n DeleteGameSessionQueue\n | \n All APIs by task\n

" } }, "com.amazonaws.gamelift#DeleteGameSessionQueueInput": { @@ -2382,7 +2382,7 @@ } ], "traits": { - "smithy.api#documentation": "

Deletes a Realtime script. This operation permanently deletes the script record. If\n script files were uploaded, they are also deleted (files stored in an S3 bucket are not\n deleted).

\n

To delete a script, specify the script ID. Before deleting a script, be sure to\n terminate all fleets that are deployed with the script being deleted. Fleet instances\n periodically check for script updates, and if the script record no longer exists, the\n instance will go into an error state and be unable to host game sessions.

\n

\n Learn more\n

\n

\n Amazon GameLift Realtime Servers\n

\n

\n Related actions\n

\n

\n CreateScript | \n ListScripts | \n DescribeScript | \n UpdateScript | \n DeleteScript | \n All APIs by task\n

" + "smithy.api#documentation": "

Deletes a Realtime script. This operation permanently deletes the script record. If\n script files were uploaded, they are also deleted (files stored in an S3 bucket are not\n deleted).

\n

To delete a script, specify the script ID. Before deleting a script, be sure to\n terminate all fleets that are deployed with the script being deleted. Fleet instances\n periodically check for script updates, and if the script record no longer exists, the\n instance will go into an error state and be unable to host game sessions.

\n

\n Learn more\n

\n

\n Amazon Web Services Realtime Servers\n

\n

\n Related actions\n

\n

\n CreateScript | \n ListScripts | \n DescribeScript | \n UpdateScript | \n DeleteScript | \n All APIs by task\n

" } }, "com.amazonaws.gamelift#DeleteScriptInput": { @@ -2429,14 +2429,14 @@ "GameLiftAwsAccountId": { "target": "com.amazonaws.gamelift#NonZeroAndMaxString", "traits": { - "smithy.api#documentation": "

A unique identifier for the AWS account that you use to manage your GameLift fleet. \n You can find your Account ID in the AWS Management Console under account settings.

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

A unique identifier for the Amazon Web Services account that you use to manage your GameLift fleet. \n You can find your Account ID in the Amazon Web Services Management Console under account settings.

", "smithy.api#required": {} } }, "PeerVpcId": { "target": "com.amazonaws.gamelift#NonZeroAndMaxString", "traits": { - "smithy.api#documentation": "

A unique identifier for a VPC with resources to be accessed by your GameLift fleet. The\n VPC must be in the same Region as your fleet. To look up a VPC ID, use the \n VPC Dashboard in the AWS Management Console. \n Learn more about VPC peering in VPC Peering with GameLift Fleets.

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

A unique identifier for a VPC with resources to be accessed by your GameLift fleet. The\n VPC must be in the same Region as your fleet. To look up a VPC ID, use the \n VPC Dashboard in the Amazon Web Services Management Console. \n Learn more about VPC peering in VPC Peering with GameLift Fleets.

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

Removes a VPC peering connection. To delete the connection, you must have a valid\n authorization for the VPC peering connection that you want to delete. You can check for\n an authorization by calling DescribeVpcPeeringAuthorizations or\n request a new one using CreateVpcPeeringAuthorization.

\n

Once a valid authorization exists, call this operation from the AWS account that is\n used to manage the Amazon GameLift fleets. Identify the connection to delete by the connection\n ID and fleet ID. If successful, the connection is removed.

\n

\n Related actions\n

\n

\n CreateVpcPeeringAuthorization | \n DescribeVpcPeeringAuthorizations | \n DeleteVpcPeeringAuthorization | \n CreateVpcPeeringConnection | \n DescribeVpcPeeringConnections | \n DeleteVpcPeeringConnection | \n All APIs by task\n

" + "smithy.api#documentation": "

Removes a VPC peering connection. To delete the connection, you must have a valid\n authorization for the VPC peering connection that you want to delete. You can check for\n an authorization by calling DescribeVpcPeeringAuthorizations or\n request a new one using CreateVpcPeeringAuthorization.

\n

Once a valid authorization exists, call this operation from the Amazon Web Services account that is\n used to manage the Amazon Web Services fleets. Identify the connection to delete by the connection\n ID and fleet ID. If successful, the connection is removed.

\n

\n Related actions\n

\n

\n CreateVpcPeeringAuthorization | \n DescribeVpcPeeringAuthorizations | \n DeleteVpcPeeringAuthorization | \n CreateVpcPeeringConnection | \n DescribeVpcPeeringConnections | \n DeleteVpcPeeringConnection | \n All APIs by task\n

" } }, "com.amazonaws.gamelift#DeleteVpcPeeringConnectionInput": { @@ -2676,7 +2676,7 @@ } ], "traits": { - "smithy.api#documentation": "

The GameLift service limits and current utilization for an AWS Region or location.\n Instance limits control the number of instances, per instance type, per location, that\n your AWS account can use. Learn more at Amazon EC2 Instance Types. The information\n returned includes the maximum number of instances allowed and your account's current\n usage across all fleets. This information can affect your ability to scale your GameLift\n fleets. You can request a limit increase for your account by using the Service limits page in the GameLift console.

\n

Instance limits differ based on whether the instances are deployed in a fleet's home\n Region or in a remote location. For remote locations, limits also differ based on the\n combination of home Region and remote location. All requests must specify an AWS Region\n (either explicitly or as your default settings). To get the limit for a remote location,\n you must also specify the location. For example, the following requests all return\n different results:

\n \n

This operation can be used in the following ways:

\n \n

If successful, an EC2InstanceLimits object is returned with limits and\n usage data for each requested instance type.

\n

\n Learn more\n

\n

\n Setting up GameLift fleets\n

\n \n

\n Related actions\n

\n

\n CreateFleet | \n UpdateFleetCapacity | \n PutScalingPolicy | \n DescribeEC2InstanceLimits | \n DescribeFleetAttributes | \n DescribeFleetLocationAttributes | \n UpdateFleetAttributes | \n StopFleetActions | \n DeleteFleet | \n All APIs by task\n

" + "smithy.api#documentation": "

The GameLift service limits and current utilization for an Amazon Web Services Region or location.\n Instance limits control the number of instances, per instance type, per location, that\n your Amazon Web Services account can use. Learn more at Amazon EC2 Instance Types. The information\n returned includes the maximum number of instances allowed and your account's current\n usage across all fleets. This information can affect your ability to scale your GameLift\n fleets. You can request a limit increase for your account by using the Service limits page in the GameLift console.

\n

Instance limits differ based on whether the instances are deployed in a fleet's home\n Region or in a remote location. For remote locations, limits also differ based on the\n combination of home Region and remote location. All requests must specify an Amazon Web Services Region\n (either explicitly or as your default settings). To get the limit for a remote location,\n you must also specify the location. For example, the following requests all return\n different results:

\n \n

This operation can be used in the following ways:

\n \n

If successful, an EC2InstanceLimits object is returned with limits and\n usage data for each requested instance type.

\n

\n Learn more\n

\n

\n Setting up GameLift fleets\n

\n \n

\n Related actions\n

\n

\n CreateFleet | \n UpdateFleetCapacity | \n PutScalingPolicy | \n DescribeEC2InstanceLimits | \n DescribeFleetAttributes | \n DescribeFleetLocationAttributes | \n UpdateFleetAttributes | \n StopFleetActions | \n DeleteFleet | \n All APIs by task\n

" } }, "com.amazonaws.gamelift#DescribeEC2InstanceLimitsInput": { @@ -2685,13 +2685,13 @@ "EC2InstanceType": { "target": "com.amazonaws.gamelift#EC2InstanceType", "traits": { - "smithy.api#documentation": "

Name of an EC2 instance type that is supported in GameLift. A fleet instance type\n determines the computing resources of each instance in the fleet, including CPU, memory,\n storage, and networking capacity. Do not specify a value for this parameter to retrieve\n limits for all instance types.

" + "smithy.api#documentation": "

Name of an Amazon EC2 instance type that is supported in GameLift. A fleet instance type\n determines the computing resources of each instance in the fleet, including CPU, memory,\n storage, and networking capacity. Do not specify a value for this parameter to retrieve\n limits for all instance types.

" } }, "Location": { "target": "com.amazonaws.gamelift#LocationStringModel", "traits": { - "smithy.api#documentation": "

The name of a remote location to request instance limits for, in the form of an AWS\n Region code such as us-west-2.

" + "smithy.api#documentation": "

The name of a remote location to request instance limits for, in the form of an Amazon Web Services\n Region code such as us-west-2.

" } } }, @@ -3004,7 +3004,7 @@ "Locations": { "target": "com.amazonaws.gamelift#LocationList", "traits": { - "smithy.api#documentation": "

A list of fleet locations to retrieve information for. Specify locations in the form of an AWS Region code, such as\n us-west-2.

" + "smithy.api#documentation": "

A list of fleet locations to retrieve information for. Specify locations in the form of an Amazon Web Services Region code, such as\n us-west-2.

" } }, "Limit": { @@ -3098,7 +3098,7 @@ "Location": { "target": "com.amazonaws.gamelift#LocationStringModel", "traits": { - "smithy.api#documentation": "

The fleet location to retrieve capacity information for. Specify a location in the form of an AWS Region code, such as\n us-west-2.

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

The fleet location to retrieve capacity information for. Specify a location in the form of an Amazon Web Services Region code, such as\n us-west-2.

", "smithy.api#required": {} } } @@ -3163,7 +3163,7 @@ "Location": { "target": "com.amazonaws.gamelift#LocationStringModel", "traits": { - "smithy.api#documentation": "

The fleet location to retrieve utilization information for. Specify a location in the form of an AWS Region code, such as\n us-west-2.

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

The fleet location to retrieve utilization information for. Specify a location in the form of an Amazon Web Services Region code, such as\n us-west-2.

", "smithy.api#required": {} } } @@ -3225,7 +3225,7 @@ "Location": { "target": "com.amazonaws.gamelift#LocationStringModel", "traits": { - "smithy.api#documentation": "

A remote location to check for status of port setting updates. Use the AWS Region code\n format, such as us-west-2.

" + "smithy.api#documentation": "

A remote location to check for status of port setting updates. Use the Amazon Web Services Region code\n format, such as us-west-2.

" } } }, @@ -3263,7 +3263,7 @@ "Location": { "target": "com.amazonaws.gamelift#LocationStringModel", "traits": { - "smithy.api#documentation": "

The requested fleet location, expressed as an AWS Region code, \n such as us-west-2.

" + "smithy.api#documentation": "

The requested fleet location, expressed as an Amazon Web Services Region code, \n such as us-west-2.

" } } }, @@ -3486,7 +3486,7 @@ "InstanceIds": { "target": "com.amazonaws.gamelift#GameServerInstanceIds", "traits": { - "smithy.api#documentation": "

The EC2 instance IDs that you want to retrieve status on. EC2 instance IDs use a\n 17-character format, for example: i-1234567890abcdef0. To retrieve all\n instances in the game server group, leave this parameter empty.

" + "smithy.api#documentation": "

The Amazon EC2 instance IDs that you want to retrieve status on. Amazon EC2 instance IDs use a\n 17-character format, for example: i-1234567890abcdef0. To retrieve all\n instances in the game server group, leave this parameter empty.

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

Retrieves additional game session properties, including the game session protection\n policy in force, a set of one or more game sessions in a specific fleet location. You\n can optionally filter the results by current game session status. Alternatively, use\n SearchGameSessions to request a set of active game sessions that\n are filtered by certain criteria. To retrieve all game session properties, use DescribeGameSessions.

\n

This operation can be used in the following ways:

\n \n

Use the pagination parameters to retrieve results as a set of sequential pages.

\n

If successful, a GameSessionDetail object is returned for each game\n session that matches the request.

\n

\n Learn more\n

\n

\n Find a game session\n

\n

\n Related actions\n

\n

\n CreateGameSession | \n DescribeGameSessions | \n DescribeGameSessionDetails | \n SearchGameSessions | \n UpdateGameSession | \n GetGameSessionLogUrl | \n StartGameSessionPlacement | \n DescribeGameSessionPlacement | \n StopGameSessionPlacement | \n All APIs by task\n

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

Retrieves additional game session properties, including the game session protection\n policy in force, a set of one or more game sessions in a specific fleet location. You\n can optionally filter the results by current game session status. Alternatively, use\n SearchGameSessions to request a set of active game sessions that\n are filtered by certain criteria. To retrieve all game session properties, use DescribeGameSessions.

\n

This operation can be used in the following ways:

\n \n

Use the pagination parameters to retrieve results as a set of sequential pages.

\n

If successful, a GameSessionDetail object is returned for each game\n session that matches the request.

\n

\n Learn more\n

\n

\n Find a game session\n

\n

\n Related actions\n

\n

\n CreateGameSession | \n DescribeGameSessions | \n DescribeGameSessionDetails | \n SearchGameSessions | \n UpdateGameSession | \n GetGameSessionLogUrl | \n StartGameSessionPlacement | \n DescribeGameSessionPlacement | \n StopGameSessionPlacement | \n All APIs by task\n

", "smithy.api#paginated": { "inputToken": "NextToken", "outputToken": "NextToken", @@ -3592,7 +3592,7 @@ "Location": { "target": "com.amazonaws.gamelift#LocationStringModel", "traits": { - "smithy.api#documentation": "

A fleet location to get game sessions for. You can specify a fleet's home Region or a\n remote location. Use the AWS Region code format, such as us-west-2.

" + "smithy.api#documentation": "

A fleet location to get game sessions for. You can specify a fleet's home Region or a\n remote location. Use the Amazon Web Services Region code format, such as us-west-2.

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

Retrieves information, including current status, about a game session placement request.

\n

To get game session placement details, specify the placement ID.

\n

If successful, a GameSessionPlacement object is returned.

\n

\n Related actions\n

\n

\n CreateGameSession | \n DescribeGameSessions | \n DescribeGameSessionDetails | \n SearchGameSessions | \n UpdateGameSession | \n GetGameSessionLogUrl | \n StartGameSessionPlacement | \n DescribeGameSessionPlacement | \n StopGameSessionPlacement | \n All APIs by task\n

" + "smithy.api#documentation": "

Retrieves information, including current status, about a game session placement request.

\n

To get game session placement details, specify the placement ID.

\n

This operation is not designed to be continually called to track game session status. \n This practice can cause you to exceed your API limit, which results in errors. Instead, \n you must configure configure an \n Amazon Simple Notification Service (SNS) topic to receive notifications from FlexMatch or queues. Continuously polling \n with DescribeGameSessionPlacement should only be used for games in development with \n low game session usage.\n

\n \n

If successful, a GameSessionPlacement object is returned.

\n

\n Related actions\n

\n

\n CreateGameSession | \n DescribeGameSessions | \n DescribeGameSessionDetails | \n SearchGameSessions | \n UpdateGameSession | \n GetGameSessionLogUrl | \n StartGameSessionPlacement | \n DescribeGameSessionPlacement | \n StopGameSessionPlacement | \n All APIs by task\n

" } }, "com.amazonaws.gamelift#DescribeGameSessionPlacementInput": { @@ -3716,7 +3716,7 @@ } ], "traits": { - "smithy.api#documentation": "

Retrieves the properties for one or more game session queues. When requesting\n multiple queues, use the pagination parameters to retrieve results as a set of\n sequential pages. If successful, a GameSessionQueue object is returned\n for each requested queue. When specifying a list of queues, objects are returned only\n for queues that currently exist in the Region.

\n

\n Learn more\n

\n

\n \n View Your Queues\n

\n

\n Related actions\n

\n

\n CreateGameSessionQueue | \n DescribeGameSessionQueues | \n UpdateGameSessionQueue | \n DeleteGameSessionQueue | \n All APIs by task\n

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

Retrieves the properties for one or more game session queues. When requesting\n multiple queues, use the pagination parameters to retrieve results as a set of\n sequential pages. If successful, a GameSessionQueue object is returned\n for each requested queue. When specifying a list of queues, objects are returned only\n for queues that currently exist in the Region.

\n

\n Learn more\n

\n

\n \n View Your Queues\n

\n

\n Related actions\n

\n

\n CreateGameSessionQueue \n |\n DescribeGameSessionQueues\n | \n UpdateGameSessionQueue\n | \n DeleteGameSessionQueue\n | \n All APIs by task\n

", "smithy.api#paginated": { "inputToken": "NextToken", "outputToken": "NextToken", @@ -3799,7 +3799,7 @@ } ], "traits": { - "smithy.api#documentation": "

Retrieves a set of one or more game sessions in a specific fleet location. You can\n optionally filter the results by current game session status. Alternatively, use SearchGameSessions to request a set of active game sessions that are\n filtered by certain criteria. To retrieve the protection policy for game sessions, use\n DescribeGameSessionDetails.

\n

This operation can be used in the following ways:

\n \n

Use the pagination parameters to retrieve results as a set of sequential pages.

\n

If successful, a GameSession object is returned for each game session\n that matches the request.

\n

\n Available in GameLift Local.\n

\n

\n Learn more\n

\n

\n Find a game session\n

\n

\n Related actions\n

\n

\n CreateGameSession | \n DescribeGameSessions | \n DescribeGameSessionDetails | \n SearchGameSessions | \n UpdateGameSession | \n GetGameSessionLogUrl | \n StartGameSessionPlacement | \n DescribeGameSessionPlacement | \n StopGameSessionPlacement | \n All APIs by task\n

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

Retrieves a set of one or more game sessions in a specific fleet location. You can\n optionally filter the results by current game session status. Alternatively, use SearchGameSessions to request a set of active game sessions that are\n filtered by certain criteria. To retrieve the protection policy for game sessions, use\n DescribeGameSessionDetails.

\n

This operation is not designed to be continually called to track game session status. \n This practice can cause you to exceed your API limit, which results in errors. Instead, \n you must configure configure an \n Amazon Simple Notification Service (SNS) topic to receive notifications from FlexMatch or queues. Continuously polling \n with DescribeGameSessions should only be used for games in development with \n low game session usage.\n

\n \n

This operation can be used in the following ways:

\n \n

Use the pagination parameters to retrieve results as a set of sequential pages.

\n

If successful, a GameSession object is returned for each game session\n that matches the request.

\n

This operation is not designed to be continually called to track matchmaking ticket\n status. This practice can cause you to exceed your API limit, which results in errors.\n Instead, as a best practice, set up an Amazon Simple Notification Service to receive notifications, and provide\n the topic ARN in the matchmaking configuration. Continuously poling ticket status with\n DescribeGameSessions should only be used for games in development\n with low matchmaking usage.

\n

\n Available in Amazon Web Services Local.\n

\n

\n Learn more\n

\n

\n Find a game session\n

\n

\n Related actions\n

\n

\n CreateGameSession | \n DescribeGameSessions | \n DescribeGameSessionDetails | \n SearchGameSessions | \n UpdateGameSession | \n GetGameSessionLogUrl | \n StartGameSessionPlacement | \n DescribeGameSessionPlacement | \n StopGameSessionPlacement | \n All APIs by task\n

", "smithy.api#paginated": { "inputToken": "NextToken", "outputToken": "NextToken", @@ -3831,7 +3831,7 @@ "Location": { "target": "com.amazonaws.gamelift#LocationStringModel", "traits": { - "smithy.api#documentation": "

A fleet location to get game session details for. You can specify a fleet's home\n Region or a remote location. Use the AWS Region code format, such as\n us-west-2.

" + "smithy.api#documentation": "

A fleet location to get game session details for. You can specify a fleet's home\n Region or a remote location. Use the Amazon Web Services Region code format, such as\n us-west-2.

" } }, "StatusFilter": { @@ -3942,7 +3942,7 @@ "Location": { "target": "com.amazonaws.gamelift#LocationStringModel", "traits": { - "smithy.api#documentation": "

The name of a location to retrieve instance information for, in the form of an AWS\n Region code such as us-west-2.

" + "smithy.api#documentation": "

The name of a location to retrieve instance information for, in the form of an Amazon Web Services\n Region code such as us-west-2.

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

Retrieves one or more matchmaking tickets. Use this operation to retrieve ticket\n information, including--after a successful match is made--connection information for the\n resulting new game session.

\n

To request matchmaking tickets, provide a list of up to 10 ticket IDs. If the\n request is successful, a ticket object is returned for each requested ID that currently\n exists.

\n

This operation is not designed to be continually called to track matchmaking ticket\n status. This practice can cause you to exceed your API limit, which results in errors.\n Instead, as a best practice, set up an Amazon Simple Notification Service (SNS) to receive notifications, and provide\n the topic ARN in the matchmaking configuration. Continuously poling ticket status with\n DescribeMatchmaking should only be used for games in development\n with low matchmaking usage.

\n

\n

\n Learn more\n

\n

\n \n Add FlexMatch to a game client\n

\n

\n \n Set Up FlexMatch event notification\n

\n

\n Related actions\n

\n

\n StartMatchmaking | \n DescribeMatchmaking | \n StopMatchmaking | \n AcceptMatch | \n StartMatchBackfill | \n All APIs by task\n

" + "smithy.api#documentation": "

Retrieves one or more matchmaking tickets. Use this operation to retrieve ticket\n information, including--after a successful match is made--connection information for the\n resulting new game session.

\n

To request matchmaking tickets, provide a list of up to 10 ticket IDs. If the\n request is successful, a ticket object is returned for each requested ID that currently\n exists.

\n

This operation is not designed to be continually called to track matchmaking ticket\n status. This practice can cause you to exceed your API limit, which results in errors.\n Instead, as a best practice, set up an Amazon Simple Notification Service to receive notifications, and provide\n the topic ARN in the matchmaking configuration. Continuously poling ticket status with\n DescribeMatchmaking should only be used for games in development\n with low matchmaking usage.

\n

\n

\n Learn more\n

\n

\n \n Add FlexMatch to a game client\n

\n

\n \n Set Up FlexMatch event notification\n

\n

\n Related actions\n

\n

\n StartMatchmaking | \n DescribeMatchmaking | \n StopMatchmaking | \n AcceptMatch | \n StartMatchBackfill | \n All APIs by task\n

" } }, "com.amazonaws.gamelift#DescribeMatchmakingConfigurations": { @@ -4203,7 +4203,7 @@ } ], "traits": { - "smithy.api#documentation": "

Retrieves properties for one or more player sessions.

\n

This action can be used in the following ways:

\n \n

To request player sessions, specify either a player session ID, game session ID, or player\n ID. You can filter this request by player session status. Use the pagination parameters\n to retrieve results as a set of sequential pages.

\n

If successful, a PlayerSession object is returned for each session that\n matches the request.

\n

\n Available in Amazon GameLift Local.\n

\n

\n Related actions\n

\n

\n CreatePlayerSession |\n CreatePlayerSessions |\n DescribePlayerSessions |\n StartGameSessionPlacement | \n DescribeGameSessionPlacement |\n All APIs by task\n

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

Retrieves properties for one or more player sessions.

\n

This action can be used in the following ways:

\n \n

To request player sessions, specify either a player session ID, game session ID, or player\n ID. You can filter this request by player session status. Use the pagination parameters\n to retrieve results as a set of sequential pages.

\n

If successful, a PlayerSession object is returned for each session that\n matches the request.

\n

\n Available in Amazon Web Services Local.\n

\n

\n Related actions\n

\n

\n CreatePlayerSession |\n CreatePlayerSessions |\n DescribePlayerSessions |\n StartGameSessionPlacement | \n DescribeGameSessionPlacement |\n All APIs by task\n

", "smithy.api#paginated": { "inputToken": "NextToken", "outputToken": "NextToken", @@ -4370,7 +4370,7 @@ "FleetId": { "target": "com.amazonaws.gamelift#FleetIdOrArn", "traits": { - "smithy.api#documentation": "

A unique identifier for the fleet to retrieve scaling policies for. You can use either the fleet ID or ARN\n value.

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

A unique identifier for the fleet for which to retrieve scaling policies. You can use either the fleet ID or ARN\n value.

", "smithy.api#required": {} } }, @@ -4395,7 +4395,7 @@ "Location": { "target": "com.amazonaws.gamelift#LocationStringModel", "traits": { - "smithy.api#documentation": "

\n CONTENT TODO\n

" + "smithy.api#documentation": "

\n The fleet location. If you don't specify this value, the response contains the scaling policies of every location in the fleet.\n

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

Retrieves properties for a Realtime script.

\n

To request a script record, specify the script ID. If successful, an object containing the script properties \n is returned.

\n

\n Learn more\n

\n

\n Amazon GameLift Realtime Servers\n

\n

\n Related actions\n

\n

\n CreateScript | \n ListScripts | \n DescribeScript | \n UpdateScript | \n DeleteScript | \n All APIs by task\n

" + "smithy.api#documentation": "

Retrieves properties for a Realtime script.

\n

To request a script record, specify the script ID. If successful, an object containing the script properties \n is returned.

\n

\n Learn more\n

\n

\n Amazon Web Services Realtime Servers\n

\n

\n Related actions\n

\n

\n CreateScript | \n ListScripts | \n DescribeScript | \n UpdateScript | \n DeleteScript | \n All APIs by task\n

" } }, "com.amazonaws.gamelift#DescribeScriptInput": { @@ -4492,7 +4492,7 @@ } ], "traits": { - "smithy.api#documentation": "

Retrieves valid VPC peering authorizations that are pending for the AWS account.\n This operation returns all VPC peering authorizations and requests for peering. This\n includes those initiated and received by this account.

\n

\n Related actions\n

\n

\n CreateVpcPeeringAuthorization | \n DescribeVpcPeeringAuthorizations | \n DeleteVpcPeeringAuthorization | \n CreateVpcPeeringConnection | \n DescribeVpcPeeringConnections | \n DeleteVpcPeeringConnection | \n All APIs by task\n

" + "smithy.api#documentation": "

Retrieves valid VPC peering authorizations that are pending for the Amazon Web Services account.\n This operation returns all VPC peering authorizations and requests for peering. This\n includes those initiated and received by this account.

\n

\n Related actions\n

\n

\n CreateVpcPeeringAuthorization | \n DescribeVpcPeeringAuthorizations | \n DeleteVpcPeeringAuthorization | \n CreateVpcPeeringConnection | \n DescribeVpcPeeringConnections | \n DeleteVpcPeeringConnection | \n All APIs by task\n

" } }, "com.amazonaws.gamelift#DescribeVpcPeeringAuthorizationsInput": { @@ -4505,7 +4505,7 @@ "VpcPeeringAuthorizations": { "target": "com.amazonaws.gamelift#VpcPeeringAuthorizationList", "traits": { - "smithy.api#documentation": "

A collection of objects that describe all valid VPC peering operations for the\n current AWS account.

" + "smithy.api#documentation": "

A collection of objects that describe all valid VPC peering operations for the\n current Amazon Web Services account.

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

Retrieves information on VPC peering connections. Use this operation to get peering\n information for all fleets or for one specific fleet ID.

\n

To retrieve connection information, call this operation from the AWS account that\n is used to manage the Amazon GameLift fleets. Specify a fleet ID or leave the parameter empty\n to retrieve all connection records. If successful, the retrieved information includes\n both active and pending connections. Active connections identify the IpV4 CIDR block\n that the VPC uses to connect.

\n

\n Related actions\n

\n

\n CreateVpcPeeringAuthorization | \n DescribeVpcPeeringAuthorizations | \n DeleteVpcPeeringAuthorization | \n CreateVpcPeeringConnection | \n DescribeVpcPeeringConnections | \n DeleteVpcPeeringConnection | \n All APIs by task\n

" + "smithy.api#documentation": "

Retrieves information on VPC peering connections. Use this operation to get peering\n information for all fleets or for one specific fleet ID.

\n

To retrieve connection information, call this operation from the Amazon Web Services account that\n is used to manage the Amazon Web Services fleets. Specify a fleet ID or leave the parameter empty\n to retrieve all connection records. If successful, the retrieved information includes\n both active and pending connections. Active connections identify the IpV4 CIDR block\n that the VPC uses to connect.

\n

\n Related actions\n

\n

\n CreateVpcPeeringAuthorization | \n DescribeVpcPeeringAuthorizations | \n DeleteVpcPeeringAuthorization | \n CreateVpcPeeringConnection | \n DescribeVpcPeeringConnections | \n DeleteVpcPeeringConnection | \n All APIs by task\n

" } }, "com.amazonaws.gamelift#DescribeVpcPeeringConnectionsInput": { @@ -4649,7 +4649,7 @@ } }, "traits": { - "smithy.api#documentation": "

Resource capacity settings. Fleet capacity is measured in EC2 instances. Pending and\n terminating counts are non-zero when the fleet capacity is adjusting to a scaling event\n or if access to resources is temporarily affected.

\n

EC2 instance counts are part of FleetCapacity.

" + "smithy.api#documentation": "

Resource capacity settings. Fleet capacity is measured in Amazon EC2 instances. Pending and\n terminating counts are non-zero when the fleet capacity is adjusting to a scaling event\n or if access to resources is temporarily affected.

\n

EC2 instance counts are part of FleetCapacity.

" } }, "com.amazonaws.gamelift#EC2InstanceLimit": { @@ -4658,13 +4658,13 @@ "EC2InstanceType": { "target": "com.amazonaws.gamelift#EC2InstanceType", "traits": { - "smithy.api#documentation": "

The name of an EC2 instance type. See Amazon EC2 Instance Types for detailed\n descriptions.

" + "smithy.api#documentation": "

The name of an Amazon EC2 instance type. See Amazon Elastic Compute Cloud Instance Types for detailed\n descriptions.

" } }, "CurrentInstances": { "target": "com.amazonaws.gamelift#WholeNumber", "traits": { - "smithy.api#documentation": "

The number of instances for the specified type and location that are currently being\n used by the AWS account.

" + "smithy.api#documentation": "

The number of instances for the specified type and location that are currently being\n used by the Amazon Web Services account.

" } }, "InstanceLimit": { @@ -4676,12 +4676,12 @@ "Location": { "target": "com.amazonaws.gamelift#LocationStringModel", "traits": { - "smithy.api#documentation": "

An AWS Region code, such as us-west-2.

" + "smithy.api#documentation": "

An Amazon Web Services Region code, such as us-west-2.

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

The GameLift service limits for an EC2 instance type and current utilization. GameLift\n allows AWS accounts a maximum number of instances, per instance type, per AWS Region or\n location, for use with GameLift. You can request an limit increase for your account by\n using the Service limits page in the GameLift\n console.

\n

\n Related actions\n

\n

\n DescribeEC2InstanceLimits\n

" + "smithy.api#documentation": "

The GameLift service limits for an Amazon EC2 instance type and current utilization. GameLift\n allows Amazon Web Services accounts a maximum number of instances, per instance type, per Amazon Web Services Region or\n location, for use with GameLift. You can request an limit increase for your account by\n using the Service limits page in the GameLift\n console.

\n

\n Related actions\n

\n

\n DescribeEC2InstanceLimits\n

" } }, "com.amazonaws.gamelift#EC2InstanceLimitList": { @@ -5043,7 +5043,7 @@ "EventCode": { "target": "com.amazonaws.gamelift#EventCode", "traits": { - "smithy.api#documentation": "

The type of event being logged.

\n

\n Fleet creation events (ordered by fleet creation activity):\n

\n \n

\n VPC peering events:\n

\n \n

\n Spot instance events:\n

\n \n

\n Other fleet events:\n

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

The type of event being logged.

\n\n \n

\n Fleet state transition events:\n

\n \n \n \n

\n Fleet creation events (ordered by fleet creation activity):\n

\n \n \n \n

\n VPC peering events:\n

\n \n\n \n

\n Spot instance events:\n

\n \n \n \n

\n Spot process events:\n

\n \n \n \n

\n Game session events:\n

\n \n \n \n

\n Other fleet events:\n

\n " } }, "Message": { @@ -5220,7 +5220,7 @@ "AllowedLocations": { "target": "com.amazonaws.gamelift#LocationList", "traits": { - "smithy.api#documentation": "

A list of locations to allow game session placement in, in the form of AWS Region\n codes such as us-west-2.

" + "smithy.api#documentation": "

A list of locations to allow game session placement in, in the form of Amazon Web Services Region\n codes such as us-west-2.

" } } }, @@ -5281,7 +5281,7 @@ "InstanceType": { "target": "com.amazonaws.gamelift#EC2InstanceType", "traits": { - "smithy.api#documentation": "

The EC2 instance type that determines the computing resources of each instance in\n the fleet. Instance type defines the CPU, memory, storage, and networking capacity. See\n Amazon EC2 Instance Types\n for detailed descriptions.

" + "smithy.api#documentation": "

The Amazon EC2 instance type that determines the computing resources of each instance in\n the fleet. Instance type defines the CPU, memory, storage, and networking capacity. See\n Amazon Elastic Compute Cloud Instance Types\n for detailed descriptions.

" } }, "Description": { @@ -5389,7 +5389,7 @@ "InstanceRoleArn": { "target": "com.amazonaws.gamelift#NonEmptyString", "traits": { - "smithy.api#documentation": "

A unique identifier for an AWS IAM role that manages access to your AWS services. \n With an instance role ARN set, any application that runs on an instance in this fleet can assume the role, \n including install scripts, server processes, and daemons (background processes). Create a role or look up a role's \n ARN by using the IAM dashboard in the AWS Management Console.\n Learn more about using on-box credentials for your game servers at \n \n Access external resources from a game server.

" + "smithy.api#documentation": "

A unique identifier for an IAM role that manages access to your Amazon Web Services services. \n With an instance role ARN set, any application that runs on an instance in this fleet can assume the role, \n including install scripts, server processes, and daemons (background processes). Create a role or look up a role's \n ARN by using the IAM dashboard in the Amazon Web Services Management Console.\n Learn more about using on-box credentials for your game servers at \n \n Access external resources from a game server.

" } }, "CertificateConfiguration": { @@ -5427,7 +5427,7 @@ "InstanceType": { "target": "com.amazonaws.gamelift#EC2InstanceType", "traits": { - "smithy.api#documentation": "

The EC2 instance type that is used for all instances in a fleet. The instance type\n determines the computing resources in use, including CPU, memory, storage, and\n networking capacity. See Amazon EC2\n Instance Types for detailed descriptions.

" + "smithy.api#documentation": "

The Amazon EC2 instance type that is used for all instances in a fleet. The instance type\n determines the computing resources in use, including CPU, memory, storage, and\n networking capacity. See Amazon Elastic Compute Cloud\n Instance Types for detailed descriptions.

" } }, "InstanceCounts": { @@ -5439,12 +5439,12 @@ "Location": { "target": "com.amazonaws.gamelift#LocationStringModel", "traits": { - "smithy.api#documentation": "

The fleet location for the instance count information, expressed as an AWS Region\n code, such as us-west-2.

" + "smithy.api#documentation": "

The fleet location for the instance count information, expressed as an Amazon Web Services Region\n code, such as us-west-2.

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

Current resource capacity settings in a specified fleet or location. The location\n value might refer to a fleet's remote location or its home Region.

\n

\n Related actions\n

\n

\n DescribeFleetCapacity | \n DescribeFleetLocationCapacity | \n UpdateFleetCapacity\n

" + "smithy.api#documentation": "

Current resource capacity settings in a specified fleet or location. The location\n value might refer to a fleet's remote location or its home Region.

\n

\n Related actions\n

\n

\n DescribeFleetCapacity\n | \n DescribeFleetLocationCapacity\n | \n UpdateFleetCapacity\n

" } }, "com.amazonaws.gamelift#FleetCapacityExceededException": { @@ -5599,7 +5599,7 @@ "Location": { "target": "com.amazonaws.gamelift#LocationStringModel", "traits": { - "smithy.api#documentation": "

The fleet location for the fleet utilization information, expressed as an AWS Region\n code, such as us-west-2.

" + "smithy.api#documentation": "

The fleet location for the fleet utilization information, expressed as an Amazon Web Services Region\n code, such as us-west-2.

" } } }, @@ -5636,6 +5636,24 @@ }, "com.amazonaws.gamelift#GameLift": { "type": "service", + "traits": { + "aws.api#service": { + "sdkId": "GameLift", + "arnNamespace": "gamelift", + "cloudFormationName": "GameLift", + "cloudTrailEventSource": "gamelift.amazonaws.com", + "endpointPrefix": "gamelift" + }, + "aws.auth#sigv4": { + "name": "gamelift" + }, + "aws.protocols#awsJson1_1": {}, + "smithy.api#documentation": "GameLift Service\n

Amazon Web Services provides solutions for hosting session-based multiplayer game servers in the\n cloud, including tools for deploying, operating, and scaling game servers. Built on Amazon Web Services\n global computing infrastructure, GameLift helps you deliver high-performance,\n high-reliability, low-cost game servers while dynamically scaling your resource usage to\n meet player demand.

\n

\n About GameLift solutions\n

\n

Get more information on these GameLift solutions in the GameLift Developer Guide.

\n \n

\n About this API Reference\n

\n

This reference guide describes the low-level service API for Amazon Web Services. With each topic\n in this guide, you can find links to language-specific SDK guides and the Amazon Web Services CLI\n reference. Useful links:

\n ", + "smithy.api#title": "Amazon GameLift", + "smithy.api#xmlNamespace": { + "uri": "http://gamelift.amazonaws.com/doc/" + } + }, "version": "2015-10-01", "operations": [ { @@ -5923,25 +5941,7 @@ { "target": "com.amazonaws.gamelift#ValidateMatchmakingRuleSet" } - ], - "traits": { - "aws.api#service": { - "sdkId": "GameLift", - "arnNamespace": "gamelift", - "cloudFormationName": "GameLift", - "cloudTrailEventSource": "gamelift.amazonaws.com", - "endpointPrefix": "gamelift" - }, - "aws.auth#sigv4": { - "name": "gamelift" - }, - "aws.protocols#awsJson1_1": {}, - "smithy.api#documentation": "Amazon GameLift Service\n

GameLift provides solutions for hosting session-based multiplayer game servers in the\n cloud, including tools for deploying, operating, and scaling game servers. Built on AWS\n global computing infrastructure, GameLift helps you deliver high-performance,\n high-reliability, low-cost game servers while dynamically scaling your resource usage to\n meet player demand.

\n

\n About GameLift solutions\n

\n

Get more information on these GameLift solutions in the GameLift Developer Guide.

\n \n

\n About this API Reference\n

\n

This reference guide describes the low-level service API for Amazon GameLift. With each topic\n in this guide, you can find links to language-specific SDK guides and the AWS CLI\n reference. Useful links:

\n ", - "smithy.api#title": "Amazon GameLift", - "smithy.api#xmlNamespace": { - "uri": "http://gamelift.amazonaws.com/doc/" - } - } + ] }, "com.amazonaws.gamelift#GameProperty": { "type": "structure", @@ -6013,7 +6013,7 @@ "GameServerId": { "target": "com.amazonaws.gamelift#GameServerId", "traits": { - "smithy.api#documentation": "

A custom string that uniquely identifies the game server. Game server IDs are\n developer-defined and are unique across all game server groups in an AWS\n account.

" + "smithy.api#documentation": "

A custom string that uniquely identifies the game server. Game server IDs are\n developer-defined and are unique across all game server groups in an Amazon Web Services\n account.

" } }, "InstanceId": { @@ -6106,7 +6106,7 @@ "GameServerGroupName": { "target": "com.amazonaws.gamelift#GameServerGroupName", "traits": { - "smithy.api#documentation": "

A developer-defined identifier for the game server group. The name is unique for each\n Region in each AWS account.

" + "smithy.api#documentation": "

A developer-defined identifier for the game server group. The name is unique for each\n Region in each Amazon Web Services account.

" } }, "GameServerGroupArn": { @@ -6118,13 +6118,13 @@ "RoleArn": { "target": "com.amazonaws.gamelift#IamRoleArn", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) for an IAM role that\n allows Amazon GameLift to access your EC2 Auto Scaling groups.

" + "smithy.api#documentation": "

The Amazon Resource Name (ARN) for an IAM role that\n allows Amazon Web Services to access your Amazon EC2 Auto Scaling groups.

" } }, "InstanceDefinitions": { "target": "com.amazonaws.gamelift#InstanceDefinitions", "traits": { - "smithy.api#documentation": "

The set of EC2 instance types that GameLift FleetIQ can use when balancing and automatically\n scaling instances in the corresponding Auto Scaling group.

" + "smithy.api#documentation": "

The set of Amazon EC2 instance types that GameLift FleetIQ can use when balancing and automatically\n scaling instances in the corresponding Auto Scaling group.

" } }, "BalancingStrategy": { @@ -6136,19 +6136,19 @@ "GameServerProtectionPolicy": { "target": "com.amazonaws.gamelift#GameServerProtectionPolicy", "traits": { - "smithy.api#documentation": "

A flag that indicates whether instances in the game server group are protected \n from early termination. Unprotected instances that have active game servers running might \n be terminated during a scale-down event, causing players to be dropped from the game. \n Protected instances cannot be terminated while there are active game servers running except \n in the event of a forced game server group deletion (see ). An exception to this is with Spot \n Instances, which can be terminated by AWS regardless of protection status.

" + "smithy.api#documentation": "

A flag that indicates whether instances in the game server group are protected \n from early termination. Unprotected instances that have active game servers running might \n be terminated during a scale-down event, causing players to be dropped from the game. \n Protected instances cannot be terminated while there are active game servers running except \n in the event of a forced game server group deletion (see ). An exception to this is with Spot \n Instances, which can be terminated by Amazon Web Services regardless of protection status.

" } }, "AutoScalingGroupArn": { "target": "com.amazonaws.gamelift#AutoScalingGroupArn", "traits": { - "smithy.api#documentation": "

A generated unique ID for the EC2 Auto Scaling group that is associated with this\n game server group.

" + "smithy.api#documentation": "

A generated unique ID for the Amazon EC2 Auto Scaling group that is associated with this\n game server group.

" } }, "Status": { "target": "com.amazonaws.gamelift#GameServerGroupStatus", "traits": { - "smithy.api#documentation": "

The current status of the game server group. Possible statuses include:

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

The current status of the game server group. Possible statuses include:

\n " } }, "StatusReason": { @@ -6177,7 +6177,7 @@ } }, "traits": { - "smithy.api#documentation": "

\n This data type is used with the GameLift FleetIQ and game server groups.\n

\n

Properties that describe a game server group resource. A game server group manages\n certain properties related to a corresponding EC2 Auto Scaling group.

\n

A game server group is created by a successful call to\n CreateGameServerGroup and deleted by calling\n DeleteGameServerGroup. Game server group activity can be temporarily\n suspended and resumed by calling SuspendGameServerGroup and\n ResumeGameServerGroup, respectively.

\n

\n Related actions\n

\n

\n CreateGameServerGroup | \n ListGameServerGroups | \n DescribeGameServerGroup | \n UpdateGameServerGroup | \n DeleteGameServerGroup | \n ResumeGameServerGroup | \n SuspendGameServerGroup | \n DescribeGameServerInstances | \n All APIs by task\n

" + "smithy.api#documentation": "

\n This data type is used with the GameLift FleetIQ and game server groups.\n

\n

Properties that describe a game server group resource. A game server group manages\n certain properties related to a corresponding Amazon EC2 Auto Scaling group.

\n

A game server group is created by a successful call to\n CreateGameServerGroup and deleted by calling\n DeleteGameServerGroup. Game server group activity can be temporarily\n suspended and resumed by calling SuspendGameServerGroup and\n ResumeGameServerGroup, respectively.

\n

\n Related actions\n

\n

\n CreateGameServerGroup | \n ListGameServerGroups | \n DescribeGameServerGroup | \n UpdateGameServerGroup | \n DeleteGameServerGroup | \n ResumeGameServerGroup | \n SuspendGameServerGroup | \n DescribeGameServerInstances | \n All APIs by task\n

" } }, "com.amazonaws.gamelift#GameServerGroupAction": { @@ -6700,7 +6700,7 @@ "GameServerGroupName": { "target": "com.amazonaws.gamelift#GameServerGroupName", "traits": { - "smithy.api#documentation": "

A developer-defined identifier for the game server group that includes the game\n server instance. The name is unique for each Region in each AWS account.

" + "smithy.api#documentation": "

A developer-defined identifier for the game server group that includes the game\n server instance. The name is unique for each Region in each Amazon Web Services account.

" } }, "GameServerGroupArn": { @@ -6875,7 +6875,7 @@ "GameProperties": { "target": "com.amazonaws.gamelift#GamePropertyList", "traits": { - "smithy.api#documentation": "

A set of custom properties for a game session, formatted as key:value pairs. These properties are passed to a game server process in the \n GameSession object with a request to start a new game session. You can search for active game sessions based on this custom data\n with SearchGameSessions.

" + "smithy.api#documentation": "

A set of custom properties for a game session, formatted as key:value pairs. These properties are passed to a game server process in the \n GameSession object with a request to start a new game session (see Start a Game Session). You can search for active game sessions based on this custom data\n with SearchGameSessions.

" } }, "IpAddress": { @@ -6911,19 +6911,19 @@ "GameSessionData": { "target": "com.amazonaws.gamelift#LargeGameSessionData", "traits": { - "smithy.api#documentation": "

A set of custom game session properties, formatted as a single string value. This data is passed to a game server process in the \n GameSession object with a request to start a new game session.

" + "smithy.api#documentation": "

A set of custom game session properties, formatted as a single string value. This data is passed to a game server process in the \n GameSession object with a request to start a new game session (see Start a Game Session).

" } }, "MatchmakerData": { "target": "com.amazonaws.gamelift#MatchmakerData", "traits": { - "smithy.api#documentation": "

Information about the matchmaking process that was used to create the game session.\n It is in JSON syntax, formatted as a string. In addition the matchmaking configuration\n used, it contains data on all players assigned to the match, including player attributes\n and team assignments. For more details on matchmaker data, see Match\n Data. Matchmaker data is useful when requesting match backfills, and is\n updated whenever new players are added during a successful backfill (see StartMatchBackfill).

" + "smithy.api#documentation": "

Information about the matchmaking process that was used to create the game session.\n It is in JSON syntax, formatted as a string. In addition the matchmaking configuration\n used, it contains data on all players assigned to the match, including player attributes\n and team assignments. For more details on matchmaker data, see Match\n Data. Matchmaker data is useful when requesting match backfills, and is\n updated whenever new players are added during a successful backfill (see \n StartMatchBackfill).

" } }, "Location": { "target": "com.amazonaws.gamelift#LocationStringModel", "traits": { - "smithy.api#documentation": "

The fleet location where the game session is running. This value might specify the\n fleet's home Region or a remote location. Location is expressed as an AWS Region code\n such as us-west-2.

" + "smithy.api#documentation": "

The fleet location where the game session is running. This value might specify the\n fleet's home Region or a remote location. Location is expressed as an Amazon Web Services Region code\n such as us-west-2.

" } } }, @@ -7092,7 +7092,7 @@ "PlayerLatencies": { "target": "com.amazonaws.gamelift#PlayerLatencyList", "traits": { - "smithy.api#documentation": "

A set of values, expressed in milliseconds, that indicates the amount of latency that a player experiences when connected to AWS Regions.

" + "smithy.api#documentation": "

A set of values, expressed in milliseconds, that indicates the amount of latency that a player experiences when connected to @aws; Regions.

" } }, "StartTime": { @@ -7211,7 +7211,7 @@ "FilterConfiguration": { "target": "com.amazonaws.gamelift#FilterConfiguration", "traits": { - "smithy.api#documentation": "

A list of locations where a queue is allowed to place new game sessions. Locations \n are specified in the form of AWS Region codes, such as us-west-2. If this parameter is \n not set, game sessions can be placed in any queue location.

" + "smithy.api#documentation": "

A list of locations where a queue is allowed to place new game sessions. Locations \n are specified in the form of Amazon Web Services Region codes, such as us-west-2. If this parameter is \n not set, game sessions can be placed in any queue location.

" } }, "PriorityConfiguration": { @@ -7234,7 +7234,7 @@ } }, "traits": { - "smithy.api#documentation": "

Configuration for a game session placement mechanism that processes requests for new\n game sessions. A queue can be used on its own or as part of a matchmaking\n solution.

\n

\n Related actions\n

\n

\n CreateGameSessionQueue | DescribeGameSessionQueues | UpdateGameSessionQueue\n

" + "smithy.api#documentation": "

Configuration for a game session placement mechanism that processes requests for new\n game sessions. A queue can be used on its own or as part of a matchmaking\n solution.

\n

\n Related actions\n

\n

\n CreateGameSessionQueue\n | \n DescribeGameSessionQueues\n | \n UpdateGameSessionQueue\n

" } }, "com.amazonaws.gamelift#GameSessionQueueArn": { @@ -7360,7 +7360,7 @@ } ], "traits": { - "smithy.api#documentation": "

Retrieves the location of stored game session logs for a specified game session.\n When a game session is terminated, GameLift automatically stores the logs in Amazon S3 and\n retains them for 14 days. Use this URL to download the logs.

\n \n

See the AWS Service\n Limits page for maximum log file sizes. Log files that exceed this limit\n are not saved.

\n
\n

\n Related actions\n

\n

\n CreateGameSession | \n DescribeGameSessions | \n DescribeGameSessionDetails | \n SearchGameSessions | \n UpdateGameSession | \n GetGameSessionLogUrl | \n StartGameSessionPlacement | \n DescribeGameSessionPlacement | \n StopGameSessionPlacement | \n All APIs by task\n

" + "smithy.api#documentation": "

Retrieves the location of stored game session logs for a specified game session.\n When a game session is terminated, GameLift automatically stores the logs in Amazon S3 and\n retains them for 14 days. Use this URL to download the logs.

\n \n

See the Amazon Web Services Service\n Limits page for maximum log file sizes. Log files that exceed this limit\n are not saved.

\n
\n

\n Related actions\n

\n

\n CreateGameSession | \n DescribeGameSessions | \n DescribeGameSessionDetails | \n SearchGameSessions | \n UpdateGameSession | \n GetGameSessionLogUrl | \n StartGameSessionPlacement | \n DescribeGameSessionPlacement | \n StopGameSessionPlacement | \n All APIs by task\n

" } }, "com.amazonaws.gamelift#GetGameSessionLogUrlInput": { @@ -7415,7 +7415,7 @@ } ], "traits": { - "smithy.api#documentation": "

Requests remote access to a fleet instance. Remote access is useful for debugging,\n gathering benchmarking data, or observing activity in real time.

\n

To remotely access an instance, you need credentials that match the operating system\n of the instance. For a Windows instance, GameLift returns a user name and password as\n strings for use with a Windows Remote Desktop client. For a Linux instance, GameLift\n returns a user name and RSA private key, also as strings, for use with an SSH client.\n The private key must be saved in the proper format to a .pem file before\n using. If you're making this request using the AWS CLI, saving the secret can be handled\n as part of the GetInstanceAccess request, as shown in one of the examples\n for this operation.

\n

To request access to a specific instance, specify the IDs of both the instance and the\n fleet it belongs to. You can retrieve a fleet's instance IDs by calling DescribeInstances. If successful, an InstanceAccess\n object is returned that contains the instance's IP address and a set of\n credentials.

\n

\n Learn more\n

\n

\n Remotely Access Fleet\n Instances\n

\n

\n Debug Fleet\n Issues\n

\n \n

\n Related actions\n

\n

\n DescribeInstances | \n GetInstanceAccess | \n DescribeEC2InstanceLimits | \n All APIs by task\n

" + "smithy.api#documentation": "

Requests remote access to a fleet instance. Remote access is useful for debugging,\n gathering benchmarking data, or observing activity in real time.

\n

To remotely access an instance, you need credentials that match the operating system\n of the instance. For a Windows instance, GameLift returns a user name and password as\n strings for use with a Windows Remote Desktop client. For a Linux instance, GameLift\n returns a user name and RSA private key, also as strings, for use with an SSH client.\n The private key must be saved in the proper format to a .pem file before\n using. If you're making this request using the CLI, saving the secret can be handled\n as part of the GetInstanceAccess request, as shown in one of the examples\n for this operation.

\n

To request access to a specific instance, specify the IDs of both the instance and the\n fleet it belongs to. You can retrieve a fleet's instance IDs by calling DescribeInstances. If successful, an InstanceAccess\n object is returned that contains the instance's IP address and a set of\n credentials.

\n

\n Learn more\n

\n

\n Remotely Access Fleet\n Instances\n

\n

\n Debug Fleet\n Issues\n

\n \n

\n Related actions\n

\n

\n DescribeInstances | \n GetInstanceAccess | \n DescribeEC2InstanceLimits | \n All APIs by task\n

" } }, "com.amazonaws.gamelift#GetInstanceAccessInput": { @@ -7528,7 +7528,7 @@ "Type": { "target": "com.amazonaws.gamelift#EC2InstanceType", "traits": { - "smithy.api#documentation": "

EC2 instance type that defines the computing resources of this instance.\n

" + "smithy.api#documentation": "

Amazon EC2 instance type that defines the computing resources of this instance.\n

" } }, "Status": { @@ -7546,7 +7546,7 @@ "Location": { "target": "com.amazonaws.gamelift#LocationStringModel", "traits": { - "smithy.api#documentation": "

The fleet location of the instance, expressed as an AWS Region\n code, such as us-west-2.

" + "smithy.api#documentation": "

The fleet location of the instance, expressed as an Amazon Web Services Region\n code, such as us-west-2.

" } } }, @@ -7619,14 +7619,14 @@ "InstanceType": { "target": "com.amazonaws.gamelift#GameServerGroupInstanceType", "traits": { - "smithy.api#documentation": "

An EC2 instance type designation.

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

An Amazon EC2 instance type designation.

", "smithy.api#required": {} } }, "WeightedCapacity": { "target": "com.amazonaws.gamelift#WeightedCapacity", "traits": { - "smithy.api#documentation": "

Instance weighting that indicates how much this instance type contributes to the total\n capacity of a game server group. Instance weights are used by GameLift FleetIQ to calculate the\n instance type's cost per unit hour and better identify the most cost-effective options.\n For detailed information on weighting instance capacity, see Instance\n Weighting in the Amazon EC2 Auto Scaling User Guide.\n Default value is \"1\".

" + "smithy.api#documentation": "

Instance weighting that indicates how much this instance type contributes to the total\n capacity of a game server group. Instance weights are used by GameLift FleetIQ to calculate the\n instance type's cost per unit hour and better identify the most cost-effective options.\n For detailed information on weighting instance capacity, see Instance\n Weighting in the Amazon Elastic Compute Cloud Auto Scaling User Guide.\n Default value is \"1\".

" } } }, @@ -7744,14 +7744,14 @@ "FromPort": { "target": "com.amazonaws.gamelift#PortNumber", "traits": { - "smithy.api#documentation": "

A starting value for a range of allowed port numbers.

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

A starting value for a range of allowed port numbers.

\n

For fleets using Linux builds, only port 22, 443, 1026-60000 are valid.\n For fleets using Windows builds, only port 443, 1026-60000 are valid.

", "smithy.api#required": {} } }, "ToPort": { "target": "com.amazonaws.gamelift#PortNumber", "traits": { - "smithy.api#documentation": "

An ending value for a range of allowed port numbers. Port numbers are end-inclusive.\n This value must be higher than FromPort.

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

An ending value for a range of allowed port numbers. Port numbers are end-inclusive.\n This value must be higher than FromPort.

\n

For fleets using Linux builds, only port 22, 443, 1026-60000 are valid.\n For fleets using Windows builds, only port 443, 1026-60000 are valid.

", "smithy.api#required": {} } }, @@ -7865,24 +7865,24 @@ "LaunchTemplateId": { "target": "com.amazonaws.gamelift#LaunchTemplateId", "traits": { - "smithy.api#documentation": "

A unique identifier for an existing EC2 launch template.

" + "smithy.api#documentation": "

A unique identifier for an existing Amazon EC2 launch template.

" } }, "LaunchTemplateName": { "target": "com.amazonaws.gamelift#LaunchTemplateName", "traits": { - "smithy.api#documentation": "

A readable identifier for an existing EC2 launch template.

" + "smithy.api#documentation": "

A readable identifier for an existing Amazon EC2 launch template.

" } }, "Version": { "target": "com.amazonaws.gamelift#LaunchTemplateVersion", "traits": { - "smithy.api#documentation": "

The version of the EC2 launch template to use. If no version is specified, the\n default version will be used. With Amazon EC2, you can specify a default version for a\n launch template. If none is set, the default is the first version created.

" + "smithy.api#documentation": "

The version of the Amazon EC2 launch template to use. If no version is specified, the\n default version will be used. With Amazon Elastic Compute Cloud, you can specify a default version for a\n launch template. If none is set, the default is the first version created.

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

\n This data type is used with the GameLift FleetIQ and game server groups.\n

\n

An EC2 launch template that contains configuration settings and game server code to\n be deployed to all instances in a game server group. The launch template is specified\n when creating a new game server group with CreateGameServerGroup.

" + "smithy.api#documentation": "

\n This data type is used with the GameLift FleetIQ and game server groups.\n

\n

An Amazon EC2 launch template that contains configuration settings and game server code to\n be deployed to all instances in a game server group. The launch template is specified\n when creating a new game server group with CreateGameServerGroup.

" } }, "com.amazonaws.gamelift#LaunchTemplateVersion": { @@ -7927,7 +7927,7 @@ } ], "traits": { - "smithy.api#documentation": "

Retrieves all aliases for this AWS account. You can filter the result set by\n alias name and/or routing strategy type. Use the pagination parameters to retrieve\n results in sequential pages.

\n \n

Returned aliases are not listed in any particular order.

\n
\n

\n Related actions\n

\n

\n CreateAlias | \n ListAliases | \n DescribeAlias | \n UpdateAlias | \n DeleteAlias | \n ResolveAlias | \n All APIs by task\n

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

Retrieves all aliases for this Amazon Web Services account. You can filter the result set by\n alias name and/or routing strategy type. Use the pagination parameters to retrieve\n results in sequential pages.

\n \n

Returned aliases are not listed in any particular order.

\n
\n

\n Related actions\n

\n

\n CreateAlias | \n ListAliases | \n DescribeAlias | \n UpdateAlias | \n DeleteAlias | \n ResolveAlias | \n All APIs by task\n

", "smithy.api#paginated": { "inputToken": "NextToken", "outputToken": "NextToken", @@ -8007,7 +8007,7 @@ } ], "traits": { - "smithy.api#documentation": "

Retrieves build resources for all builds associated with the AWS account in use. You\n can limit results to builds that are in a specific status by using the\n Status parameter. Use the pagination parameters to retrieve results in\n a set of sequential pages.

\n \n

Build resources are not listed in any particular order.

\n
\n

\n Learn more\n

\n

\n \n Upload a Custom Server Build\n

\n

\n Related actions\n

\n

\n CreateBuild | \n ListBuilds | \n DescribeBuild | \n UpdateBuild | \n DeleteBuild | \n All APIs by task\n

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

Retrieves build resources for all builds associated with the Amazon Web Services account in use. You\n can limit results to builds that are in a specific status by using the\n Status parameter. Use the pagination parameters to retrieve results in\n a set of sequential pages.

\n \n

Build resources are not listed in any particular order.

\n
\n

\n Learn more\n

\n

\n \n Upload a Custom Server Build\n

\n

\n Related actions\n

\n

\n CreateBuild | \n ListBuilds | \n DescribeBuild | \n UpdateBuild | \n DeleteBuild | \n All APIs by task\n

", "smithy.api#paginated": { "inputToken": "NextToken", "outputToken": "NextToken", @@ -8084,7 +8084,7 @@ } ], "traits": { - "smithy.api#documentation": "

Retrieves a collection of fleet resources in an AWS Region. You can call this operation\n to get fleets in a previously selected default Region (see https://docs.aws.amazon.com/credref/latest/refdocs/setting-global-region.htmlor specify a Region in your\n request. You can filter the result set to find only those fleets that are deployed with\n a specific build or script. For fleets that have multiple locations, this operation\n retrieves fleets based on their home Region only.

\n

This operation can be used in the following ways:

\n \n

Use the pagination parameters to retrieve results as a set of sequential pages.

\n

If successful, a list of fleet IDs that match the request parameters is returned. A\n NextToken value is also returned if there are more result pages to retrieve.

\n \n

Fleet resources are not listed in a particular order.

\n
\n

\n Learn more\n

\n

\n Setting up GameLift fleets\n

\n

\n Related actions\n

\n

\n CreateFleet | \n UpdateFleetCapacity | \n PutScalingPolicy | \n DescribeEC2InstanceLimits | \n DescribeFleetAttributes | \n DescribeFleetLocationAttributes | \n UpdateFleetAttributes | \n StopFleetActions | \n DeleteFleet | \n All APIs by task\n

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

Retrieves a collection of fleet resources in an Amazon Web Services Region. You can call this operation\n to get fleets in a previously selected default Region (see https://docs.aws.amazon.com/credref/latest/refdocs/setting-global-region.htmlor specify a Region in your\n request. You can filter the result set to find only those fleets that are deployed with\n a specific build or script. For fleets that have multiple locations, this operation\n retrieves fleets based on their home Region only.

\n

This operation can be used in the following ways:

\n \n

Use the pagination parameters to retrieve results as a set of sequential pages.

\n

If successful, a list of fleet IDs that match the request parameters is returned. A\n NextToken value is also returned if there are more result pages to retrieve.

\n \n

Fleet resources are not listed in a particular order.

\n
\n

\n Learn more\n

\n

\n Setting up GameLift fleets\n

\n

\n Related actions\n

\n

\n CreateFleet | \n UpdateFleetCapacity | \n PutScalingPolicy | \n DescribeEC2InstanceLimits | \n DescribeFleetAttributes | \n DescribeFleetLocationAttributes | \n UpdateFleetAttributes | \n StopFleetActions | \n DeleteFleet | \n All APIs by task\n

", "smithy.api#paginated": { "inputToken": "NextToken", "outputToken": "NextToken", @@ -8164,7 +8164,7 @@ } ], "traits": { - "smithy.api#documentation": "

\n This operation is used with the GameLift FleetIQ solution and game server groups.\n

\n

Retrieves information on all game servers groups that exist in the current AWS\n account for the selected Region. Use the pagination parameters to retrieve results in a\n set of sequential segments.

\n

\n Learn more\n

\n

\n GameLift FleetIQ Guide\n

\n

\n Related actions\n

\n

\n CreateGameServerGroup | \n ListGameServerGroups | \n DescribeGameServerGroup | \n UpdateGameServerGroup | \n DeleteGameServerGroup | \n ResumeGameServerGroup | \n SuspendGameServerGroup | \n DescribeGameServerInstances | \n All APIs by task\n

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

\n This operation is used with the GameLift FleetIQ solution and game server groups.\n

\n

Retrieves information on all game servers groups that exist in the current Amazon Web Services\n account for the selected Region. Use the pagination parameters to retrieve results in a\n set of sequential segments.

\n

\n Learn more\n

\n

\n GameLift FleetIQ Guide\n

\n

\n Related actions\n

\n

\n CreateGameServerGroup | \n ListGameServerGroups | \n DescribeGameServerGroup | \n UpdateGameServerGroup | \n DeleteGameServerGroup | \n ResumeGameServerGroup | \n SuspendGameServerGroup | \n DescribeGameServerInstances | \n All APIs by task\n

", "smithy.api#paginated": { "inputToken": "NextToken", "outputToken": "NextToken", @@ -8301,7 +8301,7 @@ } ], "traits": { - "smithy.api#documentation": "

Retrieves script records for all Realtime scripts that are associated with the AWS account in use.

\n

\n Learn more\n

\n

\n Amazon GameLift Realtime Servers\n

\n

\n Related actions\n

\n

\n CreateScript | \n ListScripts | \n DescribeScript | \n UpdateScript | \n DeleteScript | \n All APIs by task\n

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

Retrieves script records for all Realtime scripts that are associated with the Amazon Web Services account in use.

\n

\n Learn more\n

\n

\n Amazon Web Services Realtime Servers\n

\n

\n Related actions\n

\n

\n CreateScript | \n ListScripts | \n DescribeScript | \n UpdateScript | \n DeleteScript | \n All APIs by task\n

", "smithy.api#paginated": { "inputToken": "NextToken", "outputToken": "NextToken", @@ -8366,7 +8366,7 @@ } ], "traits": { - "smithy.api#documentation": "

\n Retrieves all tags that are assigned to a GameLift resource. \n Resource tags are used to organize AWS resources for a range of purposes. \n This operation handles the permissions necessary to manage tags for the following \n GameLift resource types:

\n \n

To list tags for a resource, specify the unique ARN value for the resource.

\n

\n Learn more\n

\n

\n Tagging AWS Resources in the\n AWS General Reference\n

\n

\n \n AWS Tagging Strategies\n

\n

\n Related actions\n

\n

\n TagResource | \n UntagResource | \n ListTagsForResource | \n All APIs by task\n

" + "smithy.api#documentation": "

\n Retrieves all tags that are assigned to a GameLift resource. \n Resource tags are used to organize Amazon Web Services resources for a range of purposes. \n This operation handles the permissions necessary to manage tags for the following \n GameLift resource types:

\n \n

To list tags for a resource, specify the unique ARN value for the resource.

\n

\n Learn more\n

\n

\n Tagging Amazon Web Services Resources in the\n Amazon Web Services General Reference\n

\n

\n \n Amazon Web Services Tagging Strategies\n

\n

\n Related actions\n

\n

\n TagResource | \n UntagResource | \n ListTagsForResource | \n All APIs by task\n

" } }, "com.amazonaws.gamelift#ListTagsForResourceRequest": { @@ -8430,12 +8430,12 @@ "Location": { "target": "com.amazonaws.gamelift#LocationStringModel", "traits": { - "smithy.api#documentation": "

An AWS Region code, such as us-west-2.

" + "smithy.api#documentation": "

An Amazon Web Services Region code, such as us-west-2.

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

A remote location where a multi-location fleet can deploy EC2 instances for game\n hosting.

\n

\n Related actions\n

\n

\n CreateFleet\n

" + "smithy.api#documentation": "

A remote location where a multi-location fleet can deploy EC2 instances for game\n hosting.

\n

\n Related actions\n

\n

\n CreateFleet\n

" } }, "com.amazonaws.gamelift#LocationConfigurationList": { @@ -8468,7 +8468,7 @@ "Location": { "target": "com.amazonaws.gamelift#LocationStringModel", "traits": { - "smithy.api#documentation": "

The fleet location, expressed as an AWS Region code such as us-west-2.

" + "smithy.api#documentation": "

The fleet location, expressed as an Amazon Web Services Region code such as us-west-2.

" } }, "Status": { @@ -9123,7 +9123,7 @@ "LatencyInMs": { "target": "com.amazonaws.gamelift#LatencyMap", "traits": { - "smithy.api#documentation": "

A set of values, expressed in milliseconds, that indicates the amount of latency that a player experiences when connected to AWS Regions. If this property is present, FlexMatch considers placing the match only\n in Regions for which latency is reported.

\n

If a matchmaker has a rule that evaluates player latency, players must report\n latency in order to be matched. If no latency is reported in this scenario, FlexMatch\n assumes that no Regions are available to the player and the ticket is not matchable.\n

" + "smithy.api#documentation": "

A set of values, expressed in milliseconds, that indicates the amount of latency that a player experiences when connected to @aws; Regions. If this property is present, FlexMatch considers placing the match only\n in Regions for which latency is reported.

\n

If a matchmaker has a rule that evaluates player latency, players must report\n latency in order to be matched. If no latency is reported in this scenario, FlexMatch\n assumes that no Regions are available to the player and the ticket is not matchable.\n

" } } }, @@ -9300,7 +9300,7 @@ "Port": { "target": "com.amazonaws.gamelift#PortNumber", "traits": { - "smithy.api#documentation": "

Port number for the game session. To connect to a Amazon GameLift server process, an app\n needs both the IP address and port number.

" + "smithy.api#documentation": "

Port number for the game session. To connect to a Amazon Web Services server process, an app\n needs both the IP address and port number.

" } }, "PlayerData": { @@ -9419,7 +9419,7 @@ "LocationOrder": { "target": "com.amazonaws.gamelift#LocationList", "traits": { - "smithy.api#documentation": "

The prioritization order to use for fleet locations, when the\n PriorityOrder property includes LOCATION. Locations are\n identified by AWS Region codes such as us-west-2. Each location can only be\n listed once.

" + "smithy.api#documentation": "

The prioritization order to use for fleet locations, when the\n PriorityOrder property includes LOCATION. Locations are\n identified by Amazon Web Services Region codes such as us-west-2. Each location can only be\n listed once.

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

Creates or updates a scaling policy for a fleet. Scaling policies are used to\n automatically scale a fleet's hosting capacity to meet player demand. An active scaling\n policy instructs Amazon GameLift to track a fleet metric and automatically change the fleet's\n capacity when a certain threshold is reached. There are two types of scaling policies:\n target-based and rule-based. Use a target-based policy to quickly and efficiently manage\n fleet scaling; this option is the most commonly used. Use rule-based policies when you\n need to exert fine-grained control over auto-scaling.

\n

Fleets can have multiple scaling policies of each type in force at the same time;\n you can have one target-based policy, one or multiple rule-based scaling policies, or\n both. We recommend caution, however, because multiple auto-scaling policies can have\n unintended consequences.

\n

You can temporarily suspend all scaling policies for a fleet by calling StopFleetActions with the fleet action AUTO_SCALING. To resume scaling\n policies, call StartFleetActions with the same fleet action. To stop\n just one scaling policy--or to permanently remove it, you must delete the policy with\n DeleteScalingPolicy.

\n

Learn more about how to work with auto-scaling in Set Up Fleet Automatic\n Scaling.

\n

\n Target-based policy\n

\n

A target-based policy tracks a single metric: PercentAvailableGameSessions. This\n metric tells us how much of a fleet's hosting capacity is ready to host game sessions\n but is not currently in use. This is the fleet's buffer; it measures the additional\n player demand that the fleet could handle at current capacity. With a target-based\n policy, you set your ideal buffer size and leave it to Amazon GameLift to take whatever action\n is needed to maintain that target.

\n

For example, you might choose to maintain a 10% buffer for a fleet that has the\n capacity to host 100 simultaneous game sessions. This policy tells Amazon GameLift to take\n action whenever the fleet's available capacity falls below or rises above 10 game\n sessions. Amazon GameLift will start new instances or stop unused instances in order to return\n to the 10% buffer.

\n

To create or update a target-based policy, specify a fleet ID and name, and set the\n policy type to \"TargetBased\". Specify the metric to track (PercentAvailableGameSessions)\n and reference a TargetConfiguration object with your desired buffer\n value. Exclude all other parameters. On a successful request, the policy name is\n returned. The scaling policy is automatically in force as soon as it's successfully\n created. If the fleet's auto-scaling actions are temporarily suspended, the new policy\n will be in force once the fleet actions are restarted.

\n

\n Rule-based policy\n

\n

A rule-based policy tracks specified fleet metric, sets a threshold value, and\n specifies the type of action to initiate when triggered. With a rule-based policy, you\n can select from several available fleet metrics. Each policy specifies whether to scale\n up or scale down (and by how much), so you need one policy for each type of action.

\n

For example, a policy may make the following statement: \"If the percentage of idle\n instances is greater than 20% for more than 15 minutes, then reduce the fleet capacity\n by 10%.\"

\n

A policy's rule statement has the following structure:

\n

If [MetricName] is [ComparisonOperator]\n [Threshold] for [EvaluationPeriods] minutes, then\n [ScalingAdjustmentType] to/by\n [ScalingAdjustment].

\n

To implement the example, the rule statement would look like this:

\n

If [PercentIdleInstances] is [GreaterThanThreshold]\n [20] for [15] minutes, then\n [PercentChangeInCapacity] to/by [10].

\n

To create or update a scaling policy, specify a unique combination of name and\n fleet ID, and set the policy type to \"RuleBased\". Specify the parameter values for a\n policy rule statement. On a successful request, the policy name is returned. Scaling\n policies are automatically in force as soon as they're successfully created. If the\n fleet's auto-scaling actions are temporarily suspended, the new policy will be in force\n once the fleet actions are restarted.

\n

\n Related actions\n

\n

\n DescribeFleetCapacity | \n UpdateFleetCapacity | \n DescribeEC2InstanceLimits | \n PutScalingPolicy | \n DescribeScalingPolicies | \n DeleteScalingPolicy | \n StopFleetActions | \n StartFleetActions | \n All APIs by task\n

" + "smithy.api#documentation": "

Creates or updates a scaling policy for a fleet. Scaling policies are used to\n automatically scale a fleet's hosting capacity to meet player demand. An active scaling\n policy instructs Amazon Web Services to track a fleet metric and automatically change the fleet's\n capacity when a certain threshold is reached. There are two types of scaling policies:\n target-based and rule-based. Use a target-based policy to quickly and efficiently manage\n fleet scaling; this option is the most commonly used. Use rule-based policies when you\n need to exert fine-grained control over auto-scaling.

\n

Fleets can have multiple scaling policies of each type in force at the same time;\n you can have one target-based policy, one or multiple rule-based scaling policies, or\n both. We recommend caution, however, because multiple auto-scaling policies can have\n unintended consequences.

\n

You can temporarily suspend all scaling policies for a fleet by calling StopFleetActions with the fleet action AUTO_SCALING. To resume scaling\n policies, call StartFleetActions with the same fleet action. To stop\n just one scaling policy--or to permanently remove it, you must delete the policy with\n DeleteScalingPolicy.

\n

Learn more about how to work with auto-scaling in Set Up Fleet Automatic\n Scaling.

\n

\n Target-based policy\n

\n

A target-based policy tracks a single metric: PercentAvailableGameSessions. This\n metric tells us how much of a fleet's hosting capacity is ready to host game sessions\n but is not currently in use. This is the fleet's buffer; it measures the additional\n player demand that the fleet could handle at current capacity. With a target-based\n policy, you set your ideal buffer size and leave it to Amazon Web Services to take whatever action\n is needed to maintain that target.

\n

For example, you might choose to maintain a 10% buffer for a fleet that has the\n capacity to host 100 simultaneous game sessions. This policy tells Amazon Web Services to take\n action whenever the fleet's available capacity falls below or rises above 10 game\n sessions. Amazon Web Services will start new instances or stop unused instances in order to return\n to the 10% buffer.

\n

To create or update a target-based policy, specify a fleet ID and name, and set the\n policy type to \"TargetBased\". Specify the metric to track (PercentAvailableGameSessions)\n and reference a TargetConfiguration object with your desired buffer\n value. Exclude all other parameters. On a successful request, the policy name is\n returned. The scaling policy is automatically in force as soon as it's successfully\n created. If the fleet's auto-scaling actions are temporarily suspended, the new policy\n will be in force once the fleet actions are restarted.

\n

\n Rule-based policy\n

\n

A rule-based policy tracks specified fleet metric, sets a threshold value, and\n specifies the type of action to initiate when triggered. With a rule-based policy, you\n can select from several available fleet metrics. Each policy specifies whether to scale\n up or scale down (and by how much), so you need one policy for each type of action.

\n

For example, a policy may make the following statement: \"If the percentage of idle\n instances is greater than 20% for more than 15 minutes, then reduce the fleet capacity\n by 10%.\"

\n

A policy's rule statement has the following structure:

\n

If [MetricName] is [ComparisonOperator]\n [Threshold] for [EvaluationPeriods] minutes, then\n [ScalingAdjustmentType] to/by\n [ScalingAdjustment].

\n

To implement the example, the rule statement would look like this:

\n

If [PercentIdleInstances] is [GreaterThanThreshold]\n [20] for [15] minutes, then\n [PercentChangeInCapacity] to/by [10].

\n

To create or update a scaling policy, specify a unique combination of name and\n fleet ID, and set the policy type to \"RuleBased\". Specify the parameter values for a\n policy rule statement. On a successful request, the policy name is returned. Scaling\n policies are automatically in force as soon as they're successfully created. If the\n fleet's auto-scaling actions are temporarily suspended, the new policy will be in force\n once the fleet actions are restarted.

\n

\n Related actions\n

\n

\n DescribeFleetCapacity | \n UpdateFleetCapacity | \n DescribeEC2InstanceLimits | \n PutScalingPolicy | \n DescribeScalingPolicies | \n DeleteScalingPolicy | \n StopFleetActions | \n StartFleetActions | \n All APIs by task\n

" } }, "com.amazonaws.gamelift#PutScalingPolicyInput": { @@ -9553,7 +9553,7 @@ "MetricName": { "target": "com.amazonaws.gamelift#MetricName", "traits": { - "smithy.api#documentation": "

Name of the Amazon GameLift-defined metric that is used to trigger a scaling adjustment. For\n detailed descriptions of fleet metrics, see Monitor Amazon GameLift\n with Amazon CloudWatch.

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

Name of the Amazon Web Services-defined metric that is used to trigger a scaling adjustment. For\n detailed descriptions of fleet metrics, see Monitor Amazon Web Services\n with Amazon CloudWatch.

\n ", "smithy.api#required": {} } }, @@ -9656,7 +9656,7 @@ "GameServerId": { "target": "com.amazonaws.gamelift#GameServerId", "traits": { - "smithy.api#documentation": "

A custom string that uniquely identifies the game server to register. \n Game server IDs are developer-defined and must be unique across all game server groups in your AWS account.

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

A custom string that uniquely identifies the game server to register. \n Game server IDs are developer-defined and must be unique across all game server groups in your Amazon Web Services account.

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

Retrieves a fresh set of credentials for use when uploading a new set of game build\n files to Amazon GameLift's Amazon S3. This is done as part of the build creation process; see\n CreateBuild.

\n

To request new credentials, specify the build ID as returned with an initial\n CreateBuild request. If successful, a new set of credentials are\n returned, along with the S3 storage location associated with the build ID.

\n

\n Learn more\n

\n

\n \n Create a Build with Files in S3\n

\n

\n Related actions\n

\n

\n CreateBuild | \n ListBuilds | \n DescribeBuild | \n UpdateBuild | \n DeleteBuild | \n All APIs by task\n

" + "smithy.api#documentation": "

Retrieves a fresh set of credentials for use when uploading a new set of game build\n files to Amazon Web Services's Amazon S3. This is done as part of the build creation process; see\n CreateBuild.

\n

To request new credentials, specify the build ID as returned with an initial\n CreateBuild request. If successful, a new set of credentials are\n returned, along with the S3 storage location associated with the build ID.

\n

\n Learn more\n

\n

\n \n Create a Build with Files in S3\n

\n

\n Related actions\n

\n

\n CreateBuild | \n ListBuilds | \n DescribeBuild | \n UpdateBuild | \n DeleteBuild | \n All APIs by task\n

" } }, "com.amazonaws.gamelift#RequestUploadCredentialsInput": { @@ -9739,7 +9739,7 @@ "UploadCredentials": { "target": "com.amazonaws.gamelift#AwsCredentials", "traits": { - "smithy.api#documentation": "

AWS credentials required when uploading a game build to the storage location.\n These credentials have a limited lifespan and are valid only for the build they were\n issued for.

" + "smithy.api#documentation": "

Amazon Web Services credentials required when uploading a game build to the storage location.\n These credentials have a limited lifespan and are valid only for the build they were\n issued for.

" } }, "StorageLocation": { @@ -9997,18 +9997,18 @@ "RoleArn": { "target": "com.amazonaws.gamelift#NonEmptyString", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) for an IAM role that\n allows Amazon GameLift to access the S3 bucket.

" + "smithy.api#documentation": "

The Amazon Resource Name (ARN) for an IAM role that\n allows Amazon Web Services to access the S3 bucket.

" } }, "ObjectVersion": { "target": "com.amazonaws.gamelift#NonEmptyString", "traits": { - "smithy.api#documentation": "

The version of the file, if object versioning is turned on for the bucket. Amazon GameLift uses\n this information when retrieving files from an S3 bucket that you own. Use this\n parameter to specify a specific version of the file. If not set, the latest version of\n the file is retrieved.

" + "smithy.api#documentation": "

The version of the file, if object versioning is turned on for the bucket. Amazon Web Services uses\n this information when retrieving files from an S3 bucket that you own. Use this\n parameter to specify a specific version of the file. If not set, the latest version of\n the file is retrieved.

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

The location in Amazon S3 where build or script files are stored for access by Amazon GameLift. This\n location is specified in CreateBuild, CreateScript,\n and UpdateScript requests.

" + "smithy.api#documentation": "

The location in Amazon S3 where build or script files are stored for access by Amazon Web Services. This\n location is specified in CreateBuild, CreateScript,\n and UpdateScript requests.

" } }, "com.amazonaws.gamelift#ScalingAdjustmentType": { @@ -10090,7 +10090,7 @@ "MetricName": { "target": "com.amazonaws.gamelift#MetricName", "traits": { - "smithy.api#documentation": "

Name of the Amazon GameLift-defined metric that is used to trigger a scaling adjustment. For\n detailed descriptions of fleet metrics, see Monitor Amazon GameLift\n with Amazon CloudWatch.

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

Name of the Amazon Web Services-defined metric that is used to trigger a scaling adjustment. For\n detailed descriptions of fleet metrics, see Monitor Amazon Web Services\n with Amazon CloudWatch.

\n " } }, "PolicyType": { @@ -10114,7 +10114,7 @@ "Location": { "target": "com.amazonaws.gamelift#LocationStringModel", "traits": { - "smithy.api#documentation": "

\n \n

" + "smithy.api#documentation": "

\n The fleet location.\n

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

Retrieves all active game sessions that match a set of search criteria and sorts them\n into a specified order.

\n

When searching for game sessions, you specify exactly where you want to search and\n provide a search filter expression, a sort expression, or both. A search request can\n search only one fleet, but it can search all of a fleet's locations.

\n

This operation can be used in the following ways:

\n \n

Use the pagination parameters to retrieve results as a set of sequential pages.

\n

If successful, a GameSession object is returned for each game session\n that matches the request. Search finds game sessions that are in ACTIVE\n status only. To retrieve information on game sessions in other statuses, use DescribeGameSessions.

\n

You can search or sort by the following game session attributes:

\n \n \n

Returned values for playerSessionCount and\n hasAvailablePlayerSessions change quickly as players join sessions\n and others drop out. Results should be considered a snapshot in time. Be sure to\n refresh search results often, and handle sessions that fill up before a player can\n join.

\n
\n

\n Related actions\n

\n

\n CreateGameSession | \n DescribeGameSessions | \n DescribeGameSessionDetails | \n SearchGameSessions | \n UpdateGameSession | \n GetGameSessionLogUrl | \n StartGameSessionPlacement | \n DescribeGameSessionPlacement | \n StopGameSessionPlacement | \n All APIs by task\n

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

Retrieves all active game sessions that match a set of search criteria and sorts them\n into a specified order.

\n

This operation is not designed to be continually called to track game session status. \n This practice can cause you to exceed your API limit, which results in errors. Instead, \n you must configure configure an \n Amazon Simple Notification Service (SNS) topic to receive notifications from FlexMatch or queues. Continuously polling game session status \n with DescribeGameSessions should only be used for games in development with \n low game session usage.\n

\n

When searching for game sessions, you specify exactly where you want to search and\n provide a search filter expression, a sort expression, or both. A search request can\n search only one fleet, but it can search all of a fleet's locations.

\n

This operation can be used in the following ways:

\n \n

Use the pagination parameters to retrieve results as a set of sequential pages.

\n

If successful, a GameSession object is returned for each game session\n that matches the request. Search finds game sessions that are in ACTIVE\n status only. To retrieve information on game sessions in other statuses, use DescribeGameSessions.

\n

You can search or sort by the following game session attributes:

\n \n \n

Returned values for playerSessionCount and\n hasAvailablePlayerSessions change quickly as players join sessions\n and others drop out. Results should be considered a snapshot in time. Be sure to\n refresh search results often, and handle sessions that fill up before a player can\n join.

\n
\n

\n Related actions\n

\n

\n CreateGameSession | \n DescribeGameSessions | \n DescribeGameSessionDetails | \n SearchGameSessions | \n UpdateGameSession | \n GetGameSessionLogUrl | \n StartGameSessionPlacement | \n DescribeGameSessionPlacement | \n StopGameSessionPlacement | \n All APIs by task\n

", "smithy.api#paginated": { "inputToken": "NextToken", "outputToken": "NextToken", @@ -10289,7 +10289,7 @@ "Location": { "target": "com.amazonaws.gamelift#LocationStringModel", "traits": { - "smithy.api#documentation": "

A fleet location to search for game sessions. You can specify a fleet's home Region or\n a remote location. Use the AWS Region code format, such as us-west-2.

\n

" + "smithy.api#documentation": "

A fleet location to search for game sessions. You can specify a fleet's home Region or\n a remote location. Use the Amazon Web Services Region code format, such as us-west-2.

\n

" } }, "FilterExpression": { @@ -10455,7 +10455,7 @@ "Location": { "target": "com.amazonaws.gamelift#LocationStringModel", "traits": { - "smithy.api#documentation": "

The fleet location to restart fleet actions for. Specify a location in the form of\n an AWS Region code, such as us-west-2.

" + "smithy.api#documentation": "

The fleet location to restart fleet actions for. Specify a location in the form of\n an Amazon Web Services Region code, such as us-west-2.

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

Places a request for a new game session in a queue (see CreateGameSessionQueue). When processing a placement request, Amazon GameLift\n searches for available resources on the queue's destinations, scanning each until it\n finds resources or the placement request times out.

\n

A game session placement request can also request player sessions. When a new game\n session is successfully created, Amazon GameLift creates a player session for each player\n included in the request.

\n

When placing a game session, by default Amazon GameLift tries each fleet in the order they\n are listed in the queue configuration. Ideally, a queue's destinations are listed in\n preference order.

\n

Alternatively, when requesting a game session with players, you can also provide\n latency data for each player in relevant Regions. Latency data indicates the performance\n lag a player experiences when connected to a fleet in the Region. Amazon GameLift uses latency\n data to reorder the list of destinations to place the game session in a Region with\n minimal lag. If latency data is provided for multiple players, Amazon GameLift calculates each\n Region's average lag for all players and reorders to get the best game play across all\n players.

\n

To place a new game session request, specify the following:

\n \n

If successful, a new game session placement is created.

\n

To track the status of a placement request, call DescribeGameSessionPlacement and check the request's status. If the\n status is FULFILLED, a new game session has been created and a game session\n ARN and Region are referenced. If the placement request times out, you can resubmit the\n request or retry it with a different queue.

\n

\n Related actions\n

\n

\n CreateGameSession | \n DescribeGameSessions | \n DescribeGameSessionDetails | \n SearchGameSessions | \n UpdateGameSession | \n GetGameSessionLogUrl | \n StartGameSessionPlacement | \n DescribeGameSessionPlacement | \n StopGameSessionPlacement | \n All APIs by task\n

" + "smithy.api#documentation": "

Places a request for a new game session in a queue (see CreateGameSessionQueue). When processing a placement request, Amazon Web Services\n searches for available resources on the queue's destinations, scanning each until it\n finds resources or the placement request times out.

\n

A game session placement request can also request player sessions. When a new game\n session is successfully created, Amazon Web Services creates a player session for each player\n included in the request.

\n

When placing a game session, by default Amazon Web Services tries each fleet in the order they\n are listed in the queue configuration. Ideally, a queue's destinations are listed in\n preference order.

\n

Alternatively, when requesting a game session with players, you can also provide\n latency data for each player in relevant Regions. Latency data indicates the performance\n lag a player experiences when connected to a fleet in the Region. Amazon Web Services uses latency\n data to reorder the list of destinations to place the game session in a Region with\n minimal lag. If latency data is provided for multiple players, Amazon Web Services calculates each\n Region's average lag for all players and reorders to get the best game play across all\n players.

\n

To place a new game session request, specify the following:

\n \n

If successful, a new game session placement is created.

\n

To track the status of a placement request, call DescribeGameSessionPlacement and check the request's status. If the\n status is FULFILLED, a new game session has been created and a game session\n ARN and Region are referenced. If the placement request times out, you can resubmit the\n request or retry it with a different queue.

\n

\n Related actions\n

\n

\n CreateGameSession | \n DescribeGameSessions | \n DescribeGameSessionDetails | \n SearchGameSessions | \n UpdateGameSession | \n GetGameSessionLogUrl | \n StartGameSessionPlacement | \n DescribeGameSessionPlacement | \n StopGameSessionPlacement | \n All APIs by task\n

" } }, "com.amazonaws.gamelift#StartGameSessionPlacementInput": { @@ -10548,7 +10548,7 @@ "PlayerLatencies": { "target": "com.amazonaws.gamelift#PlayerLatencyList", "traits": { - "smithy.api#documentation": "

A set of values, expressed in milliseconds, that indicates the amount of latency that a player experiences when connected to AWS Regions. This information is used to try to place the new game session where\n it can offer the best possible gameplay experience for the players.

" + "smithy.api#documentation": "

A set of values, expressed in milliseconds, that indicates the amount of latency that a player experiences when connected to @aws; Regions. This information is used to try to place the new game session where\n it can offer the best possible gameplay experience for the players.

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

Finds new players to fill open slots in currently running game sessions. \n The backfill match process is essentially identical to the process of forming new\n matches. Backfill\n requests use the same matchmaker that was used to make the original match, and they provide\n matchmaking data for all players currently in the game session. FlexMatch uses this information \n to select new players so that backfilled match continues to meet the original match requirements.

\n

When using FlexMatch with GameLift managed hosting, you can request a backfill match from\n a client service by calling this operation with a GameSession\n identifier. You also have the option of making backfill requests directly from your game\n server. In response to a request, FlexMatch creates player sessions for the new players,\n updates the GameSession resource, and sends updated matchmaking data to the\n game server. You can request a backfill match at any point after a game session is\n started. Each game session can have only one active backfill request at a time; a\n subsequent request automatically replaces the earlier request.

\n

When using FlexMatch as a standalone component, request a backfill match by calling this operation\n without a game session identifier. As with newly formed matches, matchmaking results are returned\n in a matchmaking event so that your game can update the game session that is being backfilled.

\n

To request a backfill match, specify a unique ticket ID, the original matchmaking\n configuration, and matchmaking data for all current players in the game session being\n backfilled. Optionally, specify the GameSession ARN. If successful, a match\n backfill ticket is created and returned with status set to QUEUED. Track the status of\n backfill tickets using the same method for tracking tickets for new matches.

\n

\n Learn more\n

\n

\n \n Backfill existing games with FlexMatch\n

\n

\n \n Matchmaking events (reference)

\n

\n \n How GameLift FlexMatch works\n

\n

\n Related actions\n

\n

\n StartMatchmaking | \n DescribeMatchmaking | \n StopMatchmaking | \n AcceptMatch | \n StartMatchBackfill | \n All APIs by task\n

" + "smithy.api#documentation": "

Finds new players to fill open slots in currently running game sessions. \n The backfill match process is essentially identical to the process of forming new\n matches. Backfill\n requests use the same matchmaker that was used to make the original match, and they provide\n matchmaking data for all players currently in the game session. FlexMatch uses this information \n to select new players so that backfilled match continues to meet the original match requirements.

\n

When using FlexMatch with GameLift managed hosting, you can request a backfill match from\n a client service by calling this operation with a GameSession\n identifier. You also have the option of making backfill requests directly from your game\n server. In response to a request, FlexMatch creates player sessions for the new players,\n updates the GameSession resource, and sends updated matchmaking data to the\n game server. You can request a backfill match at any point after a game session is\n started. Each game session can have only one active backfill request at a time; a\n subsequent request automatically replaces the earlier request.

\n

When using FlexMatch as a standalone component, request a backfill match by calling this operation\n without a game session identifier. As with newly formed matches, matchmaking results are returned\n in a matchmaking event so that your game can update the game session that is being backfilled.

\n

To request a backfill match, specify a unique ticket ID, the original matchmaking\n configuration, and matchmaking data for all current players in the game session being\n backfilled. Optionally, specify the GameSession ARN. If successful, a match\n backfill ticket is created and returned with status set to QUEUED. Track the status of\n backfill tickets using the same method for tracking tickets for new matches.

\n

Only game sessions created by FlexMatch are supported for match backfill.

\n

\n Learn more\n

\n

\n \n Backfill existing games with FlexMatch\n

\n

\n \n Matchmaking events (reference)

\n

\n \n How GameLift FlexMatch works\n

\n

\n Related actions\n

\n

\n StartMatchmaking | \n DescribeMatchmaking | \n StopMatchmaking | \n AcceptMatch | \n StartMatchBackfill | \n All APIs by task\n

" } }, "com.amazonaws.gamelift#StartMatchBackfillInput": { @@ -10614,7 +10614,7 @@ "TicketId": { "target": "com.amazonaws.gamelift#MatchmakingIdStringModel", "traits": { - "smithy.api#documentation": "

A unique identifier for a matchmaking ticket. If no ticket ID is specified here, Amazon GameLift will generate one in the form of\n a UUID. Use this identifier to track the match backfill ticket status and retrieve match\n results.

" + "smithy.api#documentation": "

A unique identifier for a matchmaking ticket. If no ticket ID is specified here, Amazon Web Services will generate one in the form of\n a UUID. Use this identifier to track the match backfill ticket status and retrieve match\n results.

" } }, "ConfigurationName": { @@ -10633,7 +10633,7 @@ "Players": { "target": "com.amazonaws.gamelift#PlayerList", "traits": { - "smithy.api#documentation": "

Match information on all players that are currently assigned to the game session.\n This information is used by the matchmaker to find new players and add them to the\n existing game.

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

Match information on all players that are currently assigned to the game session.\n This information is used by the matchmaker to find new players and add them to the\n existing game.

\n ", "smithy.api#required": {} } } @@ -10679,7 +10679,7 @@ } ], "traits": { - "smithy.api#documentation": "

Uses FlexMatch to create a game match for a group of players based on custom matchmaking\n rules. With games that use GameLift managed hosting, this operation also triggers GameLift\n to find hosting resources and start a new game session for the new match. Each\n matchmaking request includes information on one or more players and specifies the\n FlexMatch matchmaker to use. When a request is for multiple players, FlexMatch attempts to\n build a match that includes all players in the request, placing them in the same team\n and finding additional players as needed to fill the match.

\n

To start matchmaking, provide a unique ticket ID, specify a matchmaking configuration,\n and include the players to be matched. You must also include any player attributes that\n are required by the matchmaking configuration's rule set. If successful, a matchmaking\n ticket is returned with status set to QUEUED.

\n

Track matchmaking events to respond as needed and acquire game session connection\n information for successfully completed matches. Ticket status updates are tracked using\n event notification through Amazon Simple Notification Service (SNS), which is defined in the matchmaking\n configuration.

\n

\n Learn more\n

\n

\n \n Add FlexMatch to a game client\n

\n

\n \n Set Up FlexMatch event notification\n

\n

\n \n How GameLift FlexMatch works\n

\n

\n Related actions\n

\n

\n StartMatchmaking | \n DescribeMatchmaking | \n StopMatchmaking | \n AcceptMatch | \n StartMatchBackfill | \n All APIs by task\n

" + "smithy.api#documentation": "

Uses FlexMatch to create a game match for a group of players based on custom matchmaking\n rules. With games that use GameLift managed hosting, this operation also triggers GameLift\n to find hosting resources and start a new game session for the new match. Each\n matchmaking request includes information on one or more players and specifies the\n FlexMatch matchmaker to use. When a request is for multiple players, FlexMatch attempts to\n build a match that includes all players in the request, placing them in the same team\n and finding additional players as needed to fill the match.

\n

To start matchmaking, provide a unique ticket ID, specify a matchmaking configuration,\n and include the players to be matched. You must also include any player attributes that\n are required by the matchmaking configuration's rule set. If successful, a matchmaking\n ticket is returned with status set to QUEUED.

\n

Track matchmaking events to respond as needed and acquire game session connection\n information for successfully completed matches. Ticket status updates are tracked using\n event notification through Amazon Simple Notification Service, which is defined in the matchmaking\n configuration.

\n

\n Learn more\n

\n

\n \n Add FlexMatch to a game client\n

\n

\n \n Set Up FlexMatch event notification\n

\n

\n \n How GameLift FlexMatch works\n

\n

\n Related actions\n

\n

\n StartMatchmaking | \n DescribeMatchmaking | \n StopMatchmaking | \n AcceptMatch | \n StartMatchBackfill | \n All APIs by task\n

" } }, "com.amazonaws.gamelift#StartMatchmakingInput": { @@ -10688,7 +10688,7 @@ "TicketId": { "target": "com.amazonaws.gamelift#MatchmakingIdStringModel", "traits": { - "smithy.api#documentation": "

A unique identifier for a matchmaking ticket. If no ticket ID is specified here, Amazon GameLift will generate one in the form of\n a UUID. Use this identifier to track the matchmaking ticket status and retrieve match\n results.

" + "smithy.api#documentation": "

A unique identifier for a matchmaking ticket. If no ticket ID is specified here, Amazon Web Services will generate one in the form of\n a UUID. Use this identifier to track the matchmaking ticket status and retrieve match\n results.

" } }, "ConfigurationName": { @@ -10773,7 +10773,7 @@ "Location": { "target": "com.amazonaws.gamelift#LocationStringModel", "traits": { - "smithy.api#documentation": "

The fleet location to stop fleet actions for. Specify a location in the form of an AWS Region code, such as\n us-west-2.

" + "smithy.api#documentation": "

The fleet location to stop fleet actions for. Specify a location in the form of an Amazon Web Services Region code, such as\n us-west-2.

" } } }, @@ -10981,20 +10981,20 @@ "Key": { "target": "com.amazonaws.gamelift#TagKey", "traits": { - "smithy.api#documentation": "

\n The key for a developer-defined key:value pair for tagging an AWS resource.\n

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

\n The key for a developer-defined key:value pair for tagging an Amazon Web Services resource.\n

", "smithy.api#required": {} } }, "Value": { "target": "com.amazonaws.gamelift#TagValue", "traits": { - "smithy.api#documentation": "

\n The value for a developer-defined key:value pair for tagging an AWS resource.\n

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

\n The value for a developer-defined key:value pair for tagging an Amazon Web Services resource.\n

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

\n A label that can be assigned to a GameLift resource.\n

\n

\n Learn more\n

\n

\n Tagging AWS Resources in the\n AWS General Reference\n

\n

\n \n AWS Tagging Strategies\n

\n

\n Related actions\n

\n

\n TagResource | \n UntagResource | \n ListTagsForResource | \n All APIs by task\n

" + "smithy.api#documentation": "

\n A label that can be assigned to a GameLift resource.\n

\n

\n Learn more\n

\n

\n Tagging Amazon Web Services Resources in the\n Amazon Web Services General Reference\n

\n

\n \n Amazon Web Services Tagging Strategies\n

\n

\n Related actions\n

\n

\n TagResource | \n UntagResource | \n ListTagsForResource | \n All APIs by task\n

" } }, "com.amazonaws.gamelift#TagKey": { @@ -11053,7 +11053,7 @@ } ], "traits": { - "smithy.api#documentation": "

Assigns a tag to a GameLift resource. AWS resource tags provide an additional\n management tool set. You can use tags to organize resources, create IAM permissions\n policies to manage access to groups of resources, customize AWS cost breakdowns, etc.\n This operation handles the permissions necessary to manage tags for the following GameLift\n resource types:

\n \n

To add a tag to a resource, specify the unique ARN value for the resource and provide\n a tag list containing one or more tags. The operation succeeds even if the list includes\n tags that are already assigned to the specified resource.

\n

\n Learn more\n

\n

\n Tagging AWS Resources in the\n AWS General Reference\n

\n

\n \n AWS Tagging Strategies\n

\n

\n Related actions\n

\n

\n TagResource | \n UntagResource | \n ListTagsForResource | \n All APIs by task\n

" + "smithy.api#documentation": "

Assigns a tag to a GameLift resource. Amazon Web Services resource tags provide an additional\n management tool set. You can use tags to organize resources, create IAM permissions\n policies to manage access to groups of resources, customize Amazon Web Services cost breakdowns, etc.\n This operation handles the permissions necessary to manage tags for the following GameLift\n resource types:

\n \n

To add a tag to a resource, specify the unique ARN value for the resource and provide\n a tag list containing one or more tags. The operation succeeds even if the list includes\n tags that are already assigned to the specified resource.

\n

\n Learn more\n

\n

\n Tagging Amazon Web Services Resources in the\n Amazon Web Services General Reference\n

\n

\n \n Amazon Web Services Tagging Strategies\n

\n

\n Related actions\n

\n

\n TagResource | \n UntagResource | \n ListTagsForResource | \n All APIs by task\n

" } }, "com.amazonaws.gamelift#TagResourceRequest": { @@ -11069,7 +11069,7 @@ "Tags": { "target": "com.amazonaws.gamelift#TagList", "traits": { - "smithy.api#documentation": "

A list of one or more tags to assign to the specified GameLift resource. \n Tags are developer-defined and structured as key-value pairs. \n The maximum tag limit may be lower than stated. See Tagging AWS Resources \n for actual tagging limits.

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

A list of one or more tags to assign to the specified GameLift resource. \n Tags are developer-defined and structured as key-value pairs. \n The maximum tag limit may be lower than stated. See Tagging Amazon Web Services Resources \n for actual tagging limits.

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

Settings for a target-based scaling policy (see ScalingPolicy. A\n target-based policy tracks a particular fleet metric specifies a target value for the\n metric. As player usage changes, the policy triggers Amazon GameLift to adjust capacity so\n that the metric returns to the target value. The target configuration specifies settings\n as needed for the target based policy, including the target value.

\n

\n Related actions\n

\n

\n DescribeFleetCapacity | \n UpdateFleetCapacity | \n DescribeEC2InstanceLimits | \n PutScalingPolicy | \n DescribeScalingPolicies | \n DeleteScalingPolicy | \n StopFleetActions | \n StartFleetActions | \n All APIs by task\n

" + "smithy.api#documentation": "

Settings for a target-based scaling policy (see ScalingPolicy. A\n target-based policy tracks a particular fleet metric specifies a target value for the\n metric. As player usage changes, the policy triggers Amazon Web Services to adjust capacity so\n that the metric returns to the target value. The target configuration specifies settings\n as needed for the target based policy, including the target value.

\n

\n Related actions\n

\n

\n DescribeFleetCapacity | \n UpdateFleetCapacity | \n DescribeEC2InstanceLimits | \n PutScalingPolicy | \n DescribeScalingPolicies | \n DeleteScalingPolicy | \n StopFleetActions | \n StartFleetActions | \n All APIs by task\n

" } }, "com.amazonaws.gamelift#TargetTrackingConfiguration": { @@ -11192,7 +11192,7 @@ } ], "traits": { - "smithy.api#documentation": "

Removes a tag that is assigned to a GameLift resource. \n Resource tags are used to organize AWS resources for a range of purposes. \n This operation handles the permissions necessary to manage tags for the following \n GameLift resource types:

\n \n

To remove a tag from a resource, specify the unique ARN value for the resource and provide\n a string list containing one or more tags to be removed. \n This operation succeeds even if the list includes tags that are not currently assigned to the\n specified resource.

\n

\n Learn more\n

\n

\n Tagging AWS Resources in the\n AWS General Reference\n

\n

\n \n AWS Tagging Strategies\n

\n

\n Related actions\n

\n

\n TagResource | \n UntagResource | \n ListTagsForResource | \n All APIs by task\n

" + "smithy.api#documentation": "

Removes a tag that is assigned to a GameLift resource. \n Resource tags are used to organize Amazon Web Services resources for a range of purposes. \n This operation handles the permissions necessary to manage tags for the following \n GameLift resource types:

\n \n

To remove a tag from a resource, specify the unique ARN value for the resource and provide\n a string list containing one or more tags to be removed. \n This operation succeeds even if the list includes tags that are not currently assigned to the\n specified resource.

\n

\n Learn more\n

\n

\n Tagging Amazon Web Services Resources in the\n Amazon Web Services General Reference\n

\n

\n \n Amazon Web Services Tagging Strategies\n

\n

\n Related actions\n

\n

\n TagResource | \n UntagResource | \n ListTagsForResource | \n All APIs by task\n

" } }, "com.amazonaws.gamelift#UntagResourceRequest": { @@ -11208,7 +11208,7 @@ "TagKeys": { "target": "com.amazonaws.gamelift#TagKeyList", "traits": { - "smithy.api#documentation": "

A list of one or more tag keys to remove from the specified GameLift resource. An\n AWS resource can have only one tag with a specific tag key, so specifying the tag key\n identifies which tag to remove.

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

A list of one or more tag keys to remove from the specified GameLift resource. An\n Amazon Web Services resource can have only one tag with a specific tag key, so specifying the tag key\n identifies which tag to remove.

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

Updates capacity settings for a fleet. For fleets with multiple locations, use this\n operation to manage capacity settings in each location individually. Fleet capacity\n determines the number of game sessions and players that can be hosted based on the fleet\n configuration. Use this operation to set the following fleet capacity properties:

\n \n

This operation can be used in the following ways:

\n \n

If successful, capacity settings are updated immediately. In response a change in\n desired capacity, GameLift initiates steps to start new instances or terminate existing\n instances in the requested fleet location. This continues until the location's active\n instance count matches the new desired instance count. You can track a fleet's current\n capacity by calling DescribeFleetCapacity or DescribeFleetLocationCapacity. If the requested desired instance count\n is higher than the instance type's limit, the LimitExceeded exception\n occurs.

\n

\n Learn more\n

\n

\n Scaling fleet capacity\n

\n

\n Related actions\n

\n

\n CreateFleetLocations | \n UpdateFleetAttributes | \n UpdateFleetCapacity | \n UpdateFleetPortSettings | \n UpdateRuntimeConfiguration | \n StopFleetActions | \n StartFleetActions | \n PutScalingPolicy | \n DeleteFleet | \n DeleteFleetLocations | \n DeleteScalingPolicy | \n All APIs by task\n

" + "smithy.api#documentation": "

Updates capacity settings for a fleet. For fleets with multiple locations, use this\n operation to manage capacity settings in each location individually. Fleet capacity\n determines the number of game sessions and players that can be hosted based on the fleet\n configuration. Use this operation to set the following fleet capacity properties:

\n \n

This operation can be used in the following ways:

\n \n

If successful, capacity settings are updated immediately. In response a change in\n desired capacity, GameLift initiates steps to start new instances or terminate existing\n instances in the requested fleet location. This continues until the location's active\n instance count matches the new desired instance count. You can track a fleet's current\n capacity by calling DescribeFleetCapacity or DescribeFleetLocationCapacity. If the requested desired instance count\n is higher than the instance type's limit, the LimitExceeded exception\n occurs.

\n

\n Learn more\n

\n

\n Scaling fleet capacity\n

\n

\n Related actions\n

\n

\n CreateFleetLocations | \n UpdateFleetAttributes | \n UpdateFleetCapacity | \n UpdateFleetPortSettings | \n UpdateRuntimeConfiguration | \n StopFleetActions | \n StartFleetActions | \n PutScalingPolicy | \n DeleteFleet | \n DeleteFleetLocations | \n DeleteScalingPolicy | \n All APIs by task\n

" } }, "com.amazonaws.gamelift#UpdateFleetCapacityInput": { @@ -11503,7 +11503,7 @@ "DesiredInstances": { "target": "com.amazonaws.gamelift#WholeNumber", "traits": { - "smithy.api#documentation": "

The number of EC2 instances you want to maintain in the specified fleet location.\n This value must fall between the minimum and maximum size limits.

" + "smithy.api#documentation": "

The number of Amazon EC2 instances you want to maintain in the specified fleet location.\n This value must fall between the minimum and maximum size limits.

" } }, "MinSize": { @@ -11521,7 +11521,7 @@ "Location": { "target": "com.amazonaws.gamelift#LocationStringModel", "traits": { - "smithy.api#documentation": "

The name of a remote location to update fleet capacity settings for, in the form of an\n AWS Region code such as us-west-2.

" + "smithy.api#documentation": "

The name of a remote location to update fleet capacity settings for, in the form of an\n Amazon Web Services Region code such as us-west-2.

" } } }, @@ -11547,7 +11547,7 @@ "Location": { "target": "com.amazonaws.gamelift#LocationStringModel", "traits": { - "smithy.api#documentation": "

The remote location being updated, expressed as an AWS Region code, \n such as us-west-2.

" + "smithy.api#documentation": "

The remote location being updated, expressed as an Amazon Web Services Region code, \n such as us-west-2.

" } } }, @@ -11696,19 +11696,19 @@ "RoleArn": { "target": "com.amazonaws.gamelift#IamRoleArn", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) for an IAM role that\n allows Amazon GameLift to access your EC2 Auto Scaling groups.

" + "smithy.api#documentation": "

The Amazon Resource Name (ARN) for an IAM role that\n allows Amazon Web Services to access your Amazon EC2 Auto Scaling groups.

" } }, "InstanceDefinitions": { "target": "com.amazonaws.gamelift#InstanceDefinitions", "traits": { - "smithy.api#documentation": "

An updated list of EC2 instance types to use in the Auto Scaling group. The instance\n definitions must specify at least two different instance types that are supported by\n GameLift FleetIQ. This updated list replaces the entire current list of instance definitions for\n the game server group. For more information on instance types, see EC2 Instance\n Types in the Amazon EC2 User Guide. You can optionally\n specify capacity weighting for each instance type. If no weight value is specified for\n an instance type, it is set to the default value \"1\". For more information about\n capacity weighting, see Instance Weighting for\n Amazon EC2 Auto Scaling in the Amazon EC2 Auto Scaling User Guide.

" + "smithy.api#documentation": "

An updated list of Amazon EC2 instance types to use in the Auto Scaling group. The instance\n definitions must specify at least two different instance types that are supported by\n GameLift FleetIQ. This updated list replaces the entire current list of instance definitions for\n the game server group. For more information on instance types, see EC2 Instance\n Types in the Amazon EC2 User Guide. You can optionally\n specify capacity weighting for each instance type. If no weight value is specified for\n an instance type, it is set to the default value \"1\". For more information about\n capacity weighting, see Instance Weighting for\n Amazon EC2 Auto Scaling in the Amazon EC2 Auto Scaling User Guide.

" } }, "GameServerProtectionPolicy": { "target": "com.amazonaws.gamelift#GameServerProtectionPolicy", "traits": { - "smithy.api#documentation": "

A flag that indicates whether instances in the game server group are protected \n from early termination. Unprotected instances that have active game servers running might \n be terminated during a scale-down event, causing players to be dropped from the game. \n Protected instances cannot be terminated while there are active game servers running except \n in the event of a forced game server group deletion (see ). An exception to this is with Spot \n Instances, which can be terminated by AWS regardless of protection status. This property is set to NO_PROTECTION by default.

" + "smithy.api#documentation": "

A flag that indicates whether instances in the game server group are protected \n from early termination. Unprotected instances that have active game servers running might \n be terminated during a scale-down event, causing players to be dropped from the game. \n Protected instances cannot be terminated while there are active game servers running except \n in the event of a forced game server group deletion (see ). An exception to this is with Spot \n Instances, which can be terminated by Amazon Web Services regardless of protection status. This property is set to NO_PROTECTION by default.

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

Updates the configuration of a game session queue, which determines how the queue\n processes new game session requests. To update settings, specify the queue name to be\n updated and provide the new settings. When updating destinations, provide a complete\n list of destinations.

\n

\n Learn more\n

\n

\n \n Using Multi-Region Queues\n

\n

\n Related actions\n

\n

\n CreateGameSessionQueue | \n DescribeGameSessionQueues | \n UpdateGameSessionQueue | \n DeleteGameSessionQueue | \n All APIs by task\n

" + "smithy.api#documentation": "

Updates the configuration of a game session queue, which determines how the queue\n processes new game session requests. To update settings, specify the queue name to be\n updated and provide the new settings. When updating destinations, provide a complete\n list of destinations.

\n

\n Learn more\n

\n

\n \n Using Multi-Region Queues\n

\n

\n Related actions\n

\n

\n CreateGameSessionQueue \n |\n DescribeGameSessionQueues\n | \n UpdateGameSessionQueue\n | \n DeleteGameSessionQueue\n | \n All APIs by task\n

" } }, "com.amazonaws.gamelift#UpdateGameSessionQueueInput": { @@ -11920,7 +11920,7 @@ "FilterConfiguration": { "target": "com.amazonaws.gamelift#FilterConfiguration", "traits": { - "smithy.api#documentation": "

A list of locations where a queue is allowed to place new game sessions. Locations \n are specified in the form of AWS Region codes, such as us-west-2. If this parameter is \n not set, game sessions can be placed in any queue location. To remove an existing filter configuration, pass in an empty set.

" + "smithy.api#documentation": "

A list of locations where a queue is allowed to place new game sessions. Locations \n are specified in the form of Amazon Web Services Region codes, such as us-west-2. If this parameter is \n not set, game sessions can be placed in any queue location. To remove an existing filter configuration, pass in an empty set.

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

Updates Realtime script metadata and content.

\n

To update script metadata, specify the script ID and provide updated name and/or\n version values.

\n

To update script content, provide an updated zip file by pointing to either a local\n file or an Amazon S3 bucket location. You can use either method regardless of how the\n original script was uploaded. Use the Version parameter to track\n updates to the script.

\n

If the call is successful, the updated metadata is stored in the script record and a\n revised script is uploaded to the Amazon GameLift service. Once the script is updated and\n acquired by a fleet instance, the new version is used for all new game sessions.

\n

\n Learn more\n

\n

\n Amazon GameLift Realtime Servers\n

\n

\n Related actions\n

\n

\n CreateScript | \n ListScripts | \n DescribeScript | \n UpdateScript | \n DeleteScript | \n All APIs by task\n

" + "smithy.api#documentation": "

Updates Realtime script metadata and content.

\n

To update script metadata, specify the script ID and provide updated name and/or\n version values.

\n

To update script content, provide an updated zip file by pointing to either a local\n file or an Amazon S3 bucket location. You can use either method regardless of how the\n original script was uploaded. Use the Version parameter to track\n updates to the script.

\n

If the call is successful, the updated metadata is stored in the script record and a\n revised script is uploaded to the Amazon Web Services service. Once the script is updated and\n acquired by a fleet instance, the new version is used for all new game sessions.

\n

\n Learn more\n

\n

\n Amazon Web Services Realtime Servers\n

\n

\n Related actions\n

\n

\n CreateScript | \n ListScripts | \n DescribeScript | \n UpdateScript | \n DeleteScript | \n All APIs by task\n

" } }, "com.amazonaws.gamelift#UpdateScriptInput": { @@ -12209,13 +12209,13 @@ "StorageLocation": { "target": "com.amazonaws.gamelift#S3Location", "traits": { - "smithy.api#documentation": "

The location of the Amazon S3 bucket where a zipped file containing your Realtime scripts is\n stored. The storage location must specify the Amazon S3 bucket name, the zip file name (the\n \"key\"), and a role ARN that allows Amazon GameLift to access the Amazon S3 storage location. The S3\n bucket must be in the same Region where you want to create a new script. By default,\n Amazon GameLift uploads the latest version of the zip file; if you have S3 object versioning\n turned on, you can use the ObjectVersion parameter to specify an earlier\n version.

" + "smithy.api#documentation": "

The location of the Amazon S3 bucket where a zipped file containing your Realtime scripts is\n stored. The storage location must specify the Amazon S3 bucket name, the zip file name (the\n \"key\"), and a role ARN that allows Amazon Web Services to access the Amazon S3 storage location. The S3\n bucket must be in the same Region where you want to create a new script. By default,\n Amazon Web Services uploads the latest version of the zip file; if you have S3 object versioning\n turned on, you can use the ObjectVersion parameter to specify an earlier\n version.

" } }, "ZipFile": { "target": "com.amazonaws.gamelift#ZipBlob", "traits": { - "smithy.api#documentation": "

A data object containing your Realtime scripts and dependencies as a zip file. The zip\n file can have one or multiple files. Maximum size of a zip file is 5 MB.

\n

When using the AWS CLI tool to create a script, this parameter is set to the zip file\n name. It must be prepended with the string \"fileb://\" to indicate that the file data is\n a binary object. For example: --zip-file\n fileb://myRealtimeScript.zip.

" + "smithy.api#documentation": "

A data object containing your Realtime scripts and dependencies as a zip file. The zip\n file can have one or multiple files. Maximum size of a zip file is 5 MB.

\n

When using the Amazon Web Services CLI tool to create a script, this parameter is set to the zip file\n name. It must be prepended with the string \"fileb://\" to indicate that the file data is\n a binary object. For example: --zip-file\n fileb://myRealtimeScript.zip.

" } } } @@ -12226,7 +12226,7 @@ "Script": { "target": "com.amazonaws.gamelift#Script", "traits": { - "smithy.api#documentation": "

The newly created script record with a unique script ID. The new script's storage\n location reflects an Amazon S3 location: (1) If the script was uploaded from an S3 bucket\n under your account, the storage location reflects the information that was provided in\n the CreateScript request; (2) If the script file was uploaded from\n a local zip file, the storage location reflects an S3 location controls by the Amazon GameLift\n service.

" + "smithy.api#documentation": "

The newly created script record with a unique script ID. The new script's storage\n location reflects an Amazon S3 location: (1) If the script was uploaded from an S3 bucket\n under your account, the storage location reflects the information that was provided in\n the CreateScript request; (2) If the script file was uploaded from\n a local zip file, the storage location reflects an S3 location controls by the Amazon Web Services\n service.

" } } } @@ -12289,7 +12289,7 @@ "GameLiftAwsAccountId": { "target": "com.amazonaws.gamelift#NonZeroAndMaxString", "traits": { - "smithy.api#documentation": "

A unique identifier for the AWS account that you use to manage your GameLift fleet. \n You can find your Account ID in the AWS Management Console under account settings.

" + "smithy.api#documentation": "

A unique identifier for the Amazon Web Services account that you use to manage your GameLift fleet. \n You can find your Account ID in the Amazon Web Services Management Console under account settings.

" } }, "PeerVpcAwsAccountId": { @@ -12301,7 +12301,7 @@ "PeerVpcId": { "target": "com.amazonaws.gamelift#NonZeroAndMaxString", "traits": { - "smithy.api#documentation": "

A unique identifier for a VPC with resources to be accessed by your GameLift fleet. The\n VPC must be in the same Region as your fleet. To look up a VPC ID, use the \n VPC Dashboard in the AWS Management Console. \n Learn more about VPC peering in VPC Peering with GameLift Fleets.

" + "smithy.api#documentation": "

A unique identifier for a VPC with resources to be accessed by your GameLift fleet. The\n VPC must be in the same Region as your fleet. To look up a VPC ID, use the \n VPC Dashboard in the Amazon Web Services Management Console. \n Learn more about VPC peering in VPC Peering with GameLift Fleets.

" } }, "CreationTime": { @@ -12318,7 +12318,7 @@ } }, "traits": { - "smithy.api#documentation": "

Represents an authorization for a VPC peering connection between the VPC for an\n Amazon GameLift fleet and another VPC on an account you have access to. This authorization\n must exist and be valid for the peering connection to be established. Authorizations are\n valid for 24 hours after they are issued.

\n

\n Related actions\n

\n

\n CreateVpcPeeringAuthorization | \n DescribeVpcPeeringAuthorizations | \n DeleteVpcPeeringAuthorization | \n CreateVpcPeeringConnection | \n DescribeVpcPeeringConnections | \n DeleteVpcPeeringConnection | \n All APIs by task\n

" + "smithy.api#documentation": "

Represents an authorization for a VPC peering connection between the VPC for an\n Amazon Web Services fleet and another VPC on an account you have access to. This authorization\n must exist and be valid for the peering connection to be established. Authorizations are\n valid for 24 hours after they are issued.

\n

\n Related actions\n

\n

\n CreateVpcPeeringAuthorization | \n DescribeVpcPeeringAuthorizations | \n DeleteVpcPeeringAuthorization | \n CreateVpcPeeringConnection | \n DescribeVpcPeeringConnections | \n DeleteVpcPeeringConnection | \n All APIs by task\n

" } }, "com.amazonaws.gamelift#VpcPeeringAuthorizationList": { @@ -12333,7 +12333,7 @@ "FleetId": { "target": "com.amazonaws.gamelift#FleetId", "traits": { - "smithy.api#documentation": "

A unique identifier for the fleet. This ID determines the ID of the Amazon GameLift VPC for your fleet.

" + "smithy.api#documentation": "

A unique identifier for the fleet. This ID determines the ID of the Amazon Web Services VPC for your fleet.

" } }, "FleetArn": { @@ -12363,18 +12363,18 @@ "PeerVpcId": { "target": "com.amazonaws.gamelift#NonZeroAndMaxString", "traits": { - "smithy.api#documentation": "

A unique identifier for a VPC with resources to be accessed by your GameLift fleet. The\n VPC must be in the same Region as your fleet. To look up a VPC ID, use the \n VPC Dashboard in the AWS Management Console. \n Learn more about VPC peering in VPC Peering with GameLift Fleets.

" + "smithy.api#documentation": "

A unique identifier for a VPC with resources to be accessed by your GameLift fleet. The\n VPC must be in the same Region as your fleet. To look up a VPC ID, use the \n VPC Dashboard in the Amazon Web Services Management Console. \n Learn more about VPC peering in VPC Peering with GameLift Fleets.

" } }, "GameLiftVpcId": { "target": "com.amazonaws.gamelift#NonZeroAndMaxString", "traits": { - "smithy.api#documentation": "

A unique identifier for the VPC that contains the Amazon GameLift fleet for this\n connection. This VPC is managed by Amazon GameLift and does not appear in your AWS account.\n

" + "smithy.api#documentation": "

A unique identifier for the VPC that contains the Amazon Web Services fleet for this\n connection. This VPC is managed by Amazon Web Services and does not appear in your Amazon Web Services account.\n

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

Represents a peering connection between a VPC on one of your AWS accounts and the\n VPC for your Amazon GameLift fleets. This record may be for an active peering connection or a\n pending connection that has not yet been established.

\n

\n Related actions\n

\n

\n CreateVpcPeeringAuthorization | \n DescribeVpcPeeringAuthorizations | \n DeleteVpcPeeringAuthorization | \n CreateVpcPeeringConnection | \n DescribeVpcPeeringConnections | \n DeleteVpcPeeringConnection | \n All APIs by task\n

" + "smithy.api#documentation": "

Represents a peering connection between a VPC on one of your Amazon Web Services accounts and the\n VPC for your Amazon Web Services fleets. This record may be for an active peering connection or a\n pending connection that has not yet been established.

\n

\n Related actions\n

\n

\n CreateVpcPeeringAuthorization | \n DescribeVpcPeeringAuthorizations | \n DeleteVpcPeeringAuthorization | \n CreateVpcPeeringConnection | \n DescribeVpcPeeringConnections | \n DeleteVpcPeeringConnection | \n All APIs by task\n

" } }, "com.amazonaws.gamelift#VpcPeeringConnectionList": { diff --git a/codegen/sdk-codegen/aws-models/glue.2017-03-31.json b/codegen/sdk-codegen/aws-models/glue.2017-03-31.json index 91257167905..800efcc72eb 100644 --- a/codegen/sdk-codegen/aws-models/glue.2017-03-31.json +++ b/codegen/sdk-codegen/aws-models/glue.2017-03-31.json @@ -2384,7 +2384,7 @@ "DataFormat": { "target": "com.amazonaws.glue#DataFormat", "traits": { - "smithy.api#documentation": "

The data format of the schema definition. Currently AVRO and JSON are supported.

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

The data format of the schema definition. Currently AVRO, JSON and PROTOBUF are supported.

", "smithy.api#required": {} } }, @@ -5083,6 +5083,9 @@ { "target": "com.amazonaws.glue#AlreadyExistsException" }, + { + "target": "com.amazonaws.glue#ConcurrentModificationException" + }, { "target": "com.amazonaws.glue#InternalServiceException" }, @@ -5165,6 +5168,9 @@ { "target": "com.amazonaws.glue#AlreadyExistsException" }, + { + "target": "com.amazonaws.glue#ConcurrentModificationException" + }, { "target": "com.amazonaws.glue#EntityNotFoundException" }, @@ -5201,7 +5207,7 @@ "DataFormat": { "target": "com.amazonaws.glue#DataFormat", "traits": { - "smithy.api#documentation": "

The data format of the schema definition. Currently AVRO and JSON are supported.

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

The data format of the schema definition. Currently AVRO, JSON and PROTOBUF are supported.

", "smithy.api#required": {} } }, @@ -5267,7 +5273,7 @@ "DataFormat": { "target": "com.amazonaws.glue#DataFormat", "traits": { - "smithy.api#documentation": "

The data format of the schema definition. Currently AVRO and JSON are supported.

" + "smithy.api#documentation": "

The data format of the schema definition. Currently AVRO, JSON and PROTOBUF are supported.

" } }, "Compatibility": { @@ -5991,6 +5997,10 @@ { "value": "JSON", "name": "JSON" + }, + { + "value": "PROTOBUF", + "name": "PROTOBUF" } ] } @@ -10815,7 +10825,7 @@ "DataFormat": { "target": "com.amazonaws.glue#DataFormat", "traits": { - "smithy.api#documentation": "

The data format of the schema definition. Currently only AVRO and JSON are supported.

" + "smithy.api#documentation": "

The data format of the schema definition. Currently AVRO, JSON and PROTOBUF are supported.

" } }, "Status": { @@ -10880,7 +10890,7 @@ "DataFormat": { "target": "com.amazonaws.glue#DataFormat", "traits": { - "smithy.api#documentation": "

The data format of the schema definition. Currently AVRO and JSON are supported.

" + "smithy.api#documentation": "

The data format of the schema definition. Currently AVRO, JSON and PROTOBUF are supported.

" } }, "Compatibility": { @@ -10994,7 +11004,7 @@ "DataFormat": { "target": "com.amazonaws.glue#DataFormat", "traits": { - "smithy.api#documentation": "

The data format of the schema definition. Currently AVRO and JSON are supported.

" + "smithy.api#documentation": "

The data format of the schema definition. Currently AVRO, JSON and PROTOBUF are supported.

" } }, "SchemaArn": { @@ -18506,6 +18516,9 @@ "traits": { "smithy.api#documentation": "

The ID of the Data Catalog in which the table resides.

" } + }, + "VersionId": { + "target": "com.amazonaws.glue#VersionString" } }, "traits": { @@ -20849,6 +20862,9 @@ "traits": { "smithy.api#documentation": "

The transaction ID at which to update the table contents.

" } + }, + "VersionId": { + "target": "com.amazonaws.glue#VersionString" } } }, diff --git a/codegen/sdk-codegen/aws-models/iam.2010-05-08.json b/codegen/sdk-codegen/aws-models/iam.2010-05-08.json index e33fce51b89..c9243070512 100644 --- a/codegen/sdk-codegen/aws-models/iam.2010-05-08.json +++ b/codegen/sdk-codegen/aws-models/iam.2010-05-08.json @@ -31,6 +31,24 @@ "shapes": { "com.amazonaws.iam#AWSIdentityManagementV20100508": { "type": "service", + "traits": { + "aws.api#service": { + "sdkId": "IAM", + "arnNamespace": "iam", + "cloudFormationName": "IAM", + "cloudTrailEventSource": "iam.amazonaws.com", + "endpointPrefix": "iam" + }, + "aws.auth#sigv4": { + "name": "iam" + }, + "aws.protocols#awsQuery": {}, + "smithy.api#documentation": "Identity and Access Management\n

Identity and Access Management (IAM) is a web service for securely controlling \n access to Amazon Web Services services. With IAM, you can centrally manage users, security credentials\n such as access keys, and permissions that control which Amazon Web Services resources users and \n applications can access. For more information about IAM, see Identity and Access Management (IAM) and the Identity and Access Management User Guide.

", + "smithy.api#title": "AWS Identity and Access Management", + "smithy.api#xmlNamespace": { + "uri": "https://iam.amazonaws.com/doc/2010-05-08/" + } + }, "version": "2010-05-08", "operations": [ { @@ -507,25 +525,7 @@ { "target": "com.amazonaws.iam#UploadSSHPublicKey" } - ], - "traits": { - "aws.api#service": { - "sdkId": "IAM", - "arnNamespace": "iam", - "cloudFormationName": "IAM", - "cloudTrailEventSource": "iam.amazonaws.com", - "endpointPrefix": "iam" - }, - "aws.auth#sigv4": { - "name": "iam" - }, - "aws.protocols#awsQuery": {}, - "smithy.api#documentation": "Identity and Access Management\n

Identity and Access Management (IAM) is a web service for securely controlling \n access to Amazon Web Services services. With IAM, you can centrally manage users, security credentials\n such as access keys, and permissions that control which Amazon Web Services resources users and \n applications can access. For more information about IAM, see Identity and Access Management (IAM) and the Identity and Access Management User Guide.

", - "smithy.api#title": "AWS Identity and Access Management", - "smithy.api#xmlNamespace": { - "uri": "https://iam.amazonaws.com/doc/2010-05-08/" - } - } + ] }, "com.amazonaws.iam#AccessAdvisorUsageGranularityType": { "type": "string", @@ -649,14 +649,14 @@ "ServiceName": { "target": "com.amazonaws.iam#stringType", "traits": { - "smithy.api#documentation": "

The name of the Amazon Web Services service with which this access key was most recently used. The value\n of this field is \"N/A\" in the following situations:

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

The name of the Amazon Web Services service with which this access key was most recently used. The\n value of this field is \"N/A\" in the following situations:

\n ", "smithy.api#required": {} } }, "Region": { "target": "com.amazonaws.iam#stringType", "traits": { - "smithy.api#documentation": "

The Amazon Web Services Region where this access key was most recently used. The value for this field is\n \"N/A\" in the following situations:

\n \n

For more information about Amazon Web Services Regions, see Regions and endpoints in the Amazon Web Services\n General Reference.

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

The Amazon Web Services Region where this access key was most recently used. The value for this field\n is \"N/A\" in the following situations:

\n \n

For more information about Amazon Web Services Regions, see Regions and endpoints in the Amazon Web Services\n General Reference.

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

Changes the password of the IAM user who is calling this operation. This operation\n\n can be performed using the CLI, the Amazon Web Services API, or the My\n Security Credentials page in the Amazon Web Services Management Console. The Amazon Web Services account root user\n password is not affected by this operation.

\n

Use UpdateLoginProfile to use the CLI, the Amazon Web Services API, or the\n Users page in the IAM console to change the\n password for any IAM user. For more information about modifying passwords, see Managing\n passwords in the IAM User Guide.

" + "smithy.api#documentation": "

Changes the password of the IAM user who is calling this operation. This operation\n can be performed using the CLI, the Amazon Web Services API, or the My\n Security Credentials page in the Amazon Web Services Management Console. The Amazon Web Services account root user\n password is not affected by this operation.

\n

Use UpdateLoginProfile to use the CLI, the Amazon Web Services API, or the\n Users page in the IAM console to change the\n password for any IAM user. For more information about modifying passwords, see Managing\n passwords in the IAM User Guide.

" } }, "com.amazonaws.iam#ChangePasswordRequest": { @@ -1119,7 +1119,7 @@ } }, "traits": { - "smithy.api#documentation": "

Contains information about a condition context key. It includes the name of the key and\n specifies the value (or values, if the context key supports multiple values) to use in the\n simulation. This information is used when evaluating the Condition elements of\n the input policies.

\n

This data type is used as an input parameter to SimulateCustomPolicy and SimulatePrincipalPolicy.

" + "smithy.api#documentation": "

Contains information about a condition context key. It includes the name of the key and\n specifies the value (or values, if the context key supports multiple values) to use in the\n simulation. This information is used when evaluating the Condition elements of\n the input policies.

\n

This data type is used as an input parameter to SimulateCustomPolicy\n and SimulatePrincipalPolicy.

" } }, "com.amazonaws.iam#ContextEntryListType": { @@ -1441,7 +1441,7 @@ } ], "traits": { - "smithy.api#documentation": "

Creates a password for the specified IAM user. A password allows an IAM user to\n access Amazon Web Services services through the Amazon Web Services Management Console.

\n

You can use the CLI, the Amazon Web Services API, or the Users page in the IAM console to create a password for any IAM user.\n Use ChangePassword to update your own existing password in the\n My Security Credentials page in the\n Amazon Web Services Management Console.

\n

For more information about managing passwords, see Managing passwords in the\n IAM User Guide.

" + "smithy.api#documentation": "

Creates a password for the specified IAM user. A password allows an IAM user to\n access Amazon Web Services services through the Amazon Web Services Management Console.

\n

You can use the CLI, the Amazon Web Services API, or the Users\n page in the IAM console to create a password for any IAM user. Use ChangePassword to update your own existing password in the My Security Credentials page in the Amazon Web Services Management Console.

\n

For more information about managing passwords, see Managing passwords in the\n IAM User Guide.

" } }, "com.amazonaws.iam#CreateLoginProfileRequest": { @@ -1510,7 +1510,7 @@ } ], "traits": { - "smithy.api#documentation": "

Creates an IAM entity to describe an identity provider (IdP) that supports OpenID Connect (OIDC).

\n

The OIDC provider that you create with this operation can be used as a principal in a\n role's trust policy. Such a policy establishes a trust relationship between Amazon Web Services and\n the OIDC provider.

\n

If you are using an OIDC identity provider from Google, Facebook, or Amazon Cognito, you don't\n need to create a separate IAM identity provider. These OIDC identity providers are\n already built-in to Amazon Web Services and are available for your use. Instead, you can move directly\n to creating new roles using your identity provider. To learn more, see Creating\n a role for web identity or OpenID connect federation in the IAM\n User Guide.

\n

When you create the IAM OIDC provider, you specify the following:

\n \n

You get all of this information from the OIDC IdP you want to use to access\n Amazon Web Services.

\n \n

Amazon Web Services secures communication with some OIDC identity providers (IdPs) through our\n library of trusted certificate authorities (CAs) instead of using a certificate\n thumbprint to verify your IdP server certificate. These OIDC IdPs include Google, and\n those that use an Amazon S3 bucket to host a JSON Web Key Set (JWKS) endpoint. In these\n cases, your legacy thumbprint remains in your configuration, but is no longer used for validation.

\n
\n \n

The trust for the OIDC provider is derived from the IAM provider that this\n operation creates. Therefore, it is best to limit access to the CreateOpenIDConnectProvider operation to highly privileged\n users.

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

Creates an IAM entity to describe an identity provider (IdP) that supports OpenID Connect (OIDC).

\n

The OIDC provider that you create with this operation can be used as a principal in a\n role's trust policy. Such a policy establishes a trust relationship between Amazon Web Services and\n the OIDC provider.

\n

If you are using an OIDC identity provider from Google, Facebook, or Amazon Cognito, you don't\n need to create a separate IAM identity provider. These OIDC identity providers are\n already built-in to Amazon Web Services and are available for your use. Instead, you can move directly\n to creating new roles using your identity provider. To learn more, see Creating\n a role for web identity or OpenID connect federation in the IAM\n User Guide.

\n

When you create the IAM OIDC provider, you specify the following:

\n \n

You get all of this information from the OIDC IdP you want to use to access\n Amazon Web Services.

\n \n

Amazon Web Services secures communication with some OIDC identity providers (IdPs) through our\n library of trusted certificate authorities (CAs) instead of using a certificate\n thumbprint to verify your IdP server certificate. These OIDC IdPs include Google, and\n those that use an Amazon S3 bucket to host a JSON Web Key Set (JWKS) endpoint. In these\n cases, your legacy thumbprint remains in your configuration, but is no longer used for validation.

\n
\n \n

The trust for the OIDC provider is derived from the IAM provider that this\n operation creates. Therefore, it is best to limit access to the CreateOpenIDConnectProvider operation to highly privileged\n users.

\n
" } }, "com.amazonaws.iam#CreateOpenIDConnectProviderRequest": { @@ -1526,7 +1526,7 @@ "ClientIDList": { "target": "com.amazonaws.iam#clientIDListType", "traits": { - "smithy.api#documentation": "

Provides a list of client IDs, also known as audiences. When a mobile or web app registers\n with an OpenID Connect provider, they establish a value that identifies the application.\n This is the value that's sent as the client_id parameter on OAuth\n requests.

\n

You can register multiple client IDs with the same provider. For example, you might\n have multiple applications that use the same OIDC provider. You cannot register more\n than 100 client IDs with a single IAM OIDC provider.

\n

There is no defined format for a client ID. The\n CreateOpenIDConnectProviderRequest operation accepts client IDs up to\n 255 characters long.

" + "smithy.api#documentation": "

Provides a list of client IDs, also known as audiences. When a mobile or web app\n registers with an OpenID Connect provider, they establish a value that identifies the\n application. This is the value that's sent as the client_id parameter on\n OAuth requests.

\n

You can register multiple client IDs with the same provider. For example, you might\n have multiple applications that use the same OIDC provider. You cannot register more\n than 100 client IDs with a single IAM OIDC provider.

\n

There is no defined format for a client ID. The\n CreateOpenIDConnectProviderRequest operation accepts client IDs up to\n 255 characters long.

" } }, "ThumbprintList": { @@ -1609,13 +1609,13 @@ "Path": { "target": "com.amazonaws.iam#policyPathType", "traits": { - "smithy.api#documentation": "

The path for the policy.

\n

For more information about paths, see IAM identifiers in the\n IAM User Guide.

\n

This parameter is optional. If it is not included, it defaults to a slash (/).

\n

This parameter allows (through its regex pattern) a string of characters consisting \n of either a forward slash (/) by itself or a string that must begin and end with forward slashes.\n In addition, it can contain any ASCII character from the ! (\\u0021) through the DEL character (\\u007F), including \n most punctuation characters, digits, and upper and lowercased letters.

\n \n

You cannot use an asterisk (*) in the path name.

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

The path for the policy.

\n

For more information about paths, see IAM identifiers in the\n IAM User Guide.

\n

This parameter is optional. If it is not included, it defaults to a slash (/).

\n

This parameter allows (through its regex pattern) a string of characters consisting \n of either a forward slash (/) by itself or a string that must begin and end with forward slashes.\n In addition, it can contain any ASCII character from the ! (\\u0021) through the DEL character (\\u007F), including \n most punctuation characters, digits, and upper and lowercased letters.

\n \n

You cannot use an asterisk (*) in the path name.

\n
" } }, "PolicyDocument": { "target": "com.amazonaws.iam#policyDocumentType", "traits": { - "smithy.api#documentation": "

The JSON policy document that you want to use as the content for the new\n policy.

\n

You must provide policies in JSON format in IAM. However, for CloudFormation\n templates formatted in YAML, you can provide the policy in JSON or YAML format. CloudFormation always converts a YAML policy to JSON format before submitting it to\n\n IAM.

\n

The maximum length of the policy document that you can pass in this operation,\n including whitespace, is listed below. To view the maximum character counts of a managed policy with no whitespaces, see IAM and STS character quotas.

\n

To learn more about JSON policy grammar, see Grammar of the IAM JSON\n policy language in the IAM User Guide.

\n

The regex pattern \n used to validate this parameter is a string of characters consisting of the following:

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

The JSON policy document that you want to use as the content for the new\n policy.

\n

You must provide policies in JSON format in IAM. However, for CloudFormation\n templates formatted in YAML, you can provide the policy in JSON or YAML format. CloudFormation always converts a YAML policy to JSON format before submitting it to\n IAM.

\n

The maximum length of the policy document that you can pass in this operation,\n including whitespace, is listed below. To view the maximum character counts of a managed policy with no whitespaces, see IAM and STS character quotas.

\n

To learn more about JSON policy grammar, see Grammar of the IAM JSON\n policy language in the IAM User Guide.

\n

The regex pattern \n used to validate this parameter is a string of characters consisting of the following:

\n ", "smithy.api#required": {} } }, @@ -1766,7 +1766,7 @@ "AssumeRolePolicyDocument": { "target": "com.amazonaws.iam#policyDocumentType", "traits": { - "smithy.api#documentation": "

The trust relationship policy document that grants an entity permission to assume the\n role.

\n

In IAM, you must provide a JSON policy that has been converted to a string. However,\n for CloudFormation templates formatted in YAML, you can provide the policy in JSON\n or YAML format. CloudFormation always converts a YAML policy to JSON format before\n submitting it to IAM.

\n

The regex pattern \n used to validate this parameter is a string of characters consisting of the following:

\n \n

Upon success, the response includes the same trust policy in JSON format.

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

The trust relationship policy document that grants an entity permission to assume the\n role.

\n

In IAM, you must provide a JSON policy that has been converted to a string. However,\n for CloudFormation templates formatted in YAML, you can provide the policy in JSON or YAML\n format. CloudFormation always converts a YAML policy to JSON format before submitting it to\n IAM.

\n

The regex pattern \n used to validate this parameter is a string of characters consisting of the following:

\n \n

Upon success, the response includes the same trust policy in JSON format.

", "smithy.api#required": {} } }, @@ -1779,7 +1779,7 @@ "MaxSessionDuration": { "target": "com.amazonaws.iam#roleMaxSessionDurationType", "traits": { - "smithy.api#documentation": "

The maximum session duration (in seconds) that you want to set for the specified role.\n If you do not specify a value for this setting, the default maximum of one hour is\n applied. This setting can have a value from 1 hour to 12 hours.

\n

Anyone who assumes the role from the or API can use the\n DurationSeconds API parameter or the duration-seconds CLI\n parameter to request a longer session. The MaxSessionDuration setting\n determines the maximum duration that can be requested using the\n DurationSeconds parameter. If users don't specify a value for the\n DurationSeconds parameter, their security credentials are valid for one\n hour by default. This applies when you use the AssumeRole* API operations\n or the assume-role* CLI operations but does not apply when you use those\n operations to create a console URL. For more information, see Using IAM\n roles in the IAM User Guide.

" + "smithy.api#documentation": "

The maximum session duration (in seconds) that you want to set for the specified role.\n If you do not specify a value for this setting, the default maximum of one hour is\n applied. This setting can have a value from 1 hour to 12 hours.

\n

Anyone who assumes the role from the or API can use the DurationSeconds\n API parameter or the duration-seconds CLI parameter to request a longer\n session. The MaxSessionDuration setting determines the maximum duration\n that can be requested using the DurationSeconds parameter. If users don't\n specify a value for the DurationSeconds parameter, their security\n credentials are valid for one hour by default. This applies when you use the\n AssumeRole* API operations or the assume-role* CLI\n operations but does not apply when you use those operations to create a console URL. For\n more information, see Using IAM roles in the IAM User Guide.

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

Deletes the password for the specified IAM user, which terminates the user's ability\n to access Amazon Web Services services through the Amazon Web Services Management Console.

\n

You can use the CLI, the Amazon Web Services API, or the Users page in the IAM console to delete a password for any IAM user.\n You can use ChangePassword to update, but not delete, your own\n password in the My Security Credentials page in the\n Amazon Web Services Management Console.

\n \n

Deleting a user's password does not prevent a user from accessing Amazon Web Services through\n the command line interface or the API. To prevent all user access, you must also\n either make any access keys inactive or delete them. For more information about\n making keys inactive or deleting them, see UpdateAccessKey and\n DeleteAccessKey.

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

Deletes the password for the specified IAM user, which terminates the user's ability\n to access Amazon Web Services services through the Amazon Web Services Management Console.

\n

You can use the CLI, the Amazon Web Services API, or the Users\n page in the IAM console to delete a password for any IAM user. You can use ChangePassword to update, but not delete, your own password in the\n My Security Credentials page in the\n Amazon Web Services Management Console.

\n \n

Deleting a user's password does not prevent a user from accessing Amazon Web Services through\n the command line interface or the API. To prevent all user access, you must also\n either make any access keys inactive or delete them. For more information about\n making keys inactive or deleting them, see UpdateAccessKey and\n DeleteAccessKey.

\n
" } }, "com.amazonaws.iam#DeleteLoginProfileRequest": { @@ -3685,7 +3685,7 @@ } ], "traits": { - "smithy.api#documentation": "

Generates a report that includes details about when an IAM resource (user, group,\n role, or policy) was last used in an attempt to access Amazon Web Services services. Recent activity\n usually appears within four hours. IAM reports activity for the last 365 days, or less\n if your Region began supporting this feature within the last year. For more information,\n see Regions where data is tracked.

\n \n

The service last accessed data includes all attempts to access an Amazon Web Services API, not\n just the successful ones. This includes all attempts that were made using the\n Amazon Web Services Management Console, the Amazon Web Services API through any of the SDKs, or any of the command line tools.\n An unexpected entry in the service last accessed data does not mean that your\n account has been compromised, because the request might have been denied. Refer to\n your CloudTrail logs as the authoritative source for information about all API calls\n and whether they were successful or denied access. For more information, see Logging\n IAM events with CloudTrail in the\n IAM User Guide.

\n
\n

The GenerateServiceLastAccessedDetails operation returns a\n JobId. Use this parameter in the following operations to retrieve the\n following details from your report:

\n \n

To check the status of the GenerateServiceLastAccessedDetails request,\n use the JobId parameter in the same operations and test the\n JobStatus response parameter.

\n

For additional information about the permissions policies that allow an identity\n (user, group, or role) to access specific services, use the ListPoliciesGrantingServiceAccess operation.

\n \n

Service last accessed data does not use other policy types when determining\n whether a resource could access a service. These other policy types include\n resource-based policies, access control lists, Organizations policies, IAM\n permissions boundaries, and STS assume role policies. It only applies\n permissions policy logic. For more about the evaluation of policy types, see Evaluating policies in the\n IAM User Guide.

\n
\n

For more information about service and action last accessed data, see Reducing permissions using service last accessed data in the\n IAM User Guide.

" + "smithy.api#documentation": "

Generates a report that includes details about when an IAM resource (user, group,\n role, or policy) was last used in an attempt to access Amazon Web Services services. Recent activity\n usually appears within four hours. IAM reports activity for at least the last 400\n days, or less if your Region began supporting this feature within the last year. For\n more information, see Regions where data is tracked.

\n \n

The service last accessed data includes all attempts to access an Amazon Web Services API, not\n just the successful ones. This includes all attempts that were made using the\n Amazon Web Services Management Console, the Amazon Web Services API through any of the SDKs, or any of the command line tools.\n An unexpected entry in the service last accessed data does not mean that your\n account has been compromised, because the request might have been denied. Refer to\n your CloudTrail logs as the authoritative source for information about all API calls\n and whether they were successful or denied access. For more information, see Logging\n IAM events with CloudTrail in the\n IAM User Guide.

\n
\n

The GenerateServiceLastAccessedDetails operation returns a\n JobId. Use this parameter in the following operations to retrieve the\n following details from your report:

\n \n

To check the status of the GenerateServiceLastAccessedDetails request,\n use the JobId parameter in the same operations and test the\n JobStatus response parameter.

\n

For additional information about the permissions policies that allow an identity\n (user, group, or role) to access specific services, use the ListPoliciesGrantingServiceAccess operation.

\n \n

Service last accessed data does not use other policy types when determining\n whether a resource could access a service. These other policy types include\n resource-based policies, access control lists, Organizations policies, IAM permissions\n boundaries, and STS assume role policies. It only applies permissions policy\n logic. For more about the evaluation of policy types, see Evaluating policies in the\n IAM User Guide.

\n
\n

For more information about service and action last accessed data, see Reducing permissions using service last accessed data in the\n IAM User Guide.

" } }, "com.amazonaws.iam#GenerateServiceLastAccessedDetailsRequest": { @@ -4130,7 +4130,7 @@ "PolicyDocument": { "target": "com.amazonaws.iam#policyDocumentType", "traits": { - "smithy.api#documentation": "

The policy document.

\n\n

IAM stores policies in JSON format. However, resources that were created using CloudFormation templates can be formatted in YAML. CloudFormation always converts\n a YAML policy to JSON format before submitting it to IAM.

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

The policy document.

\n\n

IAM stores policies in JSON format. However, resources that were created using CloudFormation\n templates can be formatted in YAML. CloudFormation always converts a YAML policy to JSON format\n before submitting it to IAM.

", "smithy.api#required": {} } } @@ -4716,7 +4716,7 @@ "PolicyDocument": { "target": "com.amazonaws.iam#policyDocumentType", "traits": { - "smithy.api#documentation": "

The policy document.

\n

IAM stores policies in JSON format. However, resources that were created using CloudFormation templates can be formatted in YAML. CloudFormation always converts\n a YAML policy to JSON format before submitting it to IAM.

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

The policy document.

\n

IAM stores policies in JSON format. However, resources that were created using CloudFormation\n templates can be formatted in YAML. CloudFormation always converts a YAML policy to JSON format\n before submitting it to IAM.

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

Retrieves a service last accessed report that was created using the\n GenerateServiceLastAccessedDetails operation. You can use the\n JobId parameter in GetServiceLastAccessedDetails to\n retrieve the status of your report job. When the report is complete, you can retrieve\n the generated report. The report includes a list of Amazon Web Services services that the resource\n (user, group, role, or managed policy) can access.

\n \n

Service last accessed data does not use other policy types when determining\n whether a resource could access a service. These other policy types include\n resource-based policies, access control lists, Organizations policies, IAM\n permissions boundaries, and STS assume role policies. It only applies\n permissions policy logic. For more about the evaluation of policy types, see Evaluating policies in the\n IAM User Guide.

\n
\n

For each service that the resource could access using permissions policies, the\n operation returns details about the most recent access attempt. If there was no attempt,\n the service is listed without details about the most recent attempt to access the\n service. If the operation fails, the GetServiceLastAccessedDetails\n operation returns the reason that it failed.

\n

The GetServiceLastAccessedDetails operation returns a list of services.\n This list includes the number of entities that have attempted to access the service and\n the date and time of the last attempt. It also returns the ARN of the following entity,\n depending on the resource ARN that you used to generate the report:

\n \n

By default, the list is sorted by service namespace.

\n

If you specified ACTION_LEVEL granularity when you generated the report,\n this operation returns service and action last accessed data. This includes the most\n recent access attempt for each tracked action within a service. Otherwise, this\n operation returns only service data.

\n

For more information about service and action last accessed data, see Reducing permissions using service last accessed data in the\n IAM User Guide.

" + "smithy.api#documentation": "

Retrieves a service last accessed report that was created using the\n GenerateServiceLastAccessedDetails operation. You can use the\n JobId parameter in GetServiceLastAccessedDetails to\n retrieve the status of your report job. When the report is complete, you can retrieve\n the generated report. The report includes a list of Amazon Web Services services that the resource\n (user, group, role, or managed policy) can access.

\n \n

Service last accessed data does not use other policy types when determining\n whether a resource could access a service. These other policy types include\n resource-based policies, access control lists, Organizations policies, IAM permissions\n boundaries, and STS assume role policies. It only applies permissions policy\n logic. For more about the evaluation of policy types, see Evaluating policies in the\n IAM User Guide.

\n
\n

For each service that the resource could access using permissions policies, the\n operation returns details about the most recent access attempt. If there was no attempt,\n the service is listed without details about the most recent attempt to access the\n service. If the operation fails, the GetServiceLastAccessedDetails\n operation returns the reason that it failed.

\n

The GetServiceLastAccessedDetails operation returns a list of services.\n This list includes the number of entities that have attempted to access the service and\n the date and time of the last attempt. It also returns the ARN of the following entity,\n depending on the resource ARN that you used to generate the report:

\n \n

By default, the list is sorted by service namespace.

\n

If you specified ACTION_LEVEL granularity when you generated the report,\n this operation returns service and action last accessed data. This includes the most\n recent access attempt for each tracked action within a service. Otherwise, this\n operation returns only service data.

\n

For more information about service and action last accessed data, see Reducing permissions using service last accessed data in the\n IAM User Guide.

" } }, "com.amazonaws.iam#GetServiceLastAccessedDetailsRequest": { @@ -5283,7 +5283,7 @@ "PolicyDocument": { "target": "com.amazonaws.iam#policyDocumentType", "traits": { - "smithy.api#documentation": "

The policy document.

\n\n

IAM stores policies in JSON format. However, resources that were created using CloudFormation templates can be formatted in YAML. CloudFormation always converts\n a YAML policy to JSON format before submitting it to IAM.

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

The policy document.

\n\n

IAM stores policies in JSON format. However, resources that were created using CloudFormation\n templates can be formatted in YAML. CloudFormation always converts a YAML policy to JSON format\n before submitting it to IAM.

", "smithy.api#required": {} } } @@ -5309,7 +5309,7 @@ "User": { "target": "com.amazonaws.iam#User", "traits": { - "smithy.api#documentation": "

A structure containing details about the IAM user.

\n \n

Due to a service issue, password last used data does not include password use from\n May 3, 2018 22:50 PDT to May 23, 2018 14:08 PDT. This affects last sign-in dates shown in the IAM console and password last used\n dates in the IAM credential\n report, and returned by this operation. If users signed in during the\n affected time, the password last used date that is returned is the date the user\n last signed in before May 3, 2018. For users that signed in after May 23, 2018 14:08\n PDT, the returned password last used date is accurate.

\n

You can use password last used information to identify unused credentials for\n deletion. For example, you might delete users who did not sign in to Amazon Web Services in the last\n 90 days. In cases like this, we recommend that you adjust your evaluation window to\n include dates after May 23, 2018. Alternatively, if your users use access keys to\n access Amazon Web Services programmatically you can refer to access key last used information\n because it is accurate for all dates.

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

A structure containing details about the IAM user.

\n \n

Due to a service issue, password last used data does not include password use from\n May 3, 2018 22:50 PDT to May 23, 2018 14:08 PDT. This affects last sign-in dates shown in the IAM console and password last used\n dates in the IAM credential\n report, and returned by this operation. If users signed in during the\n affected time, the password last used date that is returned is the date the user\n last signed in before May 3, 2018. For users that signed in after May 23, 2018 14:08\n PDT, the returned password last used date is accurate.

\n

You can use password last used information to identify unused credentials for\n deletion. For example, you might delete users who did not sign in to Amazon Web Services in the\n last 90 days. In cases like this, we recommend that you adjust your evaluation\n window to include dates after May 23, 2018. Alternatively, if your users use access\n keys to access Amazon Web Services programmatically you can refer to access key last used\n information because it is accurate for all dates.

\n
", "smithy.api#required": {} } } @@ -6830,7 +6830,7 @@ } ], "traits": { - "smithy.api#documentation": "

Retrieves a list of policies that the IAM identity (user, group, or role) can use to\n access each specified service.

\n \n

This operation does not use other policy types when determining whether a resource\n could access a service. These other policy types include resource-based policies,\n access control lists, Organizations policies, IAM permissions boundaries, and\n STS assume role policies. It only applies permissions policy logic. For more\n about the evaluation of policy types, see Evaluating policies in the\n IAM User Guide.

\n
\n

The list of policies returned by the operation depends on the ARN of the identity that\n you provide.

\n \n

For each managed policy, this operation returns the ARN and policy name. For each\n inline policy, it returns the policy name and the entity to which it is attached. Inline\n policies do not have an ARN. For more information about these policy types, see Managed policies and inline policies in the\n IAM User Guide.

\n

Policies that are attached to users and roles as permissions boundaries are not\n returned. To view which managed policy is currently used to set the permissions boundary\n for a user or role, use the GetUser or GetRole\n operations.

" + "smithy.api#documentation": "

Retrieves a list of policies that the IAM identity (user, group, or role) can use to\n access each specified service.

\n \n

This operation does not use other policy types when determining whether a resource\n could access a service. These other policy types include resource-based policies,\n access control lists, Organizations policies, IAM permissions boundaries, and STS\n assume role policies. It only applies permissions policy logic. For more about the\n evaluation of policy types, see Evaluating policies in the\n IAM User Guide.

\n
\n

The list of policies returned by the operation depends on the ARN of the identity that\n you provide.

\n \n

For each managed policy, this operation returns the ARN and policy name. For each\n inline policy, it returns the policy name and the entity to which it is attached. Inline\n policies do not have an ARN. For more information about these policy types, see Managed policies and inline policies in the\n IAM User Guide.

\n

Policies that are attached to users and roles as permissions boundaries are not\n returned. To view which managed policy is currently used to set the permissions boundary\n for a user or role, use the GetUser or GetRole\n operations.

" } }, "com.amazonaws.iam#ListPoliciesGrantingServiceAccessEntry": { @@ -8013,7 +8013,7 @@ "target": "com.amazonaws.iam#ListVirtualMFADevicesResponse" }, "traits": { - "smithy.api#documentation": "

Lists the virtual MFA devices defined in the Amazon Web Services account by assignment status. If\n you do not specify an assignment status, the operation returns a list of all virtual MFA\n devices. Assignment status can be Assigned, Unassigned, or\n Any.

\n \n

IAM resource-listing operations return a subset of the available \n attributes for the resource. For example, this operation does not return tags, even though they are an attribute of the returned object. To view all of the information for a virtual MFA device, see\n ListVirtualMFADevices.

\n
\n

You can paginate the results using the MaxItems and Marker\n parameters.

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

Lists the virtual MFA devices defined in the Amazon Web Services account by assignment status. If\n you do not specify an assignment status, the operation returns a list of all virtual MFA\n devices. Assignment status can be Assigned, Unassigned, or\n Any.

\n \n

IAM resource-listing operations return a subset of the available \n attributes for the resource. For example, this operation does not return tags, even though they are an attribute of the returned object. To view tag information for a virtual MFA device, see ListMFADeviceTags.

\n
\n

You can paginate the results using the MaxItems and Marker\n parameters.

", "smithy.api#paginated": { "inputToken": "Marker", "outputToken": "Marker", @@ -8319,31 +8319,31 @@ "RequireSymbols": { "target": "com.amazonaws.iam#booleanType", "traits": { - "smithy.api#documentation": "

Specifies whether IAM user passwords must contain at least one of the following symbols:

\n

! @ # $ % ^ & * ( ) _ + - = [ ] { } | '

" + "smithy.api#documentation": "

Specifies whether IAM user passwords must contain at least one of the following\n symbols:

\n

! @ # $ % ^ & * ( ) _ + - = [ ] { } | '

" } }, "RequireNumbers": { "target": "com.amazonaws.iam#booleanType", "traits": { - "smithy.api#documentation": "

Specifies whether IAM user passwords must contain at least one numeric character (0 to 9).

" + "smithy.api#documentation": "

Specifies whether IAM user passwords must contain at least one numeric character (0 to\n 9).

" } }, "RequireUppercaseCharacters": { "target": "com.amazonaws.iam#booleanType", "traits": { - "smithy.api#documentation": "

Specifies whether IAM user passwords must contain at least one uppercase character (A to Z).

" + "smithy.api#documentation": "

Specifies whether IAM user passwords must contain at least one uppercase character (A\n to Z).

" } }, "RequireLowercaseCharacters": { "target": "com.amazonaws.iam#booleanType", "traits": { - "smithy.api#documentation": "

Specifies whether IAM user passwords must contain at least one lowercase character (a to z).

" + "smithy.api#documentation": "

Specifies whether IAM user passwords must contain at least one lowercase character (a\n to z).

" } }, "AllowUsersToChangePassword": { "target": "com.amazonaws.iam#booleanType", "traits": { - "smithy.api#documentation": "

Specifies whether IAM users are allowed to change their own password.

" + "smithy.api#documentation": "

Specifies whether IAM users are allowed to change their own password. Gives IAM\n users permissions to iam:ChangePassword for only their user and to the\n iam:GetAccountPasswordPolicy action. This option does not attach a\n permissions policy to each user, rather the permissions are applied at the account-level\n for all users by IAM.

" } }, "ExpirePasswords": { @@ -8367,7 +8367,7 @@ "HardExpiry": { "target": "com.amazonaws.iam#booleanObjectType", "traits": { - "smithy.api#documentation": "

Specifies whether IAM users are prevented from setting a new password after their\n password has expired.

" + "smithy.api#documentation": "

Specifies whether IAM users are prevented from setting a new password via the\n Amazon Web Services Management Console after their password has expired. The IAM user cannot access the console until\n an administrator resets the password. IAM users with iam:ChangePassword\n permission and active access keys can reset their own expired console password using the\n CLI or API.

" } } }, @@ -8831,7 +8831,7 @@ "PolicyDocument": { "target": "com.amazonaws.iam#policyDocumentType", "traits": { - "smithy.api#documentation": "

The policy document.

\n\n

You must provide policies in JSON format in IAM. However, for CloudFormation\n templates formatted in YAML, you can provide the policy in JSON or YAML format. CloudFormation always converts a YAML policy to JSON format before submitting it to\n= IAM.

\n

The regex pattern \n used to validate this parameter is a string of characters consisting of the following:

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

The policy document.

\n\n

You must provide policies in JSON format in IAM. However, for CloudFormation templates\n formatted in YAML, you can provide the policy in JSON or YAML format. CloudFormation always\n converts a YAML policy to JSON format before submitting it to = IAM.

\n

The regex pattern \n used to validate this parameter is a string of characters consisting of the following:

\n ", "smithy.api#required": {} } } @@ -9556,7 +9556,7 @@ "LastUsedDate": { "target": "com.amazonaws.iam#dateType", "traits": { - "smithy.api#documentation": "

The date and time, in ISO 8601 date-time\n format that the role was last used.

\n

This field is null if the role has not been used within the IAM tracking period. For\n more information about the tracking period, see Regions where data is tracked in the IAM User Guide.

" + "smithy.api#documentation": "

The date and time, in ISO 8601 date-time\n format that the role was last used.

\n

This field is null if the role has not been used within the IAM tracking period. For\n more information about the tracking period, see Regions where data is tracked in the IAM User Guide.\n

" } }, "Region": { @@ -9681,7 +9681,7 @@ "Status": { "target": "com.amazonaws.iam#statusType", "traits": { - "smithy.api#documentation": "

The status of the SSH public key. Active means that the key can be used for\n authentication with an CodeCommit repository. Inactive means that the key\n cannot be used.

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

The status of the SSH public key. Active means that the key can be used for\n authentication with an CodeCommit repository. Inactive means that the key cannot be\n used.

", "smithy.api#required": {} } }, @@ -9722,7 +9722,7 @@ "Status": { "target": "com.amazonaws.iam#statusType", "traits": { - "smithy.api#documentation": "

The status of the SSH public key. Active means that the key can be used for\n authentication with an CodeCommit repository. Inactive means that the key\n cannot be used.

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

The status of the SSH public key. Active means that the key can be used for\n authentication with an CodeCommit repository. Inactive means that the key cannot be\n used.

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

Sets the specified version of the global endpoint token as the token version used for\n the Amazon Web Services account.

\n

By default, Security Token Service (STS) is available as a global service, and all STS requests\n go to a single endpoint at https://sts.amazonaws.com. Amazon Web Services recommends\n using Regional STS endpoints to reduce latency, build in redundancy, and increase\n session token availability. For information about Regional endpoints for STS, see\n Security Token Service\n endpoints and quotas in the Amazon Web Services General Reference.

\n

If you make an STS call to the global endpoint, the resulting session tokens might\n be valid in some Regions but not others. It depends on the version that is set in this\n operation. Version 1 tokens are valid only in Amazon Web Services Regions that are\n available by default. These tokens do not work in manually enabled Regions, such as Asia\n Pacific (Hong Kong). Version 2 tokens are valid in all Regions. However, version 2\n tokens are longer and might affect systems where you temporarily store tokens. For\n information, see Activating and\n deactivating STS in an Amazon Web Services Region in the\n IAM User Guide.

\n

To view the current session token version, see the\n GlobalEndpointTokenVersion entry in the response of the GetAccountSummary operation.

" + "smithy.api#documentation": "

Sets the specified version of the global endpoint token as the token version used for\n the Amazon Web Services account.

\n

By default, Security Token Service (STS) is available as a global service, and all STS requests\n go to a single endpoint at https://sts.amazonaws.com. Amazon Web Services recommends\n using Regional STS endpoints to reduce latency, build in redundancy, and increase\n session token availability. For information about Regional endpoints for STS, see\n Security Token Service\n endpoints and quotas in the Amazon Web Services General Reference.

\n

If you make an STS call to the global endpoint, the resulting session tokens might\n be valid in some Regions but not others. It depends on the version that is set in this\n operation. Version 1 tokens are valid only in Amazon Web Services Regions that are\n available by default. These tokens do not work in manually enabled Regions, such as Asia\n Pacific (Hong Kong). Version 2 tokens are valid in all Regions. However, version 2\n tokens are longer and might affect systems where you temporarily store tokens. For\n information, see Activating and\n deactivating STS in an Amazon Web Services Region in the\n IAM User Guide.

\n

To view the current session token version, see the\n GlobalEndpointTokenVersion entry in the response of the GetAccountSummary operation.

" } }, "com.amazonaws.iam#SetSecurityTokenServicePreferencesRequest": { @@ -10809,7 +10809,7 @@ "LastAccessedTime": { "target": "com.amazonaws.iam#dateType", "traits": { - "smithy.api#documentation": "

The date and time, in ISO 8601 date-time\n format, when an authenticated entity most recently attempted to access the\n tracked service. Amazon Web Services does not report unauthenticated requests.

\n

This field is null if no IAM entities attempted to access the service within the\n reporting period.

" + "smithy.api#documentation": "

The date and time, in ISO 8601 date-time\n format, when an authenticated entity most recently attempted to access the\n tracked service. Amazon Web Services does not report unauthenticated requests.

\n

This field is null if no IAM entities attempted to access the service within the\n reporting period.

" } }, "LastAccessedRegion": { @@ -10820,7 +10820,7 @@ } }, "traits": { - "smithy.api#documentation": "

Contains details about the most recent attempt to access an action within the service.

\n

This data type is used as a response element in the GetServiceLastAccessedDetails operation.

" + "smithy.api#documentation": "

Contains details about the most recent attempt to access an action within the\n service.

\n

This data type is used as a response element in the GetServiceLastAccessedDetails operation.

" } }, "com.amazonaws.iam#TrackedActionsLastAccessed": { @@ -11258,7 +11258,7 @@ } ], "traits": { - "smithy.api#documentation": "

Updates the password policy settings for the Amazon Web Services account.

\n \n \n \n

For more information about using a password policy, see Managing an IAM password\n policy in the IAM User Guide.

" + "smithy.api#documentation": "

Updates the password policy settings for the Amazon Web Services account.

\n \n

This operation does not support partial updates. No parameters are required, but\n if you do not specify a parameter, that parameter's value reverts to its default\n value. See the Request Parameters section for each\n parameter's default value. Also note that some parameters do not allow the default\n parameter to be explicitly set. Instead, to invoke the default value, do not include\n that parameter when you invoke the operation.

\n
\n

For more information about using a password policy, see Managing an IAM password\n policy in the IAM User Guide.

" } }, "com.amazonaws.iam#UpdateAccountPasswordPolicyRequest": { @@ -11297,7 +11297,7 @@ "AllowUsersToChangePassword": { "target": "com.amazonaws.iam#booleanType", "traits": { - "smithy.api#documentation": "

Allows all IAM users in your account to use the Amazon Web Services Management Console to change their own\n passwords. For more information, see Letting IAM users change their own\n passwords in the IAM User Guide.

\n

If you do not specify a value for this parameter, then the operation uses the default\n value of false. The result is that IAM users in the account do not\n automatically have permissions to change their own password.

" + "smithy.api#documentation": "

Allows all IAM users in your account to use the Amazon Web Services Management Console to change their own\n passwords. For more information, see Permitting\n IAM users to change their own passwords in the\n IAM User Guide.

\n

If you do not specify a value for this parameter, then the operation uses the default\n value of false. The result is that IAM users in the account do not\n automatically have permissions to change their own password.

" } }, "MaxPasswordAge": { @@ -11315,7 +11315,7 @@ "HardExpiry": { "target": "com.amazonaws.iam#booleanObjectType", "traits": { - "smithy.api#documentation": "

Prevents IAM users from setting a new password after their password has expired. The\n IAM user cannot be accessed until an administrator resets the password.

\n

If you do not specify a value for this parameter, then the operation uses the default\n value of false. The result is that IAM users can change their passwords\n after they expire and continue to sign in as the user.

" + "smithy.api#documentation": "

Prevents IAM users who are accessing the account via the Amazon Web Services Management Console from setting a\n new console password after their password has expired. The IAM user cannot access the\n console until an administrator resets the password.

\n

If you do not specify a value for this parameter, then the operation uses the default\n value of false. The result is that IAM users can change their passwords\n after they expire and continue to sign in as the user.

\n \n

In the Amazon Web Services Management Console, the custom password policy option Allow\n users to change their own password gives IAM users permissions to\n iam:ChangePassword for only their user and to the\n iam:GetAccountPasswordPolicy action. This option does not attach a\n permissions policy to each user, rather the permissions are applied at the\n account-level for all users by IAM. IAM users with\n iam:ChangePassword permission and active access keys can reset\n their own expired console password using the CLI or API.

\n
" } } } @@ -11479,7 +11479,7 @@ } ], "traits": { - "smithy.api#documentation": "

Replaces the existing list of server certificate thumbprints associated with an OpenID\n Connect (OIDC) provider resource object with a new list of thumbprints.

\n

The list that you pass with this operation completely replaces the existing list of\n thumbprints. (The lists are not merged.)

\n

Typically, you need to update a thumbprint only when the identity provider\n certificate changes, which occurs rarely. However, if the provider's certificate\n does change, any attempt to assume an IAM role that specifies\n the OIDC provider as a principal fails until the certificate thumbprint is\n updated.

\n \n

Amazon Web Services secures communication with some OIDC identity providers (IdPs) through our\n library of trusted certificate authorities (CAs) instead of using a certificate\n thumbprint to verify your IdP server certificate. These OIDC IdPs include Google, and\n those that use an Amazon S3 bucket to host a JSON Web Key Set (JWKS) endpoint. In these\n cases, your legacy thumbprint remains in your configuration, but is no longer used for validation.

\n
\n \n

Trust for the OIDC provider is derived from the provider certificate and is\n validated by the thumbprint. Therefore, it is best to limit access to the\n UpdateOpenIDConnectProviderThumbprint operation to highly\n privileged users.

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

Replaces the existing list of server certificate thumbprints associated with an OpenID\n Connect (OIDC) provider resource object with a new list of thumbprints.

\n

The list that you pass with this operation completely replaces the existing list of\n thumbprints. (The lists are not merged.)

\n

Typically, you need to update a thumbprint only when the identity provider certificate\n changes, which occurs rarely. However, if the provider's certificate\n does change, any attempt to assume an IAM role that specifies\n the OIDC provider as a principal fails until the certificate thumbprint is\n updated.

\n \n

Amazon Web Services secures communication with some OIDC identity providers (IdPs) through our\n library of trusted certificate authorities (CAs) instead of using a certificate\n thumbprint to verify your IdP server certificate. These OIDC IdPs include Google, and\n those that use an Amazon S3 bucket to host a JSON Web Key Set (JWKS) endpoint. In these\n cases, your legacy thumbprint remains in your configuration, but is no longer used for validation.

\n
\n \n

Trust for the OIDC provider is derived from the provider certificate and is\n validated by the thumbprint. Therefore, it is best to limit access to the\n UpdateOpenIDConnectProviderThumbprint operation to highly\n privileged users.

\n
" } }, "com.amazonaws.iam#UpdateOpenIDConnectProviderThumbprintRequest": { @@ -11982,7 +11982,7 @@ } ], "traits": { - "smithy.api#documentation": "

Uploads a server certificate entity for the Amazon Web Services account. The server certificate\n entity includes a public key certificate, a private key, and an optional certificate\n chain, which should all be PEM-encoded.

\n

We recommend that you use Certificate Manager to provision, manage, and deploy your server certificates. With ACM\n you can request a certificate, deploy it to Amazon Web Services resources, and let ACM handle\n certificate renewals for you. Certificates provided by ACM are free. For more\n information about using ACM, see the Certificate Manager User Guide.

\n

For more information about working with server certificates, see Working\n with server certificates in the IAM User Guide. This\n topic includes a list of Amazon Web Services services that can use the server certificates that you\n manage with IAM.

\n

For information about the number of server certificates you can upload, see IAM and STS\n quotas in the IAM User Guide.

\n \n

Because the body of the public key certificate, private key, and the certificate\n chain can be large, you should use POST rather than GET when calling\n UploadServerCertificate. For information about setting up\n signatures and authorization through the API, see Signing Amazon Web Services API\n requests in the Amazon Web Services General Reference. For general\n information about using the Query API with IAM, see Calling the API by making HTTP query\n requests in the IAM User Guide.

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

Uploads a server certificate entity for the Amazon Web Services account. The server certificate\n entity includes a public key certificate, a private key, and an optional certificate\n chain, which should all be PEM-encoded.

\n

We recommend that you use Certificate Manager to\n provision, manage, and deploy your server certificates. With ACM you can request a\n certificate, deploy it to Amazon Web Services resources, and let ACM handle certificate renewals for\n you. Certificates provided by ACM are free. For more information about using ACM,\n see the Certificate Manager User\n Guide.

\n

For more information about working with server certificates, see Working\n with server certificates in the IAM User Guide. This\n topic includes a list of Amazon Web Services services that can use the server certificates that you\n manage with IAM.

\n

For information about the number of server certificates you can upload, see IAM and STS\n quotas in the IAM User Guide.

\n \n

Because the body of the public key certificate, private key, and the certificate\n chain can be large, you should use POST rather than GET when calling\n UploadServerCertificate. For information about setting up\n signatures and authorization through the API, see Signing Amazon Web Services API\n requests in the Amazon Web Services General Reference. For general\n information about using the Query API with IAM, see Calling the API by making HTTP query\n requests in the IAM User Guide.

\n
" } }, "com.amazonaws.iam#UploadServerCertificateRequest": { @@ -12158,7 +12158,7 @@ "PasswordLastUsed": { "target": "com.amazonaws.iam#dateType", "traits": { - "smithy.api#documentation": "

The date and time, in ISO 8601 date-time\n format, when the user's password was last used to sign in to an Amazon Web Services website. For\n a list of Amazon Web Services websites that capture a user's last sign-in time, see the Credential\n reports topic in the IAM User Guide. If a password is\n used more than once in a five-minute span, only the first use is returned in this field. If\n the field is null (no value), then it indicates that they never signed in with a password.\n This can be because:

\n \n

A null value does not mean that the user never had a password.\n Also, if the user does not currently have a password but had one in the past, then this\n field contains the date and time the most recent password was used.

\n

This value is returned only in the GetUser and ListUsers operations.

" + "smithy.api#documentation": "

The date and time, in ISO 8601 date-time\n format, when the user's password was last used to sign in to an Amazon Web Services website.\n For a list of Amazon Web Services websites that capture a user's last sign-in time, see the Credential\n reports topic in the IAM User Guide. If a password is\n used more than once in a five-minute span, only the first use is returned in this field. If\n the field is null (no value), then it indicates that they never signed in with a password.\n This can be because:

\n \n

A null value does not mean that the user never had a password.\n Also, if the user does not currently have a password but had one in the past, then this\n field contains the date and time the most recent password was used.

\n

This value is returned only in the GetUser and ListUsers operations.

" } }, "PermissionsBoundary": { diff --git a/codegen/sdk-codegen/aws-models/imagebuilder.2019-12-02.json b/codegen/sdk-codegen/aws-models/imagebuilder.2019-12-02.json index 1eee9f9140a..f3612b07b55 100644 --- a/codegen/sdk-codegen/aws-models/imagebuilder.2019-12-02.json +++ b/codegen/sdk-codegen/aws-models/imagebuilder.2019-12-02.json @@ -59,7 +59,7 @@ "userDataOverride": { "target": "com.amazonaws.imagebuilder#UserDataOverride", "traits": { - "smithy.api#documentation": "

Use this property to provide commands or a command script to run when you launch \n\t\t\tyour build instance.

\n\t\t \n\t\t\t

The userDataOverride property replaces any commands that Image Builder might have added to ensure\n\t\t\t\tthat Systems Manager is installed on your Linux build instance. If you override the user data,\n\t\t\t\tmake sure that you add commands to install Systems Manager, if it is not pre-installed on your\n\t\t\t\tbase image.

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

Use this property to provide commands or a command script to run when you launch \n\t\t\tyour build instance.

\n\t\t

The userDataOverride property replaces any commands that Image Builder might have added to ensure\n\t\t\tthat Systems Manager is installed on your Linux build instance. If you override the user data,\n\t\t\tmake sure that you add commands to install Systems Manager, if it is not pre-installed on your\n\t\t\tbase image.

\n\t\t \n\t\t\t

The user data is always base 64 encoded. For example, the \n\t\t\t\tfollowing commands are encoded as IyEvYmluL2Jhc2gKbWtkaXIgLXAgL3Zhci9iYi8KdG91Y2ggL3Zhci$:

\n\t\t\t\n\t\t\t

\n #!/bin/bash\n

\n\t\t\t

mkdir -p /var/bb/

\n\t\t\t

touch /var

\n\t\t
" } } }, @@ -386,7 +386,7 @@ "data": { "target": "com.amazonaws.imagebuilder#ComponentData", "traits": { - "smithy.api#documentation": "

The data of the component.

" + "smithy.api#documentation": "

Component data contains the YAML document content for the component.

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

Creates a new component that can be used to build, validate, test, and assess your\n\t\t\timage.

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

Creates a new component that can be used to build, validate, test, and assess your\n\t\t\timage. The component is based on a YAML document that you specify using exactly one \n\t\t\tof the following methods:

\n\t\t ", "smithy.api#http": { "method": "PUT", "uri": "/CreateComponent", @@ -1150,13 +1150,13 @@ "data": { "target": "com.amazonaws.imagebuilder#InlineComponentData", "traits": { - "smithy.api#documentation": "

The data of the component. Used to specify the data inline. Either data or\n\t\t\turi can be used to specify the data within the component.

" + "smithy.api#documentation": "

Component data contains inline YAML document content for the component. \n\t\t\tAlternatively, you can specify the uri of a YAML document file stored in \n\t\t\tAmazon S3. However, you cannot specify both properties.

" } }, "uri": { "target": "com.amazonaws.imagebuilder#Uri", "traits": { - "smithy.api#documentation": "

The uri of the component. Must be an Amazon S3 URL and the requester must have permission to\n\t\t\taccess the Amazon S3 bucket. If you use Amazon S3, you can specify component content up to your service\n\t\t\tquota. Either data or uri can be used to specify the data within the\n\t\t\tcomponent.

" + "smithy.api#documentation": "

The uri of a YAML component document file. This must be an S3 URL \n\t\t\t(s3://bucket/key), and the requester must have permission to access \n\t\t\tthe S3 bucket it points to. If you use Amazon S3, you can specify component content \n\t\t\tup to your service quota.

\n\t\t

Alternatively, you can specify the YAML document inline, using the component \n\t\t\tdata property. You cannot specify both properties.

" } }, "kmsKeyId": { @@ -2642,6 +2642,12 @@ "traits": { "smithy.api#documentation": "

Configure export settings to deliver disk images created from your image build, \n\t\t\tusing a file format that is compatible with your VMs in that Region.

" } + }, + "fastLaunchConfigurations": { + "target": "com.amazonaws.imagebuilder#FastLaunchConfigurationList", + "traits": { + "smithy.api#documentation": "

The Windows faster-launching configurations to use for AMI distribution.

" + } } }, "traits": { @@ -2919,6 +2925,97 @@ "com.amazonaws.imagebuilder#ErrorMessage": { "type": "string" }, + "com.amazonaws.imagebuilder#FastLaunchConfiguration": { + "type": "structure", + "members": { + "enabled": { + "target": "com.amazonaws.imagebuilder#Boolean", + "traits": { + "smithy.api#documentation": "

A Boolean that represents the current state of faster launching for the \n\t\t\tWindows AMI. Set to true to start using Windows faster launching, or \n\t\t\tfalse to stop using it.

", + "smithy.api#required": {} + } + }, + "snapshotConfiguration": { + "target": "com.amazonaws.imagebuilder#FastLaunchSnapshotConfiguration", + "traits": { + "smithy.api#documentation": "

Configuration settings for managing the number of snapshots that are \n\t\t\tcreated from pre-provisioned instances for the Windows AMI when faster \n\t\t\tlaunching is enabled.

" + } + }, + "maxParallelLaunches": { + "target": "com.amazonaws.imagebuilder#MaxParallelLaunches", + "traits": { + "smithy.api#documentation": "

The maximum number of parallel instances that are launched for creating \n\t\t\tresources.

" + } + }, + "launchTemplate": { + "target": "com.amazonaws.imagebuilder#FastLaunchLaunchTemplateSpecification", + "traits": { + "smithy.api#documentation": "

The launch template that the fast-launch enabled Windows AMI uses when it \n\t\t\tlaunches Windows instances to create pre-provisioned snapshots.

" + } + }, + "accountId": { + "target": "com.amazonaws.imagebuilder#AccountId", + "traits": { + "smithy.api#documentation": "

The owner account ID for the fast-launch enabled Windows AMI.

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

Define and configure faster launching for output Windows AMIs.

" + } + }, + "com.amazonaws.imagebuilder#FastLaunchConfigurationList": { + "type": "list", + "member": { + "target": "com.amazonaws.imagebuilder#FastLaunchConfiguration" + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 1000 + } + } + }, + "com.amazonaws.imagebuilder#FastLaunchLaunchTemplateSpecification": { + "type": "structure", + "members": { + "launchTemplateId": { + "target": "com.amazonaws.imagebuilder#LaunchTemplateId", + "traits": { + "smithy.api#documentation": "

The ID of the launch template to use for faster launching for a Windows AMI.

" + } + }, + "launchTemplateName": { + "target": "com.amazonaws.imagebuilder#NonEmptyString", + "traits": { + "smithy.api#documentation": "

The name of the launch template to use for faster launching for a Windows AMI.

" + } + }, + "launchTemplateVersion": { + "target": "com.amazonaws.imagebuilder#NonEmptyString", + "traits": { + "smithy.api#documentation": "

The version of the launch template to use for faster launching for a Windows AMI.

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

Identifies the launch template that the associated Windows AMI uses for \n\t\t\tlaunching an instance when faster launching is enabled.

\n\t\t \n\t\t\t

You can specify either the launchTemplateName or the \n\t\t\t\tlaunchTemplateId, but not both.

\n\t\t
" + } + }, + "com.amazonaws.imagebuilder#FastLaunchSnapshotConfiguration": { + "type": "structure", + "members": { + "targetResourceCount": { + "target": "com.amazonaws.imagebuilder#TargetResourceCount", + "traits": { + "smithy.api#documentation": "

The number of pre-provisioned snapshots to keep on hand for a fast-launch enabled \n\t\t\tWindows AMI.

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

Configuration settings for creating and managing pre-provisioned snapshots \n\t\t\tfor a fast-launch enabled Windows AMI.

" + } + }, "com.amazonaws.imagebuilder#Filter": { "type": "structure", "members": { @@ -6354,6 +6451,16 @@ "smithy.api#documentation": "

Logging configuration defines where Image Builder uploads your logs.

" } }, + "com.amazonaws.imagebuilder#MaxParallelLaunches": { + "type": "integer", + "traits": { + "smithy.api#box": {}, + "smithy.api#range": { + "min": 1, + "max": 10000 + } + } + }, "com.amazonaws.imagebuilder#NonEmptyString": { "type": "string", "traits": { @@ -7292,6 +7399,16 @@ "smithy.api#documentation": "

The container repository where the output container image is stored.

" } }, + "com.amazonaws.imagebuilder#TargetResourceCount": { + "type": "integer", + "traits": { + "smithy.api#box": {}, + "smithy.api#range": { + "min": 1, + "max": 10000 + } + } + }, "com.amazonaws.imagebuilder#Timezone": { "type": "string", "traits": { diff --git a/codegen/sdk-codegen/aws-models/iot.2015-05-28.json b/codegen/sdk-codegen/aws-models/iot.2015-05-28.json index 561e153b396..1cb422be221 100644 --- a/codegen/sdk-codegen/aws-models/iot.2015-05-28.json +++ b/codegen/sdk-codegen/aws-models/iot.2015-05-28.json @@ -21546,6 +21546,18 @@ { "value": "THING_GROUP", "name": "THING_GROUP" + }, + { + "value": "CLIENT_ID", + "name": "CLIENT_ID" + }, + { + "value": "SOURCE_IP", + "name": "SOURCE_IP" + }, + { + "value": "PRINCIPAL_ID", + "name": "PRINCIPAL_ID" } ] } diff --git a/codegen/sdk-codegen/aws-models/kafka.2018-11-14.json b/codegen/sdk-codegen/aws-models/kafka.2018-11-14.json index 106cc3a4951..a3cc3e0d0f0 100644 --- a/codegen/sdk-codegen/aws-models/kafka.2018-11-14.json +++ b/codegen/sdk-codegen/aws-models/kafka.2018-11-14.json @@ -242,12 +242,18 @@ "smithy.api#required": {} } }, + "ProvisionedThroughput": { + "target": "com.amazonaws.kafka#ProvisionedThroughput", + "traits": { + "smithy.api#documentation": "EBS volume provisioned throughput information.", + "smithy.api#jsonName": "provisionedThroughput" + } + }, "VolumeSizeGB": { "target": "com.amazonaws.kafka#__integer", "traits": { "smithy.api#documentation": "

Size of the EBS volume to update.

", - "smithy.api#jsonName": "volumeSizeGB", - "smithy.api#required": {} + "smithy.api#jsonName": "volumeSizeGB" } } }, @@ -1959,6 +1965,13 @@ "com.amazonaws.kafka#EBSStorageInfo": { "type": "structure", "members": { + "ProvisionedThroughput": { + "target": "com.amazonaws.kafka#ProvisionedThroughput", + "traits": { + "smithy.api#documentation": "EBS volume provisioned throughput information.", + "smithy.api#jsonName": "provisionedThroughput" + } + }, "VolumeSize": { "target": "com.amazonaws.kafka#__integerMin1Max16384", "traits": { @@ -3689,6 +3702,28 @@ "smithy.api#documentation": "

Provisioned cluster request.

" } }, + "com.amazonaws.kafka#ProvisionedThroughput": { + "type": "structure", + "members": { + "Enabled": { + "target": "com.amazonaws.kafka#__boolean", + "traits": { + "smithy.api#documentation": "Provisioned throughput is enabled or not.", + "smithy.api#jsonName": "enabled" + } + }, + "VolumeThroughput": { + "target": "com.amazonaws.kafka#__integer", + "traits": { + "smithy.api#documentation": "Throughput value of the EBS volumes for the data drive on each kafka broker node in MiB per second.", + "smithy.api#jsonName": "volumeThroughput" + } + } + }, + "traits": { + "smithy.api#documentation": "Contains information about provisioned throughput for EBS storage volumes attached to kafka broker nodes." + } + }, "com.amazonaws.kafka#PublicAccess": { "type": "structure", "members": { diff --git a/codegen/sdk-codegen/aws-models/kendra.2019-02-03.json b/codegen/sdk-codegen/aws-models/kendra.2019-02-03.json index 5a411905299..75319ca73b3 100644 --- a/codegen/sdk-codegen/aws-models/kendra.2019-02-03.json +++ b/codegen/sdk-codegen/aws-models/kendra.2019-02-03.json @@ -248,7 +248,7 @@ "AllowedGroupsColumnName": { "target": "com.amazonaws.kendra#ColumnName", "traits": { - "smithy.api#documentation": "

A list of groups, separated by semi-colons, that filters a query\n response based on user context. The document is only returned to\n users that are in one of the groups specified in the\n UserContext field of the Query\n operation.

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

A list of groups, separated by semi-colons, that filters a query\n response based on user context. The document is only returned to\n users that are in one of the groups specified in the\n UserContext field of the Query\n API.

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

Removes one or more documents from an index. The documents must have\n been added with the BatchPutDocument operation.

\n

The documents are deleted asynchronously. You can see the progress of\n the deletion by using Amazon Web Services CloudWatch. Any error messages related to the\n processing of the batch are sent to you CloudWatch log.

" + "smithy.api#documentation": "

Removes one or more documents from an index. The documents must have\n been added with the BatchPutDocument API.

\n

The documents are deleted asynchronously. You can see the progress of\n the deletion by using Amazon Web Services CloudWatch. Any error messages related to the\n processing of the batch are sent to you CloudWatch log.

" } }, "com.amazonaws.kendra#BatchDeleteDocumentRequest": { @@ -705,7 +705,7 @@ } }, "traits": { - "smithy.api#documentation": "

Provides information about documents that could not be removed\n from an index by the BatchDeleteDocument\n operation.

" + "smithy.api#documentation": "

Provides information about documents that could not be removed\n from an index by the BatchDeleteDocument\n API.

" } }, "com.amazonaws.kendra#BatchDeleteDocumentResponseFailedDocuments": { @@ -743,7 +743,7 @@ } ], "traits": { - "smithy.api#documentation": "

Returns the indexing status for one or more documents submitted\n with the \n BatchPutDocument operation.

\n

When you use the BatchPutDocument operation,\n documents are indexed asynchronously. You can use the\n BatchGetDocumentStatus operation to get the current\n status of a list of documents so that you can determine if they have\n been successfully indexed.

\n

You can also use the BatchGetDocumentStatus operation\n to check the status of the \n BatchDeleteDocument operation. When a document is\n deleted from the index, Amazon Kendra returns NOT_FOUND as the\n status.

" + "smithy.api#documentation": "

Returns the indexing status for one or more documents submitted\n with the \n BatchPutDocument API.

\n

When you use the BatchPutDocument API,\n documents are indexed asynchronously. You can use the\n BatchGetDocumentStatus API to get the current\n status of a list of documents so that you can determine if they have\n been successfully indexed.

\n

You can also use the BatchGetDocumentStatus API\n to check the status of the \n BatchDeleteDocument API. When a document is\n deleted from the index, Amazon Kendra returns NOT_FOUND as the\n status.

" } }, "com.amazonaws.kendra#BatchGetDocumentStatusRequest": { @@ -752,7 +752,7 @@ "IndexId": { "target": "com.amazonaws.kendra#IndexId", "traits": { - "smithy.api#documentation": "

The identifier of the index to add documents to. The index ID is\n returned by the CreateIndex\n operation.

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

The identifier of the index to add documents to. The index ID is\n returned by the CreateIndex\n API.

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

Adds one or more documents to an index.

\n

The BatchPutDocument operation enables you to ingest\n inline documents or a set of documents stored in an Amazon S3 bucket. Use\n this operation to ingest your text and unstructured text into an index,\n add custom attributes to the documents, and to attach an access control\n list to the documents added to the index.

\n

The documents are indexed asynchronously. You can see the progress of\n the batch using Amazon Web Services CloudWatch. Any error messages related to processing\n the batch are sent to your Amazon Web Services CloudWatch log.

" + "smithy.api#documentation": "

Adds one or more documents to an index.

\n

The BatchPutDocument API enables you to ingest\n inline documents or a set of documents stored in an Amazon S3 bucket. Use\n this API to ingest your text and unstructured text into an index,\n add custom attributes to the documents, and to attach an access control\n list to the documents added to the index.

\n

The documents are indexed asynchronously. You can see the progress of\n the batch using Amazon Web Services CloudWatch. Any error messages related to processing\n the batch are sent to your Amazon Web Services CloudWatch log.

" } }, "com.amazonaws.kendra#BatchPutDocumentRequest": { @@ -855,27 +855,27 @@ "IndexId": { "target": "com.amazonaws.kendra#IndexId", "traits": { - "smithy.api#documentation": "

The identifier of the index to add the documents to. You need to\n create the index first using the CreateIndex\n operation.

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

The identifier of the index to add the documents to. You need to\n create the index first using the CreateIndex\n API.

", "smithy.api#required": {} } }, "RoleArn": { "target": "com.amazonaws.kendra#RoleArn", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of a role that is allowed to run the\n BatchPutDocument operation. For more information, see\n IAM\n Roles for Amazon Kendra.

" + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of a role that is allowed to run the\n BatchPutDocument API. For more information, see\n IAM\n Roles for Amazon Kendra.

" } }, "Documents": { "target": "com.amazonaws.kendra#DocumentList", "traits": { - "smithy.api#documentation": "

One or more documents to add to the index.

\n

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

\n

Documents have the following file size limits.

\n \n

For more information about file size and transaction per second\n quotas, see Quotas.

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

One or more documents to add to the index.

\n

Documents have the following file size limits.

\n \n

For more information about file size and transaction per second\n quotas, see Quotas.

", "smithy.api#required": {} } }, "CustomDocumentEnrichmentConfiguration": { "target": "com.amazonaws.kendra#CustomDocumentEnrichmentConfiguration", "traits": { - "smithy.api#documentation": "

Configuration information for altering your document metadata and content during \n the document ingestion process when you use the BatchPutDocument \n operation.

\n

For more information on how to create, modify and delete document metadata, \n or make other content alterations when you ingest documents into Amazon Kendra, see \n Customizing \n document metadata during the ingestion process.

" + "smithy.api#documentation": "

Configuration information for altering your document metadata and content during \n the document ingestion process when you use the BatchPutDocument \n API.

\n

For more information on how to create, modify and delete document metadata, \n or make other content alterations when you ingest documents into Amazon Kendra, see \n Customizing \n document metadata during the ingestion process.

" } } } @@ -1033,7 +1033,7 @@ } }, "traits": { - "smithy.api#documentation": "

Gathers information about when a particular result was clicked by\n a user. Your application uses the SubmitFeedback\n operation to provide click information.

" + "smithy.api#documentation": "

Gathers information about when a particular result was clicked by\n a user. Your application uses the SubmitFeedback\n API to provide click information.

" } }, "com.amazonaws.kendra#ClickFeedbackList": { @@ -1077,7 +1077,7 @@ "FieldMappings": { "target": "com.amazonaws.kendra#DataSourceToIndexFieldMappingList", "traits": { - "smithy.api#documentation": "

An array of objects that map database column names to the\n corresponding fields in an index. You must first create the fields\n in the index using the UpdateIndex operation.

" + "smithy.api#documentation": "

An array of objects that map database column names to the\n corresponding fields in an index. You must first create the fields\n in the index using the UpdateIndex API.

" } }, "ChangeDetectingColumns": { @@ -1178,7 +1178,7 @@ "AttachmentFieldMappings": { "target": "com.amazonaws.kendra#ConfluenceAttachmentFieldMappingsList", "traits": { - "smithy.api#documentation": "

Defines how attachment metadata fields should be mapped to index\n fields. Before you can map a field, you must first create an index\n field with a matching type using the console or the\n UpdateIndex operation.

\n

If you specify the AttachentFieldMappings parameter,\n you must specify at least one field mapping.

" + "smithy.api#documentation": "

Defines how attachment metadata fields should be mapped to index\n fields. Before you can map a field, you must first create an index\n field with a matching type using the console or the\n UpdateIndex API.

\n

If you specify the AttachentFieldMappings parameter,\n you must specify at least one field mapping.

" } } }, @@ -1255,7 +1255,7 @@ "DataSourceFieldName": { "target": "com.amazonaws.kendra#ConfluenceAttachmentFieldName", "traits": { - "smithy.api#documentation": "

The name of the field in the data source.

\n

You must first create the index field using the\n UpdateIndex operation.

" + "smithy.api#documentation": "

The name of the field in the data source.

\n

You must first create the index field using the\n UpdateIndex API.

" } }, "DateFieldFormat": { @@ -1272,7 +1272,7 @@ } }, "traits": { - "smithy.api#documentation": "

Defines the mapping between a field in the Confluence data source\n to a Amazon Kendra index field.

\n

You must first create the index field using the\n UpdateIndex operation.

" + "smithy.api#documentation": "

Defines the mapping between a field in the Confluence data source\n to a Amazon Kendra index field.

\n

You must first create the index field using the\n UpdateIndex API.

" } }, "com.amazonaws.kendra#ConfluenceBlogConfiguration": { @@ -1281,12 +1281,12 @@ "BlogFieldMappings": { "target": "com.amazonaws.kendra#ConfluenceBlogFieldMappingsList", "traits": { - "smithy.api#documentation": "

Defines how blog metadata fields should be mapped to index fields.\n Before you can map a field, you must first create an index field\n with a matching type using the console or the\n UpdateIndex operation.

\n

If you specify the BlogFieldMappings parameter, you\n must specify at least one field mapping.

" + "smithy.api#documentation": "

Defines how blog metadata fields should be mapped to index fields.\n Before you can map a field, you must first create an index field\n with a matching type using the console or the\n UpdateIndex API.

\n

If you specify the BlogFieldMappings parameter, you\n must specify at least one field mapping.

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

Specifies the blog settings for the Confluence data source. Blogs\n are always indexed unless filtered from the index by the\n ExclusionPatterns or InclusionPatterns\n fields in the ConfluenceConfiguration type.

" + "smithy.api#documentation": "

Specifies the blog settings for the Confluence data source. Blogs\n are always indexed unless filtered from the index by the\n ExclusionPatterns or InclusionPatterns\n fields in the ConfluenceConfiguration object.

" } }, "com.amazonaws.kendra#ConfluenceBlogFieldMappingsList": { @@ -1367,7 +1367,7 @@ } }, "traits": { - "smithy.api#documentation": "

Defines the mapping between a blog field in the Confluence data\n source to a Amazon Kendra index field.

\n

You must first create the index field using the\n UpdateIndex operation.

" + "smithy.api#documentation": "

Defines the mapping between a blog field in the Confluence data\n source to a Amazon Kendra index field.

\n

You must first create the index field using the\n UpdateIndex API.

" } }, "com.amazonaws.kendra#ConfluenceConfiguration": { @@ -1447,7 +1447,7 @@ "PageFieldMappings": { "target": "com.amazonaws.kendra#ConfluencePageFieldMappingsList", "traits": { - "smithy.api#documentation": "

Defines how page metadata fields should be mapped to index fields.\n Before you can map a field, you must first create an index field\n with a matching type using the console or the\n UpdateIndex operation.

\n

If you specify the PageFieldMappings parameter, you\n must specify at least one field mapping.

" + "smithy.api#documentation": "

Defines how page metadata fields should be mapped to index fields.\n Before you can map a field, you must first create an index field\n with a matching type using the console or the\n UpdateIndex API.

\n

If you specify the PageFieldMappings parameter, you\n must specify at least one field mapping.

" } } }, @@ -1545,7 +1545,7 @@ } }, "traits": { - "smithy.api#documentation": "

Defines the mapping between a field in the Confluence data source\n to a Amazon Kendra index field.

\n

You must first create the index field using the\n UpdateIndex operation.

" + "smithy.api#documentation": "

Defines the mapping between a field in the Confluence data source\n to a Amazon Kendra index field.

\n

You must first create the index field using the\n UpdateIndex API.

" } }, "com.amazonaws.kendra#ConfluenceSpaceConfiguration": { @@ -1578,7 +1578,7 @@ "SpaceFieldMappings": { "target": "com.amazonaws.kendra#ConfluenceSpaceFieldMappingsList", "traits": { - "smithy.api#documentation": "

Defines how space metadata fields should be mapped to index\n fields. Before you can map a field, you must first create an index\n field with a matching type using the console or the\n UpdateIndex operation.

\n

If you specify the SpaceFieldMappings parameter, you\n must specify at least one field mapping.

" + "smithy.api#documentation": "

Defines how space metadata fields should be mapped to index\n fields. Before you can map a field, you must first create an index\n field with a matching type using the console or the\n UpdateIndex API.

\n

If you specify the SpaceFieldMappings parameter, you\n must specify at least one field mapping.

" } } }, @@ -1665,7 +1665,7 @@ } }, "traits": { - "smithy.api#documentation": "

Defines the mapping between a field in the Confluence data source\n to a Amazon Kendra index field.

\n

You must first create the index field using the\n UpdateIndex operation.

" + "smithy.api#documentation": "

Defines the mapping between a field in the Confluence data source\n to an Amazon Kendra index field.

\n

You must first create the index field using the\n UpdateIndex API.

" } }, "com.amazonaws.kendra#ConfluenceVersion": { @@ -1744,7 +1744,7 @@ "DirectPutContent": { "target": "com.amazonaws.kendra#Boolean", "traits": { - "smithy.api#documentation": "

\n TRUE to use documents you indexed directly using the\n BatchPutDocument operation.

" + "smithy.api#documentation": "

\n TRUE to use documents you indexed directly using the\n BatchPutDocument API.

" } } }, @@ -1866,7 +1866,7 @@ "Schedule": { "target": "com.amazonaws.kendra#ScanSchedule", "traits": { - "smithy.api#documentation": "

Sets the frequency that Amazon Kendra will check the documents in your\n repository and update the index. If you don't set a schedule Amazon Kendra\n will not periodically update the index. You can call the\n StartDataSourceSyncJob operation to update the\n index.

\n

You can't specify the Schedule parameter when the\n Type parameter is set to CUSTOM. If you do,\n you receive a ValidationException exception.

" + "smithy.api#documentation": "

Sets the frequency for Amazon Kendra to check the documents in your\n repository and update the index. If you don't set a schedule Amazon Kendra\n will not periodically update the index. You can call the\n StartDataSourceSyncJob API to update the\n index.

\n

You can't specify the Schedule parameter when the\n Type parameter is set to CUSTOM. If you do,\n you receive a ValidationException exception.

" } }, "RoleArn": { @@ -1884,7 +1884,7 @@ "ClientToken": { "target": "com.amazonaws.kendra#ClientTokenName", "traits": { - "smithy.api#documentation": "

A token that you provide to identify the request to create a data\n source. Multiple calls to the CreateDataSource operation with\n the same client token will create only one data source.

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

A token that you provide to identify the request to create a data\n source. Multiple calls to the CreateDataSource API with\n the same client token will create only one data source.

", "smithy.api#idempotencyToken": {} } }, @@ -1969,7 +1969,7 @@ "RoleArn": { "target": "com.amazonaws.kendra#RoleArn", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of a role with permission to access Query\n operations, QuerySuggestions operations, SubmitFeedback\n operations, and Amazon Web Services SSO that stores your user and group information. \n For more information, see IAM roles for Amazon Kendra.

" + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of a role with permission to access Query\n API, QuerySuggestions API, SubmitFeedback\n API, and Amazon Web Services SSO that stores your user and group information. \n For more information, see IAM roles for Amazon Kendra.

" } }, "Configuration": { @@ -1987,7 +1987,7 @@ "ClientToken": { "target": "com.amazonaws.kendra#ClientTokenName", "traits": { - "smithy.api#documentation": "

A token that you provide to identify the request to create your Amazon Kendra experience.\n Multiple calls to the CreateExperience operation with the same client \n token creates only one Amazon Kendra experience.

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

A token that you provide to identify the request to create your Amazon Kendra experience.\n Multiple calls to the CreateExperience API with the same client \n token creates only one Amazon Kendra experience.

", "smithy.api#idempotencyToken": {} } } @@ -2092,7 +2092,7 @@ "ClientToken": { "target": "com.amazonaws.kendra#ClientTokenName", "traits": { - "smithy.api#documentation": "

A token that you provide to identify the request to create a FAQ. Multiple calls to\n the CreateFaqRequest operation with the same client token will create only\n one FAQ.

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

A token that you provide to identify the request to create a FAQ. Multiple calls to\n the CreateFaqRequest API with the same client token will create only\n one FAQ.

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

Creates a new Amazon Kendra index. Index creation is an asynchronous\n operation. To determine if index creation has completed, check the\n Status field returned from a call to\n DescribeIndex. The Status field is set to\n ACTIVE when the index is ready to use.

\n

Once the index is active you can index your documents using the\n BatchPutDocument operation or using one of the supported\n data sources.

" + "smithy.api#documentation": "

Creates a new Amazon Kendra index. Index creation is an asynchronous\n API. To determine if index creation has completed, check the\n Status field returned from a call to\n DescribeIndex. The Status field is set to\n ACTIVE when the index is ready to use.

\n

Once the index is active you can index your documents using the\n BatchPutDocument API or using one of the supported\n data sources.

" } }, "com.amazonaws.kendra#CreateIndexRequest": { @@ -2169,7 +2169,7 @@ "RoleArn": { "target": "com.amazonaws.kendra#RoleArn", "traits": { - "smithy.api#documentation": "

An Identity and Access Management(IAM) role that gives\n Amazon Kendra permissions to access your Amazon CloudWatch logs and\n metrics. This is also the role used when you use the\n BatchPutDocument operation to index documents from an\n Amazon S3 bucket.

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

An Identity and Access Management(IAM) role that gives\n Amazon Kendra permissions to access your Amazon CloudWatch logs and\n metrics. This is also the role used when you use the\n BatchPutDocument API to index documents from an\n Amazon S3 bucket.

", "smithy.api#required": {} } }, @@ -2188,7 +2188,7 @@ "ClientToken": { "target": "com.amazonaws.kendra#ClientTokenName", "traits": { - "smithy.api#documentation": "

A token that you provide to identify the request to create an index.\n Multiple calls to the CreateIndex operation with the same\n client token will create only one index.

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

A token that you provide to identify the request to create an index.\n Multiple calls to the CreateIndex API with the same\n client token will create only one index.

", "smithy.api#idempotencyToken": {} } }, @@ -2304,7 +2304,7 @@ "RoleArn": { "target": "com.amazonaws.kendra#RoleArn", "traits": { - "smithy.api#documentation": "

The IAM (Identity and Access Management) role used by Amazon Kendra to \n access the block list text file in your S3 bucket.

\n

You need permissions to the role ARN (Amazon Resource Name). \n The role needs S3 read permissions to your file in S3 and needs \n to give STS (Security Token Service) assume role permissions \n to Amazon Kendra.

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

The IAM (Identity and Access Management) role used by Amazon Kendra to \n access the block list text file in your S3 bucket.

\n

You need permissions to the role ARN (Amazon Web Services Resource Name). \n The role needs S3 read permissions to your file in S3 and needs \n to give STS (Security Token Service) assume role permissions \n to Amazon Kendra.

", "smithy.api#required": {} } }, @@ -2408,7 +2408,7 @@ "ClientToken": { "target": "com.amazonaws.kendra#ClientTokenName", "traits": { - "smithy.api#documentation": "

A token that you provide to identify the request to create a \n thesaurus. Multiple calls to the CreateThesaurus operation \n with the same client token will create only one thesaurus.\n

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

A token that you provide to identify the request to create a \n thesaurus. Multiple calls to the CreateThesaurus API \n with the same client token will create only one thesaurus.\n

", "smithy.api#idempotencyToken": {} } } @@ -2514,7 +2514,13 @@ "WorkDocsConfiguration": { "target": "com.amazonaws.kendra#WorkDocsConfiguration", "traits": { - "smithy.api#documentation": "

Provides the configuration information to connect to WorkDocs \n as your data source.

" + "smithy.api#documentation": "

Provides the configuration information to connect to Amazon WorkDocs \n as your data source.

" + } + }, + "FsxConfiguration": { + "target": "com.amazonaws.kendra#FsxConfiguration", + "traits": { + "smithy.api#documentation": "

Provides the configuration information to connect to Amazon FSx as \n your data source.

" } } }, @@ -2703,7 +2709,7 @@ } }, "traits": { - "smithy.api#documentation": "

Summary information for a Amazon Kendra data source. Returned in a call\n to the DescribeDataSource operation.

" + "smithy.api#documentation": "

Summary information for an Amazon Kendra data source. Returned in a call\n to the DescribeDataSource API.

" } }, "com.amazonaws.kendra#DataSourceSummaryList": { @@ -2724,13 +2730,13 @@ "StartTime": { "target": "com.amazonaws.kendra#Timestamp", "traits": { - "smithy.api#documentation": "

The UNIX datetime that the synchronization job was started.

" + "smithy.api#documentation": "

The UNIX datetime that the synchronization job started.

" } }, "EndTime": { "target": "com.amazonaws.kendra#Timestamp", "traits": { - "smithy.api#documentation": "

The UNIX datetime that the synchronization job was\n completed.

" + "smithy.api#documentation": "

The UNIX datetime that the synchronization job \n completed.

" } }, "Status": { @@ -2748,7 +2754,7 @@ "ErrorCode": { "target": "com.amazonaws.kendra#ErrorCode", "traits": { - "smithy.api#documentation": "

If the Status field is set to FAILED,\n the ErrorCode field contains a the reason that the\n synchronization failed.

" + "smithy.api#documentation": "

If the Status field is set to FAILED,\n the ErrorCode field indicates the reason the \n synchronization failed.

" } }, "DataSourceErrorCode": { @@ -2765,7 +2771,7 @@ } }, "traits": { - "smithy.api#documentation": "

Provides information about a synchronization job.

" + "smithy.api#documentation": "

Provides information about a data source synchronization job.

" } }, "com.amazonaws.kendra#DataSourceSyncJobHistoryList": { @@ -2903,7 +2909,7 @@ } }, "traits": { - "smithy.api#documentation": "

Maps a column or attribute in the data source to an index field.\n You must first create the fields in the index using the\n UpdateIndex operation.

" + "smithy.api#documentation": "

Maps a column or attribute in the data source to an index field.\n You must first create the fields in the index using the\n UpdateIndex API.

" } }, "com.amazonaws.kendra#DataSourceToIndexFieldMappingList": { @@ -2965,6 +2971,10 @@ { "value": "WORKDOCS", "name": "WORKDOCS" + }, + { + "value": "FSX", + "name": "FSX" } ] } @@ -3113,7 +3123,7 @@ } ], "traits": { - "smithy.api#documentation": "

Deletes an Amazon Kendra data source. An exception is not thrown if the\n data source is already being deleted. While the data source is being\n deleted, the Status field returned by a call to the\n DescribeDataSource operation is set to\n DELETING. For more information, see Deleting Data Sources.

" + "smithy.api#documentation": "

Deletes an Amazon Kendra data source. An exception is not thrown if the\n data source is already being deleted. While the data source is being\n deleted, the Status field returned by a call to the\n DescribeDataSource API is set to\n DELETING. For more information, see Deleting Data Sources.

" } }, "com.amazonaws.kendra#DeleteDataSourceRequest": { @@ -3264,7 +3274,7 @@ } ], "traits": { - "smithy.api#documentation": "

Deletes an existing Amazon Kendra index. An exception is not thrown if\n the index is already being deleted. While the index is being deleted, the\n Status field returned by a call to the\n DescribeIndex operation is set to\n DELETING.

" + "smithy.api#documentation": "

Deletes an existing Amazon Kendra index. An exception is not thrown if\n the index is already being deleted. While the index is being deleted, the\n Status field returned by a call to the\n DescribeIndex API is set to\n DELETING.

" } }, "com.amazonaws.kendra#DeleteIndexRequest": { @@ -3461,7 +3471,7 @@ } ], "traits": { - "smithy.api#documentation": "

Gets information about a Amazon Kendra data source.

" + "smithy.api#documentation": "

Gets information about an Amazon Kendra data source.

" } }, "com.amazonaws.kendra#DescribeDataSourceRequest": { @@ -3543,7 +3553,7 @@ "Schedule": { "target": "com.amazonaws.kendra#ScanSchedule", "traits": { - "smithy.api#documentation": "

The schedule that Amazon Kendra will update the data source.

" + "smithy.api#documentation": "

The schedule for Amazon Kendra to update the index.

" } }, "RoleArn": { @@ -3680,7 +3690,7 @@ "RoleArn": { "target": "com.amazonaws.kendra#RoleArn", "traits": { - "smithy.api#documentation": "

Shows the Amazon Resource Name (ARN) of a role with permission to access \n Query operations, QuerySuggestions operations, \n SubmitFeedback operations, and Amazon Web Services SSO that stores \n your user and group information.

" + "smithy.api#documentation": "

Shows the Amazon Resource Name (ARN) of a role with permission to access \n Query API, QuerySuggestions API, \n SubmitFeedback API, and Amazon Web Services SSO that stores \n your user and group information.

" } }, "ErrorMessage": { @@ -4210,7 +4220,7 @@ "Mode": { "target": "com.amazonaws.kendra#Mode", "traits": { - "smithy.api#documentation": "

Shows whether query suggestions are currently in \n ENABLED mode or LEARN_ONLY mode.

\n

By default, Amazon Kendra enables query suggestions.LEARN_ONLY \n turns off query suggestions for your users. You can change the mode using \n the UpdateQuerySuggestionsConfig \n operation.

" + "smithy.api#documentation": "

Shows whether query suggestions are currently in \n ENABLED mode or LEARN_ONLY mode.

\n

By default, Amazon Kendra enables query suggestions.LEARN_ONLY \n turns off query suggestions for your users. You can change the mode using \n the UpdateQuerySuggestionsConfig \n API.

" } }, "Status": { @@ -4341,7 +4351,7 @@ "Status": { "target": "com.amazonaws.kendra#ThesaurusStatus", "traits": { - "smithy.api#documentation": "

The current status of the thesaurus. When the value is ACTIVE, \n queries are able to use the thesaurus. If the Status field value \n is FAILED, the ErrorMessage field provides\n more information.\n

\n

If the status is ACTIVE_BUT_UPDATE_FAILED, it means\n that Amazon Kendra could not ingest the new thesaurus file. The old\n thesaurus file is still active.\n

" + "smithy.api#documentation": "

The current status of the thesaurus. When the value is ACTIVE, \n queries are able to use the thesaurus. If the Status field value \n is FAILED, the ErrorMessage field provides\n more information.\n

\n

If the status is ACTIVE_BUT_UPDATE_FAILED, it means\n that Amazon Kendra could not ingest the new thesaurus file. The old\n thesaurus file is still active.\n

" } }, "ErrorMessage": { @@ -4564,7 +4574,7 @@ "Blob": { "target": "com.amazonaws.kendra#Blob", "traits": { - "smithy.api#documentation": "

The contents of the document.

\n

Documents passed to the Blob parameter must be base64\n encoded. Your code might not need to encode the document file bytes\n if you're using an Amazon Web Services SDK to call Amazon Kendra operations. If you are\n calling the Amazon Kendra endpoint directly using REST, you must base64\n encode the contents before sending.

" + "smithy.api#documentation": "

The contents of the document.

\n

Documents passed to the Blob parameter must be base64\n encoded. Your code might not need to encode the document file bytes\n if you're using an Amazon Web Services SDK to call Amazon Kendra APIs. If you are\n calling the Amazon Kendra endpoint directly using REST, you must base64\n encode the contents before sending.

" } }, "S3Path": { @@ -4573,7 +4583,7 @@ "Attributes": { "target": "com.amazonaws.kendra#DocumentAttributeList", "traits": { - "smithy.api#documentation": "

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

" + "smithy.api#documentation": "

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

\n

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

" } }, "AccessControlList": { @@ -5239,7 +5249,7 @@ "ContentSourceConfiguration": { "target": "com.amazonaws.kendra#ContentSourceConfiguration", "traits": { - "smithy.api#documentation": "

The identifiers of your data sources and FAQs. Or, you can specify \n that you want to use documents indexed via the BatchPutDocument \n operation. This is the content you want to use for your Amazon Kendra experience.

" + "smithy.api#documentation": "

The identifiers of your data sources and FAQs. Or, you can specify \n that you want to use documents indexed via the BatchPutDocument \n API. This is the content you want to use for your Amazon Kendra experience.

" } }, "UserIdentityConfiguration": { @@ -5657,6 +5667,80 @@ "smithy.api#pattern": "^\\P{C}*.\\P{C}*$" } }, + "com.amazonaws.kendra#FileSystemId": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 11, + "max": 21 + }, + "smithy.api#pattern": "^(fs-[0-9a-f]{8,})$" + } + }, + "com.amazonaws.kendra#FsxConfiguration": { + "type": "structure", + "members": { + "FileSystemId": { + "target": "com.amazonaws.kendra#FileSystemId", + "traits": { + "smithy.api#documentation": "

The identifier of the Amazon FSx file system.

\n

You can find your file system ID on the file system dashboard in \n the Amazon FSx console. For information on how to create a \n file system in Amazon FSx console, using Windows File Server \n as an example, see Amazon FSx \n Getting started guide.

", + "smithy.api#required": {} + } + }, + "FileSystemType": { + "target": "com.amazonaws.kendra#FsxFileSystemType", + "traits": { + "smithy.api#documentation": "

The Amazon FSx file system type. Windows is currently the only \n supported type.

", + "smithy.api#required": {} + } + }, + "VpcConfiguration": { + "target": "com.amazonaws.kendra#DataSourceVpcConfiguration", + "traits": { + "smithy.api#documentation": "

Provides the configuration information for connecting to an \n Amazon Virtual Private Cloud for your Amazon FSx. Your Amazon FSx \n instance must reside inside your VPC.

", + "smithy.api#required": {} + } + }, + "SecretArn": { + "target": "com.amazonaws.kendra#SecretArn", + "traits": { + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of an Secrets Manager secret that \n contains the key-value pairs required to connect to your Amazon FSx \n file system. Windows is currently the only supported type. The secret must \n contain a JSON structure with the following keys:

\n " + } + }, + "InclusionPatterns": { + "target": "com.amazonaws.kendra#DataSourceInclusionsExclusionsStrings", + "traits": { + "smithy.api#documentation": "

A list of regular expression patterns to include certain files \n in your Amazon FSx file system. Files that match the patterns \n are included in the index. Files that don't match the patterns are \n excluded from the index. If a file matches both an inclusion pattern \n and an exclusion pattern, the exclusion pattern takes precedence\n and the file isn't included in the index.

" + } + }, + "ExclusionPatterns": { + "target": "com.amazonaws.kendra#DataSourceInclusionsExclusionsStrings", + "traits": { + "smithy.api#documentation": "

A list of regular expression patterns to exclude certain files \n in your Amazon FSx file system. Files that match the patterns \n are excluded from the index. Files that don’t match the patterns are \n included in the index. If a file matches both an inclusion pattern \n and an exclusion pattern, the exclusion pattern takes precedence \n and the file isn't included in the index.

" + } + }, + "FieldMappings": { + "target": "com.amazonaws.kendra#DataSourceToIndexFieldMappingList", + "traits": { + "smithy.api#documentation": "

A list of DataSourceToIndexFieldMapping objects that \n map Amazon FSx data source attributes or field names to Amazon Kendra \n index field names in Amazon Kendra. To create custom fields, use the \n UpdateIndex API before you map to Amazon FSx fields. \n For more information, see Mapping \n data source fields. The Amazon FSx data source field names \n must exist in your Amazon FSx custom metadata.

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

Provides the configuration information to connect to Amazon FSx as \n your data source.

" + } + }, + "com.amazonaws.kendra#FsxFileSystemType": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "WINDOWS", + "name": "WINDOWS" + } + ] + } + }, "com.amazonaws.kendra#GetQuerySuggestions": { "type": "operation", "input": { @@ -5857,7 +5941,7 @@ "FieldMappings": { "target": "com.amazonaws.kendra#DataSourceToIndexFieldMappingList", "traits": { - "smithy.api#documentation": "

Defines mapping between a field in the Google Drive and a Amazon Kendra\n index field.

\n

If you are using the console, you can define index fields when\n creating the mapping. If you are using the API, you must first\n create the field using the UpdateIndex\n operation.

" + "smithy.api#documentation": "

Defines mapping between a field in the Google Drive and a Amazon Kendra\n index field.

\n

If you are using the console, you can define index fields when\n creating the mapping. If you are using the API, you must first\n create the field using the UpdateIndex\n API.

" } }, "ExcludeMimeTypes": { @@ -6164,7 +6248,7 @@ "Id": { "target": "com.amazonaws.kendra#IndexId", "traits": { - "smithy.api#documentation": "

A unique identifier for the index. Use this to identify the index\n when you are using operations such as Query,\n DescribeIndex, UpdateIndex, and\n DeleteIndex.

" + "smithy.api#documentation": "

A unique identifier for the index. Use this to identify the index\n when you are using APIs such as Query,\n DescribeIndex, UpdateIndex, and\n DeleteIndex.

" } }, "Edition": { @@ -6183,7 +6267,7 @@ "UpdatedAt": { "target": "com.amazonaws.kendra#Timestamp", "traits": { - "smithy.api#documentation": "

The Unix timestamp when the index was last updated by the\n UpdateIndex operation.

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

The Unix timestamp when the index was last updated by the\n UpdateIndex API.

", "smithy.api#required": {} } }, @@ -8096,7 +8180,7 @@ } ], "traits": { - "smithy.api#documentation": "

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

\n

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

\n

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

\n \n

You can specify that the query return only one type of result using\n the QueryResultTypeConfig parameter.

\n

Each query returns the 100 most relevant results.

" + "smithy.api#documentation": "

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

\n

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

\n

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

\n \n

You can specify that the query return only one type of result using\n the QueryResultTypeConfig parameter.

\n

Each query returns the 100 most relevant results.

" } }, "com.amazonaws.kendra#QueryCapacityUnit": { @@ -8139,7 +8223,7 @@ "IndexId": { "target": "com.amazonaws.kendra#IndexId", "traits": { - "smithy.api#documentation": "

The unique identifier of the index to search. The identifier is\n returned in the response from the CreateIndex\n operation.

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

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

", "smithy.api#required": {} } }, @@ -8182,7 +8266,7 @@ "PageNumber": { "target": "com.amazonaws.kendra#Integer", "traits": { - "smithy.api#documentation": "

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

" + "smithy.api#documentation": "

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

" } }, "PageSize": { @@ -8545,7 +8629,7 @@ } }, "traits": { - "smithy.api#documentation": "

Provides feedback on how relevant a document is to a search. Your\n application uses the SubmitFeedback operation to\n provide relevance information.

" + "smithy.api#documentation": "

Provides feedback on how relevant a document is to a search. Your\n application uses the SubmitFeedback API to\n provide relevance information.

" } }, "com.amazonaws.kendra#RelevanceFeedbackList": { @@ -9545,7 +9629,7 @@ "FieldMappings": { "target": "com.amazonaws.kendra#DataSourceToIndexFieldMappingList", "traits": { - "smithy.api#documentation": "

A list of DataSourceToIndexFieldMapping objects that\n map Microsoft SharePoint attributes to custom fields in the Amazon Kendra\n index. You must first create the index fields using the\n UpdateIndex operation before you map SharePoint\n attributes. For more information, see Mapping Data Source\n Fields.

" + "smithy.api#documentation": "

A list of DataSourceToIndexFieldMapping objects that\n map Microsoft SharePoint attributes to custom fields in the Amazon Kendra\n index. You must first create the index fields using the\n UpdateIndex API before you map SharePoint\n attributes. For more information, see Mapping Data Source\n Fields.

" } }, "DocumentTitleFieldName": { @@ -9698,7 +9782,7 @@ } }, "traits": { - "smithy.api#documentation": "

Specifies the document attribute to use to sort the response to a\n Amazon Kendra query. You can specify a single attribute for sorting. The\n attribute must have the Sortable flag set to\n true, otherwise Amazon Kendra returns an exception.

\n

You can sort attributes of the following types.

\n \n

You can't sort attributes of the following type.

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

Specifies the document attribute to use to sort the response to a\n Amazon Kendra query. You can specify a single attribute for sorting. The\n attribute must have the Sortable flag set to\n true, otherwise Amazon Kendra returns an exception.

\n

You can sort attributes of the following types.

\n \n

You can't sort attributes of the following type.

\n " } }, "com.amazonaws.kendra#SqlConfiguration": { @@ -9835,7 +9919,7 @@ } ], "traits": { - "smithy.api#documentation": "

Stops a running synchronization job. You can't stop a scheduled\n synchronization job.

" + "smithy.api#documentation": "

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

" } }, "com.amazonaws.kendra#StopDataSourceSyncJobRequest": { @@ -9917,7 +10001,7 @@ "QueryId": { "target": "com.amazonaws.kendra#QueryId", "traits": { - "smithy.api#documentation": "

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

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

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

", "smithy.api#required": {} } }, @@ -10568,7 +10652,7 @@ "RoleArn": { "target": "com.amazonaws.kendra#RoleArn", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of a role with permission to access Query\n operations, QuerySuggestions operations, SubmitFeedback\n operations, and Amazon Web Services SSO that stores your user and group information. \n For more information, see IAM roles for Amazon Kendra.

" + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of a role with permission to access Query\n API, QuerySuggestions API, SubmitFeedback\n API, and Amazon Web Services SSO that stores your user and group information. \n For more information, see IAM roles for Amazon Kendra.

" } }, "Configuration": { @@ -10958,7 +11042,7 @@ } }, "traits": { - "smithy.api#documentation": "

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

\n

This is used for filtering search results for different users based on their access \n to documents.

\n

You provide one of the following:

\n \n

If you provide both, an exception is thrown.

" + "smithy.api#documentation": "

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

\n

This is used for filtering search results for different users based on their access \n to documents.

\n

You provide one of the following:

\n \n

If you provide both, an exception is thrown.

" } }, "com.amazonaws.kendra#UserContextPolicy": { @@ -10988,7 +11072,7 @@ } }, "traits": { - "smithy.api#documentation": "

Provides the configuration information to fetch access levels \n of groups and users from an Amazon Web Services Single Sign On identity \n source. This is useful for setting up user context filtering, where \n Amazon Kendra filters search results for different users based on their \n group's access to documents. You can also map your users to their \n groups for user context filtering using the \n PutPrincipalMapping \n operation.

\n

To set up an Amazon Web Services SSO identity source in the console to use with \n Amazon Kendra, see Getting started \n with an Amazon Web Services SSO identity source. You must also grant the required \n permissions to use Amazon Web Services SSO with Amazon Kendra. For more information, see \n IAM roles for \n Amazon Web Services SSO.

\n

Amazon Kendra currently does not support using UserGroupResolutionConfiguration \n with an Amazon Web Services organization member account for your Amazon Web Services SSO \n identify source. You must create your index in the parent account for the organization \n in order to use UserGroupResolutionConfiguration.

" + "smithy.api#documentation": "

Provides the configuration information to fetch access levels \n of groups and users from an Amazon Web Services Single Sign On identity \n source. This is useful for setting up user context filtering, where \n Amazon Kendra filters search results for different users based on their \n group's access to documents. You can also map your users to their \n groups for user context filtering using the \n PutPrincipalMapping \n API.

\n

To set up an Amazon Web Services SSO identity source in the console to use with \n Amazon Kendra, see Getting started \n with an Amazon Web Services SSO identity source. You must also grant the required \n permissions to use Amazon Web Services SSO with Amazon Kendra. For more information, see \n IAM roles for \n Amazon Web Services SSO.

\n

Amazon Kendra currently does not support using UserGroupResolutionConfiguration \n with an Amazon Web Services organization member account for your Amazon Web Services SSO \n identify source. You must create your index in the management account for the organization \n in order to use UserGroupResolutionConfiguration.

" } }, "com.amazonaws.kendra#UserGroupResolutionMode": { @@ -11295,7 +11379,7 @@ "FieldMappings": { "target": "com.amazonaws.kendra#DataSourceToIndexFieldMappingList", "traits": { - "smithy.api#documentation": "

A list of DataSourceToIndexFieldMapping objects that map \n Amazon WorkDocs field names to custom index field names in Amazon Kendra. You must first \n create the custom index fields using the UpdateIndex operation before \n you map to Amazon WorkDocs fields. For more information, see \n Mapping \n Data Source Fields. The Amazon WorkDocs data source field names \n need to exist in your Amazon WorkDocs custom metadata.

" + "smithy.api#documentation": "

A list of DataSourceToIndexFieldMapping objects that map \n Amazon WorkDocs field names to custom index field names in Amazon Kendra. You must first \n create the custom index fields using the UpdateIndex API before \n you map to Amazon WorkDocs fields. For more information, see \n Mapping \n Data Source Fields. The Amazon WorkDocs data source field names \n need to exist in your Amazon WorkDocs custom metadata.

" } } }, diff --git a/codegen/sdk-codegen/aws-models/lakeformation.2017-03-31.json b/codegen/sdk-codegen/aws-models/lakeformation.2017-03-31.json index 20b8a326776..4b8d3d67573 100644 --- a/codegen/sdk-codegen/aws-models/lakeformation.2017-03-31.json +++ b/codegen/sdk-codegen/aws-models/lakeformation.2017-03-31.json @@ -5523,8 +5523,7 @@ "TransactionId": { "target": "com.amazonaws.lakeformation#TransactionIdString", "traits": { - "smithy.api#documentation": "

The transaction at which to do the write.

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

The transaction at which to do the write.

" } }, "WriteOperations": { diff --git a/codegen/sdk-codegen/aws-models/lambda.2015-03-31.json b/codegen/sdk-codegen/aws-models/lambda.2015-03-31.json index 29e177920e1..a5ac4587e88 100644 --- a/codegen/sdk-codegen/aws-models/lambda.2015-03-31.json +++ b/codegen/sdk-codegen/aws-models/lambda.2015-03-31.json @@ -2951,6 +2951,42 @@ "code": 200 }, "smithy.waiters#waitable": { + "FunctionActiveV2": { + "documentation": "Waits for the function's State to be Active. This waiter uses GetFunction API. This should be used after new function creation.", + "acceptors": [ + { + "state": "success", + "matcher": { + "output": { + "path": "Configuration.State", + "expected": "Active", + "comparator": "stringEquals" + } + } + }, + { + "state": "failure", + "matcher": { + "output": { + "path": "Configuration.State", + "expected": "Failed", + "comparator": "stringEquals" + } + } + }, + { + "state": "retry", + "matcher": { + "output": { + "path": "Configuration.State", + "expected": "Pending", + "comparator": "stringEquals" + } + } + } + ], + "minDelay": 1 + }, "FunctionExists": { "acceptors": [ { @@ -2967,6 +3003,42 @@ } ], "minDelay": 1 + }, + "FunctionUpdatedV2": { + "documentation": "Waits for the function's LastUpdateStatus to be Successful. This waiter uses GetFunction API. This should be used after function updates.", + "acceptors": [ + { + "state": "success", + "matcher": { + "output": { + "path": "Configuration.LastUpdateStatus", + "expected": "Successful", + "comparator": "stringEquals" + } + } + }, + { + "state": "failure", + "matcher": { + "output": { + "path": "Configuration.LastUpdateStatus", + "expected": "Failed", + "comparator": "stringEquals" + } + } + }, + { + "state": "retry", + "matcher": { + "output": { + "path": "Configuration.LastUpdateStatus", + "expected": "InProgress", + "comparator": "stringEquals" + } + } + } + ], + "minDelay": 1 } } } @@ -3120,7 +3192,7 @@ }, "smithy.waiters#waitable": { "FunctionActive": { - "documentation": "Waits for the function's State to be Active.", + "documentation": "Waits for the function's State to be Active. This waiter uses GetFunctionConfiguration API. This should be used after new function creation.", "acceptors": [ { "state": "success", @@ -3156,7 +3228,7 @@ "minDelay": 5 }, "FunctionUpdated": { - "documentation": "Waits for the function's LastUpdateStatus to be Successful.", + "documentation": "Waits for the function's LastUpdateStatus to be Successful. This waiter uses GetFunctionConfiguration API. This should be used after function updates.", "acceptors": [ { "state": "success", @@ -6727,6 +6799,10 @@ "value": "dotnetcore3.1", "name": "dotnetcore31" }, + { + "value": "dotnet6", + "name": "dotnet6" + }, { "value": "nodejs4.3-edge", "name": "nodejs43edge" @@ -7688,7 +7764,7 @@ } ], "traits": { - "smithy.api#documentation": "

Updates a Lambda function's code. If code signing is enabled for the function, the code package must be signed\n by a trusted publisher. For more information, see Configuring code signing.

\n \n

The function's code is locked when you publish a version. You can't modify the code of a published version,\n only the unpublished version.

\n \n

For a function defined as a container image, Lambda resolves the image tag to an image digest. In Amazon ECR, if\n you update the image tag to a new image, Lambda does not automatically update the function.

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

Updates a Lambda function's code. If code signing is enabled for the function, the code package must be signed\n by a trusted publisher. For more information, see Configuring code signing.

\n \n

If the function's package type is Image, you must specify the code package in ImageUri as \n the URI of a\n container image \n in the Amazon ECR registry.\n

\n \n

If the function's package type is Zip, you must specify the deployment\n package as a .zip file\n archive. Enter the Amazon S3 bucket and key of the code .zip file location.\n You can also provide the function code inline using the ZipFile field.

\n

The code in the deployment package must be compatible with the target instruction set\n architecture of the function (x86-64 or arm64).

\n \n

The function's code is locked when you publish a version. You can't modify the code of a published version,\n only the unpublished version.

\n \n

For a function defined as a container image, Lambda resolves the image tag to an image digest. In Amazon ECR, if\n you update the image tag to a new image, Lambda does not automatically update the function.

\n
", "smithy.api#http": { "method": "PUT", "uri": "/2015-03-31/functions/{FunctionName}/code", @@ -7710,19 +7786,19 @@ "ZipFile": { "target": "com.amazonaws.lambda#Blob", "traits": { - "smithy.api#documentation": "

The base64-encoded contents of the deployment package. Amazon Web Services SDK and Amazon Web Services CLI clients handle the encoding for\n you.

" + "smithy.api#documentation": "

The base64-encoded contents of the deployment package. Amazon Web Services SDK and Amazon Web Services CLI clients \nhandle the encoding for you. Use only with a function defined with a .zip file archive deployment package.

" } }, "S3Bucket": { "target": "com.amazonaws.lambda#S3Bucket", "traits": { - "smithy.api#documentation": "

An Amazon S3 bucket in the same Amazon Web Services Region as your function. The bucket can be in a different Amazon Web Services account.

" + "smithy.api#documentation": "

An Amazon S3 bucket in the same Amazon Web Services Region as your function. The bucket can be in a different \nAmazon Web Services account. Use only with a function defined with a .zip file archive deployment package.

" } }, "S3Key": { "target": "com.amazonaws.lambda#S3Key", "traits": { - "smithy.api#documentation": "

The Amazon S3 key of the deployment package.

" + "smithy.api#documentation": "

The Amazon S3 key of the deployment package. Use only with a function defined with a .zip file archive deployment package.

" } }, "S3ObjectVersion": { @@ -7734,7 +7810,7 @@ "ImageUri": { "target": "com.amazonaws.lambda#String", "traits": { - "smithy.api#documentation": "

URI of a container image in the Amazon ECR registry.

" + "smithy.api#documentation": "

URI of a container image in the Amazon ECR registry. Do not use for a function defined\n with a .zip file archive.

" } }, "Publish": { diff --git a/codegen/sdk-codegen/aws-models/lookoutvision.2020-11-20.json b/codegen/sdk-codegen/aws-models/lookoutvision.2020-11-20.json index 1a7529defea..7961bbdc4a6 100644 --- a/codegen/sdk-codegen/aws-models/lookoutvision.2020-11-20.json +++ b/codegen/sdk-codegen/aws-models/lookoutvision.2020-11-20.json @@ -1250,8 +1250,7 @@ "CompilerOptions": { "target": "com.amazonaws.lookoutvision#CompilerOptions", "traits": { - "smithy.api#documentation": "

Additional compiler options for the Greengrass component. Currently, \n only NVIDIA Graphics Processing Units (GPU) are supported.

\n \n \n

For more information, see \n Compiler options in the Amazon Lookout for Vision Developer Guide.

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

Additional compiler options for the Greengrass component. Currently, \n only NVIDIA Graphics Processing Units (GPU) are supported. If you specify TargetPlatform, you must specify\nCompilerOptions. If you specify TargetDevice, don't specify CompilerOptions.

\n \n \n

For more information, see \n Compiler options in the Amazon Lookout for Vision Developer Guide.

" } }, "TargetDevice": { @@ -2829,7 +2828,7 @@ } ], "traits": { - "smithy.api#documentation": "

Starts an Amazon Lookout for Vision model packaging job. A model packaging job creates an AWS IoT Greengrass component for\n a Lookout for Vision model. You can use the component to deploy your model to an edge device managed by Greengrass.\n

\n \n

Use the DescribeModelPackagingJob API to determine the current status of the job.\n \n The model packaging job is complete if the value of Status is SUCCEEDED.

\n

To deploy the component\n to the target device, use the component name and component version\n with the AWS IoT Greengrass CreateDeployment API.

\n\n

This operation requires the following permissions:

\n \n \n \n

For more information, see \n Using your Amazon Lookout for Vision model on an edge device in the Amazon Lookout for Vision Developer Guide.

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

Starts an Amazon Lookout for Vision model packaging job. A model packaging job creates an AWS IoT Greengrass component for\n a Lookout for Vision model. You can use the component to deploy your model to an edge device managed by Greengrass.\n

\n \n

Use the DescribeModelPackagingJob API to determine the current status of the job.\n \n The model packaging job is complete if the value of Status is SUCCEEDED.

\n

To deploy the component\n to the target device, use the component name and component version\n with the AWS IoT Greengrass CreateDeployment API.

\n\n

This operation requires the following permissions:

\n \n \n \n

For more information, see \n Using your Amazon Lookout for Vision model on an edge device in the Amazon Lookout for Vision Developer Guide.

", "smithy.api#http": { "method": "POST", "uri": "/2020-11-20/projects/{ProjectName}/modelpackagingjobs", diff --git a/codegen/sdk-codegen/aws-models/marketplacemetering.2016-01-14.json b/codegen/sdk-codegen/aws-models/marketplacemetering.2016-01-14.json index b28bc3d8e96..2f613d80313 100644 --- a/codegen/sdk-codegen/aws-models/marketplacemetering.2016-01-14.json +++ b/codegen/sdk-codegen/aws-models/marketplacemetering.2016-01-14.json @@ -31,6 +31,21 @@ "shapes": { "com.amazonaws.marketplacemetering#AWSMPMeteringService": { "type": "service", + "traits": { + "aws.api#service": { + "sdkId": "Marketplace Metering", + "arnNamespace": "aws-marketplace", + "cloudFormationName": "MarketplaceMetering", + "cloudTrailEventSource": "marketplacemetering.amazonaws.com", + "endpointPrefix": "metering.marketplace" + }, + "aws.auth#sigv4": { + "name": "aws-marketplace" + }, + "aws.protocols#awsJson1_1": {}, + "smithy.api#documentation": "AWS Marketplace Metering Service\n

This reference provides descriptions of the low-level AWS Marketplace Metering Service\n API.

\n

AWS Marketplace sellers can use this API to submit usage data for custom usage\n dimensions.

\n

For information on the permissions you need to use this API, see AWS Marketplace metering and entitlement API permissions in the\n AWS Marketplace Seller Guide.\n

\n

\n Submitting Metering Records\n

\n \n

\n Accepting New Customers\n

\n \n

\n Entitlement and Metering for Paid Container Products\n

\n \n

\n BatchMeterUsage API calls are captured by AWS CloudTrail. You can use\n Cloudtrail to verify that the SaaS metering records that you sent are accurate by\n searching for records with the eventName of BatchMeterUsage.\n You can also use CloudTrail to audit records over time. For more information, see the\n \n AWS CloudTrail User Guide.\n

", + "smithy.api#title": "AWSMarketplace Metering" + }, "version": "2016-01-14", "operations": [ { @@ -45,22 +60,7 @@ { "target": "com.amazonaws.marketplacemetering#ResolveCustomer" } - ], - "traits": { - "aws.api#service": { - "sdkId": "Marketplace Metering", - "arnNamespace": "aws-marketplace", - "cloudFormationName": "MarketplaceMetering", - "cloudTrailEventSource": "marketplacemetering.amazonaws.com", - "endpointPrefix": "metering.marketplace" - }, - "aws.auth#sigv4": { - "name": "aws-marketplace" - }, - "aws.protocols#awsJson1_1": {}, - "smithy.api#documentation": "AWS Marketplace Metering Service\n

This reference provides descriptions of the low-level AWS Marketplace Metering\n Service API.

\n

AWS Marketplace sellers can use this API to submit usage data for custom usage\n dimensions.

\n

For information on the permissions you need to use this API, see\n AWS Marketing metering and entitlement API permissions in the AWS Marketplace Seller Guide. \n

\n

\n Submitting Metering Records\n

\n \n

\n Accepting New Customers\n

\n \n

\n Entitlement and Metering for Paid Container Products\n

\n \n

BatchMeterUsage API calls are captured by AWS CloudTrail. You can use Cloudtrail to\n verify that the SaaS metering records that you sent are accurate by searching for\n records with the eventName of BatchMeterUsage. You can also use CloudTrail to audit\n records over time. For more information, see the \n AWS CloudTrail User Guide\n .

", - "smithy.api#title": "AWSMarketplace Metering" - } + ] }, "com.amazonaws.marketplacemetering#AllocatedUsageQuantity": { "type": "integer", @@ -110,7 +110,7 @@ } ], "traits": { - "smithy.api#documentation": "

BatchMeterUsage is called from a SaaS application listed on the AWS Marketplace to\n post metering records for a set of customers.

\n

For identical requests, the API is idempotent; requests can be retried with the\n same records or a subset of the input records.

\n

Every request to BatchMeterUsage is for one product. If you need to meter usage for\n multiple products, you must make multiple calls to BatchMeterUsage.

\n

BatchMeterUsage can process up to 25 UsageRecords at a time.

\n

A UsageRecord can optionally include multiple usage allocations, to provide customers\n with usagedata split into buckets by tags that you define (or allow the customer to \n define).

\n

BatchMeterUsage requests must be less than 1MB in size.

" + "smithy.api#documentation": "

\n BatchMeterUsage is called from a SaaS application listed on AWS\n Marketplace to post metering records for a set of customers.

\n

For identical requests, the API is idempotent; requests can be retried with the same\n records or a subset of the input records.

\n

Every request to BatchMeterUsage is for one product. If you need to meter\n usage for multiple products, you must make multiple calls to\n BatchMeterUsage.

\n

Usage records are expected to be submitted as quickly as possible after the event that\n is being recorded, and are not accepted more than 6 hours after the event.

\n

\n BatchMeterUsage can process up to 25 UsageRecords at a\n time.

\n

A UsageRecord can optionally include multiple usage allocations, to\n provide customers with usage data split into buckets by tags that you define (or allow\n the customer to define).

\n

\n BatchMeterUsage returns a list of UsageRecordResult objects,\n showing the result for each UsageRecord, as well as a list of\n UnprocessedRecords, indicating errors in the service side that you\n should retry.

\n

\n BatchMeterUsage requests must be less than 1MB in size.

\n \n

For an example of using BatchMeterUsage, see BatchMeterUsage code example in the AWS Marketplace Seller\n Guide.

\n
" } }, "com.amazonaws.marketplacemetering#BatchMeterUsageRequest": { @@ -119,20 +119,20 @@ "UsageRecords": { "target": "com.amazonaws.marketplacemetering#UsageRecordList", "traits": { - "smithy.api#documentation": "

The set of UsageRecords to submit. BatchMeterUsage accepts up to 25 UsageRecords at\n a time.

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

The set of UsageRecords to submit. BatchMeterUsage accepts\n up to 25 UsageRecords at a time.

", "smithy.api#required": {} } }, "ProductCode": { "target": "com.amazonaws.marketplacemetering#ProductCode", "traits": { - "smithy.api#documentation": "

Product code is used to uniquely identify a product in AWS Marketplace. The product\n code should be the same as the one used during the publishing of a new\n product.

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

Product code is used to uniquely identify a product in AWS Marketplace. The product\n code should be the same as the one used during the publishing of a new product.

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

A BatchMeterUsageRequest contains UsageRecords, which indicate quantities of usage\n within your application.

" + "smithy.api#documentation": "

A BatchMeterUsageRequest contains UsageRecords, which\n indicate quantities of usage within your application.

" } }, "com.amazonaws.marketplacemetering#BatchMeterUsageResult": { @@ -141,18 +141,18 @@ "Results": { "target": "com.amazonaws.marketplacemetering#UsageRecordResultList", "traits": { - "smithy.api#documentation": "

Contains all UsageRecords processed by BatchMeterUsage. These records were either\n honored by AWS Marketplace Metering Service or were invalid.

" + "smithy.api#documentation": "

Contains all UsageRecords processed by BatchMeterUsage.\n These records were either honored by AWS Marketplace Metering Service or were invalid.\n Invalid records should be fixed before being resubmitted.

" } }, "UnprocessedRecords": { "target": "com.amazonaws.marketplacemetering#UsageRecordList", "traits": { - "smithy.api#documentation": "

Contains all UsageRecords that were not processed by BatchMeterUsage. This is a\n list of UsageRecords. You can retry the failed request by making another BatchMeterUsage\n call with this list as input in the BatchMeterUsageRequest.

" + "smithy.api#documentation": "

Contains all UsageRecords that were not processed by\n BatchMeterUsage. This is a list of UsageRecords. You can\n retry the failed request by making another BatchMeterUsage call with this\n list as input in the BatchMeterUsageRequest.

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

Contains the UsageRecords processed by BatchMeterUsage and any records that have\n failed due to transient error.

" + "smithy.api#documentation": "

Contains the UsageRecords processed by BatchMeterUsage and\n any records that have failed due to transient error.

" } }, "com.amazonaws.marketplacemetering#Boolean": { @@ -161,6 +161,16 @@ "smithy.api#box": {} } }, + "com.amazonaws.marketplacemetering#CustomerAWSAccountId": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 255 + }, + "smithy.api#pattern": "^[0-9]+$" + } + }, "com.amazonaws.marketplacemetering#CustomerIdentifier": { "type": "string", "traits": { @@ -168,7 +178,7 @@ "min": 1, "max": 255 }, - "smithy.api#pattern": "[\\s\\S]+" + "smithy.api#pattern": "^[\\s\\S]+$" } }, "com.amazonaws.marketplacemetering#CustomerNotEntitledException": { @@ -203,7 +213,7 @@ } }, "traits": { - "smithy.api#documentation": "

A metering record has already been emitted by the same EC2 instance, ECS task, or\n EKS pod for the given {usageDimension, timestamp} with a different\n usageQuantity.

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

A metering record has already been emitted by the same EC2 instance, ECS task, or EKS\n pod for the given {usageDimension, timestamp} with a different\n usageQuantity.

", "smithy.api#error": "client" } }, @@ -215,7 +225,7 @@ } }, "traits": { - "smithy.api#documentation": "

The submitted registration token has expired. This can happen if the buyer's\n browser takes too long to redirect to your page, the buyer has resubmitted the\n registration token, or your application has held on to the registration token for too\n long. Your SaaS registration website should redeem this token as soon as it is submitted\n by the buyer's browser.

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

The submitted registration token has expired. This can happen if the buyer's browser\n takes too long to redirect to your page, the buyer has resubmitted the registration\n token, or your application has held on to the registration token for too long. Your SaaS\n registration website should redeem this token as soon as it is submitted by the buyer's\n browser.

", "smithy.api#error": "client" } }, @@ -239,7 +249,7 @@ } }, "traits": { - "smithy.api#documentation": "

You have metered usage for a CustomerIdentifier that does not exist.

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

You have metered usage for a CustomerIdentifier that does not\n exist.

", "smithy.api#error": "client" } }, @@ -287,7 +297,7 @@ } }, "traits": { - "smithy.api#documentation": "

RegisterUsage must be called in the same AWS Region the ECS task was launched in.\n This prevents a container from hardcoding a Region (e.g. withRegion(“us-east-1”) when\n calling RegisterUsage.

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

\n RegisterUsage must be called in the same AWS Region the ECS task was\n launched in. This prevents a container from hardcoding a Region (e.g.\n withRegion(“us-east-1”) when calling RegisterUsage.

", "smithy.api#error": "client" } }, @@ -323,7 +333,7 @@ } }, "traits": { - "smithy.api#documentation": "

The usage allocation objects are invalid, or the number of allocations is greater\n than 500 for a single usage record.

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

The usage allocation objects are invalid, or the number of allocations is greater than\n 500 for a single usage record.

", "smithy.api#error": "client" } }, @@ -335,7 +345,7 @@ } }, "traits": { - "smithy.api#documentation": "

The usage dimension does not match one of the UsageDimensions associated with\n products.

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

The usage dimension does not match one of the UsageDimensions associated\n with products.

", "smithy.api#error": "client" } }, @@ -380,7 +390,7 @@ } ], "traits": { - "smithy.api#documentation": "

API to emit metering records. For identical requests, the API is idempotent. It\n simply returns the metering record ID.

\n

MeterUsage is authenticated on the buyer's AWS account using credentials from the\n EC2 instance, ECS task, or EKS pod.

\n

MeterUsage can optionally include multiple usage allocations, to provide customers\n with usage data split into buckets by tags that you define (or allow the customer to\n define).

" + "smithy.api#documentation": "

API to emit metering records. For identical requests, the API is idempotent. It simply\n returns the metering record ID.

\n

\n MeterUsage is authenticated on the buyer's AWS account using credentials\n from the EC2 instance, ECS task, or EKS pod.

\n

\n MeterUsage can optionally include multiple usage allocations, to provide\n customers with usage data split into buckets by tags that you define (or allow the\n customer to define).

\n

Usage records are expected to be submitted as quickly as possible after the event that\n is being recorded, and are not accepted more than 6 hours after the event.

" } }, "com.amazonaws.marketplacemetering#MeterUsageRequest": { @@ -389,14 +399,14 @@ "ProductCode": { "target": "com.amazonaws.marketplacemetering#ProductCode", "traits": { - "smithy.api#documentation": "

Product code is used to uniquely identify a product in AWS Marketplace. The product\n code should be the same as the one used during the publishing of a new\n product.

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

Product code is used to uniquely identify a product in AWS Marketplace. The product\n code should be the same as the one used during the publishing of a new product.

", "smithy.api#required": {} } }, "Timestamp": { "target": "com.amazonaws.marketplacemetering#Timestamp", "traits": { - "smithy.api#documentation": "

Timestamp, in UTC, for which the usage is being reported. Your application can\n meter usage for up to one hour in the past. Make sure the timestamp value is not before\n the start of the software usage.

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

Timestamp, in UTC, for which the usage is being reported. Your application can meter\n usage for up to one hour in the past. Make sure the timestamp value is not\n before the start of the software usage.

", "smithy.api#required": {} } }, @@ -410,19 +420,19 @@ "UsageQuantity": { "target": "com.amazonaws.marketplacemetering#UsageQuantity", "traits": { - "smithy.api#documentation": "

Consumption value for the hour. Defaults to 0 if not\n specified.

" + "smithy.api#documentation": "

Consumption value for the hour. Defaults to 0 if not specified.

" } }, "DryRun": { "target": "com.amazonaws.marketplacemetering#Boolean", "traits": { - "smithy.api#documentation": "

Checks whether you have the permissions required for the action, but does not make\n the request. If you have the permissions, the request returns DryRunOperation;\n otherwise, it returns UnauthorizedException. Defaults to false if not\n specified.

" + "smithy.api#documentation": "

Checks whether you have the permissions required for the action, but does not make the\n request. If you have the permissions, the request returns DryRunOperation;\n otherwise, it returns UnauthorizedException. Defaults to false\n if not specified.

" } }, "UsageAllocations": { "target": "com.amazonaws.marketplacemetering#UsageAllocations", "traits": { - "smithy.api#documentation": "

The set of UsageAllocations to submit.

\n

The sum of all UsageAllocation quantities must equal the\n UsageQuantity of the MeterUsage request, and each UsageAllocation must have a\n unique set of tags (include no tags).

" + "smithy.api#documentation": "

The set of UsageAllocations to submit.

\n

The sum of all UsageAllocation quantities must equal the\n UsageQuantity of the MeterUsage request, and each\n UsageAllocation must have a unique set of tags (include no\n tags).

" } } } @@ -441,7 +451,7 @@ "com.amazonaws.marketplacemetering#NonEmptyString": { "type": "string", "traits": { - "smithy.api#pattern": "[\\s\\S]+" + "smithy.api#pattern": "^[\\s\\S]+$" } }, "com.amazonaws.marketplacemetering#Nonce": { @@ -451,7 +461,7 @@ "min": 0, "max": 255 }, - "smithy.api#pattern": "[\\s\\S]*" + "smithy.api#pattern": "^[\\s\\S]*$" } }, "com.amazonaws.marketplacemetering#PlatformNotSupportedException": { @@ -473,7 +483,7 @@ "min": 1, "max": 255 }, - "smithy.api#pattern": "[\\s\\S]+" + "smithy.api#pattern": "^[-a-zA-Z0-9/=:_.@]*$" } }, "com.amazonaws.marketplacemetering#RegisterUsage": { @@ -511,7 +521,7 @@ } ], "traits": { - "smithy.api#documentation": "

Paid container software products sold through AWS Marketplace must integrate with\n the AWS Marketplace Metering Service and call the RegisterUsage operation for software\n entitlement and metering. Free and BYOL products for Amazon ECS or Amazon EKS aren't\n required to call RegisterUsage, but you may choose to do so if you would like to receive\n usage data in your seller reports. The sections below explain the behavior of\n RegisterUsage. RegisterUsage performs two primary functions: metering and\n entitlement.

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

Paid container software products sold through AWS Marketplace must integrate with the\n AWS Marketplace Metering Service and call the RegisterUsage operation for\n software entitlement and metering. Free and BYOL products for Amazon ECS or Amazon EKS\n aren't required to call RegisterUsage, but you may choose to do so if you\n would like to receive usage data in your seller reports. The sections below explain the\n behavior of RegisterUsage. RegisterUsage performs two primary\n functions: metering and entitlement.

\n " } }, "com.amazonaws.marketplacemetering#RegisterUsageRequest": { @@ -520,7 +530,7 @@ "ProductCode": { "target": "com.amazonaws.marketplacemetering#ProductCode", "traits": { - "smithy.api#documentation": "

Product code is used to uniquely identify a product in AWS Marketplace. The product\n code should be the same as the one used during the publishing of a new\n product.

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

Product code is used to uniquely identify a product in AWS Marketplace. The product\n code should be the same as the one used during the publishing of a new product.

", "smithy.api#required": {} } }, @@ -534,7 +544,7 @@ "Nonce": { "target": "com.amazonaws.marketplacemetering#Nonce", "traits": { - "smithy.api#documentation": "

(Optional) To scope down the registration to a specific running software instance\n and guard against replay attacks.

" + "smithy.api#documentation": "

(Optional) To scope down the registration to a specific running software instance and\n guard against replay attacks.

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

ResolveCustomer is called by a SaaS application during the registration process.\n When a buyer visits your website during the registration process, the buyer submits a\n registration token through their browser. The registration token is resolved through\n this API to obtain a CustomerIdentifier and product code.

" + "smithy.api#documentation": "

\n ResolveCustomer is called by a SaaS application during the registration\n process. When a buyer visits your website during the registration process, the buyer\n submits a registration token through their browser. The registration token is resolved\n through this API to obtain a CustomerIdentifier\n along with the\n CustomerAWSAccountId and\n ProductCode.

\n \n

The API needs to called from the seller account id used to publish the SaaS\n application to successfully resolve the token.

\n

For an example of using ResolveCustomer, see ResolveCustomer code example in the AWS Marketplace Seller\n Guide.

\n
" } }, "com.amazonaws.marketplacemetering#ResolveCustomerRequest": { @@ -591,13 +601,13 @@ "RegistrationToken": { "target": "com.amazonaws.marketplacemetering#NonEmptyString", "traits": { - "smithy.api#documentation": "

When a buyer visits your website during the registration process, the buyer submits\n a registration token through the browser. The registration token is resolved to obtain a\n CustomerIdentifier and product code.

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

When a buyer visits your website during the registration process, the buyer submits a\n registration token through the browser. The registration token is resolved to obtain a\n CustomerIdentifier\n along with the\n CustomerAWSAccountId\n and\n ProductCode.

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

Contains input to the ResolveCustomer operation.

" + "smithy.api#documentation": "

Contains input to the ResolveCustomer operation.

" } }, "com.amazonaws.marketplacemetering#ResolveCustomerResult": { @@ -606,18 +616,24 @@ "CustomerIdentifier": { "target": "com.amazonaws.marketplacemetering#CustomerIdentifier", "traits": { - "smithy.api#documentation": "

The CustomerIdentifier is used to identify an individual customer in your\n application. Calls to BatchMeterUsage require CustomerIdentifiers for each\n UsageRecord.

" + "smithy.api#documentation": "

The CustomerIdentifier is used to identify an individual customer in your\n application. Calls to BatchMeterUsage require\n CustomerIdentifiers for each UsageRecord.

" } }, "ProductCode": { "target": "com.amazonaws.marketplacemetering#ProductCode", "traits": { - "smithy.api#documentation": "

The product code is returned to confirm that the buyer is registering for your\n product. Subsequent BatchMeterUsage calls should be made using this product\n code.

" + "smithy.api#documentation": "

The product code is returned to confirm that the buyer is registering for your\n product. Subsequent BatchMeterUsage calls should be made using this product\n code.

" + } + }, + "CustomerAWSAccountId": { + "target": "com.amazonaws.marketplacemetering#CustomerAWSAccountId", + "traits": { + "smithy.api#documentation": "

The CustomerAWSAccountId provides the AWS account ID associated with the\n CustomerIdentifier for the individual customer.

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

The result of the ResolveCustomer operation. Contains the CustomerIdentifier and\n product code.

" + "smithy.api#documentation": "

The result of the ResolveCustomer operation. Contains the\n CustomerIdentifier\n \n along with the CustomerAWSAccountId and\n ProductCode.

" } }, "com.amazonaws.marketplacemetering#String": { @@ -629,20 +645,20 @@ "Key": { "target": "com.amazonaws.marketplacemetering#TagKey", "traits": { - "smithy.api#documentation": "

One part of a key-value pair that makes up a tag. A key is a label that acts like a\n category for the specific tag values.

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

One part of a key-value pair that makes up a tag. A key is a\n label that acts like a category for the specific tag values.

", "smithy.api#required": {} } }, "Value": { "target": "com.amazonaws.marketplacemetering#TagValue", "traits": { - "smithy.api#documentation": "

One part of a key-value pair that makes up a tag. A value acts as a descriptor within\n a tag category (key). The value can be empty or null.

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

One part of a key-value pair that makes up a tag. A value\n acts as a descriptor within a tag category (key). The value can be empty or null.

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

Metadata assigned to an allocation. Each tag is made up of a key and a value.

" + "smithy.api#documentation": "

Metadata assigned to an allocation. Each tag is made up of a key and a\n value.

" } }, "com.amazonaws.marketplacemetering#TagKey": { @@ -700,7 +716,7 @@ } }, "traits": { - "smithy.api#documentation": "

The timestamp value passed in the meterUsage() is out of allowed range.

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

The timestamp value passed in the UsageRecord is out of\n allowed range.

\n

For BatchMeterUsage, if any of the records are outside of the allowed\n range, the entire batch is not processed. You must remove invalid records and try\n again.

", "smithy.api#error": "client" } }, @@ -717,12 +733,12 @@ "Tags": { "target": "com.amazonaws.marketplacemetering#TagList", "traits": { - "smithy.api#documentation": "

The set of tags that define the bucket of usage. For the bucket of items with no\n tags, this parameter can be left out.

" + "smithy.api#documentation": "

The set of tags that define the bucket of usage. For the bucket of items with no tags,\n this parameter can be left out.

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

Usage allocations allow you to split usage into buckets by tags.

\n

Each UsageAllocation indicates the usage quantity for a specific set of tags.

" + "smithy.api#documentation": "

Usage allocations allow you to split usage into buckets by tags.

\n

Each UsageAllocation indicates the usage quantity for a specific set of\n tags.

" } }, "com.amazonaws.marketplacemetering#UsageAllocations": { @@ -733,7 +749,7 @@ "traits": { "smithy.api#length": { "min": 1, - "max": 500 + "max": 2500 } } }, @@ -744,7 +760,7 @@ "min": 1, "max": 255 }, - "smithy.api#pattern": "[\\s\\S]+" + "smithy.api#pattern": "^[\\s\\S]+$" } }, "com.amazonaws.marketplacemetering#UsageQuantity": { @@ -763,21 +779,21 @@ "Timestamp": { "target": "com.amazonaws.marketplacemetering#Timestamp", "traits": { - "smithy.api#documentation": "

Timestamp, in UTC, for which the usage is being reported.

\n

Your application can meter usage for up to one hour in the past. Make sure the\n timestamp value is not before the start of the software usage.

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

Timestamp, in UTC, for which the usage is being reported.

\n

Your application can meter usage for up to one hour in the past. Make sure the\n timestamp value is not before the start of the software usage.

", "smithy.api#required": {} } }, "CustomerIdentifier": { "target": "com.amazonaws.marketplacemetering#CustomerIdentifier", "traits": { - "smithy.api#documentation": "

The CustomerIdentifier is obtained through the ResolveCustomer operation and\n represents an individual buyer in your application.

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

The CustomerIdentifier is obtained through the\n ResolveCustomer operation and represents an individual buyer in your\n application.

", "smithy.api#required": {} } }, "Dimension": { "target": "com.amazonaws.marketplacemetering#UsageDimension", "traits": { - "smithy.api#documentation": "

During the process of registering a product on AWS Marketplace, up to eight\n dimensions are specified. These represent different units of value in your\n application.

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

During the process of registering a product on AWS Marketplace, dimensions are\n specified. These represent different units of value in your application.

", "smithy.api#required": {} } }, @@ -790,12 +806,12 @@ "UsageAllocations": { "target": "com.amazonaws.marketplacemetering#UsageAllocations", "traits": { - "smithy.api#documentation": "

The set of UsageAllocations to submit. The sum of all UsageAllocation quantities \n must equal the Quantity of the UsageRecord.

" + "smithy.api#documentation": "

The set of UsageAllocations to submit. The sum of all\n UsageAllocation quantities must equal the Quantity of the\n UsageRecord.

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

A UsageRecord indicates a quantity of usage for a given product, customer,\n dimension and time.

\n

Multiple requests with the same UsageRecords as input will be deduplicated to\n prevent double charges.

" + "smithy.api#documentation": "

A UsageRecord indicates a quantity of usage for a given product,\n customer, dimension and time.

\n

Multiple requests with the same UsageRecords as input will be\n de-duplicated to prevent double charges.

" } }, "com.amazonaws.marketplacemetering#UsageRecordList": { @@ -816,24 +832,24 @@ "UsageRecord": { "target": "com.amazonaws.marketplacemetering#UsageRecord", "traits": { - "smithy.api#documentation": "

The UsageRecord that was part of the BatchMeterUsage request.

" + "smithy.api#documentation": "

The UsageRecord that was part of the BatchMeterUsage\n request.

" } }, "MeteringRecordId": { "target": "com.amazonaws.marketplacemetering#String", "traits": { - "smithy.api#documentation": "

The MeteringRecordId is a unique identifier for this metering event.

" + "smithy.api#documentation": "

The MeteringRecordId is a unique identifier for this metering\n event.

" } }, "Status": { "target": "com.amazonaws.marketplacemetering#UsageRecordResultStatus", "traits": { - "smithy.api#documentation": "

The UsageRecordResult Status indicates the status of an individual UsageRecord\n processed by BatchMeterUsage.

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

The UsageRecordResult\n Status indicates the status of an individual UsageRecord\n processed by BatchMeterUsage.

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

A UsageRecordResult indicates the status of a given UsageRecord processed by\n BatchMeterUsage.

" + "smithy.api#documentation": "

A UsageRecordResult indicates the status of a given\n UsageRecord processed by BatchMeterUsage.

" } }, "com.amazonaws.marketplacemetering#UsageRecordResultList": { diff --git a/codegen/sdk-codegen/aws-models/opensearch.2021-01-01.json b/codegen/sdk-codegen/aws-models/opensearch.2021-01-01.json index c3a990d311c..b3196a060ae 100644 --- a/codegen/sdk-codegen/aws-models/opensearch.2021-01-01.json +++ b/codegen/sdk-codegen/aws-models/opensearch.2021-01-01.json @@ -422,6 +422,9 @@ { "target": "com.amazonaws.opensearch#DescribeDomainAutoTunes" }, + { + "target": "com.amazonaws.opensearch#DescribeDomainChangeProgress" + }, { "target": "com.amazonaws.opensearch#DescribeDomainConfig" }, @@ -953,6 +956,135 @@ "smithy.api#documentation": "

The result of a CancelServiceSoftwareUpdate operation. Contains the status of the\n update.\n

" } }, + "com.amazonaws.opensearch#ChangeProgressDetails": { + "type": "structure", + "members": { + "ChangeId": { + "target": "com.amazonaws.opensearch#GUID", + "traits": { + "smithy.api#documentation": "

The unique change identifier associated with a specific domain configuration change.

" + } + }, + "Message": { + "target": "com.amazonaws.opensearch#Message", + "traits": { + "smithy.api#documentation": "

Contains an optional message associated with the domain configuration change.

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

Specifies change details of the domain configuration change.

" + } + }, + "com.amazonaws.opensearch#ChangeProgressStage": { + "type": "structure", + "members": { + "Name": { + "target": "com.amazonaws.opensearch#ChangeProgressStageName", + "traits": { + "smithy.api#documentation": "

The name of the specific progress stage.

" + } + }, + "Status": { + "target": "com.amazonaws.opensearch#ChangeProgressStageStatus", + "traits": { + "smithy.api#documentation": "

The overall status of a specific progress stage.

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

The description of the progress stage.

" + } + }, + "LastUpdated": { + "target": "com.amazonaws.opensearch#LastUpdated", + "traits": { + "smithy.api#documentation": "

The last updated timestamp of the progress stage.

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

A progress stage details of a specific domain configuration change.

" + } + }, + "com.amazonaws.opensearch#ChangeProgressStageList": { + "type": "list", + "member": { + "target": "com.amazonaws.opensearch#ChangeProgressStage" + }, + "traits": { + "smithy.api#documentation": "

The list of progress stages of a specific domain configuration change.

" + } + }, + "com.amazonaws.opensearch#ChangeProgressStageName": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 64 + } + } + }, + "com.amazonaws.opensearch#ChangeProgressStageStatus": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 256 + } + } + }, + "com.amazonaws.opensearch#ChangeProgressStatusDetails": { + "type": "structure", + "members": { + "ChangeId": { + "target": "com.amazonaws.opensearch#GUID", + "traits": { + "smithy.api#documentation": "

The unique change identifier associated with a specific domain configuration change.

" + } + }, + "StartTime": { + "target": "com.amazonaws.opensearch#UpdateTimestamp", + "traits": { + "smithy.api#documentation": "

The time at which the configuration change is made on the domain.

" + } + }, + "Status": { + "target": "com.amazonaws.opensearch#OverallChangeStatus", + "traits": { + "smithy.api#documentation": "

The overall status of the domain configuration change. This field can take the following values: PENDING, PROCESSING, COMPLETED and FAILED

" + } + }, + "PendingProperties": { + "target": "com.amazonaws.opensearch#StringList", + "traits": { + "smithy.api#documentation": "

The list of properties involved in the domain configuration change that are still in pending.

" + } + }, + "CompletedProperties": { + "target": "com.amazonaws.opensearch#StringList", + "traits": { + "smithy.api#documentation": "

The list of properties involved in the domain configuration change that are completed.

" + } + }, + "TotalNumberOfStages": { + "target": "com.amazonaws.opensearch#TotalNumberOfStages", + "traits": { + "smithy.api#documentation": "

The total number of stages required for the configuration change.

" + } + }, + "ChangeProgressStages": { + "target": "com.amazonaws.opensearch#ChangeProgressStageList", + "traits": { + "smithy.api#documentation": "

The specific stages that the domain is going through to perform the configuration change.

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

The progress details of a specific domain configuration change.

" + } + }, "com.amazonaws.opensearch#CloudWatchLogsLogGroupArn": { "type": "string", "traits": { @@ -1938,6 +2070,74 @@ "smithy.api#documentation": "

The result of a DescribeDomainAutoTunes request. See \n Auto-Tune for Amazon OpenSearch Service\n for more information.\n

" } }, + "com.amazonaws.opensearch#DescribeDomainChangeProgress": { + "type": "operation", + "input": { + "target": "com.amazonaws.opensearch#DescribeDomainChangeProgressRequest" + }, + "output": { + "target": "com.amazonaws.opensearch#DescribeDomainChangeProgressResponse" + }, + "errors": [ + { + "target": "com.amazonaws.opensearch#BaseException" + }, + { + "target": "com.amazonaws.opensearch#InternalException" + }, + { + "target": "com.amazonaws.opensearch#ResourceNotFoundException" + }, + { + "target": "com.amazonaws.opensearch#ValidationException" + } + ], + "traits": { + "smithy.api#documentation": "

Returns information about the current blue/green deployment happening on a domain, including\n a change ID, status, and progress stages.

", + "smithy.api#http": { + "method": "GET", + "uri": "/2021-01-01/opensearch/domain/{DomainName}/progress", + "code": 200 + } + } + }, + "com.amazonaws.opensearch#DescribeDomainChangeProgressRequest": { + "type": "structure", + "members": { + "DomainName": { + "target": "com.amazonaws.opensearch#DomainName", + "traits": { + "smithy.api#documentation": "

The domain you want to get the progress information about.

", + "smithy.api#httpLabel": {}, + "smithy.api#required": {} + } + }, + "ChangeId": { + "target": "com.amazonaws.opensearch#GUID", + "traits": { + "smithy.api#documentation": "

The specific change ID for which you want to get progress information. This is an optional parameter.\n If omitted, the service returns information about the most recent configuration change.\n

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

Container for the parameters to the DescribeDomainChangeProgress operation. Specifies the\n domain name and optional change specific identity for which you want progress information.\n

" + } + }, + "com.amazonaws.opensearch#DescribeDomainChangeProgressResponse": { + "type": "structure", + "members": { + "ChangeProgressStatus": { + "target": "com.amazonaws.opensearch#ChangeProgressStatusDetails", + "traits": { + "smithy.api#documentation": "

Progress information for the configuration change that is requested in the DescribeDomainChangeProgress request.\n

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

The result of a DescribeDomainChangeProgress request. Contains the progress information of\n the requested domain change.\n

" + } + }, "com.amazonaws.opensearch#DescribeDomainConfig": { "type": "operation", "input": { @@ -2632,6 +2832,9 @@ "smithy.api#documentation": "

Container for results from\n DescribeReservedInstances\n

" } }, + "com.amazonaws.opensearch#Description": { + "type": "string" + }, "com.amazonaws.opensearch#DisableTimestamp": { "type": "timestamp" }, @@ -2812,6 +3015,12 @@ "traits": { "smithy.api#documentation": "

Specifies AutoTuneOptions for the domain.\n

" } + }, + "ChangeProgressDetails": { + "target": "com.amazonaws.opensearch#ChangeProgressDetails", + "traits": { + "smithy.api#documentation": "

Specifies change details of the domain configuration change.

" + } } }, "traits": { @@ -3191,6 +3400,12 @@ "traits": { "smithy.api#documentation": "

The current status of the domain's Auto-Tune options.

" } + }, + "ChangeProgressDetails": { + "target": "com.amazonaws.opensearch#ChangeProgressDetails", + "traits": { + "smithy.api#documentation": "

Specifies change details of the domain configuration change.

" + } } }, "traits": { @@ -5273,6 +5488,30 @@ "target": "com.amazonaws.opensearch#OutboundConnection" } }, + "com.amazonaws.opensearch#OverallChangeStatus": { + "type": "string", + "traits": { + "smithy.api#documentation": "

The overall status value of the domain configuration change.

", + "smithy.api#enum": [ + { + "value": "PENDING", + "name": "PENDING" + }, + { + "value": "PROCESSING", + "name": "PROCESSING" + }, + { + "value": "COMPLETED", + "name": "COMPLETED" + }, + { + "value": "FAILED", + "name": "FAILED" + } + ] + } + }, "com.amazonaws.opensearch#OwnerId": { "type": "string", "traits": { @@ -6507,6 +6746,9 @@ ] } }, + "com.amazonaws.opensearch#TotalNumberOfStages": { + "type": "integer" + }, "com.amazonaws.opensearch#UIntValue": { "type": "integer", "traits": { @@ -6850,6 +7092,9 @@ }, "AdvancedOptions": { "target": "com.amazonaws.opensearch#AdvancedOptions" + }, + "ChangeProgressDetails": { + "target": "com.amazonaws.opensearch#ChangeProgressDetails" } }, "traits": { diff --git a/codegen/sdk-codegen/aws-models/personalize.2018-05-22.json b/codegen/sdk-codegen/aws-models/personalize.2018-05-22.json index a50cd4961ac..98fa39884f3 100644 --- a/codegen/sdk-codegen/aws-models/personalize.2018-05-22.json +++ b/codegen/sdk-codegen/aws-models/personalize.2018-05-22.json @@ -1746,7 +1746,7 @@ } ], "traits": { - "smithy.api#documentation": "

Creates a recommender with the recipe (a Domain dataset group use case) you specify. \n You create recommenders for a Domain dataset group and specify the recommender's Amazon Resource Name (ARN) when you make a\n GetRecommendations\n request.\n

\n \n \n \n

\n Status\n

\n

A recommender can be in one of the following states:

\n \n

To get the recommender status, call DescribeRecommender.

\n \n

Wait until the status of the recommender\n is ACTIVE before asking the recommender for recommendations.

\n
\n

\n Related APIs\n

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

Creates a recommender with the recipe (a Domain dataset group use case) you specify. \n You create recommenders for a Domain dataset group and specify the recommender's Amazon Resource Name (ARN) when you make a\n GetRecommendations\n request.\n

\n \n

\n Minimum recommendation requests per second\n

\n \n

When you create a recommender, you can configure the recommender's minimum recommendation requests per second. The minimum recommendation requests per second\n (minRecommendationRequestsPerSecond) specifies the baseline recommendation request throughput provisioned by\n Amazon Personalize. The default minRecommendationRequestsPerSecond is 1. A recommendation request is a single GetRecommendations operation.\n Request throughput is measured in requests per second and Amazon Personalize uses your requests per second to derive\n your requests per hour and the price of your recommender usage.\n

\n

\n If your requests per second increases beyond\n minRecommendationRequestsPerSecond, Amazon Personalize auto-scales the provisioned capacity up and down,\n but never below minRecommendationRequestsPerSecond.\n There's a short time delay while the capacity is increased that might cause loss of\n requests.

\n

\n Your bill is the greater of either the minimum requests per hour (based on minRecommendationRequestsPerSecond)\n or the actual number of requests. The actual request throughput used is calculated as the average requests/second within a one-hour window.\n \n We recommend starting with the default minRecommendationRequestsPerSecond, track\n your usage using Amazon CloudWatch metrics, and then increase the minRecommendationRequestsPerSecond\n as necessary.\n

\n \n

\n Status\n

\n

A recommender can be in one of the following states:

\n \n

To get the recommender status, call DescribeRecommender.

\n \n

Wait until the status of the recommender\n is ACTIVE before asking the recommender for recommendations.

\n
\n

\n Related APIs\n

\n ", "smithy.api#idempotent": {} } }, @@ -5670,6 +5670,12 @@ "traits": { "smithy.api#documentation": "

Specifies the exploration configuration hyperparameters, including explorationWeight and \n explorationItemAgeCutOff, you want to use to configure the amount of item exploration Amazon Personalize uses when\n recommending items. Provide itemExplorationConfig data only if your recommenders generate personalized recommendations for a user\n (not popular items or similar items).

" } + }, + "minRecommendationRequestsPerSecond": { + "target": "com.amazonaws.personalize#TransactionsPerSecond", + "traits": { + "smithy.api#documentation": "

Specifies the requested minimum provisioned recommendation requests per second that\n Amazon Personalize will support.

" + } } }, "traits": { @@ -5767,7 +5773,7 @@ } }, "traits": { - "smithy.api#documentation": "

Provides a summary of the properties of a recommender update. For a complete listing, call the\n DescribeRecommender API.

" + "smithy.api#documentation": "

Provides a summary of the properties of a recommender update. For a complete listing, call the\n DescribeRecommender API operation.

" } }, "com.amazonaws.personalize#Recommenders": { @@ -5859,7 +5865,7 @@ "kmsKeyArn": { "target": "com.amazonaws.personalize#KmsKeyArn", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the Key Management Service (KMS) key that Amazon Personalize uses to\n encrypt or decrypt the input and output files of a batch inference job.

" + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the Key Management Service (KMS) key that Amazon Personalize uses to\n encrypt or decrypt the input and output files.

" } } }, diff --git a/codegen/sdk-codegen/aws-models/pinpoint.2016-12-01.json b/codegen/sdk-codegen/aws-models/pinpoint.2016-12-01.json index 6f038027ca8..8b5b310e562 100644 --- a/codegen/sdk-codegen/aws-models/pinpoint.2016-12-01.json +++ b/codegen/sdk-codegen/aws-models/pinpoint.2016-12-01.json @@ -1351,6 +1351,12 @@ "smithy.api#documentation": "

A string-to-string map of key-value pairs that identifies the tags that are associated with the application. Each tag consists of a required tag key and an associated tag value.

", "smithy.api#jsonName": "tags" } + }, + "CreationDate": { + "target": "com.amazonaws.pinpoint#__string", + "traits": { + "smithy.api#documentation": "

The date and time when the Application was created.

" + } } }, "traits": { diff --git a/codegen/sdk-codegen/aws-models/rbin.2021-06-15.json b/codegen/sdk-codegen/aws-models/rbin.2021-06-15.json index f7631939d39..59b482d94b5 100644 --- a/codegen/sdk-codegen/aws-models/rbin.2021-06-15.json +++ b/codegen/sdk-codegen/aws-models/rbin.2021-06-15.json @@ -43,7 +43,7 @@ "name": "rbin" }, "aws.protocols#restJson1": {}, - "smithy.api#documentation": "

This is the Recycle Bin API Reference. This documentation provides \n descriptions and syntax for each of the actions and data types in Recycle Bin.

\n \n

Recycle Bin is a snapshot recovery feature that enables you to restore accidentally \n deleted snapshots. When using Recycle Bin, if your snapshots are deleted, they are retained \n in the Recycle Bin for a time period that you specify.

\n \n

You can restore a snapshot from the Recycle Bin at any time before its retention period \n expires. After you restore a snapshot from the Recycle Bin, the snapshot is removed from the \n Recycle Bin, and you can then use it in the same way you use any other snapshot in your \n account. If the retention period expires and the snapshot is not restored, the snapshot is \n permanently deleted from the Recycle Bin and is no longer available for recovery. For more \n information about Recycle Bin, see \n Recycle Bin in the Amazon EC2 User Guide.

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

This is the Recycle Bin API Reference. This documentation provides \n descriptions and syntax for each of the actions and data types in Recycle Bin.

\n \n

Recycle Bin is a resource recovery feature that enables you to restore accidentally \n deleted snapshots and EBS-backed AMIs. When using Recycle Bin, if your resources are \n deleted, they are retained in the Recycle Bin for a time period that you specify.

\n \n

You can restore a resource from the Recycle Bin at any time before its retention period \n expires. After you restore a resource from the Recycle Bin, the resource is removed from the \n Recycle Bin, and you can then use it in the same way you use any other resource of that type \n in your account. If the retention period expires and the resource is not restored, the resource \n is permanently deleted from the Recycle Bin and is no longer available for recovery. For more \n information about Recycle Bin, see \n Recycle Bin in the Amazon Elastic Compute Cloud User Guide.

", "smithy.api#title": "Amazon Recycle Bin" }, "version": "2021-06-15", @@ -94,7 +94,7 @@ } ], "traits": { - "smithy.api#documentation": "

Creates a Recycle Bin retention rule. For more information, see \n Create Recycle Bin retention rules in the Amazon EC2 User Guide.

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

Creates a Recycle Bin retention rule. For more information, see \n Create Recycle Bin retention rules in the Amazon Elastic Compute Cloud User Guide.

", "smithy.api#http": { "method": "POST", "uri": "/rules", @@ -115,7 +115,7 @@ "Description": { "target": "com.amazonaws.rbin#Description", "traits": { - "smithy.api#documentation": "

A brief description for the retention rule.

" + "smithy.api#documentation": "

The retention rule description.

" } }, "Tags": { @@ -127,14 +127,14 @@ "ResourceType": { "target": "com.amazonaws.rbin#ResourceType", "traits": { - "smithy.api#documentation": "

The resource type to be retained by the retention rule. Currently, only Amazon EBS snapshots are \n supported.

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

The resource type to be retained by the retention rule. Currently, only Amazon EBS snapshots \n and EBS-backed AMIs are supported. To retain snapshots, specify EBS_SNAPSHOT. To \n retain EBS-backed AMIs, specify EC2_IMAGE.

", "smithy.api#required": {} } }, "ResourceTags": { "target": "com.amazonaws.rbin#ResourceTags", "traits": { - "smithy.api#documentation": "

Information about the resource tags to use to identify resources that are to be retained \n by the retention rule. The retention rule retains only deleted snapshots that have one or more \n of the specified tag key and value pairs. If a snapshot is deleted, but it does not have \n any of the specified tag key and value pairs, it is immediately deleted without being retained \n by the retention rule.

\n

You can add the same tag key and value pair to a maximum or five retention rules.

" + "smithy.api#documentation": "

Specifies the resource tags to use to identify resources that are to be retained by a \n tag-level retention rule. For tag-level retention rules, only deleted resources, of the specified resource type, that \n have one or more of the specified tag key and value pairs are retained. If a resource is deleted, but it does not have \n any of the specified tag key and value pairs, it is immediately deleted without being retained by the retention rule.

\n

You can add the same tag key and value pair to a maximum or five retention rules.

\n

To create a Region-level retention rule, omit this parameter. A Region-level retention rule \n does not have any resource tags specified. It retains all deleted resources of the specified \n resource type in the Region in which the rule is created, even if the resources are not tagged.

" } } } @@ -145,7 +145,7 @@ "Identifier": { "target": "com.amazonaws.rbin#RuleIdentifier", "traits": { - "smithy.api#documentation": "

The unique identifier of the retention rule.

" + "smithy.api#documentation": "

The unique ID of the retention rule.

" } }, "RetentionPeriod": { @@ -160,7 +160,7 @@ "Tags": { "target": "com.amazonaws.rbin#TagList", "traits": { - "smithy.api#documentation": "

The tags assigned to the retention rule.

" + "smithy.api#documentation": "

Information about the tags assigned to the retention rule.

" } }, "ResourceType": { @@ -178,7 +178,7 @@ "Status": { "target": "com.amazonaws.rbin#RuleStatus", "traits": { - "smithy.api#documentation": "

The state of the retention rule. Only retention rules that are in the available state retain snapshots.

" + "smithy.api#documentation": "

The state of the retention rule. Only retention rules that are in the available \n state retain resources.

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

Deletes a Recycle Bin retention rule. For more information, see \n Delete Recycle Bin retention rules in the Amazon EC2 User Guide.

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

Deletes a Recycle Bin retention rule. For more information, see \n Delete Recycle Bin retention rules in the Amazon Elastic Compute Cloud User Guide.

", "smithy.api#http": { "method": "DELETE", "uri": "/rules/{Identifier}", @@ -217,7 +217,7 @@ "Identifier": { "target": "com.amazonaws.rbin#RuleIdentifier", "traits": { - "smithy.api#documentation": "

The unique ID of the retention rule to delete.

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

The unique ID of the retention rule.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -290,31 +290,31 @@ "Description": { "target": "com.amazonaws.rbin#Description", "traits": { - "smithy.api#documentation": "

The description assigned to the retention rule.

" + "smithy.api#documentation": "

The retention rule description.

" } }, "ResourceType": { "target": "com.amazonaws.rbin#ResourceType", "traits": { - "smithy.api#documentation": "

The resource type retained by the retention rule. Currently, only Amazon EBS snapshots are supported.

" + "smithy.api#documentation": "

The resource type retained by the retention rule.

" } }, "RetentionPeriod": { "target": "com.amazonaws.rbin#RetentionPeriod", "traits": { - "smithy.api#documentation": "

Information about the period for which the retention rule retains resources.

" + "smithy.api#documentation": "

Information about the retention period for which the retention rule is to retain resources.

" } }, "ResourceTags": { "target": "com.amazonaws.rbin#ResourceTags", "traits": { - "smithy.api#documentation": "

The resource tags used to identify resources that are to be retained by the retention rule.

" + "smithy.api#documentation": "

Information about the resource tags used to identify resources that are retained by the retention \n rule.

" } }, "Status": { "target": "com.amazonaws.rbin#RuleStatus", "traits": { - "smithy.api#documentation": "

The state of the retention rule. Only retention rules that are in the available state retain snapshots.

" + "smithy.api#documentation": "

The state of the retention rule. Only retention rules that are in the available \n state retain resources.

" } } } @@ -368,26 +368,26 @@ "MaxResults": { "target": "com.amazonaws.rbin#MaxResults", "traits": { - "smithy.api#documentation": "

The maximum number of results to return for the request in a single page. The remaining results can be seen by sending another request with the returned nextToken value. This value can be between 5 and 500. If maxResults is given a larger value than 500, you receive an error.

" + "smithy.api#documentation": "

The maximum number of results to return with a single call.\n\tTo retrieve the remaining results, make another call with the returned NextToken value.

" } }, "NextToken": { "target": "com.amazonaws.rbin#NextToken", "traits": { - "smithy.api#documentation": "

The token to use to retrieve the next page of results.

" + "smithy.api#documentation": "

The token for the next page of results.

" } }, "ResourceType": { "target": "com.amazonaws.rbin#ResourceType", "traits": { - "smithy.api#documentation": "

The resource type retained by the retention rule. Only retention rules that retain the specified resource type \n are listed.

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

The resource type retained by the retention rule. Only retention rules that retain \n the specified resource type are listed. Currently, only Amazon EBS snapshots and EBS-backed \n AMIs are supported. To list retention rules that retain snapshots, specify \n EBS_SNAPSHOT. To list retention rules that retain EBS-backed AMIs, specify \n EC2_IMAGE.

", "smithy.api#required": {} } }, "ResourceTags": { "target": "com.amazonaws.rbin#ResourceTags", "traits": { - "smithy.api#documentation": "

The tags used to identify resources that are to be retained by the retention rule.

" + "smithy.api#documentation": "

Information about the resource tags used to identify resources that are retained by the retention \n rule.

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

Lists the tags assigned a specific resource.

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

Lists the tags assigned to a retention rule.

", "smithy.api#http": { "method": "GET", "uri": "/tags/{ResourceArn}", @@ -443,7 +443,7 @@ "ResourceArn": { "target": "com.amazonaws.rbin#RuleArn", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the resource for which to list the tags.

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

The Amazon Resource Name (ARN) of the retention rule.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -456,7 +456,7 @@ "Tags": { "target": "com.amazonaws.rbin#TagList", "traits": { - "smithy.api#documentation": "

Information about the tags assigned to the resource.

" + "smithy.api#documentation": "

Information about the tags assigned to the retention rule.

" } } } @@ -525,7 +525,7 @@ } }, "traits": { - "smithy.api#documentation": "

Information about a resource tag used to identify resources that are to be retained by a Recycle Bin retention rule.

" + "smithy.api#documentation": "

Information about the resource tags used to identify resources that are retained by the retention \n rule.

" } }, "com.amazonaws.rbin#ResourceTagKey": { @@ -559,6 +559,10 @@ { "value": "EBS_SNAPSHOT", "name": "EBS_SNAPSHOT" + }, + { + "value": "EC2_IMAGE", + "name": "EC2_IMAGE" } ] } @@ -582,7 +586,7 @@ } }, "traits": { - "smithy.api#documentation": "

Information about the retention period for which a retention rule is to retain resources.

" + "smithy.api#documentation": "

Information about the retention period for which the retention rule is to retain resources.

" } }, "com.amazonaws.rbin#RetentionPeriodUnit": { @@ -649,13 +653,13 @@ "Description": { "target": "com.amazonaws.rbin#Description", "traits": { - "smithy.api#documentation": "

The description for the retention rule.

" + "smithy.api#documentation": "

The retention rule description.

" } }, "RetentionPeriod": { "target": "com.amazonaws.rbin#RetentionPeriod", "traits": { - "smithy.api#documentation": "

Information about the retention period for which the retention rule retains resources

" + "smithy.api#documentation": "

Information about the retention period for which the retention rule is to retain resources.

" } } }, @@ -718,7 +722,7 @@ } }, "traits": { - "smithy.api#documentation": "

Information about the tags assigned to a Recycle Bin retention rule.

" + "smithy.api#documentation": "

Information about the tags to assign to the retention rule.

" } }, "com.amazonaws.rbin#TagKey": { @@ -778,7 +782,7 @@ } ], "traits": { - "smithy.api#documentation": "

Assigns tags to the specified resource.

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

Assigns tags to the specified retention rule.

", "smithy.api#http": { "method": "POST", "uri": "/tags/{ResourceArn}", @@ -792,7 +796,7 @@ "ResourceArn": { "target": "com.amazonaws.rbin#RuleArn", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the resource to which to assign the tags.

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

The Amazon Resource Name (ARN) of the retention rule.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -800,7 +804,7 @@ "Tags": { "target": "com.amazonaws.rbin#TagList", "traits": { - "smithy.api#documentation": "

Information about the tags to assign to the resource.

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

Information about the tags to assign to the retention rule.

", "smithy.api#required": {} } } @@ -840,7 +844,7 @@ } ], "traits": { - "smithy.api#documentation": "

Unassigns a tag from a resource.

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

Unassigns a tag from a retention rule.

", "smithy.api#http": { "method": "DELETE", "uri": "/tags/{ResourceArn}", @@ -854,7 +858,7 @@ "ResourceArn": { "target": "com.amazonaws.rbin#RuleArn", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the resource from which to unassign the tags.

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

The Amazon Resource Name (ARN) of the retention rule.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -862,7 +866,7 @@ "TagKeys": { "target": "com.amazonaws.rbin#TagKeyList", "traits": { - "smithy.api#documentation": "

Information about the tags to unassign from the resource.

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

The tag keys of the tags to unassign. All tags that have the specified tag key are unassigned.

", "smithy.api#httpQuery": "tagKeys", "smithy.api#required": {} } @@ -893,7 +897,7 @@ } ], "traits": { - "smithy.api#documentation": "

Updates an existing Recycle Bin retention rule. For more information, see \n Update Recycle Bin retention rules in the Amazon EC2 User Guide.

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

Updates an existing Recycle Bin retention rule. For more information, see \n Update Recycle Bin retention rules in the Amazon Elastic Compute Cloud User Guide.

", "smithy.api#http": { "method": "PATCH", "uri": "/rules/{Identifier}", @@ -907,7 +911,7 @@ "Identifier": { "target": "com.amazonaws.rbin#RuleIdentifier", "traits": { - "smithy.api#documentation": "

The unique ID of the retention rule to update.

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

The unique ID of the retention rule.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -927,13 +931,13 @@ "ResourceType": { "target": "com.amazonaws.rbin#ResourceType", "traits": { - "smithy.api#documentation": "

The resource type to be retained by the retention rule. Currently, only Amazon EBS snapshots are supported.

" + "smithy.api#documentation": "

The resource type to be retained by the retention rule. Currently, only Amazon EBS snapshots \n and EBS-backed AMIs are supported. To retain snapshots, specify EBS_SNAPSHOT. To \n retain EBS-backed AMIs, specify EC2_IMAGE.

" } }, "ResourceTags": { "target": "com.amazonaws.rbin#ResourceTags", "traits": { - "smithy.api#documentation": "

Information about the resource tags to use to identify resources that are to be retained \n by the retention rule. The retention rule retains only deleted snapshots that have one or more \n of the specified tag key and value pairs. If a snapshot is deleted, but it does not have \n any of the specified tag key and value pairs, it is immediately deleted without being retained \n by the retention rule.

\n

You can add the same tag key and value pair to a maximum or five retention rules.

" + "smithy.api#documentation": "

Specifies the resource tags to use to identify resources that are to be retained by a \n tag-level retention rule. For tag-level retention rules, only deleted resources, of the specified resource type, that \n have one or more of the specified tag key and value pairs are retained. If a resource is deleted, but it does not have \n any of the specified tag key and value pairs, it is immediately deleted without being retained by the retention rule.

\n

You can add the same tag key and value pair to a maximum or five retention rules.

\n

To create a Region-level retention rule, omit this parameter. A Region-level retention rule \n does not have any resource tags specified. It retains all deleted resources of the specified \n resource type in the Region in which the rule is created, even if the resources are not tagged.

" } } } @@ -971,7 +975,7 @@ "Status": { "target": "com.amazonaws.rbin#RuleStatus", "traits": { - "smithy.api#documentation": "

The state of the retention rule. Only retention rules that are in the available state retain snapshots.

" + "smithy.api#documentation": "

The state of the retention rule. Only retention rules that are in the available \n state retain resources.

" } } } diff --git a/codegen/sdk-codegen/aws-models/rds.2014-10-31.json b/codegen/sdk-codegen/aws-models/rds.2014-10-31.json index 2f798625177..19fc883ac63 100644 --- a/codegen/sdk-codegen/aws-models/rds.2014-10-31.json +++ b/codegen/sdk-codegen/aws-models/rds.2014-10-31.json @@ -1900,7 +1900,7 @@ } ], "traits": { - "smithy.api#documentation": "

Creates a custom DB engine version (CEV). A CEV is a binary volume snapshot of a database engine and specific\n AMI. The only supported engine is Oracle Database 19c Enterprise Edition with the January 2021 or later\n RU/RUR.

\n

Amazon RDS, which is a fully managed service, supplies the Amazon Machine Image (AMI) and database software.\n The Amazon RDS database software is preinstalled, so you need only select a DB engine and version, and create\n your database. With Amazon RDS Custom for Oracle, you upload your database installation files in Amazon S3.

\n

When you create a custom engine version, you specify the files in a JSON document called a CEV manifest. \n This document describes installation .zip files stored in Amazon S3. RDS Custom creates your CEV from \n the installation files that you provided. This service model is called Bring Your Own Media (BYOM).

\n

Creation takes approximately two hours. If creation fails, RDS Custom issues RDS-EVENT-0196 with \n the message Creation failed for custom engine version, and includes details about the failure. \n For example, the event prints missing files.

\n

After you create the CEV, it is available for use. You can create multiple CEVs, and create multiple \n RDS Custom instances from any CEV. You can also change the status of a CEV to make it available or\n inactive.

\n \n

The MediaImport service that imports files from Amazon S3 to create CEVs isn't integrated with \n Amazon Web Services CloudTrail. If you turn on data logging for Amazon RDS in CloudTrail, calls to the \n CreateCustomDbEngineVersion event aren't logged. However, you might see calls from the \n API gateway that accesses your Amazon S3 bucket. These calls originate from the MediaImport service for \n the CreateCustomDbEngineVersion event.

\n
\n

For more information, see \n Creating a CEV in the Amazon RDS User Guide.

" + "smithy.api#documentation": "

Creates a custom DB engine version (CEV). A CEV is a binary volume snapshot of a database engine and specific\n AMI. The supported engines are the following:

\n \n

Amazon RDS, which is a fully managed service, supplies the Amazon Machine Image (AMI) and database software.\n The Amazon RDS database software is preinstalled, so you need only select a DB engine and version, and create\n your database. With Amazon RDS Custom for Oracle, you upload your database installation files in Amazon S3.

\n

When you create a custom engine version, you specify the files in a JSON document called a CEV manifest. \n This document describes installation .zip files stored in Amazon S3. RDS Custom creates your CEV from \n the installation files that you provided. This service model is called Bring Your Own Media (BYOM).

\n

Creation takes approximately two hours. If creation fails, RDS Custom issues RDS-EVENT-0196 with \n the message Creation failed for custom engine version, and includes details about the failure. \n For example, the event prints missing files.

\n

After you create the CEV, it is available for use. You can create multiple CEVs, and create multiple \n RDS Custom instances from any CEV. You can also change the status of a CEV to make it available or\n inactive.

\n \n

The MediaImport service that imports files from Amazon S3 to create CEVs isn't integrated with \n Amazon Web Services CloudTrail. If you turn on data logging for Amazon RDS in CloudTrail, calls to the \n CreateCustomDbEngineVersion event aren't logged. However, you might see calls from the \n API gateway that accesses your Amazon S3 bucket. These calls originate from the MediaImport service for \n the CreateCustomDbEngineVersion event.

\n
\n

For more information, see \n Creating a CEV in the Amazon RDS User Guide.

" } }, "com.amazonaws.rds#CreateCustomDBEngineVersionMessage": { @@ -2151,7 +2151,7 @@ "DBSubnetGroupName": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

A DB subnet group to associate with this DB cluster.

\n

This setting is required to create a Multi-AZ DB cluster.

\n

Constraints: Must match the name of an existing DBSubnetGroup. Must not be default.

\n

Example: mySubnetgroup\n

\n

Valid for: Aurora DB clusters and Multi-AZ DB clusters

" + "smithy.api#documentation": "

A DB subnet group to associate with this DB cluster.

\n

This setting is required to create a Multi-AZ DB cluster.

\n

Constraints: Must match the name of an existing DBSubnetGroup. Must not be default.

\n

Example: mydbsubnetgroup\n

\n

Valid for: Aurora DB clusters and Multi-AZ DB clusters

" } }, "Engine": { @@ -2652,7 +2652,7 @@ "DBSubnetGroupName": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

A DB subnet group to associate with this DB instance.

\n

If there is no DB subnet group, then it is a non-VPC DB instance.

" + "smithy.api#documentation": "

A DB subnet group to associate with this DB instance.

\n

Constraints: Must match the name of an existing DBSubnetGroup. Must not be default.

\n

Example: mydbsubnetgroup\n

" } }, "PreferredMaintenanceWindow": { @@ -3042,7 +3042,7 @@ "DBSubnetGroupName": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

Specifies a DB subnet group for the DB instance. The new DB instance is created in the VPC associated with the DB subnet group. If no DB subnet group is specified, then the new DB instance isn't created in a VPC.

\n

Constraints:

\n \n

Example: mySubnetgroup\n

" + "smithy.api#documentation": "

Specifies a DB subnet group for the DB instance. The new DB instance is created in the VPC associated with the DB subnet group. If no DB subnet group is specified, then the new DB instance isn't created in a VPC.

\n

Constraints:

\n \n

Example: mydbsubnetgroup\n

" } }, "VpcSecurityGroupIds": { @@ -3584,7 +3584,7 @@ "DBSubnetGroupName": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

The name for the DB subnet group. This value is stored as a lowercase string.

\n

Constraints: Must contain no more than 255 letters, numbers, periods, underscores, spaces, or hyphens. Must not be default.

\n

Example: mySubnetgroup\n

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

The name for the DB subnet group. This value is stored as a lowercase string.

\n

Constraints:

\n \n

Example: mydbsubnetgroup\n

", "smithy.api#required": {} } }, @@ -5503,6 +5503,12 @@ }, "TagList": { "target": "com.amazonaws.rds#TagList" + }, + "SupportsBabelfish": { + "target": "com.amazonaws.rds#Boolean", + "traits": { + "smithy.api#documentation": "

A value that indicates whether the engine version supports Babelfish for Aurora PostgreSQL.

" + } } }, "traits": { @@ -8456,7 +8462,7 @@ "DBSubnetGroupName": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

The name of the database subnet group to delete.

\n \n

You can't delete the default subnet group.

\n
\n

Constraints:

\n

Constraints: Must match the name of an existing DBSubnetGroup. Must not be default.

\n

Example: mySubnetgroup\n

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

The name of the database subnet group to delete.

\n \n

You can't delete the default subnet group.

\n
\n

Constraints: Must match the name of an existing DBSubnetGroup. Must not be default.

\n

Example: mydbsubnetgroup\n

", "smithy.api#required": {} } } @@ -9317,7 +9323,7 @@ "Filters": { "target": "com.amazonaws.rds#FilterList", "traits": { - "smithy.api#documentation": "

A filter that specifies one or more DB clusters to describe.

\n

Supported filters:

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

A filter that specifies one or more DB clusters to describe.

\n

Supported filters:

\n " } }, "MaxRecords": { @@ -9385,7 +9391,7 @@ "Filters": { "target": "com.amazonaws.rds#FilterList", "traits": { - "smithy.api#documentation": "

This parameter isn't currently supported.

" + "smithy.api#documentation": "

A filter that specifies one or more DB engine versions to describe.

\n

Supported filters:

\n " } }, "MaxRecords": { @@ -9659,7 +9665,7 @@ "Filters": { "target": "com.amazonaws.rds#FilterList", "traits": { - "smithy.api#documentation": "

A filter that specifies one or more DB instances to describe.

\n

Supported filters:

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

A filter that specifies one or more DB instances to describe.

\n

Supported filters:

\n " } }, "MaxRecords": { @@ -11283,7 +11289,7 @@ "Filters": { "target": "com.amazonaws.rds#FilterList", "traits": { - "smithy.api#documentation": "

A filter that specifies one or more resources to return pending maintenance actions for.

\n

Supported filters:

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

A filter that specifies one or more resources to return pending maintenance actions for.

\n

Supported filters:

\n " } }, "Marker": { @@ -13966,7 +13972,7 @@ "DBInstanceParameterGroupName": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

The name of the DB parameter group to apply to all instances of the DB cluster.

\n \n

When you apply a parameter group using the DBInstanceParameterGroupName parameter, the DB\n cluster isn't rebooted automatically. Also, parameter changes aren't\n applied during the next maintenance window but instead are applied immediately.

\n
\n

Default: The existing name setting

\n

Constraints:

\n \n

Valid for: Aurora DB clusters only

" + "smithy.api#documentation": "

The name of the DB parameter group to apply to all instances of the DB cluster.

\n \n

When you apply a parameter group using the DBInstanceParameterGroupName parameter, the DB\n cluster isn't rebooted automatically. Also, parameter changes are applied immediately rather than \n during the next maintenance window.

\n
\n

Default: The existing name setting

\n

Constraints:

\n \n

Valid for: Aurora DB clusters only

" } }, "Domain": { @@ -14287,7 +14293,7 @@ "DBSubnetGroupName": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

The new DB subnet group for the DB instance.\n You can use this parameter to move your DB instance to a different VPC.\n \n If your DB instance isn't in a VPC, you can also use this parameter to move your DB instance into a VPC.\n For more information, see \n Working with a DB instance in a VPC \n in the Amazon RDS User Guide.\n

\n

Changing the subnet group causes an outage during the change. \n The change is applied during the next maintenance window,\n unless you enable ApplyImmediately.

\n

This parameter doesn't apply to RDS Custom.

\n

Constraints: If supplied, must match the name of an existing DBSubnetGroup.

\n

Example: mySubnetGroup\n

" + "smithy.api#documentation": "

The new DB subnet group for the DB instance.\n You can use this parameter to move your DB instance to a different VPC.\n \n If your DB instance isn't in a VPC, you can also use this parameter to move your DB instance into a VPC.\n For more information, see \n Working with a DB instance in a VPC \n in the Amazon RDS User Guide.\n

\n

Changing the subnet group causes an outage during the change. \n The change is applied during the next maintenance window,\n unless you enable ApplyImmediately.

\n

This parameter doesn't apply to RDS Custom.

\n

Constraints: If supplied, must match the name of an existing DBSubnetGroup.

\n

Example: mydbsubnetgroup\n

" } }, "DBSecurityGroups": { @@ -14966,7 +14972,7 @@ "DBSubnetGroupName": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

The name for the DB subnet group. This value is stored as a lowercase string.\n You can't modify the default subnet group.\n

\n

Constraints: Must match the name of an existing DBSubnetGroup. Must not be default.

\n

Example: mySubnetgroup\n

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

The name for the DB subnet group. This value is stored as a lowercase string.\n You can't modify the default subnet group.\n

\n

Constraints: Must match the name of an existing DBSubnetGroup. Must not be default.

\n

Example: mydbsubnetgroup\n

", "smithy.api#required": {} } }, @@ -17628,7 +17634,7 @@ "DBSubnetGroupName": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

A DB subnet group to associate with the restored DB cluster.

\n

Constraints: If supplied, must match the name of an existing DBSubnetGroup.\n

\n

Example: mySubnetgroup\n

" + "smithy.api#documentation": "

A DB subnet group to associate with the restored DB cluster.

\n

Constraints: If supplied, must match the name of an existing DBSubnetGroup.

\n

Example: mydbsubnetgroup\n

" } }, "Engine": { @@ -17893,7 +17899,7 @@ "DBSubnetGroupName": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

The name of the DB subnet group to use for the new DB cluster.

\n

Constraints: If supplied, must match the name of an existing DB subnet group.

\n

Example: mySubnetgroup\n

\n

Valid for: Aurora DB clusters and Multi-AZ DB clusters

" + "smithy.api#documentation": "

The name of the DB subnet group to use for the new DB cluster.

\n

Constraints: If supplied, must match the name of an existing DB subnet group.

\n

Example: mydbsubnetgroup\n

\n

Valid for: Aurora DB clusters and Multi-AZ DB clusters

" } }, "DatabaseName": { @@ -17989,7 +17995,7 @@ "DBClusterInstanceClass": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

The compute and memory capacity of the each DB instance in the Multi-AZ DB cluster, for example db.m6g.xlarge.\n Not all DB instance classes are available in all Amazon Web Services Regions, or for all database engines.

\n

For the full list of DB instance classes, and availability for your engine, see\n DB Instance Class in the Amazon RDS User Guide.\n

\n

Valid for: Aurora DB clusters and Multi-AZ DB clusters

" + "smithy.api#documentation": "

The compute and memory capacity of the each DB instance in the Multi-AZ DB cluster, for example db.m6g.xlarge.\n Not all DB instance classes are available in all Amazon Web Services Regions, or for all database engines.

\n

For the full list of DB instance classes, and availability for your engine, see\n DB Instance Class in the Amazon RDS User Guide.\n

\n

Valid for: Multi-AZ DB clusters only

" } }, "StorageType": { @@ -18135,7 +18141,7 @@ "DBSubnetGroupName": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

The DB subnet group name to use for the new DB cluster.

\n

Constraints: If supplied, must match the name of an existing DBSubnetGroup.

\n

Example: mySubnetgroup\n

\n

Valid for: Aurora DB clusters and Multi-AZ DB clusters

" + "smithy.api#documentation": "

The DB subnet group name to use for the new DB cluster.

\n

Constraints: If supplied, must match the name of an existing DBSubnetGroup.

\n

Example: mydbsubnetgroup\n

\n

Valid for: Aurora DB clusters and Multi-AZ DB clusters

" } }, "OptionGroupName": { @@ -18368,7 +18374,7 @@ "DBSubnetGroupName": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

The DB subnet group name to use for the new instance.

\n

Constraints: If supplied, must match the name of an existing DBSubnetGroup.

\n

Example: mySubnetgroup\n

" + "smithy.api#documentation": "

The DB subnet group name to use for the new instance.

\n

Constraints: If supplied, must match the name of an existing DBSubnetGroup.

\n

Example: mydbsubnetgroup\n

" } }, "MultiAZ": { @@ -18455,7 +18461,7 @@ "CopyTagsToSnapshot": { "target": "com.amazonaws.rds#BooleanOptional", "traits": { - "smithy.api#documentation": "

A value that indicates whether to copy all tags from the restored DB instance to snapshots of the DB instance. By default, tags are not copied.

" + "smithy.api#documentation": "

A value that indicates whether to copy all tags from the restored DB instance to snapshots of the DB instance.

\n

In most cases, tags aren't copied by default. However, when you restore a DB instance from a DB snapshot, RDS checks whether you \n specify new tags. If yes, the new tags are added to the restored DB instance. If there are no new tags, RDS looks for the tags from\n the source DB instance for the DB snapshot, and then adds those tags to the restored DB instance.

\n

For more information, see \n Copying tags to DB instance snapshots in the Amazon RDS User Guide.

" } }, "DomainIAMRoleName": { @@ -18509,7 +18515,7 @@ "CustomIamInstanceProfile": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

The instance profile associated with the underlying Amazon EC2 instance of an \n RDS Custom DB instance. The instance profile must meet the following requirements:

\n \n

For the list of permissions required for the IAM role, see \n \n Configure IAM and your VPC in the Amazon Relational Database Service\n User Guide.

\n

This setting is required for RDS Custom.

" + "smithy.api#documentation": "

The instance profile associated with the underlying Amazon EC2 instance of an \n RDS Custom DB instance. The instance profile must meet the following requirements:

\n \n

For the list of permissions required for the IAM role, see \n \n Configure IAM and your VPC in the Amazon RDS User Guide.

\n

This setting is required for RDS Custom.

" } }, "BackupTarget": { @@ -18665,7 +18671,7 @@ "DBSubnetGroupName": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

A DB subnet group to associate with this DB instance.

" + "smithy.api#documentation": "

A DB subnet group to associate with this DB instance.

\n

Constraints: If supplied, must match the name of an existing DBSubnetGroup.

\n

Example: mydbsubnetgroup\n

" } }, "PreferredMaintenanceWindow": { @@ -19009,7 +19015,7 @@ "DBSubnetGroupName": { "target": "com.amazonaws.rds#String", "traits": { - "smithy.api#documentation": "

The DB subnet group name to use for the new instance.

\n

Constraints: If supplied, must match the name of an existing DBSubnetGroup.

\n

Example: mySubnetgroup\n

" + "smithy.api#documentation": "

The DB subnet group name to use for the new instance.

\n

Constraints: If supplied, must match the name of an existing DBSubnetGroup.

\n

Example: mydbsubnetgroup\n

" } }, "MultiAZ": { @@ -19292,7 +19298,7 @@ "code": "SNSInvalidTopic", "httpResponseCode": 400 }, - "smithy.api#documentation": "

SNS has responded that there is a problem with the SND topic specified.

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

SNS has responded that there is a problem with the SNS topic specified.

", "smithy.api#error": "client", "smithy.api#httpError": 400 } @@ -20595,6 +20601,12 @@ "traits": { "smithy.api#documentation": "

A value that indicates whether you can use Aurora global databases with the target engine version.

" } + }, + "SupportsBabelfish": { + "target": "com.amazonaws.rds#BooleanOptional", + "traits": { + "smithy.api#documentation": "

A value that indicates whether you can use Babelfish for Aurora PostgreSQL with the target engine version.

" + } } }, "traits": { diff --git a/codegen/sdk-codegen/aws-models/redshift.2012-12-01.json b/codegen/sdk-codegen/aws-models/redshift.2012-12-01.json index a8138555998..7b91953266d 100644 --- a/codegen/sdk-codegen/aws-models/redshift.2012-12-01.json +++ b/codegen/sdk-codegen/aws-models/redshift.2012-12-01.json @@ -329,6 +329,12 @@ "traits": { "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the consumer that is associated with the\n datashare.

" } + }, + "ConsumerRegion": { + "target": "com.amazonaws.redshift#String", + "traits": { + "smithy.api#documentation": "

From a datashare consumer account, associates a datashare with all existing and future namespaces in the specified Amazon Web Services Region.

" + } } } }, @@ -2507,7 +2513,7 @@ "MasterUserPassword": { "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

The password associated with the admin user account for the cluster that is being\n created.

\n

Constraints:

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

The password associated with the admin user account for the cluster that is being\n created.

\n

Constraints:

\n ", "smithy.api#required": {} } }, @@ -2640,7 +2646,7 @@ "IamRoles": { "target": "com.amazonaws.redshift#IamRoleArnList", "traits": { - "smithy.api#documentation": "

A list of Identity and Access Management (IAM) roles that can be used by the\n cluster to access other Amazon Web Services services. You must supply the IAM roles in their Amazon\n Resource Name (ARN) format. You can supply up to 10 IAM roles in a single\n request.

\n

A cluster can have up to 10 IAM roles associated with it at any time.

" + "smithy.api#documentation": "

A list of Identity and Access Management (IAM) roles that can be used by the\n cluster to access other Amazon Web Services services. You must supply the IAM roles in their Amazon\n Resource Name (ARN) format.

\n

The maximum number of IAM roles that you can associate is subject to a quota.\n For more information, go to Quotas and limits\n in the Amazon Redshift Cluster Management Guide.

" } }, "MaintenanceTrackName": { @@ -3432,7 +3438,7 @@ } ], "traits": { - "smithy.api#documentation": "

Creates a snapshot copy grant that permits Amazon Redshift to use a customer master key\n (CMK) from Key Management Service (KMS) to encrypt copied snapshots in a\n destination region.

\n

\nFor more information about managing snapshot copy grants, go to \nAmazon Redshift Database Encryption \nin the Amazon Redshift Cluster Management Guide.\n

" + "smithy.api#documentation": "

Creates a snapshot copy grant that permits Amazon Redshift to use an encrypted symmetric key\n from Key Management Service (KMS) to encrypt copied snapshots in a\n destination region.

\n

\nFor more information about managing snapshot copy grants, go to \nAmazon Redshift Database Encryption \nin the Amazon Redshift Cluster Management Guide.\n

" } }, "com.amazonaws.redshift#CreateSnapshotCopyGrantMessage": { @@ -3448,7 +3454,7 @@ "KmsKeyId": { "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

The unique identifier of the customer master key (CMK) to which to grant Amazon Redshift\n permission. If no key is specified, the default key is used.

" + "smithy.api#documentation": "

The unique identifier of the encrypted symmetric key to which to grant Amazon Redshift\n permission. If no key is specified, the default key is used.

" } }, "Tags": { @@ -3643,7 +3649,7 @@ "LimitType": { "target": "com.amazonaws.redshift#UsageLimitLimitType", "traits": { - "smithy.api#documentation": "

The type of limit. Depending on the feature type, this can be based on a time duration or data size.\n If FeatureType is spectrum, then LimitType must be data-scanned.\n If FeatureType is concurrency-scaling, then LimitType must be time.\n

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

The type of limit. Depending on the feature type, this can be based on a time duration or data size.\n If FeatureType is spectrum, then LimitType must be data-scanned.\n If FeatureType is concurrency-scaling, then LimitType must be time.\n If FeatureType is cross-region-datasharing, then LimitType must be data-scanned.\n

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

The status of the datashare that is associated.

" } }, + "ConsumerRegion": { + "target": "com.amazonaws.redshift#String", + "traits": { + "smithy.api#documentation": "

The Amazon Web Services Region of the consumer accounts that have an association with a producer datashare.

" + } + }, "CreatedDate": { "target": "com.amazonaws.redshift#TStamp", "traits": { @@ -6978,7 +6990,7 @@ } ], "traits": { - "smithy.api#documentation": "

Disables the automatic copying of snapshots from one region to another region for a\n specified cluster.

\n

If your cluster and its snapshots are encrypted using a customer master key (CMK)\n from Key Management Service, use DeleteSnapshotCopyGrant to delete the grant that\n grants Amazon Redshift permission to the CMK in the destination region.

" + "smithy.api#documentation": "

Disables the automatic copying of snapshots from one region to another region for a\n specified cluster.

\n

If your cluster and its snapshots are encrypted using an encrypted symmetric key\n from Key Management Service, use DeleteSnapshotCopyGrant to delete the grant that\n grants Amazon Redshift permission to the key in the destination region.

" } }, "com.amazonaws.redshift#DisableSnapshotCopyMessage": { @@ -7045,6 +7057,12 @@ "traits": { "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the consumer that association for\n the datashare is removed from.

" } + }, + "ConsumerRegion": { + "target": "com.amazonaws.redshift#String", + "traits": { + "smithy.api#documentation": "

From a datashare consumer account, removes association of a datashare from all the existing and future namespaces in the specified Amazon Web Services Region.

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

Modifies the list of Identity and Access Management (IAM) roles that can be\n used by the cluster to access other Amazon Web Services services.

\n

A cluster can have up to 10 IAM roles associated at any time.

" + "smithy.api#documentation": "

Modifies the list of Identity and Access Management (IAM) roles that can be\n used by the cluster to access other Amazon Web Services services.

\n

The maximum number of IAM roles that you can associate is subject to a quota.\n For more information, go to Quotas and limits\n in the Amazon Redshift Cluster Management Guide.

" } }, "com.amazonaws.redshift#ModifyClusterIamRolesMessage": { @@ -9415,13 +9433,13 @@ "AddIamRoles": { "target": "com.amazonaws.redshift#IamRoleArnList", "traits": { - "smithy.api#documentation": "

Zero or more IAM roles to associate with the cluster. The roles must be in their\n Amazon Resource Name (ARN) format. You can associate up to 10 IAM roles with a single\n cluster in a single request.

" + "smithy.api#documentation": "

Zero or more IAM roles to associate with the cluster. The roles must be in their\n Amazon Resource Name (ARN) format.

" } }, "RemoveIamRoles": { "target": "com.amazonaws.redshift#IamRoleArnList", "traits": { - "smithy.api#documentation": "

Zero or more IAM roles in ARN format to disassociate from the cluster. You can\n disassociate up to 10 IAM roles from a single cluster in a single request.

" + "smithy.api#documentation": "

Zero or more IAM roles in ARN format to disassociate from the cluster.

" } }, "DefaultIamRoleArn": { @@ -9556,7 +9574,7 @@ "MasterUserPassword": { "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

The new password for the cluster admin user. This change is asynchronously applied\n as soon as possible. Between the time of the request and the completion of the request,\n the MasterUserPassword element exists in the\n PendingModifiedValues element of the operation response.

\n \n

Operations never return the password, so this operation provides a way to\n regain access to the admin user account for a cluster if the password is\n lost.

\n
\n

Default: Uses existing setting.

\n

Constraints:

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

The new password for the cluster admin user. This change is asynchronously applied\n as soon as possible. Between the time of the request and the completion of the request,\n the MasterUserPassword element exists in the\n PendingModifiedValues element of the operation response.

\n \n

Operations never return the password, so this operation provides a way to\n regain access to the admin user account for a cluster if the password is\n lost.

\n
\n

Default: Uses existing setting.

\n

Constraints:

\n " } }, "ClusterParameterGroupName": { @@ -12560,7 +12578,7 @@ "IamRoles": { "target": "com.amazonaws.redshift#IamRoleArnList", "traits": { - "smithy.api#documentation": "

A list of Identity and Access Management (IAM) roles that can be used by the\n cluster to access other Amazon Web Services services. You must supply the IAM roles in their Amazon\n Resource Name (ARN) format. You can supply up to 10 IAM roles in a single\n request.

\n

A cluster can have up to 10 IAM roles associated at any time.

" + "smithy.api#documentation": "

A list of Identity and Access Management (IAM) roles that can be used by the\n cluster to access other Amazon Web Services services. You must supply the IAM roles in their Amazon\n Resource Name (ARN) format.

\n

The maximum number of IAM roles that you can associate is subject to a quota.\n For more information, go to Quotas and limits\n in the Amazon Redshift Cluster Management Guide.

" } }, "MaintenanceTrackName": { @@ -13768,7 +13786,7 @@ "KmsKeyId": { "target": "com.amazonaws.redshift#String", "traits": { - "smithy.api#documentation": "

The unique identifier of the customer master key (CMK) in Amazon Web Services KMS to which\n Amazon Redshift is granted permission.

" + "smithy.api#documentation": "

The unique identifier of the encrypted symmetric key in Amazon Web Services KMS to which\n Amazon Redshift is granted permission.

" } }, "Tags": { @@ -13779,7 +13797,7 @@ } }, "traits": { - "smithy.api#documentation": "

The snapshot copy grant that grants Amazon Redshift permission to encrypt copied\n snapshots with the specified customer master key (CMK) from Amazon Web Services KMS in the destination\n region.

\n

\nFor more information about managing snapshot copy grants, go to \nAmazon Redshift Database Encryption \nin the Amazon Redshift Cluster Management Guide.\n

" + "smithy.api#documentation": "

The snapshot copy grant that grants Amazon Redshift permission to encrypt copied\n snapshots with the specified encrypted symmetric key from Amazon Web Services KMS in the destination\n region.

\n

\nFor more information about managing snapshot copy grants, go to \nAmazon Redshift Database Encryption \nin the Amazon Redshift Cluster Management Guide.\n

" } }, "com.amazonaws.redshift#SnapshotCopyGrantAlreadyExistsFault": { @@ -14971,6 +14989,10 @@ { "value": "concurrency-scaling", "name": "CONCURRENCY_SCALING" + }, + { + "value": "cross-region-datasharing", + "name": "CROSS_REGION_DATASHARING" } ] } diff --git a/codegen/sdk-codegen/aws-models/robomaker.2018-06-29.json b/codegen/sdk-codegen/aws-models/robomaker.2018-06-29.json index a97b5db7a9d..c908b04b8d9 100644 --- a/codegen/sdk-codegen/aws-models/robomaker.2018-06-29.json +++ b/codegen/sdk-codegen/aws-models/robomaker.2018-06-29.json @@ -239,7 +239,10 @@ } ], "traits": { - "smithy.api#documentation": "

Cancels the specified deployment job.

", + "smithy.api#deprecated": { + "message": "Support for the AWS RoboMaker application deployment feature has ended. For additional information, see https://docs.aws.amazon.com/robomaker/latest/dg/fleets.html." + }, + "smithy.api#documentation": "

Cancels the specified deployment job.

\n \n

This API will no longer be supported as of May 2, 2022. Use it to remove resources that were created for Deployment Service.

\n
", "smithy.api#http": { "method": "POST", "uri": "/cancelDeploymentJob", @@ -257,11 +260,21 @@ "smithy.api#required": {} } } + }, + "traits": { + "smithy.api#deprecated": { + "message": "Support for the AWS RoboMaker application deployment feature has ended. For additional information, see https://docs.aws.amazon.com/robomaker/latest/dg/fleets.html." + } } }, "com.amazonaws.robomaker#CancelDeploymentJobResponse": { "type": "structure", - "members": {} + "members": {}, + "traits": { + "smithy.api#deprecated": { + "message": "Support for the AWS RoboMaker application deployment feature has ended. For additional information, see https://docs.aws.amazon.com/robomaker/latest/dg/fleets.html." + } + } }, "com.amazonaws.robomaker#CancelSimulationJob": { "type": "operation", @@ -589,7 +602,10 @@ } ], "traits": { - "smithy.api#documentation": "

Deploys a specific version of a robot application to robots in a fleet.

\n

The robot application must have a numbered applicationVersion for\n consistency reasons. To create a new version, use\n CreateRobotApplicationVersion or see Creating a Robot Application Version.

\n \n

After 90 days, deployment jobs expire and will be deleted. They will no longer be\n accessible.

\n
", + "smithy.api#deprecated": { + "message": "AWS RoboMaker is unable to process this request as the support for the AWS RoboMaker application deployment feature has ended. For additional information, see https://docs.aws.amazon.com/robomaker/latest/dg/fleets.html." + }, + "smithy.api#documentation": "

Deploys a specific version of a robot application to robots in a fleet.

\n \n

This API is no longer supported and will throw an error if used.

\n
\n

The robot application must have a numbered applicationVersion for\n consistency reasons. To create a new version, use\n CreateRobotApplicationVersion or see Creating a Robot Application Version.

\n \n

After 90 days, deployment jobs expire and will be deleted. They will no longer be\n accessible.

\n
", "smithy.api#http": { "method": "POST", "uri": "/createDeploymentJob", @@ -634,6 +650,11 @@ "smithy.api#documentation": "

A map that contains tag keys and tag values that are attached to the deployment\n job.

" } } + }, + "traits": { + "smithy.api#deprecated": { + "message": "AWS RoboMaker is unable to process this request as the support for the AWS RoboMaker application deployment feature has ended. For additional information, see https://docs.aws.amazon.com/robomaker/latest/dg/fleets.html." + } } }, "com.amazonaws.robomaker#CreateDeploymentJobResponse": { @@ -693,6 +714,11 @@ "smithy.api#documentation": "

The list of all tags added to the deployment job.

" } } + }, + "traits": { + "smithy.api#deprecated": { + "message": "AWS RoboMaker is unable to process this request as the support for the AWS RoboMaker application deployment feature has ended. For additional information, see https://docs.aws.amazon.com/robomaker/latest/dg/fleets.html." + } } }, "com.amazonaws.robomaker#CreateFleet": { @@ -718,7 +744,10 @@ } ], "traits": { - "smithy.api#documentation": "

Creates a fleet, a logical group of robots running the same robot application.

", + "smithy.api#deprecated": { + "message": "AWS RoboMaker is unable to process this request as the support for the AWS RoboMaker application deployment feature has ended. For additional information, see https://docs.aws.amazon.com/robomaker/latest/dg/fleets.html." + }, + "smithy.api#documentation": "

Creates a fleet, a logical group of robots running the same robot application.

\n \n

This API is no longer supported and will throw an error if used.

\n
", "smithy.api#http": { "method": "POST", "uri": "/createFleet", @@ -742,6 +771,11 @@ "smithy.api#documentation": "

A map that contains tag keys and tag values that are attached to the fleet.

" } } + }, + "traits": { + "smithy.api#deprecated": { + "message": "AWS RoboMaker is unable to process this request as the support for the AWS RoboMaker application deployment feature has ended. For additional information, see https://docs.aws.amazon.com/robomaker/latest/dg/fleets.html." + } } }, "com.amazonaws.robomaker#CreateFleetResponse": { @@ -771,6 +805,11 @@ "smithy.api#documentation": "

The list of all tags added to the fleet.

" } } + }, + "traits": { + "smithy.api#deprecated": { + "message": "AWS RoboMaker is unable to process this request as the support for the AWS RoboMaker application deployment feature has ended. For additional information, see https://docs.aws.amazon.com/robomaker/latest/dg/fleets.html." + } } }, "com.amazonaws.robomaker#CreateRobot": { @@ -799,7 +838,10 @@ } ], "traits": { - "smithy.api#documentation": "

Creates a robot.

", + "smithy.api#deprecated": { + "message": "AWS RoboMaker is unable to process this request as the support for the AWS RoboMaker application deployment feature has ended. For additional information, see https://docs.aws.amazon.com/robomaker/latest/dg/fleets.html." + }, + "smithy.api#documentation": "

Creates a robot.

\n \n

This API is no longer supported and will throw an error if used.

\n
", "smithy.api#http": { "method": "POST", "uri": "/createRobot", @@ -1087,6 +1129,11 @@ "smithy.api#documentation": "

A map that contains tag keys and tag values that are attached to the robot.

" } } + }, + "traits": { + "smithy.api#deprecated": { + "message": "AWS RoboMaker is unable to process this request as the support for the AWS RoboMaker application deployment feature has ended. For additional information, see https://docs.aws.amazon.com/robomaker/latest/dg/fleets.html." + } } }, "com.amazonaws.robomaker#CreateRobotResponse": { @@ -1128,6 +1175,11 @@ "smithy.api#documentation": "

The list of all tags added to the robot.

" } } + }, + "traits": { + "smithy.api#deprecated": { + "message": "AWS RoboMaker is unable to process this request as the support for the AWS RoboMaker application deployment feature has ended. For additional information, see https://docs.aws.amazon.com/robomaker/latest/dg/fleets.html." + } } }, "com.amazonaws.robomaker#CreateSimulationApplication": { @@ -2176,7 +2228,10 @@ } ], "traits": { - "smithy.api#documentation": "

Deletes a fleet.

", + "smithy.api#deprecated": { + "message": "Support for the AWS RoboMaker application deployment feature has ended. For additional information, see https://docs.aws.amazon.com/robomaker/latest/dg/fleets.html." + }, + "smithy.api#documentation": "

Deletes a fleet.

\n \n

This API will no longer be supported as of May 2, 2022. Use it to remove resources that were created for Deployment Service.

\n
", "smithy.api#http": { "method": "POST", "uri": "/deleteFleet", @@ -2194,11 +2249,21 @@ "smithy.api#required": {} } } + }, + "traits": { + "smithy.api#deprecated": { + "message": "Support for the AWS RoboMaker application deployment feature has ended. For additional information, see https://docs.aws.amazon.com/robomaker/latest/dg/fleets.html." + } } }, "com.amazonaws.robomaker#DeleteFleetResponse": { "type": "structure", - "members": {} + "members": {}, + "traits": { + "smithy.api#deprecated": { + "message": "Support for the AWS RoboMaker application deployment feature has ended. For additional information, see https://docs.aws.amazon.com/robomaker/latest/dg/fleets.html." + } + } }, "com.amazonaws.robomaker#DeleteRobot": { "type": "operation", @@ -2220,7 +2285,10 @@ } ], "traits": { - "smithy.api#documentation": "

Deletes a robot.

", + "smithy.api#deprecated": { + "message": "Support for the AWS RoboMaker application deployment feature has ended. For additional information, see https://docs.aws.amazon.com/robomaker/latest/dg/fleets.html." + }, + "smithy.api#documentation": "

Deletes a robot.

\n \n

This API will no longer be supported as of May 2, 2022. Use it to remove resources that were created for Deployment Service.

\n
", "smithy.api#http": { "method": "POST", "uri": "/deleteRobot", @@ -2288,11 +2356,21 @@ "smithy.api#required": {} } } + }, + "traits": { + "smithy.api#deprecated": { + "message": "Support for the AWS RoboMaker application deployment feature has ended. For additional information, see https://docs.aws.amazon.com/robomaker/latest/dg/fleets.html." + } } }, "com.amazonaws.robomaker#DeleteRobotResponse": { "type": "structure", - "members": {} + "members": {}, + "traits": { + "smithy.api#deprecated": { + "message": "Support for the AWS RoboMaker application deployment feature has ended. For additional information, see https://docs.aws.amazon.com/robomaker/latest/dg/fleets.html." + } + } }, "com.amazonaws.robomaker#DeleteSimulationApplication": { "type": "operation", @@ -2745,7 +2823,10 @@ } ], "traits": { - "smithy.api#documentation": "

Deregisters a robot.

", + "smithy.api#deprecated": { + "message": "Support for the AWS RoboMaker application deployment feature has ended. For additional information, see https://docs.aws.amazon.com/robomaker/latest/dg/fleets.html." + }, + "smithy.api#documentation": "

Deregisters a robot.

\n \n

This API will no longer be supported as of May 2, 2022. Use it to remove resources that were created for Deployment Service.

\n
", "smithy.api#http": { "method": "POST", "uri": "/deregisterRobot", @@ -2770,6 +2851,11 @@ "smithy.api#required": {} } } + }, + "traits": { + "smithy.api#deprecated": { + "message": "Support for the AWS RoboMaker application deployment feature has ended. For additional information, see https://docs.aws.amazon.com/robomaker/latest/dg/fleets.html." + } } }, "com.amazonaws.robomaker#DeregisterRobotResponse": { @@ -2787,6 +2873,11 @@ "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the robot.

" } } + }, + "traits": { + "smithy.api#deprecated": { + "message": "Support for the AWS RoboMaker application deployment feature has ended. For additional information, see https://docs.aws.amazon.com/robomaker/latest/dg/fleets.html." + } } }, "com.amazonaws.robomaker#DescribeDeploymentJob": { @@ -2812,7 +2903,10 @@ } ], "traits": { - "smithy.api#documentation": "

Describes a deployment job.

", + "smithy.api#deprecated": { + "message": "Support for the AWS RoboMaker application deployment feature has ended. For additional information, see https://docs.aws.amazon.com/robomaker/latest/dg/fleets.html." + }, + "smithy.api#documentation": "

Describes a deployment job.

\n \n

This API will no longer be supported as of May 2, 2022. Use it to remove resources that were created for Deployment Service.

\n
", "smithy.api#http": { "method": "POST", "uri": "/describeDeploymentJob", @@ -2830,6 +2924,11 @@ "smithy.api#required": {} } } + }, + "traits": { + "smithy.api#deprecated": { + "message": "Support for the AWS RoboMaker application deployment feature has ended. For additional information, see https://docs.aws.amazon.com/robomaker/latest/dg/fleets.html." + } } }, "com.amazonaws.robomaker#DescribeDeploymentJobResponse": { @@ -2895,6 +2994,11 @@ "smithy.api#documentation": "

The list of all tags added to the specified deployment job.

" } } + }, + "traits": { + "smithy.api#deprecated": { + "message": "Support for the AWS RoboMaker application deployment feature has ended. For additional information, see https://docs.aws.amazon.com/robomaker/latest/dg/fleets.html." + } } }, "com.amazonaws.robomaker#DescribeFleet": { @@ -2920,7 +3024,10 @@ } ], "traits": { - "smithy.api#documentation": "

Describes a fleet.

", + "smithy.api#deprecated": { + "message": "Support for the AWS RoboMaker application deployment feature has ended. For additional information, see https://docs.aws.amazon.com/robomaker/latest/dg/fleets.html." + }, + "smithy.api#documentation": "

Describes a fleet.

\n \n

This API will no longer be supported as of May 2, 2022. Use it to remove resources that were created for Deployment Service.

\n
", "smithy.api#http": { "method": "POST", "uri": "/describeFleet", @@ -2938,6 +3045,11 @@ "smithy.api#required": {} } } + }, + "traits": { + "smithy.api#deprecated": { + "message": "Support for the AWS RoboMaker application deployment feature has ended. For additional information, see https://docs.aws.amazon.com/robomaker/latest/dg/fleets.html." + } } }, "com.amazonaws.robomaker#DescribeFleetResponse": { @@ -2991,6 +3103,11 @@ "smithy.api#documentation": "

The list of all tags added to the specified fleet.

" } } + }, + "traits": { + "smithy.api#deprecated": { + "message": "Support for the AWS RoboMaker application deployment feature has ended. For additional information, see https://docs.aws.amazon.com/robomaker/latest/dg/fleets.html." + } } }, "com.amazonaws.robomaker#DescribeRobot": { @@ -3016,7 +3133,10 @@ } ], "traits": { - "smithy.api#documentation": "

Describes a robot.

", + "smithy.api#deprecated": { + "message": "Support for the AWS RoboMaker application deployment feature has ended. For additional information, see https://docs.aws.amazon.com/robomaker/latest/dg/fleets.html." + }, + "smithy.api#documentation": "

Describes a robot.

\n \n

This API will no longer be supported as of May 2, 2022. Use it to remove resources that were created for Deployment Service.

\n
", "smithy.api#http": { "method": "POST", "uri": "/describeRobot", @@ -3148,6 +3268,11 @@ "smithy.api#required": {} } } + }, + "traits": { + "smithy.api#deprecated": { + "message": "Support for the AWS RoboMaker application deployment feature has ended. For additional information, see https://docs.aws.amazon.com/robomaker/latest/dg/fleets.html." + } } }, "com.amazonaws.robomaker#DescribeRobotResponse": { @@ -3213,6 +3338,11 @@ "smithy.api#documentation": "

The list of all tags added to the specified robot.

" } } + }, + "traits": { + "smithy.api#deprecated": { + "message": "Support for the AWS RoboMaker application deployment feature has ended. For additional information, see https://docs.aws.amazon.com/robomaker/latest/dg/fleets.html." + } } }, "com.amazonaws.robomaker#DescribeSimulationApplication": { @@ -4559,7 +4689,10 @@ } ], "traits": { - "smithy.api#documentation": "

Returns a list of deployment jobs for a fleet. You can optionally provide filters to\n retrieve specific deployment jobs.

", + "smithy.api#deprecated": { + "message": "Support for the AWS RoboMaker application deployment feature has ended. For additional information, see https://docs.aws.amazon.com/robomaker/latest/dg/fleets.html." + }, + "smithy.api#documentation": "

Returns a list of deployment jobs for a fleet. You can optionally provide filters to retrieve specific deployment jobs.

\n \n

This API will no longer be supported as of May 2, 2022. Use it to remove resources that were created for Deployment Service.

\n
", "smithy.api#http": { "method": "POST", "uri": "/listDeploymentJobs", @@ -4593,6 +4726,11 @@ "smithy.api#documentation": "

When this parameter is used, ListDeploymentJobs only returns\n maxResults results in a single page along with a nextToken\n response element. The remaining results of the initial request can be seen by sending\n another ListDeploymentJobs request with the returned nextToken\n value. This value can be between 1 and 200. If this parameter is not used, then\n ListDeploymentJobs returns up to 200 results and a nextToken\n value if applicable.

" } } + }, + "traits": { + "smithy.api#deprecated": { + "message": "Support for the AWS RoboMaker application deployment feature has ended. For additional information, see https://docs.aws.amazon.com/robomaker/latest/dg/fleets.html." + } } }, "com.amazonaws.robomaker#ListDeploymentJobsResponse": { @@ -4610,6 +4748,11 @@ "smithy.api#documentation": "

If the previous paginated request did not return all of the remaining results, the\n response object's nextToken parameter value is set to a token. To retrieve the\n next set of results, call ListDeploymentJobs again and assign that token to\n the request object's nextToken parameter. If there are no remaining results,\n the previous response object's NextToken parameter is set to null.

" } } + }, + "traits": { + "smithy.api#deprecated": { + "message": "Support for the AWS RoboMaker application deployment feature has ended. For additional information, see https://docs.aws.amazon.com/robomaker/latest/dg/fleets.html." + } } }, "com.amazonaws.robomaker#ListFleets": { @@ -4635,7 +4778,10 @@ } ], "traits": { - "smithy.api#documentation": "

Returns a list of fleets. You can optionally provide filters to retrieve specific\n fleets.

", + "smithy.api#deprecated": { + "message": "Support for the AWS RoboMaker application deployment feature has ended. For additional information, see https://docs.aws.amazon.com/robomaker/latest/dg/fleets.html." + }, + "smithy.api#documentation": "

Returns a list of fleets. You can optionally provide filters to retrieve specific fleets.

\n \n

This API will no longer be supported as of May 2, 2022. Use it to remove resources that were created for Deployment Service.

\n
", "smithy.api#http": { "method": "POST", "uri": "/listFleets", @@ -4669,6 +4815,11 @@ "smithy.api#documentation": "

Optional filters to limit results.

\n

The filter name name is supported. When filtering, you must use the\n complete value of the filtered item. You can use up to three filters.

" } } + }, + "traits": { + "smithy.api#deprecated": { + "message": "Support for the AWS RoboMaker application deployment feature has ended. For additional information, see https://docs.aws.amazon.com/robomaker/latest/dg/fleets.html." + } } }, "com.amazonaws.robomaker#ListFleetsResponse": { @@ -4686,6 +4837,11 @@ "smithy.api#documentation": "

If the previous paginated request did not return all of the remaining results, the\n response object's nextToken parameter value is set to a token. To retrieve the\n next set of results, call ListFleets again and assign that token to the\n request object's nextToken parameter. If there are no remaining results, the\n previous response object's NextToken parameter is set to null.

" } } + }, + "traits": { + "smithy.api#deprecated": { + "message": "Support for the AWS RoboMaker application deployment feature has ended. For additional information, see https://docs.aws.amazon.com/robomaker/latest/dg/fleets.html." + } } }, "com.amazonaws.robomaker#ListRobotApplications": { @@ -4790,7 +4946,10 @@ } ], "traits": { - "smithy.api#documentation": "

Returns a list of robots. You can optionally provide filters to retrieve specific\n robots.

", + "smithy.api#deprecated": { + "message": "Support for the AWS RoboMaker application deployment feature has ended. For additional information, see https://docs.aws.amazon.com/robomaker/latest/dg/fleets.html." + }, + "smithy.api#documentation": "

Returns a list of robots. You can optionally provide filters to retrieve specific robots.

\n \n

This API will no longer be supported as of May 2, 2022. Use it to remove resources that were created for Deployment Service.

\n
", "smithy.api#http": { "method": "POST", "uri": "/listRobots", @@ -4824,6 +4983,11 @@ "smithy.api#documentation": "

Optional filters to limit results.

\n

The filter names status and fleetName are supported. When\n filtering, you must use the complete value of the filtered item. You can use up to three\n filters, but they must be for the same named item. For example, if you are looking for\n items with the status Registered or the status Available.

" } } + }, + "traits": { + "smithy.api#deprecated": { + "message": "Support for the AWS RoboMaker application deployment feature has ended. For additional information, see https://docs.aws.amazon.com/robomaker/latest/dg/fleets.html." + } } }, "com.amazonaws.robomaker#ListRobotsResponse": { @@ -4841,6 +5005,11 @@ "smithy.api#documentation": "

If the previous paginated request did not return all of the remaining results, the\n response object's nextToken parameter value is set to a token. To retrieve the\n next set of results, call ListRobots again and assign that token to the\n request object's nextToken parameter. If there are no remaining results, the\n previous response object's NextToken parameter is set to null.

" } } + }, + "traits": { + "smithy.api#deprecated": { + "message": "Support for the AWS RoboMaker application deployment feature has ended. For additional information, see https://docs.aws.amazon.com/robomaker/latest/dg/fleets.html." + } } }, "com.amazonaws.robomaker#ListSimulationApplications": { @@ -5672,7 +5841,10 @@ } ], "traits": { - "smithy.api#documentation": "

Registers a robot with a fleet.

", + "smithy.api#deprecated": { + "message": "AWS RoboMaker is unable to process this request as the support for the AWS RoboMaker application deployment feature has ended. For additional information, see https://docs.aws.amazon.com/robomaker/latest/dg/fleets.html." + }, + "smithy.api#documentation": "

Registers a robot with a fleet.

\n \n

This API is no longer supported and will throw an error if used.

\n
", "smithy.api#http": { "method": "POST", "uri": "/registerRobot", @@ -5697,6 +5869,11 @@ "smithy.api#required": {} } } + }, + "traits": { + "smithy.api#deprecated": { + "message": "AWS RoboMaker is unable to process this request as the support for the AWS RoboMaker application deployment feature has ended. For additional information, see https://docs.aws.amazon.com/robomaker/latest/dg/fleets.html." + } } }, "com.amazonaws.robomaker#RegisterRobotResponse": { @@ -5714,6 +5891,11 @@ "smithy.api#documentation": "

Information about the robot registration.

" } } + }, + "traits": { + "smithy.api#deprecated": { + "message": "AWS RoboMaker is unable to process this request as the support for the AWS RoboMaker application deployment feature has ended. For additional information, see https://docs.aws.amazon.com/robomaker/latest/dg/fleets.html." + } } }, "com.amazonaws.robomaker#RenderingEngine": { @@ -7377,7 +7559,10 @@ } ], "traits": { - "smithy.api#documentation": "

Syncrhonizes robots in a fleet to the latest deployment. This is helpful if robots were\n added after a deployment.

", + "smithy.api#deprecated": { + "message": "Support for the AWS RoboMaker application deployment feature has ended. For additional information, see https://docs.aws.amazon.com/robomaker/latest/dg/fleets.html." + }, + "smithy.api#documentation": "

Syncrhonizes robots in a fleet to the latest deployment. This is helpful if robots were added after a deployment.

\n \n

This API will no longer be supported as of May 2, 2022. Use it to remove resources that were created for Deployment Service.

\n
", "smithy.api#http": { "method": "POST", "uri": "/syncDeploymentJob", @@ -7403,6 +7588,11 @@ "smithy.api#required": {} } } + }, + "traits": { + "smithy.api#deprecated": { + "message": "Support for the AWS RoboMaker application deployment feature has ended. For additional information, see https://docs.aws.amazon.com/robomaker/latest/dg/fleets.html." + } } }, "com.amazonaws.robomaker#SyncDeploymentJobResponse": { @@ -7456,6 +7646,11 @@ "smithy.api#documentation": "

The time, in milliseconds since the epoch, when the fleet was created.

" } } + }, + "traits": { + "smithy.api#deprecated": { + "message": "Support for the AWS RoboMaker application deployment feature has ended. For additional information, see https://docs.aws.amazon.com/robomaker/latest/dg/fleets.html." + } } }, "com.amazonaws.robomaker#TagKey": { @@ -8620,6 +8815,21 @@ }, "com.amazonaws.robomaker#robomaker": { "type": "service", + "traits": { + "aws.api#service": { + "sdkId": "RoboMaker", + "arnNamespace": "robomaker", + "cloudFormationName": "RoboMaker", + "cloudTrailEventSource": "robomaker.amazonaws.com", + "endpointPrefix": "robomaker" + }, + "aws.auth#sigv4": { + "name": "robomaker" + }, + "aws.protocols#restJson1": {}, + "smithy.api#documentation": "

This section provides documentation for the AWS RoboMaker API operations.

", + "smithy.api#title": "AWS RoboMaker" + }, "version": "2018-06-29", "operations": [ { @@ -8793,22 +9003,7 @@ { "target": "com.amazonaws.robomaker#UpdateWorldTemplate" } - ], - "traits": { - "aws.api#service": { - "sdkId": "RoboMaker", - "arnNamespace": "robomaker", - "cloudFormationName": "RoboMaker", - "cloudTrailEventSource": "robomaker.amazonaws.com", - "endpointPrefix": "robomaker" - }, - "aws.auth#sigv4": { - "name": "robomaker" - }, - "aws.protocols#restJson1": {}, - "smithy.api#documentation": "

This section provides documentation for the AWS RoboMaker API operations.

", - "smithy.api#title": "AWS RoboMaker" - } + ] } } } diff --git a/codegen/sdk-codegen/aws-models/s3control.2018-08-20.json b/codegen/sdk-codegen/aws-models/s3control.2018-08-20.json index 177ff3b8a3b..1fdd8448837 100644 --- a/codegen/sdk-codegen/aws-models/s3control.2018-08-20.json +++ b/codegen/sdk-codegen/aws-models/s3control.2018-08-20.json @@ -43,7 +43,7 @@ "name": "s3" }, "aws.protocols#restXml": {}, - "smithy.api#documentation": "

\n Amazon Web Services S3 Control provides access to Amazon S3 control plane actions.\n \n

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

Amazon Web Services S3 Control provides access to Amazon S3 control plane actions.

", "smithy.api#title": "AWS S3 Control", "smithy.api#xmlNamespace": { "uri": "http://awss3control.amazonaws.com/doc/2018-08-20/" @@ -258,7 +258,7 @@ "VpcConfiguration": { "target": "com.amazonaws.s3control#VpcConfiguration", "traits": { - "smithy.api#documentation": "

The virtual private cloud (VPC) configuration for this access point, if one exists.

\n \n

This element is empty if this access point is an Amazon S3 on Outposts access point that is used by other Amazon Web Services.

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

The virtual private cloud (VPC) configuration for this access point, if one exists.

\n \n

This element is empty if this access point is an Amazon S3 on Outposts access point that is used by other\n Amazon Web Services.

\n
" } }, "Bucket": { @@ -462,19 +462,19 @@ "CreateMultiRegionAccessPointRequest": { "target": "com.amazonaws.s3control#CreateMultiRegionAccessPointInput", "traits": { - "smithy.api#documentation": "

A container of the parameters for a \n CreateMultiRegionAccessPoint \n request.

" + "smithy.api#documentation": "

A container of the parameters for a CreateMultiRegionAccessPoint request.

" } }, "DeleteMultiRegionAccessPointRequest": { "target": "com.amazonaws.s3control#DeleteMultiRegionAccessPointInput", "traits": { - "smithy.api#documentation": "

A container of the parameters for a \n DeleteMultiRegionAccessPoint \n request.

" + "smithy.api#documentation": "

A container of the parameters for a DeleteMultiRegionAccessPoint request.

" } }, "PutMultiRegionAccessPointPolicyRequest": { "target": "com.amazonaws.s3control#PutMultiRegionAccessPointPolicyInput", "traits": { - "smithy.api#documentation": "

A container of the parameters for a \n PutMultiRegionAccessPoint \n request.

" + "smithy.api#documentation": "

A container of the parameters for a PutMultiRegionAccessPoint request.

" } } }, @@ -512,7 +512,7 @@ } }, "traits": { - "smithy.api#documentation": "

A container for the response details that are returned when querying about an\n asynchronous request.

" + "smithy.api#documentation": "

A container for the response details that are returned when querying about an\n asynchronous request.

" } }, "com.amazonaws.s3control#AwsLambdaTransformation": { @@ -528,7 +528,7 @@ "FunctionPayload": { "target": "com.amazonaws.s3control#AwsLambdaTransformationPayload", "traits": { - "smithy.api#documentation": "

Additional JSON that provides supplemental data to the Lambda function used to transform objects.

" + "smithy.api#documentation": "

Additional JSON that provides supplemental data to the Lambda function used to transform\n objects.

" } } }, @@ -698,13 +698,13 @@ "IsEnabled": { "target": "com.amazonaws.s3control#IsEnabled", "traits": { - "smithy.api#documentation": "

A container that indicates whether CloudWatch publishing for S3 Storage Lens metrics is enabled. A value of true indicates that CloudWatch publishing for S3 Storage Lens metrics is enabled.

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

A container that indicates whether CloudWatch publishing for S3 Storage Lens metrics is enabled. A\n value of true indicates that CloudWatch publishing for S3 Storage Lens metrics is\n enabled.

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

A container for enabling Amazon CloudWatch publishing for S3 Storage Lens metrics.

\n

For more information about publishing S3 Storage Lens metrics to CloudWatch, see Monitor S3 Storage Lens metrics in CloudWatch in the Amazon S3 User Guide.

" + "smithy.api#documentation": "

A container for enabling Amazon CloudWatch publishing for S3 Storage Lens metrics.

\n

For more information about publishing S3 Storage Lens metrics to CloudWatch, see Monitor\n S3 Storage Lens metrics in CloudWatch in the Amazon S3 User Guide.

" } }, "com.amazonaws.s3control#ConfigId": { @@ -735,7 +735,7 @@ "target": "com.amazonaws.s3control#CreateAccessPointResult" }, "traits": { - "smithy.api#documentation": "

Creates an access point and associates it with the specified bucket. For more information, see \n Managing Data Access with Amazon S3 Access \n Points in the Amazon S3 User Guide.

\n

\n \n

S3 on Outposts only supports VPC-style access points.\n

\n

For more information, see \n Accessing Amazon S3 on Outposts using virtual private cloud (VPC) only access points in \n the Amazon S3 User Guide.

\n
\n

All Amazon S3 on Outposts REST API requests for this action require an additional parameter of x-amz-outpost-id to be passed with the request and an S3 on Outposts endpoint hostname prefix instead of s3-control. For an example of the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname prefix and the x-amz-outpost-id derived using the access point ARN, see the Examples section.

\n

\n

The following actions are related to CreateAccessPoint:

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

Creates an access point and associates it with the specified bucket. For more information, see\n Managing\n Data Access with Amazon S3 Access Points in the\n Amazon S3 User Guide.

\n

\n \n

S3 on Outposts only supports VPC-style access points.

\n

For more information, see Accessing Amazon S3 on Outposts using\n virtual private cloud (VPC) only access points in the\n Amazon S3 User Guide.

\n
\n

All Amazon S3 on Outposts REST API requests for this action require an additional parameter of x-amz-outpost-id to be passed with the request and an S3 on Outposts endpoint hostname prefix instead of s3-control. For an example of the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname prefix and the x-amz-outpost-id derived using the access point ARN, see the Examples section.

\n

\n

The following actions are related to CreateAccessPoint:

\n ", "smithy.api#endpoint": { "hostPrefix": "{AccountId}." }, @@ -755,7 +755,7 @@ "target": "com.amazonaws.s3control#CreateAccessPointForObjectLambdaResult" }, "traits": { - "smithy.api#documentation": "

Creates an Object Lambda Access Point. For more information, see \n Transforming objects with Object Lambda Access Points in the Amazon S3 User Guide.

\n

The following actions are related to CreateAccessPointForObjectLambda:

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

Creates an Object Lambda Access Point. For more information, see Transforming objects with\n Object Lambda Access Points in the Amazon S3 User Guide.

\n

The following actions are related to\n CreateAccessPointForObjectLambda:

\n ", "smithy.api#endpoint": { "hostPrefix": "{AccountId}." }, @@ -812,7 +812,7 @@ "AccountId": { "target": "com.amazonaws.s3control#AccountId", "traits": { - "smithy.api#documentation": "

The Amazon Web Services account ID for the owner of the bucket for which you want to create an access point.

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

The Amazon Web Services account ID for the owner of the bucket for which you want to create an\n access point.

", "smithy.api#hostLabel": {}, "smithy.api#httpHeader": "x-amz-account-id", "smithy.api#required": {} @@ -842,7 +842,7 @@ "PublicAccessBlockConfiguration": { "target": "com.amazonaws.s3control#PublicAccessBlockConfiguration", "traits": { - "smithy.api#documentation": "

\n The PublicAccessBlock configuration that you want to apply to the access point.\n

" + "smithy.api#documentation": "

The PublicAccessBlock configuration that you want to apply to the access point.\n

" } } } @@ -881,7 +881,7 @@ } ], "traits": { - "smithy.api#documentation": "\n

This action creates an Amazon S3 on Outposts bucket. To create an S3 bucket, see Create Bucket in the Amazon S3 API Reference.\n

\n
\n

Creates a new Outposts bucket. By creating the bucket, you become the bucket owner. To create an Outposts bucket, you must have S3 on Outposts. \n For more information, see Using Amazon S3 on Outposts in Amazon S3 User Guide.

\n

Not every string is an acceptable bucket name. For information on bucket naming restrictions, see Working with Amazon S3 Buckets.

\n

S3 on Outposts buckets support:

\n \n

For a complete list of restrictions and Amazon S3 feature limitations on S3 on Outposts, \n see \n Amazon S3 on Outposts Restrictions and Limitations.

\n

For an example of the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts\n endpoint hostname prefix and x-amz-outpost-id in your API request, see the Examples section.

\n \n

The following actions are related to CreateBucket for Amazon S3 on Outposts:

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

This action creates an Amazon S3 on Outposts bucket. To create an S3 bucket, see Create\n Bucket in the Amazon S3 API Reference.

\n
\n

Creates a new Outposts bucket. By creating the bucket, you become the bucket owner. To\n create an Outposts bucket, you must have S3 on Outposts. For more information, see Using\n Amazon S3 on Outposts in Amazon S3 User Guide.

\n

Not every string is an acceptable bucket name. For information on bucket naming\n restrictions, see Working with\n Amazon S3 Buckets.

\n

S3 on Outposts buckets support:

\n \n

For a complete list of restrictions and Amazon S3 feature limitations on S3 on Outposts, see\n \n Amazon S3 on Outposts Restrictions and Limitations.

\n

For an example of the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts\n endpoint hostname prefix and x-amz-outpost-id in your API request, see the\n Examples section.

\n\n

The following actions are related to CreateBucket for\n Amazon S3 on Outposts:

\n ", "smithy.api#http": { "method": "PUT", "uri": "/v20180820/bucket/{Bucket}", @@ -896,7 +896,7 @@ "LocationConstraint": { "target": "com.amazonaws.s3control#BucketLocationConstraint", "traits": { - "smithy.api#documentation": "

Specifies the Region where the bucket will be created. \n If you are creating a bucket on the US East (N. Virginia) Region (us-east-1), \n you do not need to specify the location.\n

\n \n

This is not supported by Amazon S3 on Outposts buckets.

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

Specifies the Region where the bucket will be created. If you are creating a bucket on\n the US East (N. Virginia) Region (us-east-1), you do not need to specify the location.

\n \n

This is not supported by Amazon S3 on Outposts buckets.

\n
" } } }, @@ -933,7 +933,7 @@ "GrantFullControl": { "target": "com.amazonaws.s3control#GrantFullControl", "traits": { - "smithy.api#documentation": "

Allows grantee the read, write, read ACP, and write ACP permissions on the bucket.

\n \n

This is not supported by Amazon S3 on Outposts buckets.

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

Allows grantee the read, write, read ACP, and write ACP permissions on the\n bucket.

\n \n

This is not supported by Amazon S3 on Outposts buckets.

\n
", "smithy.api#httpHeader": "x-amz-grant-full-control" } }, @@ -1022,7 +1022,7 @@ } ], "traits": { - "smithy.api#documentation": "

You can use S3 Batch Operations to perform large-scale batch actions on Amazon S3 objects. Batch Operations can run a\n single action on lists of Amazon S3 objects that you specify. For more information,\n see S3 Batch Operations in the\n Amazon S3 User Guide.

\n

This action creates a S3 Batch Operations job.

\n

\n

Related actions include:

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

You can use S3 Batch Operations to perform large-scale batch actions on Amazon S3 objects.\n Batch Operations can run a single action on lists of Amazon S3 objects that you specify. For more\n information, see S3 Batch Operations in the Amazon S3 User Guide.

\n

This action creates a S3 Batch Operations job.

\n

\n

Related actions include:

\n ", "smithy.api#endpoint": { "hostPrefix": "{AccountId}." }, @@ -1049,13 +1049,13 @@ "target": "com.amazonaws.s3control#ConfirmationRequired", "traits": { "smithy.api#box": {}, - "smithy.api#documentation": "

Indicates whether confirmation is required before Amazon S3 runs the job. Confirmation is only required for jobs created through the Amazon S3 console.

" + "smithy.api#documentation": "

Indicates whether confirmation is required before Amazon S3 runs the job. Confirmation is\n only required for jobs created through the Amazon S3 console.

" } }, "Operation": { "target": "com.amazonaws.s3control#JobOperation", "traits": { - "smithy.api#documentation": "

The action that you want this job to perform on every object listed in the manifest.\n For more information about the available actions, see Operations in the\n Amazon S3 User Guide.

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

The action that you want this job to perform on every object listed in the manifest. For\n more information about the available actions, see Operations in the\n Amazon S3 User Guide.

", "smithy.api#required": {} } }, @@ -1069,7 +1069,7 @@ "ClientRequestToken": { "target": "com.amazonaws.s3control#NonEmptyMaxLength64String", "traits": { - "smithy.api#documentation": "

An idempotency token to ensure that you don't accidentally submit the same request twice. You can use any string up to the maximum length.

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

An idempotency token to ensure that you don't accidentally submit the same request\n twice. You can use any string up to the maximum length.

", "smithy.api#idempotencyToken": {}, "smithy.api#required": {} } @@ -1077,14 +1077,13 @@ "Manifest": { "target": "com.amazonaws.s3control#JobManifest", "traits": { - "smithy.api#documentation": "

Configuration parameters for the manifest.

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

Configuration parameters for the manifest.

" } }, "Description": { "target": "com.amazonaws.s3control#NonEmptyMaxLength256String", "traits": { - "smithy.api#documentation": "

A description for this job. You can use any string within the permitted length. Descriptions don't need to be unique and can be used for multiple jobs.

" + "smithy.api#documentation": "

A description for this job. You can use any string within the permitted length.\n Descriptions don't need to be unique and can be used for multiple jobs.

" } }, "Priority": { @@ -1098,14 +1097,20 @@ "RoleArn": { "target": "com.amazonaws.s3control#IAMRoleArn", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) for the Identity and Access Management (IAM) role\n that Batch Operations will use to run this job's action on every object in the\n manifest.

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

The Amazon Resource Name (ARN) for the Identity and Access Management (IAM) role that Batch Operations will\n use to run this job's action on every object in the manifest.

", "smithy.api#required": {} } }, "Tags": { "target": "com.amazonaws.s3control#S3TagSet", "traits": { - "smithy.api#documentation": "

A set of tags to associate with the S3 Batch Operations job. This is an optional parameter.

" + "smithy.api#documentation": "

A set of tags to associate with the S3 Batch Operations job. This is an optional parameter.\n

" + } + }, + "ManifestGenerator": { + "target": "com.amazonaws.s3control#JobManifestGenerator", + "traits": { + "smithy.api#documentation": "

The attribute container for the ManifestGenerator details. Jobs must be created with\n either a manifest file or a ManifestGenerator, but not both.

" } } } @@ -1130,7 +1135,7 @@ "target": "com.amazonaws.s3control#CreateMultiRegionAccessPointResult" }, "traits": { - "smithy.api#documentation": "

Creates a Multi-Region Access Point and associates it with the specified buckets. For more information about creating Multi-Region Access Points, see \n Creating\n Multi-Region Access Points in the Amazon S3 User Guide.

\n

This action will always be routed to the US West (Oregon) Region. For more\n information about the restrictions around managing Multi-Region Access Points, see Managing\n Multi-Region Access Points in the\n Amazon S3 User Guide.

\n

This request is asynchronous, meaning that you might receive a response before the\n command has completed. When this request provides a response, it provides a token that\n you can use to monitor the status of the request with\n DescribeMultiRegionAccessPointOperation.

\n

The following actions are related to CreateMultiRegionAccessPoint:

\n ", + "smithy.api#documentation": "

Creates a Multi-Region Access Point and associates it with the specified buckets. For more information\n about creating Multi-Region Access Points, see Creating\n Multi-Region Access Points in the Amazon S3 User Guide.

\n

This action will always be routed to the US West (Oregon) Region. For more information\n about the restrictions around managing Multi-Region Access Points, see Managing\n Multi-Region Access Points in the Amazon S3 User Guide.

\n

This request is asynchronous, meaning that you might receive a response before the\n command has completed. When this request provides a response, it provides a token that you\n can use to monitor the status of the request with\n DescribeMultiRegionAccessPointOperation.

\n

The following actions are related to CreateMultiRegionAccessPoint:

\n ", "smithy.api#endpoint": { "hostPrefix": "{AccountId}." }, @@ -1164,7 +1169,7 @@ } }, "traits": { - "smithy.api#documentation": "

A container for the information associated with a\n CreateMultiRegionAccessPoint\n request.\n

" + "smithy.api#documentation": "

A container for the information associated with a CreateMultiRegionAccessPoint request.

" } }, "com.amazonaws.s3control#CreateMultiRegionAccessPointRequest": { @@ -1173,7 +1178,7 @@ "AccountId": { "target": "com.amazonaws.s3control#AccountId", "traits": { - "smithy.api#documentation": "

The Amazon Web Services account ID for the owner of the Multi-Region Access Point. The owner of the Multi-Region Access Point also must own\n the underlying buckets.

", + "smithy.api#documentation": "

The Amazon Web Services account ID for the owner of the Multi-Region Access Point. The owner of the Multi-Region Access Point also must own\n the underlying buckets.

", "smithy.api#hostLabel": {}, "smithy.api#httpHeader": "x-amz-account-id", "smithy.api#required": {} @@ -1182,7 +1187,7 @@ "ClientToken": { "target": "com.amazonaws.s3control#MultiRegionAccessPointClientToken", "traits": { - "smithy.api#documentation": "

An idempotency token used to identify the request and guarantee that requests are\n unique.

", + "smithy.api#documentation": "

An idempotency token used to identify the request and guarantee that requests are\n unique.

", "smithy.api#idempotencyToken": {}, "smithy.api#required": {} } @@ -1202,7 +1207,7 @@ "RequestTokenARN": { "target": "com.amazonaws.s3control#AsyncRequestTokenARN", "traits": { - "smithy.api#documentation": "

The request token associated with the request. You can use this token with DescribeMultiRegionAccessPointOperation to determine the status of\n asynchronous requests.

" + "smithy.api#documentation": "

The request token associated with the request. You can use this token with DescribeMultiRegionAccessPointOperation to determine the status of asynchronous\n requests.

" } } } @@ -1228,7 +1233,7 @@ "target": "com.amazonaws.s3control#DeleteAccessPointRequest" }, "traits": { - "smithy.api#documentation": "

Deletes the specified access point.

\n \n

All Amazon S3 on Outposts REST API requests for this action require an additional parameter of x-amz-outpost-id to be passed with the request and an S3 on Outposts endpoint hostname prefix instead of s3-control. For an example of the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname prefix and the x-amz-outpost-id derived using the access point ARN, see the Examples section.

\n

The following actions are related to DeleteAccessPoint:

\n ", + "smithy.api#documentation": "

Deletes the specified access point.

\n\n

All Amazon S3 on Outposts REST API requests for this action require an additional parameter of x-amz-outpost-id to be passed with the request and an S3 on Outposts endpoint hostname prefix instead of s3-control. For an example of the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname prefix and the x-amz-outpost-id derived using the access point ARN, see the Examples section.

\n

The following actions are related to DeleteAccessPoint:

\n ", "smithy.api#endpoint": { "hostPrefix": "{AccountId}." }, @@ -1245,7 +1250,7 @@ "target": "com.amazonaws.s3control#DeleteAccessPointForObjectLambdaRequest" }, "traits": { - "smithy.api#documentation": "

Deletes the specified Object Lambda Access Point.

\n

The following actions are related to DeleteAccessPointForObjectLambda:

\n ", + "smithy.api#documentation": "

Deletes the specified Object Lambda Access Point.

\n

The following actions are related to\n DeleteAccessPointForObjectLambda:

\n ", "smithy.api#endpoint": { "hostPrefix": "{AccountId}." }, @@ -1301,7 +1306,7 @@ "target": "com.amazonaws.s3control#DeleteAccessPointPolicyForObjectLambdaRequest" }, "traits": { - "smithy.api#documentation": "

Removes the resource policy for an Object Lambda Access Point.

\n

The following actions are related to DeleteAccessPointPolicyForObjectLambda:

\n ", + "smithy.api#documentation": "

Removes the resource policy for an Object Lambda Access Point.

\n

The following actions are related to\n DeleteAccessPointPolicyForObjectLambda:

\n ", "smithy.api#endpoint": { "hostPrefix": "{AccountId}." }, @@ -1384,7 +1389,7 @@ "target": "com.amazonaws.s3control#DeleteBucketRequest" }, "traits": { - "smithy.api#documentation": "\n

This action deletes an Amazon S3 on Outposts bucket. To delete an S3 bucket, \n see DeleteBucket in the Amazon S3 API Reference.\n

\n
\n

Deletes the Amazon S3 on Outposts bucket. All objects (including all object versions and delete markers) in the\n bucket must be deleted before the bucket itself can be deleted. \n For more information, see Using Amazon S3 on Outposts in Amazon S3 User Guide.

\n

All Amazon S3 on Outposts REST API requests for this action require an additional parameter of x-amz-outpost-id to be passed with the request and an S3 on Outposts endpoint hostname prefix instead of s3-control. For an example of the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname prefix and the x-amz-outpost-id derived using the access point ARN, see the Examples section.

\n

\n Related Resources\n

\n ", + "smithy.api#documentation": "\n

This action deletes an Amazon S3 on Outposts bucket. To delete an S3 bucket, see DeleteBucket in the Amazon S3 API Reference.

\n
\n

Deletes the Amazon S3 on Outposts bucket. All objects (including all object versions and\n delete markers) in the bucket must be deleted before the bucket itself can be deleted. For\n more information, see Using Amazon S3 on Outposts in\n Amazon S3 User Guide.

\n

All Amazon S3 on Outposts REST API requests for this action require an additional parameter of x-amz-outpost-id to be passed with the request and an S3 on Outposts endpoint hostname prefix instead of s3-control. For an example of the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname prefix and the x-amz-outpost-id derived using the access point ARN, see the Examples section.

\n

\n Related Resources\n

\n ", "smithy.api#endpoint": { "hostPrefix": "{AccountId}." }, @@ -1401,7 +1406,7 @@ "target": "com.amazonaws.s3control#DeleteBucketLifecycleConfigurationRequest" }, "traits": { - "smithy.api#documentation": "\n

This action deletes an Amazon S3 on Outposts bucket's lifecycle configuration. To delete an \n S3 bucket's lifecycle configuration, see DeleteBucketLifecycle in the Amazon S3 API Reference.\n

\n
\n

Deletes the lifecycle configuration from the specified Outposts bucket. Amazon S3 on Outposts removes all the lifecycle configuration \n rules in the lifecycle subresource associated with the bucket. Your objects never expire, and Amazon S3 on Outposts no longer automatically \n deletes any objects on the basis of rules contained in the deleted lifecycle configuration. \n For more information, see Using Amazon S3 on Outposts in Amazon S3 User Guide.

\n

To use this action, you must have permission to perform the\n s3-outposts:DeleteLifecycleConfiguration action. By default, the bucket\n owner has this permission and the Outposts bucket owner can grant this permission to\n others.

\n

All Amazon S3 on Outposts REST API requests for this action require an additional parameter of x-amz-outpost-id to be passed with the request and an S3 on Outposts endpoint hostname prefix instead of s3-control. For an example of the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname prefix and the x-amz-outpost-id derived using the access point ARN, see the Examples section.

\n \n

For more information about object expiration, see Elements to Describe Lifecycle Actions.

\n

Related actions include:

\n ", + "smithy.api#documentation": "\n

This action deletes an Amazon S3 on Outposts bucket's lifecycle configuration. To delete\n an S3 bucket's lifecycle configuration, see DeleteBucketLifecycle in the Amazon S3 API Reference.

\n
\n

Deletes the lifecycle configuration from the specified Outposts bucket.\n Amazon S3 on Outposts removes all the lifecycle configuration rules in the lifecycle subresource\n associated with the bucket. Your objects never expire, and Amazon S3 on Outposts no longer\n automatically deletes any objects on the basis of rules contained in the deleted lifecycle\n configuration. For more information, see Using Amazon S3 on Outposts in\n Amazon S3 User Guide.

\n

To use this action, you must have permission to perform the\n s3-outposts:DeleteLifecycleConfiguration action. By default, the bucket\n owner has this permission and the Outposts bucket owner can grant this permission to\n others.

\n

All Amazon S3 on Outposts REST API requests for this action require an additional parameter of x-amz-outpost-id to be passed with the request and an S3 on Outposts endpoint hostname prefix instead of s3-control. For an example of the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname prefix and the x-amz-outpost-id derived using the access point ARN, see the Examples section.

\n\n

For more information about object expiration, see Elements to Describe Lifecycle Actions.

\n

Related actions include:

\n ", "smithy.api#endpoint": { "hostPrefix": "{AccountId}." }, @@ -1440,7 +1445,7 @@ "target": "com.amazonaws.s3control#DeleteBucketPolicyRequest" }, "traits": { - "smithy.api#documentation": "\n

This action deletes an Amazon S3 on Outposts bucket policy. To delete an \n S3 bucket policy, see DeleteBucketPolicy in the Amazon S3 API Reference.\n

\n
\n

This implementation of the DELETE action uses the policy subresource to delete the\n policy of a specified Amazon S3 on Outposts bucket. If you are using an identity other than the\n root user of the Amazon Web Services account that owns the bucket, the calling identity must have the\n s3-outposts:DeleteBucketPolicy permissions on the specified Outposts bucket\n and belong to the bucket owner's account to use this action. For more information, see\n Using Amazon S3 on Outposts in\n Amazon S3 User Guide.

\n \n

If you don't have DeleteBucketPolicy permissions, Amazon S3 returns a\n 403 Access Denied error. If you have the correct permissions, but you're\n not using an identity that belongs to the bucket owner's account, Amazon S3 returns a\n 405 Method Not Allowed error.

\n \n \n \n

As a security precaution, the root user of the Amazon Web Services account that owns a bucket can always use this action,\n even if the policy explicitly denies the root user the ability to perform this action.

\n
\n \n

For more information about bucket policies, see Using Bucket Policies and User Policies.

\n \n

All Amazon S3 on Outposts REST API requests for this action require an additional parameter of x-amz-outpost-id to be passed with the request and an S3 on Outposts endpoint hostname prefix instead of s3-control. For an example of the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname prefix and the x-amz-outpost-id derived using the access point ARN, see the Examples section.

\n \n

The following actions are related to DeleteBucketPolicy:

\n ", + "smithy.api#documentation": "\n

This action deletes an Amazon S3 on Outposts bucket policy. To delete an S3 bucket policy,\n see DeleteBucketPolicy in the Amazon S3 API Reference.

\n
\n

This implementation of the DELETE action uses the policy subresource to delete the\n policy of a specified Amazon S3 on Outposts bucket. If you are using an identity other than the\n root user of the Amazon Web Services account that owns the bucket, the calling identity must have the\n s3-outposts:DeleteBucketPolicy permissions on the specified Outposts bucket\n and belong to the bucket owner's account to use this action. For more information, see\n Using\n Amazon S3 on Outposts in Amazon S3 User Guide.

\n\n

If you don't have DeleteBucketPolicy permissions, Amazon S3 returns a 403\n Access Denied error. If you have the correct permissions, but you're not using an\n identity that belongs to the bucket owner's account, Amazon S3 returns a 405 Method Not\n Allowed error.

\n\n\n \n

As a security precaution, the root user of the Amazon Web Services account that owns a bucket can\n always use this action, even if the policy explicitly denies the root user the ability\n to perform this action.

\n
\n\n

For more information about bucket policies, see Using Bucket Policies and User\n Policies.

\n\n

All Amazon S3 on Outposts REST API requests for this action require an additional parameter of x-amz-outpost-id to be passed with the request and an S3 on Outposts endpoint hostname prefix instead of s3-control. For an example of the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname prefix and the x-amz-outpost-id derived using the access point ARN, see the Examples section.

\n\n

The following actions are related to DeleteBucketPolicy:

\n ", "smithy.api#endpoint": { "hostPrefix": "{AccountId}." }, @@ -1501,7 +1506,7 @@ "target": "com.amazonaws.s3control#DeleteBucketTaggingRequest" }, "traits": { - "smithy.api#documentation": "\n

This action deletes an Amazon S3 on Outposts bucket's tags. To delete an \n S3 bucket tags, see DeleteBucketTagging in the Amazon S3 API Reference.\n

\n
\n

Deletes the tags from the Outposts bucket. For more information, see Using Amazon S3 on Outposts in\n Amazon S3 User Guide.

\n \n

To use this action, you must have permission to perform the PutBucketTagging action. \n By default, the bucket owner has this permission and can grant this permission to others. \n

\n \n

All Amazon S3 on Outposts REST API requests for this action require an additional parameter of x-amz-outpost-id to be passed with the request and an S3 on Outposts endpoint hostname prefix instead of s3-control. For an example of the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname prefix and the x-amz-outpost-id derived using the access point ARN, see the Examples section.

\n \n

The following actions are related to DeleteBucketTagging:

\n ", + "smithy.api#documentation": "\n

This action deletes an Amazon S3 on Outposts bucket's tags. To delete an S3 bucket tags,\n see DeleteBucketTagging in the Amazon S3 API Reference.

\n
\n

Deletes the tags from the Outposts bucket. For more information, see Using\n Amazon S3 on Outposts in Amazon S3 User Guide.

\n\n

To use this action, you must have permission to perform the\n PutBucketTagging action. By default, the bucket owner has this permission\n and can grant this permission to others.

\n\n

All Amazon S3 on Outposts REST API requests for this action require an additional parameter of x-amz-outpost-id to be passed with the request and an S3 on Outposts endpoint hostname prefix instead of s3-control. For an example of the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname prefix and the x-amz-outpost-id derived using the access point ARN, see the Examples section.

\n\n

The following actions are related to DeleteBucketTagging:

\n ", "smithy.api#endpoint": { "hostPrefix": "{AccountId}." }, @@ -1554,7 +1559,7 @@ } ], "traits": { - "smithy.api#documentation": "

Removes the entire tag set from the specified S3 Batch Operations job. To use this operation,\n you must have permission to perform the s3:DeleteJobTagging action. For more\n information, see Controlling access and labeling jobs using tags in the\n Amazon S3 User Guide.

\n

\n

Related actions include:

\n ", + "smithy.api#documentation": "

Removes the entire tag set from the specified S3 Batch Operations job. To use this operation,\n you must have permission to perform the s3:DeleteJobTagging action. For more\n information, see Controlling\n access and labeling jobs using tags in the\n Amazon S3 User Guide.

\n

\n

Related actions include:

\n ", "smithy.api#endpoint": { "hostPrefix": "{AccountId}." }, @@ -1600,7 +1605,7 @@ "target": "com.amazonaws.s3control#DeleteMultiRegionAccessPointResult" }, "traits": { - "smithy.api#documentation": "

Deletes a Multi-Region Access Point. This action does not delete the buckets associated with the Multi-Region Access Point,\n only the Multi-Region Access Point itself.

\n

This action will always be routed to the US West (Oregon) Region. For more\n information about the restrictions around managing Multi-Region Access Points, see Managing\n Multi-Region Access Points in the\n Amazon S3 User Guide.

\n

This request is asynchronous, meaning that you might receive a response before the\n command has completed. When this request provides a response, it provides a token that\n you can use to monitor the status of the request with\n DescribeMultiRegionAccessPointOperation.

\n

The following actions are related to DeleteMultiRegionAccessPoint:

\n ", + "smithy.api#documentation": "

Deletes a Multi-Region Access Point. This action does not delete the buckets associated with the Multi-Region Access Point,\n only the Multi-Region Access Point itself.

\n

This action will always be routed to the US West (Oregon) Region. For more information\n about the restrictions around managing Multi-Region Access Points, see Managing\n Multi-Region Access Points in the Amazon S3 User Guide.

\n

This request is asynchronous, meaning that you might receive a response before the\n command has completed. When this request provides a response, it provides a token that you\n can use to monitor the status of the request with\n DescribeMultiRegionAccessPointOperation.

\n

The following actions are related to DeleteMultiRegionAccessPoint:

\n ", "smithy.api#endpoint": { "hostPrefix": "{AccountId}." }, @@ -1624,7 +1629,7 @@ } }, "traits": { - "smithy.api#documentation": "

A container for the information associated with a\n DeleteMultiRegionAccessPoint\n request.

" + "smithy.api#documentation": "

A container for the information associated with a DeleteMultiRegionAccessPoint request.

" } }, "com.amazonaws.s3control#DeleteMultiRegionAccessPointRequest": { @@ -1642,7 +1647,7 @@ "ClientToken": { "target": "com.amazonaws.s3control#MultiRegionAccessPointClientToken", "traits": { - "smithy.api#documentation": "

An idempotency token used to identify the request and guarantee that requests are\n unique.

", + "smithy.api#documentation": "

An idempotency token used to identify the request and guarantee that requests are\n unique.

", "smithy.api#idempotencyToken": {}, "smithy.api#required": {} } @@ -1662,7 +1667,7 @@ "RequestTokenARN": { "target": "com.amazonaws.s3control#AsyncRequestTokenARN", "traits": { - "smithy.api#documentation": "

The request token associated with the request. You can use this token with DescribeMultiRegionAccessPointOperation to determine the status of\n asynchronous requests.

" + "smithy.api#documentation": "

The request token associated with the request. You can use this token with DescribeMultiRegionAccessPointOperation to determine the status of asynchronous\n requests.

" } } } @@ -1690,7 +1695,7 @@ "AccountId": { "target": "com.amazonaws.s3control#AccountId", "traits": { - "smithy.api#documentation": "

The account ID for the Amazon Web Services account whose PublicAccessBlock configuration you want\n to remove.

", + "smithy.api#documentation": "

The account ID for the Amazon Web Services account whose PublicAccessBlock configuration\n you want to remove.

", "smithy.api#hostLabel": {}, "smithy.api#httpHeader": "x-amz-account-id", "smithy.api#required": {} @@ -1704,7 +1709,7 @@ "target": "com.amazonaws.s3control#DeleteStorageLensConfigurationRequest" }, "traits": { - "smithy.api#documentation": "

Deletes the Amazon S3 Storage Lens configuration. For more information about S3 Storage Lens, see \n Assessing your storage \n activity and usage with Amazon S3 Storage Lens in the \n Amazon S3 User Guide.

\n \n

To use this action,\n you must have permission to perform the s3:DeleteStorageLensConfiguration action. For more\n information, see Setting permissions to use Amazon S3 Storage Lens in the\n Amazon S3 User Guide.

\n
", + "smithy.api#documentation": "

Deletes the Amazon S3 Storage Lens configuration. For more information about S3 Storage Lens, see Assessing your storage\n activity and usage with Amazon S3 Storage Lens in the\n Amazon S3 User Guide.

\n \n

To use this action, you must have permission to perform the\n s3:DeleteStorageLensConfiguration action. For more information, see\n Setting permissions to\n use Amazon S3 Storage Lens in the Amazon S3 User Guide.

\n
", "smithy.api#endpoint": { "hostPrefix": "{AccountId}." }, @@ -1746,7 +1751,7 @@ "target": "com.amazonaws.s3control#DeleteStorageLensConfigurationTaggingResult" }, "traits": { - "smithy.api#documentation": "

Deletes the Amazon S3 Storage Lens configuration tags. For more information about S3 Storage Lens, see \n Assessing your storage \n activity and usage with Amazon S3 Storage Lens in the \n Amazon S3 User Guide.

\n \n

To use this action,\n you must have permission to perform the s3:DeleteStorageLensConfigurationTagging action. For more\n information, see Setting permissions to use Amazon S3 Storage Lens in the\n Amazon S3 User Guide.

\n
", + "smithy.api#documentation": "

Deletes the Amazon S3 Storage Lens configuration tags. For more information about S3 Storage Lens, see\n Assessing your\n storage activity and usage with Amazon S3 Storage Lens in the\n Amazon S3 User Guide.

\n \n

To use this action, you must have permission to perform the\n s3:DeleteStorageLensConfigurationTagging action. For more information,\n see Setting permissions to\n use Amazon S3 Storage Lens in the Amazon S3 User Guide.

\n
", "smithy.api#endpoint": { "hostPrefix": "{AccountId}." }, @@ -1806,7 +1811,7 @@ } ], "traits": { - "smithy.api#documentation": "

Retrieves the configuration parameters and status for a Batch Operations job. For more\n information, see S3 Batch Operations in\n the Amazon S3 User Guide.

\n

\n

Related actions include:

\n ", + "smithy.api#documentation": "

Retrieves the configuration parameters and status for a Batch Operations job. For more\n information, see S3 Batch Operations in the Amazon S3 User Guide.

\n

\n

Related actions include:

\n ", "smithy.api#endpoint": { "hostPrefix": "{AccountId}." }, @@ -1845,7 +1850,7 @@ "Job": { "target": "com.amazonaws.s3control#JobDescriptor", "traits": { - "smithy.api#documentation": "

Contains the configuration parameters and status for the job specified in the Describe Job request.

" + "smithy.api#documentation": "

Contains the configuration parameters and status for the job specified in the\n Describe Job request.

" } } } @@ -1859,7 +1864,7 @@ "target": "com.amazonaws.s3control#DescribeMultiRegionAccessPointOperationResult" }, "traits": { - "smithy.api#documentation": "

Retrieves the status of an asynchronous request to manage a Multi-Region Access Point. For more information\n about managing Multi-Region Access Points and how asynchronous requests work, see Managing\n Multi-Region Access Points in the\n Amazon S3 User Guide.

\n

The following actions are related to GetMultiRegionAccessPoint:

\n ", + "smithy.api#documentation": "

Retrieves the status of an asynchronous request to manage a Multi-Region Access Point. For more information\n about managing Multi-Region Access Points and how asynchronous requests work, see Managing\n Multi-Region Access Points in the Amazon S3 User Guide.

\n

The following actions are related to GetMultiRegionAccessPoint:

\n ", "smithy.api#endpoint": { "hostPrefix": "{AccountId}." }, @@ -1886,7 +1891,7 @@ "RequestTokenARN": { "target": "com.amazonaws.s3control#AsyncRequestTokenARN", "traits": { - "smithy.api#documentation": "

The request token associated with the request you want to know about. This request token\n is returned as part of the response when you make an asynchronous request. You provide\n this token to query about the status of the asynchronous action.

", + "smithy.api#documentation": "

The request token associated with the request you want to know about. This request token\n is returned as part of the response when you make an asynchronous request. You provide this\n token to query about the status of the asynchronous action.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -1924,7 +1929,7 @@ } }, "traits": { - "smithy.api#documentation": "

The last established access control policy for a Multi-Region Access Point.

\n

When you update the policy, the update is first listed as the proposed policy. After the\n update is finished and all Regions have been updated, the proposed policy is listed as\n the established policy. If both policies have the same version number, the proposed\n policy is the established policy.

" + "smithy.api#documentation": "

The last established access control policy for a Multi-Region Access Point.

\n

When you update the policy, the update is first listed as the proposed policy. After the\n update is finished and all Regions have been updated, the proposed policy is listed as the\n established policy. If both policies have the same version number, the proposed policy is\n the established policy.

" } }, "com.amazonaws.s3control#ExceptionMessage": { @@ -1999,6 +2004,39 @@ "smithy.api#pattern": "^(arn:(aws[a-zA-Z-]*)?:lambda:)?([a-z]{2}((-gov)|(-iso(b?)))?-[a-z]+-\\d{1}:)?(\\d{12}:)?(function:)?([a-zA-Z0-9-_]+)(:(\\$LATEST|[a-zA-Z0-9-_]+))?$" } }, + "com.amazonaws.s3control#GeneratedManifestEncryption": { + "type": "structure", + "members": { + "SSES3": { + "target": "com.amazonaws.s3control#SSES3Encryption", + "traits": { + "smithy.api#documentation": "

Specifies the use of SSE-S3 to encrypt generated manifest objects.

", + "smithy.api#xmlName": "SSE-S3" + } + }, + "SSEKMS": { + "target": "com.amazonaws.s3control#SSEKMSEncryption", + "traits": { + "smithy.api#documentation": "

Configuration details on how SSE-KMS is used to encrypt generated manifest\n objects.

", + "smithy.api#xmlName": "SSE-KMS" + } + } + }, + "traits": { + "smithy.api#documentation": "

The encryption configuration to use when storing the generated manifest.

" + } + }, + "com.amazonaws.s3control#GeneratedManifestFormat": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "S3InventoryReport_CSV_20211130", + "name": "S3InventoryReport_CSV_20211130" + } + ] + } + }, "com.amazonaws.s3control#GetAccessPoint": { "type": "operation", "input": { @@ -2008,7 +2046,7 @@ "target": "com.amazonaws.s3control#GetAccessPointResult" }, "traits": { - "smithy.api#documentation": "

Returns configuration information about the specified access point.

\n

\n \n

All Amazon S3 on Outposts REST API requests for this action require an additional parameter of x-amz-outpost-id to be passed with the request and an S3 on Outposts endpoint hostname prefix instead of s3-control. For an example of the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname prefix and the x-amz-outpost-id derived using the access point ARN, see the Examples section.

\n

The following actions are related to GetAccessPoint:

\n ", + "smithy.api#documentation": "

Returns configuration information about the specified access point.

\n

\n\n

All Amazon S3 on Outposts REST API requests for this action require an additional parameter of x-amz-outpost-id to be passed with the request and an S3 on Outposts endpoint hostname prefix instead of s3-control. For an example of the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname prefix and the x-amz-outpost-id derived using the access point ARN, see the Examples section.

\n

The following actions are related to GetAccessPoint:

\n ", "smithy.api#endpoint": { "hostPrefix": "{AccountId}." }, @@ -2028,7 +2066,7 @@ "target": "com.amazonaws.s3control#GetAccessPointConfigurationForObjectLambdaResult" }, "traits": { - "smithy.api#documentation": "

Returns configuration for an Object Lambda Access Point.

\n

The following actions are related to GetAccessPointConfigurationForObjectLambda:

\n ", + "smithy.api#documentation": "

Returns configuration for an Object Lambda Access Point.

\n

The following actions are related to\n GetAccessPointConfigurationForObjectLambda:

\n ", "smithy.api#endpoint": { "hostPrefix": "{AccountId}." }, @@ -2126,7 +2164,7 @@ "PublicAccessBlockConfiguration": { "target": "com.amazonaws.s3control#PublicAccessBlockConfiguration", "traits": { - "smithy.api#documentation": "

Configuration to block all public access. This setting is turned on and can not be edited.

" + "smithy.api#documentation": "

Configuration to block all public access. This setting is turned on and can not be\n edited.

" } }, "CreationDate": { @@ -2166,7 +2204,7 @@ "target": "com.amazonaws.s3control#GetAccessPointPolicyForObjectLambdaResult" }, "traits": { - "smithy.api#documentation": "

Returns the resource policy for an Object Lambda Access Point.

\n

The following actions are related to GetAccessPointPolicyForObjectLambda:

\n ", + "smithy.api#documentation": "

Returns the resource policy for an Object Lambda Access Point.

\n

The following actions are related to\n GetAccessPointPolicyForObjectLambda:

\n ", "smithy.api#endpoint": { "hostPrefix": "{AccountId}." }, @@ -2252,7 +2290,7 @@ "target": "com.amazonaws.s3control#GetAccessPointPolicyStatusResult" }, "traits": { - "smithy.api#documentation": "

Indicates whether the specified access point currently has a policy that allows public access. For more information about public access through access points, see Managing Data Access with Amazon S3 access points in the Amazon S3 User Guide.

", + "smithy.api#documentation": "

Indicates whether the specified access point currently has a policy that allows public access.\n For more information about public access through access points, see Managing Data Access with Amazon S3\n access points in the Amazon S3 User Guide.

", "smithy.api#endpoint": { "hostPrefix": "{AccountId}." }, @@ -2392,7 +2430,7 @@ "VpcConfiguration": { "target": "com.amazonaws.s3control#VpcConfiguration", "traits": { - "smithy.api#documentation": "

Contains the virtual private cloud (VPC) configuration for the specified access point.

\n \n

This element is empty if this access point is an Amazon S3 on Outposts access point that is used by other Amazon Web Services.

\n
" + "smithy.api#documentation": "

Contains the virtual private cloud (VPC) configuration for the specified access point.

\n \n

This element is empty if this access point is an Amazon S3 on Outposts access point that is used by other\n Amazon Web Services.

\n
" } }, "PublicAccessBlockConfiguration": { @@ -2433,7 +2471,7 @@ "target": "com.amazonaws.s3control#GetBucketResult" }, "traits": { - "smithy.api#documentation": "

Gets an Amazon S3 on Outposts bucket. For more information, see \n Using Amazon S3 on Outposts in the Amazon S3 User Guide.

\n

If you are using an identity other than the root user of the Amazon Web Services account \n that owns the Outposts bucket, the calling identity must have the \n s3-outposts:GetBucket permissions on the specified Outposts bucket and \n belong to the Outposts bucket owner's account in order to use this action. Only \n users from Outposts bucket owner account with the right permissions can perform \n actions on an Outposts bucket. \n

\n

\n If you don't have s3-outposts:GetBucket permissions or you're not using an identity that belongs to the bucket owner's \n account, Amazon S3 returns a 403 Access Denied error.

\n

The following actions are related to GetBucket for Amazon S3 on Outposts:

\n

All Amazon S3 on Outposts REST API requests for this action require an additional parameter of x-amz-outpost-id to be passed with the request and an S3 on Outposts endpoint hostname prefix instead of s3-control. For an example of the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname prefix and the x-amz-outpost-id derived using the access point ARN, see the Examples section.

\n ", + "smithy.api#documentation": "

Gets an Amazon S3 on Outposts bucket. For more information, see Using Amazon S3 on Outposts in the\n Amazon S3 User Guide.

\n

If you are using an identity other than the root user of the Amazon Web Services account that owns the\n Outposts bucket, the calling identity must have the s3-outposts:GetBucket\n permissions on the specified Outposts bucket and belong to the Outposts bucket owner's\n account in order to use this action. Only users from Outposts bucket owner account with\n the right permissions can perform actions on an Outposts bucket.

\n

If you don't have s3-outposts:GetBucket permissions or you're not using an\n identity that belongs to the bucket owner's account, Amazon S3 returns a 403 Access\n Denied error.

\n

The following actions are related to GetBucket for Amazon S3 on Outposts:

\n

All Amazon S3 on Outposts REST API requests for this action require an additional parameter of x-amz-outpost-id to be passed with the request and an S3 on Outposts endpoint hostname prefix instead of s3-control. For an example of the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname prefix and the x-amz-outpost-id derived using the access point ARN, see the Examples section.

\n ", "smithy.api#endpoint": { "hostPrefix": "{AccountId}." }, @@ -2453,7 +2491,7 @@ "target": "com.amazonaws.s3control#GetBucketLifecycleConfigurationResult" }, "traits": { - "smithy.api#documentation": "\n

This action gets an Amazon S3 on Outposts bucket's lifecycle configuration. To get an \n S3 bucket's lifecycle configuration, see GetBucketLifecycleConfiguration in the Amazon S3 API Reference.\n

\n
\n

Returns the lifecycle configuration information set on the Outposts bucket. For more\n information, see Using Amazon S3 on Outposts and for\n information about lifecycle configuration, see Object Lifecycle Management in\n Amazon S3 User Guide.

\n \n

To use this action, you must have permission to perform the s3-outposts:GetLifecycleConfiguration action. \n The Outposts bucket owner has this permission, by default. The bucket owner can grant this permission to others. For more \n information about permissions, see Permissions \n Related to Bucket Subresource Operations and Managing Access Permissions to Your Amazon S3 Resources.

\n \n

All Amazon S3 on Outposts REST API requests for this action require an additional parameter of x-amz-outpost-id to be passed with the request and an S3 on Outposts endpoint hostname prefix instead of s3-control. For an example of the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname prefix and the x-amz-outpost-id derived using the access point ARN, see the Examples section.

\n \n

\n GetBucketLifecycleConfiguration has the following special error:

\n \n

The following actions are related to GetBucketLifecycleConfiguration:

\n ", + "smithy.api#documentation": "\n

This action gets an Amazon S3 on Outposts bucket's lifecycle configuration. To get an S3\n bucket's lifecycle configuration, see GetBucketLifecycleConfiguration in the Amazon S3 API Reference.\n

\n
\n

Returns the lifecycle configuration information set on the Outposts bucket. For more\n information, see Using Amazon S3 on Outposts and for\n information about lifecycle configuration, see Object Lifecycle\n Management in Amazon S3 User Guide.

\n\n

To use this action, you must have permission to perform the\n s3-outposts:GetLifecycleConfiguration action. The Outposts bucket owner\n has this permission, by default. The bucket owner can grant this permission to others. For\n more information about permissions, see Permissions Related to Bucket Subresource Operations and Managing\n Access Permissions to Your Amazon S3 Resources.

\n\n

All Amazon S3 on Outposts REST API requests for this action require an additional parameter of x-amz-outpost-id to be passed with the request and an S3 on Outposts endpoint hostname prefix instead of s3-control. For an example of the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname prefix and the x-amz-outpost-id derived using the access point ARN, see the Examples section.

\n\n

\n GetBucketLifecycleConfiguration has the following special error:

\n \n

The following actions are related to\n GetBucketLifecycleConfiguration:

\n ", "smithy.api#endpoint": { "hostPrefix": "{AccountId}." }, @@ -2479,7 +2517,7 @@ "Bucket": { "target": "com.amazonaws.s3control#BucketName", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the bucket.

\n

For using this parameter with Amazon S3 on Outposts with the REST API, you must specify the name and the x-amz-outpost-id as well.

\n

For using this parameter with S3 on Outposts with the Amazon Web Services SDK and CLI, you must specify the ARN of the bucket accessed in the format arn:aws:s3-outposts:::outpost//bucket/. For example, to access the bucket reports through outpost my-outpost owned by account 123456789012 in Region us-west-2, use the URL encoding of arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/reports. The value must be URL encoded.

", + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the bucket.

\n

For using this parameter with Amazon S3 on Outposts with the REST API, you must specify the name and the x-amz-outpost-id as well.

\n

For using this parameter with S3 on Outposts with the Amazon Web Services SDK and CLI, you must specify the ARN of the bucket accessed in the format arn:aws:s3-outposts:::outpost//bucket/. For example, to access the bucket reports through outpost my-outpost owned by account 123456789012 in Region us-west-2, use the URL encoding of arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/reports. The value must be URL encoded.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -2506,7 +2544,7 @@ "target": "com.amazonaws.s3control#GetBucketPolicyResult" }, "traits": { - "smithy.api#documentation": "\n

This action gets a bucket policy for an Amazon S3 on Outposts bucket. To get a policy for an S3\n bucket, see GetBucketPolicy in the\n Amazon S3 API Reference.

\n
\n

Returns the policy of a specified Outposts bucket. For more information, see Using Amazon S3 on Outposts in the\n Amazon S3 User Guide.

\n

If you are using an identity other than the root user of the Amazon Web Services account that owns the bucket, the calling identity \n must have the GetBucketPolicy permissions on the specified bucket and belong to the bucket owner's account in order to use this action.

\n \n

Only users from Outposts bucket owner account with the right permissions can perform actions on an Outposts bucket. \n If you don't have s3-outposts:GetBucketPolicy permissions or you're not using an identity that belongs to the bucket owner's \n account, Amazon S3 returns a 403 Access Denied error.

\n \n \n

As a security precaution, the root user of the Amazon Web Services account that owns a bucket can always use this action, even if the policy \n explicitly denies the root user the ability to perform this action.

\n
\n \n

For more information about bucket policies, see Using Bucket Policies and User Policies.

\n \n

All Amazon S3 on Outposts REST API requests for this action require an additional parameter of x-amz-outpost-id to be passed with the request and an S3 on Outposts endpoint hostname prefix instead of s3-control. For an example of the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname prefix and the x-amz-outpost-id derived using the access point ARN, see the Examples section.

\n \n

The following actions are related to GetBucketPolicy:

\n ", + "smithy.api#documentation": "\n

This action gets a bucket policy for an Amazon S3 on Outposts bucket. To get a policy for\n an S3 bucket, see GetBucketPolicy in the\n Amazon S3 API Reference.

\n
\n

Returns the policy of a specified Outposts bucket. For more information, see Using\n Amazon S3 on Outposts in the Amazon S3 User Guide.

\n

If you are using an identity other than the root user of the Amazon Web Services account that owns the\n bucket, the calling identity must have the GetBucketPolicy permissions on the\n specified bucket and belong to the bucket owner's account in order to use this\n action.

\n\n

Only users from Outposts bucket owner account with the right permissions can perform\n actions on an Outposts bucket. If you don't have s3-outposts:GetBucketPolicy\n permissions or you're not using an identity that belongs to the bucket owner's account,\n Amazon S3 returns a 403 Access Denied error.

\n\n \n

As a security precaution, the root user of the Amazon Web Services account that owns a bucket can\n always use this action, even if the policy explicitly denies the root user the ability\n to perform this action.

\n
\n\n

For more information about bucket policies, see Using Bucket Policies and User\n Policies.

\n\n

All Amazon S3 on Outposts REST API requests for this action require an additional parameter of x-amz-outpost-id to be passed with the request and an S3 on Outposts endpoint hostname prefix instead of s3-control. For an example of the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname prefix and the x-amz-outpost-id derived using the access point ARN, see the Examples section.

\n\n

The following actions are related to GetBucketPolicy:

\n ", "smithy.api#endpoint": { "hostPrefix": "{AccountId}." }, @@ -2565,7 +2603,7 @@ "Bucket": { "target": "com.amazonaws.s3control#BucketName", "traits": { - "smithy.api#documentation": "

Specifies the bucket.

\n

For using this parameter with Amazon S3 on Outposts with the REST API, you must specify the name and the x-amz-outpost-id as well.

\n

For using this parameter with S3 on Outposts with the Amazon Web Services SDK and CLI, you must specify the ARN of the bucket accessed in the format arn:aws:s3-outposts:::outpost//bucket/. For example, to access the bucket reports through outpost my-outpost owned by account 123456789012 in Region us-west-2, use the URL encoding of arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/reports. The value must be URL encoded.

", + "smithy.api#documentation": "

Specifies the bucket.

\n

For using this parameter with Amazon S3 on Outposts with the REST API, you must specify the name and the x-amz-outpost-id as well.

\n

For using this parameter with S3 on Outposts with the Amazon Web Services SDK and CLI, you must specify the ARN of the bucket accessed in the format arn:aws:s3-outposts:::outpost//bucket/. For example, to access the bucket reports through outpost my-outpost owned by account 123456789012 in Region us-west-2, use the URL encoding of arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/bucket/reports. The value must be URL encoded.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -2604,7 +2642,7 @@ "target": "com.amazonaws.s3control#GetBucketTaggingResult" }, "traits": { - "smithy.api#documentation": "\n

This action gets an Amazon S3 on Outposts bucket's tags. To get an \n S3 bucket tags, see GetBucketTagging in the Amazon S3 API Reference.\n

\n
\n

Returns the tag set associated with the Outposts bucket. For more information, see\n Using Amazon S3 on Outposts in the\n Amazon S3 User Guide.

\n

To use this action, you must have permission to perform the GetBucketTagging action. \n By default, the bucket owner has this permission and can grant this permission to others.

\n \n

\n GetBucketTagging has the following special error:

\n \n

All Amazon S3 on Outposts REST API requests for this action require an additional parameter of x-amz-outpost-id to be passed with the request and an S3 on Outposts endpoint hostname prefix instead of s3-control. For an example of the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname prefix and the x-amz-outpost-id derived using the access point ARN, see the Examples section.

\n \n

The following actions are related to GetBucketTagging:

\n ", + "smithy.api#documentation": "\n

This action gets an Amazon S3 on Outposts bucket's tags. To get an S3 bucket tags, see\n GetBucketTagging in the Amazon S3 API Reference.

\n
\n

Returns the tag set associated with the Outposts bucket. For more information, see\n Using\n Amazon S3 on Outposts in the Amazon S3 User Guide.

\n

To use this action, you must have permission to perform the\n GetBucketTagging action. By default, the bucket owner has this permission\n and can grant this permission to others.

\n\n

\n GetBucketTagging has the following special error:

\n \n

All Amazon S3 on Outposts REST API requests for this action require an additional parameter of x-amz-outpost-id to be passed with the request and an S3 on Outposts endpoint hostname prefix instead of s3-control. For an example of the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname prefix and the x-amz-outpost-id derived using the access point ARN, see the Examples section.

\n\n

The following actions are related to GetBucketTagging:

\n ", "smithy.api#endpoint": { "hostPrefix": "{AccountId}." }, @@ -2722,7 +2760,7 @@ "target": "com.amazonaws.s3control#GetMultiRegionAccessPointResult" }, "traits": { - "smithy.api#documentation": "

Returns configuration information about the specified Multi-Region Access Point.

\n

This action will always be routed to the US West (Oregon) Region. For more\n information about the restrictions around managing Multi-Region Access Points, see Managing\n Multi-Region Access Points in the\n Amazon S3 User Guide.

\n

The following actions are related to GetMultiRegionAccessPoint:

\n ", + "smithy.api#documentation": "

Returns configuration information about the specified Multi-Region Access Point.

\n

This action will always be routed to the US West (Oregon) Region. For more information\n about the restrictions around managing Multi-Region Access Points, see Managing\n Multi-Region Access Points in the Amazon S3 User Guide.

\n

The following actions are related to GetMultiRegionAccessPoint:

\n ", "smithy.api#endpoint": { "hostPrefix": "{AccountId}." }, @@ -2743,7 +2781,7 @@ "target": "com.amazonaws.s3control#GetMultiRegionAccessPointPolicyResult" }, "traits": { - "smithy.api#documentation": "

Returns the access control policy of the specified Multi-Region Access Point.

\n

This action will always be routed to the US West (Oregon) Region. For more\n information about the restrictions around managing Multi-Region Access Points, see Managing\n Multi-Region Access Points in the\n Amazon S3 User Guide.

\n

The following actions are related to GetMultiRegionAccessPointPolicy:

\n ", + "smithy.api#documentation": "

Returns the access control policy of the specified Multi-Region Access Point.

\n

This action will always be routed to the US West (Oregon) Region. For more information\n about the restrictions around managing Multi-Region Access Points, see Managing\n Multi-Region Access Points in the Amazon S3 User Guide.

\n

The following actions are related to\n GetMultiRegionAccessPointPolicy:

\n ", "smithy.api#endpoint": { "hostPrefix": "{AccountId}." }, @@ -2770,7 +2808,7 @@ "Name": { "target": "com.amazonaws.s3control#MultiRegionAccessPointName", "traits": { - "smithy.api#documentation": "

Specifies the Multi-Region Access Point. The name of the Multi-Region Access Point is different from the alias. For more\n information about the distinction between the name and the alias of an Multi-Region Access Point, see\n Managing Multi-Region Access Points in the\n Amazon S3 User Guide.

", + "smithy.api#documentation": "

Specifies the Multi-Region Access Point. The name of the Multi-Region Access Point is different from the alias. For more\n information about the distinction between the name and the alias of an Multi-Region Access Point, see Managing Multi-Region Access Points in the\n Amazon S3 User Guide.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -2797,7 +2835,7 @@ "target": "com.amazonaws.s3control#GetMultiRegionAccessPointPolicyStatusResult" }, "traits": { - "smithy.api#documentation": "

Indicates whether the specified Multi-Region Access Point has an access control policy that allows public\n access.

\n

This action will always be routed to the US West (Oregon) Region. For more\n information about the restrictions around managing Multi-Region Access Points, see Managing\n Multi-Region Access Points in the\n Amazon S3 User Guide.

\n

The following actions are related to GetMultiRegionAccessPointPolicyStatus:

\n ", + "smithy.api#documentation": "

Indicates whether the specified Multi-Region Access Point has an access control policy that allows public\n access.

\n

This action will always be routed to the US West (Oregon) Region. For more information\n about the restrictions around managing Multi-Region Access Points, see Managing\n Multi-Region Access Points in the Amazon S3 User Guide.

\n

The following actions are related to\n GetMultiRegionAccessPointPolicyStatus:

\n ", "smithy.api#endpoint": { "hostPrefix": "{AccountId}." }, @@ -2824,7 +2862,7 @@ "Name": { "target": "com.amazonaws.s3control#MultiRegionAccessPointName", "traits": { - "smithy.api#documentation": "

Specifies the Multi-Region Access Point. The name of the Multi-Region Access Point is different from the alias. For more\n information about the distinction between the name and the alias of an Multi-Region Access Point, see\n Managing Multi-Region Access Points in the\n Amazon S3 User Guide.

", + "smithy.api#documentation": "

Specifies the Multi-Region Access Point. The name of the Multi-Region Access Point is different from the alias. For more\n information about the distinction between the name and the alias of an Multi-Region Access Point, see Managing Multi-Region Access Points in the\n Amazon S3 User Guide.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -2854,7 +2892,7 @@ "Name": { "target": "com.amazonaws.s3control#MultiRegionAccessPointName", "traits": { - "smithy.api#documentation": "

The name of the Multi-Region Access Point whose configuration information you want to receive. The name of\n the Multi-Region Access Point is different from the alias. For more information about the distinction\n between the name and the alias of an Multi-Region Access Point, see Managing Multi-Region Access Points in the\n Amazon S3 User Guide.

", + "smithy.api#documentation": "

The name of the Multi-Region Access Point whose configuration information you want to receive. The name of\n the Multi-Region Access Point is different from the alias. For more information about the distinction between\n the name and the alias of an Multi-Region Access Point, see Managing Multi-Region Access Points in the\n Amazon S3 User Guide.

", "smithy.api#httpLabel": {}, "smithy.api#required": {} } @@ -2886,7 +2924,7 @@ } ], "traits": { - "smithy.api#documentation": "

Retrieves the PublicAccessBlock configuration for an Amazon Web Services account. For more\n information, see Using Amazon S3 block\n public access.

\n

Related actions include:

\n ", + "smithy.api#documentation": "

Retrieves the PublicAccessBlock configuration for an Amazon Web Services account. For\n more information, see Using Amazon S3 block\n public access.

\n

Related actions include:

\n ", "smithy.api#endpoint": { "hostPrefix": "{AccountId}." }, @@ -2903,7 +2941,7 @@ "PublicAccessBlockConfiguration": { "target": "com.amazonaws.s3control#PublicAccessBlockConfiguration", "traits": { - "smithy.api#documentation": "

The PublicAccessBlock configuration currently in effect for this Amazon Web Services account.

", + "smithy.api#documentation": "

The PublicAccessBlock configuration currently in effect for this\n Amazon Web Services account.

", "smithy.api#httpPayload": {} } } @@ -2915,7 +2953,7 @@ "AccountId": { "target": "com.amazonaws.s3control#AccountId", "traits": { - "smithy.api#documentation": "

The account ID for the Amazon Web Services account whose PublicAccessBlock configuration you want\n to retrieve.

", + "smithy.api#documentation": "

The account ID for the Amazon Web Services account whose PublicAccessBlock configuration\n you want to retrieve.

", "smithy.api#hostLabel": {}, "smithy.api#httpHeader": "x-amz-account-id", "smithy.api#required": {} @@ -2932,7 +2970,7 @@ "target": "com.amazonaws.s3control#GetStorageLensConfigurationResult" }, "traits": { - "smithy.api#documentation": "

Gets the Amazon S3 Storage Lens configuration. For more information, see \n Assessing your storage \n activity and usage with Amazon S3 Storage Lens in the \n Amazon S3 User Guide.

\n \n

To use this action,\n you must have permission to perform the s3:GetStorageLensConfiguration action. For more\n information, see Setting permissions to use Amazon S3 Storage Lens in the\n Amazon S3 User Guide.

\n
", + "smithy.api#documentation": "

Gets the Amazon S3 Storage Lens configuration. For more information, see Assessing your storage\n activity and usage with Amazon S3 Storage Lens in the\n Amazon S3 User Guide.

\n \n

To use this action, you must have permission to perform the\n s3:GetStorageLensConfiguration action. For more information, see Setting permissions to use Amazon S3 Storage Lens in the\n Amazon S3 User Guide.

\n
", "smithy.api#endpoint": { "hostPrefix": "{AccountId}." }, @@ -2986,7 +3024,7 @@ "target": "com.amazonaws.s3control#GetStorageLensConfigurationTaggingResult" }, "traits": { - "smithy.api#documentation": "

Gets the tags of Amazon S3 Storage Lens configuration. For more information about S3 Storage Lens, see \n Assessing your storage \n activity and usage with Amazon S3 Storage Lens in the Amazon S3 User Guide.

\n \n

To use this action,\n you must have permission to perform the s3:GetStorageLensConfigurationTagging action. For more\n information, see Setting permissions to use Amazon S3 Storage Lens in the\n Amazon S3 User Guide.

\n
", + "smithy.api#documentation": "

Gets the tags of Amazon S3 Storage Lens configuration. For more information about S3 Storage Lens, see\n Assessing your\n storage activity and usage with Amazon S3 Storage Lens in the\n Amazon S3 User Guide.

\n \n

To use this action, you must have permission to perform the\n s3:GetStorageLensConfigurationTagging action. For more information, see\n Setting permissions to\n use Amazon S3 Storage Lens in the Amazon S3 User Guide.

\n
", "smithy.api#endpoint": { "hostPrefix": "{AccountId}." }, @@ -3158,13 +3196,13 @@ "target": "com.amazonaws.s3control#ConfirmationRequired", "traits": { "smithy.api#box": {}, - "smithy.api#documentation": "

Indicates whether confirmation is required before Amazon S3 begins running the specified job. Confirmation is required only for jobs created through the Amazon S3 console.

" + "smithy.api#documentation": "

Indicates whether confirmation is required before Amazon S3 begins running the specified job.\n Confirmation is required only for jobs created through the Amazon S3 console.

" } }, "Description": { "target": "com.amazonaws.s3control#NonEmptyMaxLength256String", "traits": { - "smithy.api#documentation": "

The description for this job, if one was provided in this job's Create Job request.

" + "smithy.api#documentation": "

The description for this job, if one was provided in this job's Create Job\n request.

" } }, "JobArn": { @@ -3188,7 +3226,7 @@ "Operation": { "target": "com.amazonaws.s3control#JobOperation", "traits": { - "smithy.api#documentation": "

The operation that the specified job is configured to run on the objects listed in the manifest.

" + "smithy.api#documentation": "

The operation that the specified job is configured to run on the objects listed in the\n manifest.

" } }, "Priority": { @@ -3212,13 +3250,13 @@ "FailureReasons": { "target": "com.amazonaws.s3control#JobFailureList", "traits": { - "smithy.api#documentation": "

If the specified job failed, this field contains information describing the failure.

" + "smithy.api#documentation": "

If the specified job failed, this field contains information describing the\n failure.

" } }, "Report": { "target": "com.amazonaws.s3control#JobReport", "traits": { - "smithy.api#documentation": "

Contains the configuration information for the job-completion report if you requested one in the Create Job request.

" + "smithy.api#documentation": "

Contains the configuration information for the job-completion report if you requested\n one in the Create Job request.

" } }, "CreationTime": { @@ -3230,13 +3268,13 @@ "TerminationDate": { "target": "com.amazonaws.s3control#JobTerminationDate", "traits": { - "smithy.api#documentation": "

A timestamp indicating when this job terminated. A job's termination date is the date and time when it succeeded, failed, or was canceled.

" + "smithy.api#documentation": "

A timestamp indicating when this job terminated. A job's termination date is the date\n and time when it succeeded, failed, or was canceled.

" } }, "RoleArn": { "target": "com.amazonaws.s3control#IAMRoleArn", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) for the Identity and Access Management (IAM) role\n assigned to run the tasks for this job.

" + "smithy.api#documentation": "

The Amazon Resource Name (ARN) for the Identity and Access Management (IAM) role assigned to run the tasks\n for this job.

" } }, "SuspendedDate": { @@ -3248,12 +3286,24 @@ "SuspendedCause": { "target": "com.amazonaws.s3control#SuspendedCause", "traits": { - "smithy.api#documentation": "

The reason why the specified job was suspended. A job is only suspended if you create it through the Amazon S3 console. When you create the job, it enters\n the Suspended state to await confirmation before running. After you confirm the job, it automatically exits the Suspended state.

" + "smithy.api#documentation": "

The reason why the specified job was suspended. A job is only suspended if you create it\n through the Amazon S3 console. When you create the job, it enters the Suspended\n state to await confirmation before running. After you confirm the job, it automatically\n exits the Suspended state.

" + } + }, + "ManifestGenerator": { + "target": "com.amazonaws.s3control#JobManifestGenerator", + "traits": { + "smithy.api#documentation": "

The manifest generator that was used to generate a job manifest for this job.

" + } + }, + "GeneratedManifestDescriptor": { + "target": "com.amazonaws.s3control#S3GeneratedManifestDescriptor", + "traits": { + "smithy.api#documentation": "

The attribute of the JobDescriptor containing details about the job's generated\n manifest.

" } } }, "traits": { - "smithy.api#documentation": "

A container element for the job configuration and status information returned by a Describe Job request.

" + "smithy.api#documentation": "

A container element for the job configuration and status information returned by a\n Describe Job request.

" } }, "com.amazonaws.s3control#JobFailure": { @@ -3322,13 +3372,13 @@ "Description": { "target": "com.amazonaws.s3control#NonEmptyMaxLength256String", "traits": { - "smithy.api#documentation": "

The user-specified description that was included in the specified job's Create Job request.

" + "smithy.api#documentation": "

The user-specified description that was included in the specified job's Create\n Job request.

" } }, "Operation": { "target": "com.amazonaws.s3control#OperationName", "traits": { - "smithy.api#documentation": "

The operation that the specified job is configured to run on every object listed in the manifest.

" + "smithy.api#documentation": "

The operation that the specified job is configured to run on every object listed in the\n manifest.

" } }, "Priority": { @@ -3352,7 +3402,7 @@ "TerminationDate": { "target": "com.amazonaws.s3control#JobTerminationDate", "traits": { - "smithy.api#documentation": "

A timestamp indicating when the specified job terminated. A job's termination date is the date and time when it succeeded, failed, or was canceled.

" + "smithy.api#documentation": "

A timestamp indicating when the specified job terminated. A job's termination date is\n the date and time when it succeeded, failed, or was canceled.

" } }, "ProgressSummary": { @@ -3363,7 +3413,7 @@ } }, "traits": { - "smithy.api#documentation": "

Contains the configuration and status information for a single job retrieved as part of a job list.

" + "smithy.api#documentation": "

Contains the configuration and status information for a single job retrieved as part of\n a job list.

" } }, "com.amazonaws.s3control#JobListDescriptorList": { @@ -3378,7 +3428,7 @@ "Spec": { "target": "com.amazonaws.s3control#JobManifestSpec", "traits": { - "smithy.api#documentation": "

Describes the format of the specified job's manifest. If the manifest is in CSV format, also describes the columns contained within the manifest.

", + "smithy.api#documentation": "

Describes the format of the specified job's manifest. If the manifest is in CSV format,\n also describes the columns contained within the manifest.

", "smithy.api#required": {} } }, @@ -3438,6 +3488,53 @@ ] } }, + "com.amazonaws.s3control#JobManifestGenerator": { + "type": "union", + "members": { + "S3JobManifestGenerator": { + "target": "com.amazonaws.s3control#S3JobManifestGenerator", + "traits": { + "smithy.api#documentation": "

The S3 job ManifestGenerator's configuration details.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Configures the type of the job's ManifestGenerator.

" + } + }, + "com.amazonaws.s3control#JobManifestGeneratorFilter": { + "type": "structure", + "members": { + "EligibleForReplication": { + "target": "com.amazonaws.s3control#Boolean", + "traits": { + "smithy.api#box": {}, + "smithy.api#documentation": "

Include objects in the generated manifest only if they are eligible for replication\n according to the Replication configuration on the source bucket.

" + } + }, + "CreatedAfter": { + "target": "com.amazonaws.s3control#ObjectCreationTime", + "traits": { + "smithy.api#documentation": "

If provided, the generated manifest should include only source bucket objects that were\n created after this time.

" + } + }, + "CreatedBefore": { + "target": "com.amazonaws.s3control#ObjectCreationTime", + "traits": { + "smithy.api#documentation": "

If provided, the generated manifest should include only source bucket objects that were\n created before this time.

" + } + }, + "ObjectReplicationStatuses": { + "target": "com.amazonaws.s3control#ReplicationStatusFilterList", + "traits": { + "smithy.api#documentation": "

If provided, the generated manifest should include only source bucket objects that have\n one of the specified Replication statuses.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

The filter used to describe a set of objects for the job's manifest.

" + } + }, "com.amazonaws.s3control#JobManifestLocation": { "type": "structure", "members": { @@ -3479,12 +3576,12 @@ "Fields": { "target": "com.amazonaws.s3control#JobManifestFieldList", "traits": { - "smithy.api#documentation": "

If the specified manifest object is in the S3BatchOperations_CSV_20180820 format, this element describes which columns contain the required data.

" + "smithy.api#documentation": "

If the specified manifest object is in the S3BatchOperations_CSV_20180820\n format, this element describes which columns contain the required data.

" } } }, "traits": { - "smithy.api#documentation": "

Describes the format of a manifest. If the manifest is in CSV format, also describes the columns contained within the manifest.

" + "smithy.api#documentation": "

Describes the format of a manifest. If the manifest is in CSV format, also describes the\n columns contained within the manifest.

" } }, "com.amazonaws.s3control#JobNumberOfTasksFailed": { @@ -3509,37 +3606,37 @@ "LambdaInvoke": { "target": "com.amazonaws.s3control#LambdaInvokeOperation", "traits": { - "smithy.api#documentation": "

Directs the specified job to invoke an Lambda function on every object in the manifest.

" + "smithy.api#documentation": "

Directs the specified job to invoke an Lambda function on every object in the\n manifest.

" } }, "S3PutObjectCopy": { "target": "com.amazonaws.s3control#S3CopyObjectOperation", "traits": { - "smithy.api#documentation": "

Directs the specified job to run a PUT Copy object call on every object in the manifest.

" + "smithy.api#documentation": "

Directs the specified job to run a PUT Copy object call on every object in the\n manifest.

" } }, "S3PutObjectAcl": { "target": "com.amazonaws.s3control#S3SetObjectAclOperation", "traits": { - "smithy.api#documentation": "

Directs the specified job to run a PUT Object acl call on every object in the manifest.

" + "smithy.api#documentation": "

Directs the specified job to run a PUT Object acl call on every object in the\n manifest.

" } }, "S3PutObjectTagging": { "target": "com.amazonaws.s3control#S3SetObjectTaggingOperation", "traits": { - "smithy.api#documentation": "

Directs the specified job to run a PUT Object tagging call on every object in the manifest.

" + "smithy.api#documentation": "

Directs the specified job to run a PUT Object tagging call on every object in the\n manifest.

" } }, "S3DeleteObjectTagging": { "target": "com.amazonaws.s3control#S3DeleteObjectTaggingOperation", "traits": { - "smithy.api#documentation": "

Directs the specified job to execute a DELETE Object tagging call on every object in the manifest.

" + "smithy.api#documentation": "

Directs the specified job to execute a DELETE Object tagging call on every object in the\n manifest.

" } }, "S3InitiateRestoreObject": { "target": "com.amazonaws.s3control#S3InitiateRestoreObjectOperation", "traits": { - "smithy.api#documentation": "

Directs the specified job to initiate restore requests for every archived object in the manifest.

" + "smithy.api#documentation": "

Directs the specified job to initiate restore requests for every archived object in the\n manifest.

" } }, "S3PutObjectLegalHold": { @@ -3547,6 +3644,12 @@ }, "S3PutObjectRetention": { "target": "com.amazonaws.s3control#S3SetObjectRetentionOperation" + }, + "S3ReplicateObject": { + "target": "com.amazonaws.s3control#S3ReplicateObjectOperation", + "traits": { + "smithy.api#documentation": "

Directs the specified job to invoke ReplicateObject on every object in the\n job's manifest.

" + } } }, "traits": { @@ -3585,10 +3688,16 @@ "smithy.api#box": {}, "smithy.api#documentation": "

" } + }, + "Timers": { + "target": "com.amazonaws.s3control#JobTimers", + "traits": { + "smithy.api#documentation": "

The JobTimers attribute of a job's progress summary.

" + } } }, "traits": { - "smithy.api#documentation": "

Describes the total number of tasks that the specified job has started, the number of tasks that succeeded, and the number of tasks that failed.

" + "smithy.api#documentation": "

Describes the total number of tasks that the specified job has started, the number of\n tasks that succeeded, and the number of tasks that failed.

" } }, "com.amazonaws.s3control#JobReport": { @@ -3597,7 +3706,7 @@ "Bucket": { "target": "com.amazonaws.s3control#S3BucketArnString", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) for the bucket where specified job-completion report will be stored.

" + "smithy.api#documentation": "

The Amazon Resource Name (ARN) for the bucket where specified job-completion report will\n be stored.

" } }, "Format": { @@ -3622,7 +3731,7 @@ "ReportScope": { "target": "com.amazonaws.s3control#JobReportScope", "traits": { - "smithy.api#documentation": "

Indicates whether the job-completion report will include details of all tasks or only failed tasks.

" + "smithy.api#documentation": "

Indicates whether the job-completion report will include details of all tasks or only\n failed tasks.

" } } }, @@ -3745,6 +3854,29 @@ "com.amazonaws.s3control#JobTerminationDate": { "type": "timestamp" }, + "com.amazonaws.s3control#JobTimeInStateSeconds": { + "type": "long", + "traits": { + "smithy.api#range": { + "min": 0 + } + } + }, + "com.amazonaws.s3control#JobTimers": { + "type": "structure", + "members": { + "ElapsedTimeInActiveSeconds": { + "target": "com.amazonaws.s3control#JobTimeInStateSeconds", + "traits": { + "smithy.api#box": {}, + "smithy.api#documentation": "

Indicates the elapsed time in seconds the job has been in the Active job state.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Provides timing details for the job.

" + } + }, "com.amazonaws.s3control#JobTotalNumberOfTasks": { "type": "long", "traits": { @@ -3768,7 +3900,7 @@ "FunctionArn": { "target": "com.amazonaws.s3control#FunctionArnString", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) for the Lambda function that the specified job will invoke on every object in the manifest.

" + "smithy.api#documentation": "

The Amazon Resource Name (ARN) for the Lambda function that the specified job will\n invoke on every object in the manifest.

" } } }, @@ -3802,7 +3934,7 @@ "Days": { "target": "com.amazonaws.s3control#Days", "traits": { - "smithy.api#documentation": "

Indicates the lifetime, in days, of the objects that are subject to the rule. The value must be a non-zero positive integer.

" + "smithy.api#documentation": "

Indicates the lifetime, in days, of the objects that are subject to the rule. The value\n must be a non-zero positive integer.

" } }, "ExpiredObjectDeleteMarker": { @@ -3822,7 +3954,7 @@ "Expiration": { "target": "com.amazonaws.s3control#LifecycleExpiration", "traits": { - "smithy.api#documentation": "

Specifies the expiration for the lifecycle of the object in the form of date, days and, whether the object \n has a delete marker.

" + "smithy.api#documentation": "

Specifies the expiration for the lifecycle of the object in the form of date, days and,\n whether the object has a delete marker.

" } }, "ID": { @@ -3840,7 +3972,7 @@ "Status": { "target": "com.amazonaws.s3control#ExpirationStatus", "traits": { - "smithy.api#documentation": "

If 'Enabled', the rule is currently being applied. If 'Disabled', the rule is not currently being applied.

", + "smithy.api#documentation": "

If 'Enabled', the rule is currently being applied. If 'Disabled', the rule is not\n currently being applied.

", "smithy.api#required": {} } }, @@ -3885,7 +4017,7 @@ "Tags": { "target": "com.amazonaws.s3control#S3TagSet", "traits": { - "smithy.api#documentation": "

All of these tags must exist in the object's tag set in order for the rule to apply.

" + "smithy.api#documentation": "

All of these tags must exist in the object's tag set in order for the rule to\n apply.

" } } }, @@ -3934,7 +4066,7 @@ "target": "com.amazonaws.s3control#ListAccessPointsResult" }, "traits": { - "smithy.api#documentation": "

Returns a list of the access points currently associated with the specified bucket. You\n can retrieve up to 1000 access points per call. If the specified bucket has more than 1,000\n access points (or the number specified in maxResults, whichever is less), the\n response will include a continuation token that you can use to list the additional access points.

\n

\n

All Amazon S3 on Outposts REST API requests for this action require an additional parameter of x-amz-outpost-id to be passed with the request and an S3 on Outposts endpoint hostname prefix instead of s3-control. For an example of the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname prefix and the x-amz-outpost-id derived using the access point ARN, see the Examples section.

\n

The following actions are related to ListAccessPoints:

\n ", + "smithy.api#documentation": "

Returns a list of the access points currently associated with the specified bucket. You can\n retrieve up to 1000 access points per call. If the specified bucket has more than 1,000 access points (or\n the number specified in maxResults, whichever is less), the response will\n include a continuation token that you can use to list the additional access points.

\n

\n

All Amazon S3 on Outposts REST API requests for this action require an additional parameter of x-amz-outpost-id to be passed with the request and an S3 on Outposts endpoint hostname prefix instead of s3-control. For an example of the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname prefix and the x-amz-outpost-id derived using the access point ARN, see the Examples section.

\n

The following actions are related to ListAccessPoints:

\n ", "smithy.api#endpoint": { "hostPrefix": "{AccountId}." }, @@ -3959,7 +4091,7 @@ "target": "com.amazonaws.s3control#ListAccessPointsForObjectLambdaResult" }, "traits": { - "smithy.api#documentation": "

Returns a list of the access points associated with the Object Lambda Access Point. You\n can retrieve up to 1000 access points per call. If there are more than 1,000\n access points (or the number specified in maxResults, whichever is less), the\n response will include a continuation token that you can use to list the additional access points.

\n

The following actions are related to ListAccessPointsForObjectLambda:

\n ", + "smithy.api#documentation": "

Returns some or all (up to 1,000) access points associated with the Object Lambda Access Point per call. If there\n are more access points than what can be returned in one call, the response will include a\n continuation token that you can use to list the additional access points.

\n

The following actions are related to\n ListAccessPointsForObjectLambda:

\n ", "smithy.api#endpoint": { "hostPrefix": "{AccountId}." }, @@ -3990,14 +4122,14 @@ "NextToken": { "target": "com.amazonaws.s3control#NonEmptyMaxLength1024String", "traits": { - "smithy.api#documentation": "

If the list has more access points than can be returned in one call to this\n API, this field contains a continuation token that you can provide in subsequent calls to\n this API to retrieve additional access points.

", + "smithy.api#documentation": "

If the list has more access points than can be returned in one call to this API, this field\n contains a continuation token that you can provide in subsequent calls to this API to\n retrieve additional access points.

", "smithy.api#httpQuery": "nextToken" } }, "MaxResults": { "target": "com.amazonaws.s3control#MaxResults", "traits": { - "smithy.api#documentation": "

The maximum number of access points that you want to include in the list. If there are more than this number of access points, then the response will include a continuation token in the NextToken field that you can use to retrieve the next page of access points.

", + "smithy.api#documentation": "

The maximum number of access points that you want to include in the list. The response may\n contain fewer access points but will never contain more. If there are more than this number of\n access points, then the response will include a continuation token in the NextToken\n field that you can use to retrieve the next page of access points.

", "smithy.api#httpQuery": "maxResults" } } @@ -4015,7 +4147,7 @@ "NextToken": { "target": "com.amazonaws.s3control#NonEmptyMaxLength1024String", "traits": { - "smithy.api#documentation": "

If the list has more access points than can be returned in one call to this\n API, this field contains a continuation token that you can provide in subsequent calls to\n this API to retrieve additional access points.

" + "smithy.api#documentation": "

If the list has more access points than can be returned in one call to this API, this field\n contains a continuation token that you can provide in subsequent calls to this API to\n retrieve additional access points.

" } } } @@ -4042,14 +4174,14 @@ "NextToken": { "target": "com.amazonaws.s3control#NonEmptyMaxLength1024String", "traits": { - "smithy.api#documentation": "

A continuation token. If a previous call to ListAccessPoints returned a continuation token in the NextToken field, then providing that value here causes Amazon S3 to retrieve the next page of results.

", + "smithy.api#documentation": "

A continuation token. If a previous call to ListAccessPoints returned a\n continuation token in the NextToken field, then providing that value here\n causes Amazon S3 to retrieve the next page of results.

", "smithy.api#httpQuery": "nextToken" } }, "MaxResults": { "target": "com.amazonaws.s3control#MaxResults", "traits": { - "smithy.api#documentation": "

The maximum number of access points that you want to include in the list. If the specified\n bucket has more than this number of access points, then the response will include a\n continuation token in the NextToken field that you can use to retrieve the\n next page of access points.

", + "smithy.api#documentation": "

The maximum number of access points that you want to include in the list. If the specified\n bucket has more than this number of access points, then the response will include a continuation\n token in the NextToken field that you can use to retrieve the next page of\n access points.

", "smithy.api#httpQuery": "maxResults" } } @@ -4061,13 +4193,13 @@ "AccessPointList": { "target": "com.amazonaws.s3control#AccessPointList", "traits": { - "smithy.api#documentation": "

Contains identification and configuration information for one or more access points\n associated with the specified bucket.

" + "smithy.api#documentation": "

Contains identification and configuration information for one or more access points associated\n with the specified bucket.

" } }, "NextToken": { "target": "com.amazonaws.s3control#NonEmptyMaxLength1024String", "traits": { - "smithy.api#documentation": "

If the specified bucket has more access points than can be returned in one call to this\n API, this field contains a continuation token that you can provide in subsequent calls to\n this API to retrieve additional access points.

" + "smithy.api#documentation": "

If the specified bucket has more access points than can be returned in one call to this API,\n this field contains a continuation token that you can provide in subsequent calls to this\n API to retrieve additional access points.

" } } } @@ -4092,7 +4224,7 @@ } ], "traits": { - "smithy.api#documentation": "

Lists current S3 Batch Operations jobs and jobs that have ended within the last 30 days for\n the Amazon Web Services account making the request. For more information, see S3 Batch Operations in the\n Amazon S3 User Guide.

\n

Related actions include:

\n

\n ", + "smithy.api#documentation": "

Lists current S3 Batch Operations jobs and jobs that have ended within the last 30 days for\n the Amazon Web Services account making the request. For more information, see S3 Batch Operations in the\n Amazon S3 User Guide.

\n

Related actions include:

\n

\n ", "smithy.api#endpoint": { "hostPrefix": "{AccountId}." }, @@ -4123,14 +4255,14 @@ "JobStatuses": { "target": "com.amazonaws.s3control#JobStatusList", "traits": { - "smithy.api#documentation": "

The List Jobs request returns jobs that match the statuses listed in this element.

", + "smithy.api#documentation": "

The List Jobs request returns jobs that match the statuses listed in this\n element.

", "smithy.api#httpQuery": "jobStatuses" } }, "NextToken": { "target": "com.amazonaws.s3control#StringForNextToken", "traits": { - "smithy.api#documentation": "

A pagination token to request the next page of results. Use the token that Amazon S3 returned in the NextToken element of the ListJobsResult from the previous List Jobs request.

", + "smithy.api#documentation": "

A pagination token to request the next page of results. Use the token that Amazon S3 returned\n in the NextToken element of the ListJobsResult from the previous\n List Jobs request.

", "smithy.api#httpQuery": "nextToken" } }, @@ -4138,7 +4270,7 @@ "target": "com.amazonaws.s3control#MaxResults", "traits": { "smithy.api#box": {}, - "smithy.api#documentation": "

The maximum number of jobs that Amazon S3 will include in the List Jobs response. If there are more jobs than this number, the response will include a pagination token in the NextToken field to enable you to retrieve the next page of results.

", + "smithy.api#documentation": "

The maximum number of jobs that Amazon S3 will include in the List Jobs\n response. If there are more jobs than this number, the response will include a pagination\n token in the NextToken field to enable you to retrieve the next page of\n results.

", "smithy.api#httpQuery": "maxResults" } } @@ -4150,7 +4282,7 @@ "NextToken": { "target": "com.amazonaws.s3control#StringForNextToken", "traits": { - "smithy.api#documentation": "

If the List Jobs request produced more than the maximum number of results, you can pass this value into a subsequent List Jobs request in order to retrieve\n the next page of results.

" + "smithy.api#documentation": "

If the List Jobs request produced more than the maximum number of results,\n you can pass this value into a subsequent List Jobs request in order to\n retrieve the next page of results.

" } }, "Jobs": { @@ -4170,7 +4302,7 @@ "target": "com.amazonaws.s3control#ListMultiRegionAccessPointsResult" }, "traits": { - "smithy.api#documentation": "

Returns a list of the Multi-Region Access Points currently associated with the specified Amazon Web Services account. Each\n call can return up to 100 Multi-Region Access Points, the maximum number of Multi-Region Access Points that can be associated with\n a single account.

\n

This action will always be routed to the US West (Oregon) Region. For more\n information about the restrictions around managing Multi-Region Access Points, see Managing\n Multi-Region Access Points in the\n Amazon S3 User Guide.

\n

The following actions are related to ListMultiRegionAccessPoint:

\n ", + "smithy.api#documentation": "

Returns a list of the Multi-Region Access Points currently associated with the specified Amazon Web Services account.\n Each call can return up to 100 Multi-Region Access Points, the maximum number of Multi-Region Access Points that can be\n associated with a single account.

\n

This action will always be routed to the US West (Oregon) Region. For more information\n about the restrictions around managing Multi-Region Access Points, see Managing\n Multi-Region Access Points in the Amazon S3 User Guide.

\n

The following actions are related to ListMultiRegionAccessPoint:

\n ", "smithy.api#endpoint": { "hostPrefix": "{AccountId}." }, @@ -4227,7 +4359,7 @@ "NextToken": { "target": "com.amazonaws.s3control#NonEmptyMaxLength1024String", "traits": { - "smithy.api#documentation": "

If the specified bucket has more Multi-Region Access Points than can be returned in one call to this\n action, this field contains a continuation token. You can use this token tin subsequent\n calls to this action to retrieve additional Multi-Region Access Points.

" + "smithy.api#documentation": "

If the specified bucket has more Multi-Region Access Points than can be returned in one call to this\n action, this field contains a continuation token. You can use this token tin subsequent\n calls to this action to retrieve additional Multi-Region Access Points.

" } } } @@ -4304,7 +4436,7 @@ "NextToken": { "target": "com.amazonaws.s3control#NonEmptyMaxLength1024String", "traits": { - "smithy.api#documentation": "

\n NextToken is sent when isTruncated is true, which means\n there are more buckets that can be listed. The next list requests to Amazon S3\n can be continued with this NextToken.\n NextToken is obfuscated and is not a real key.

" + "smithy.api#documentation": "

\n NextToken is sent when isTruncated is true, which means there\n are more buckets that can be listed. The next list requests to Amazon S3 can be continued with\n this NextToken. NextToken is obfuscated and is not a real\n key.

" } } } @@ -4336,7 +4468,7 @@ "IsEnabled": { "target": "com.amazonaws.s3control#IsEnabled", "traits": { - "smithy.api#documentation": "

A container for whether the S3 Storage Lens configuration is enabled. This property is required.

" + "smithy.api#documentation": "

A container for whether the S3 Storage Lens configuration is enabled. This property is\n required.

" } } }, @@ -4353,7 +4485,7 @@ "target": "com.amazonaws.s3control#ListStorageLensConfigurationsResult" }, "traits": { - "smithy.api#documentation": "

Gets a list of Amazon S3 Storage Lens configurations. For more information about S3 Storage Lens, see \n Assessing your storage \n activity and usage with Amazon S3 Storage Lens in the \n Amazon S3 User Guide.

\n \n

To use this action,\n you must have permission to perform the s3:ListStorageLensConfigurations action. For more\n information, see Setting permissions to use Amazon S3 Storage Lens in the\n Amazon S3 User Guide.

\n
", + "smithy.api#documentation": "

Gets a list of Amazon S3 Storage Lens configurations. For more information about S3 Storage Lens, see\n Assessing your\n storage activity and usage with Amazon S3 Storage Lens in the\n Amazon S3 User Guide.

\n \n

To use this action, you must have permission to perform the\n s3:ListStorageLensConfigurations action. For more information, see\n Setting permissions to\n use Amazon S3 Storage Lens in the Amazon S3 User Guide.

\n
", "smithy.api#endpoint": { "hostPrefix": "{AccountId}." }, @@ -4410,6 +4542,15 @@ "com.amazonaws.s3control#Location": { "type": "string" }, + "com.amazonaws.s3control#ManifestPrefixString": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 512 + } + } + }, "com.amazonaws.s3control#MaxLength1024String": { "type": "string", "traits": { @@ -4484,7 +4625,7 @@ } }, "traits": { - "smithy.api#documentation": "

The Multi-Region Access Point access control policy.

\n

When you update the policy, the update is first listed as the proposed policy. After the\n update is finished and all Regions have been updated, the proposed policy is listed as\n the established policy. If both policies have the same version number, the proposed\n policy is the established policy.

" + "smithy.api#documentation": "

The Multi-Region Access Point access control policy.

\n

When you update the policy, the update is first listed as the proposed policy. After the\n update is finished and all Regions have been updated, the proposed policy is listed as the\n established policy. If both policies have the same version number, the proposed policy is\n the established policy.

" } }, "com.amazonaws.s3control#MultiRegionAccessPointRegionalResponse": { @@ -4528,7 +4669,7 @@ "Alias": { "target": "com.amazonaws.s3control#MultiRegionAccessPointAlias", "traits": { - "smithy.api#documentation": "

The alias for the Multi-Region Access Point. For more information about the distinction between the\n name and the alias of an Multi-Region Access Point, see Managing\n Multi-Region Access Points.

" + "smithy.api#documentation": "

The alias for the Multi-Region Access Point. For more information about the distinction between the name\n and the alias of an Multi-Region Access Point, see Managing Multi-Region Access Points.

" } }, "CreatedAt": { @@ -4543,7 +4684,7 @@ "Status": { "target": "com.amazonaws.s3control#MultiRegionAccessPointStatus", "traits": { - "smithy.api#documentation": "

The current status of the Multi-Region Access Point.

\n

\n CREATING and DELETING are temporary states that exist while\n the request is propogating and being completed. If a Multi-Region Access Point has a status of\n PARTIALLY_CREATED, you can retry creation or send a request to delete\n the Multi-Region Access Point. If a Multi-Region Access Point has a status of PARTIALLY_DELETED, you can retry a\n delete request to finish the deletion of the Multi-Region Access Point.

" + "smithy.api#documentation": "

The current status of the Multi-Region Access Point.

\n

\n CREATING and DELETING are temporary states that exist while\n the request is propogating and being completed. If a Multi-Region Access Point has a status of\n PARTIALLY_CREATED, you can retry creation or send a request to delete the\n Multi-Region Access Point. If a Multi-Region Access Point has a status of PARTIALLY_DELETED, you can retry a delete\n request to finish the deletion of the Multi-Region Access Point.

" } }, "Regions": { @@ -4603,7 +4744,7 @@ "Regions": { "target": "com.amazonaws.s3control#MultiRegionAccessPointRegionalResponseList", "traits": { - "smithy.api#documentation": "

A collection of status information for the different Regions that a Multi-Region Access Point\n supports.

" + "smithy.api#documentation": "

A collection of status information for the different Regions that a Multi-Region Access Point\n supports.

" } } }, @@ -4634,7 +4775,7 @@ } }, "traits": { - "smithy.api#documentation": "

Amazon S3 throws this exception if you make a GetPublicAccessBlock request\n against an account that doesn't have a PublicAccessBlockConfiguration set.

", + "smithy.api#documentation": "

Amazon S3 throws this exception if you make a GetPublicAccessBlock request\n against an account that doesn't have a PublicAccessBlockConfiguration\n set.

", "smithy.api#error": "client", "smithy.api#httpError": 404 } @@ -4684,7 +4825,7 @@ "NoncurrentDays": { "target": "com.amazonaws.s3control#Days", "traits": { - "smithy.api#documentation": "

Specifies the number of days an object is noncurrent before Amazon S3 can perform the\n associated action. For information about the noncurrent days calculations, see How\n Amazon S3 Calculates When an Object Became Noncurrent in the Amazon S3 User Guide.

" + "smithy.api#documentation": "

Specifies the number of days an object is noncurrent before Amazon S3 can perform the\n associated action. For information about the noncurrent days calculations, see How\n Amazon S3 Calculates When an Object Became Noncurrent in the\n Amazon S3 User Guide.

" } } }, @@ -4698,7 +4839,7 @@ "NoncurrentDays": { "target": "com.amazonaws.s3control#Days", "traits": { - "smithy.api#documentation": "

Specifies the number of days an object is noncurrent before Amazon S3 can perform the associated action. \n For information about the noncurrent days calculations, see \n \n How Amazon S3 Calculates How Long an Object Has Been Noncurrent in the Amazon S3 User Guide.

" + "smithy.api#documentation": "

Specifies the number of days an object is noncurrent before Amazon S3 can perform the\n associated action. For information about the noncurrent days calculations, see How\n Amazon S3 Calculates How Long an Object Has Been Noncurrent in the\n Amazon S3 User Guide.

" } }, "StorageClass": { @@ -4733,6 +4874,9 @@ "smithy.api#error": "client" } }, + "com.amazonaws.s3control#ObjectCreationTime": { + "type": "timestamp" + }, "com.amazonaws.s3control#ObjectLambdaAccessPoint": { "type": "structure", "members": { @@ -4751,7 +4895,7 @@ } }, "traits": { - "smithy.api#documentation": "

An access point with an attached Lambda function used to access transformed data from an Amazon S3 bucket.

" + "smithy.api#documentation": "

An access point with an attached Lambda function used to access transformed data from an Amazon S3\n bucket.

" } }, "com.amazonaws.s3control#ObjectLambdaAccessPointArn": { @@ -4826,7 +4970,7 @@ "AllowedFeatures": { "target": "com.amazonaws.s3control#ObjectLambdaAllowedFeaturesList", "traits": { - "smithy.api#documentation": "

A container for allowed features. Valid inputs are GetObject-Range\n and GetObject-PartNumber.

" + "smithy.api#documentation": "

A container for allowed features. Valid inputs are GetObject-Range and\n GetObject-PartNumber.

" } }, "TransformationConfigurations": { @@ -4874,7 +5018,7 @@ "Actions": { "target": "com.amazonaws.s3control#ObjectLambdaTransformationConfigurationActionsList", "traits": { - "smithy.api#documentation": "

A container for the action of an Object Lambda Access Point configuration. Valid input is GetObject.

", + "smithy.api#documentation": "

A container for the action of an Object Lambda Access Point configuration. Valid input is\n GetObject.

", "smithy.api#required": {} } }, @@ -4957,6 +5101,10 @@ { "value": "S3PutObjectRetention", "name": "S3PutObjectRetention" + }, + { + "value": "S3ReplicateObject", + "name": "S3ReplicateObject" } ] } @@ -4987,7 +5135,7 @@ } }, "traits": { - "smithy.api#documentation": "

Indicates whether this access point policy is public. For more information about how Amazon S3 evaluates policies to determine whether they are public, see \n The Meaning of \"Public\" in the \n\t Amazon S3 User Guide.\n

" + "smithy.api#documentation": "

Indicates whether this access point policy is public. For more information about how Amazon S3\n evaluates policies to determine whether they are public, see The Meaning of \"Public\" in the Amazon S3 User Guide.

" } }, "com.amazonaws.s3control#Prefix": { @@ -5036,7 +5184,7 @@ } }, "traits": { - "smithy.api#documentation": "

The proposed access control policy for the Multi-Region Access Point.

\n

When you update the policy, the update is first listed as the proposed policy. After the\n update is finished and all Regions have been updated, the proposed policy is listed as\n the established policy. If both policies have the same version number, the proposed\n policy is the established policy.

" + "smithy.api#documentation": "

The proposed access control policy for the Multi-Region Access Point.

\n

When you update the policy, the update is first listed as the proposed policy. After the\n update is finished and all Regions have been updated, the proposed policy is listed as the\n established policy. If both policies have the same version number, the proposed policy is\n the established policy.

" } }, "com.amazonaws.s3control#PublicAccessBlockConfiguration": { @@ -5045,14 +5193,14 @@ "BlockPublicAcls": { "target": "com.amazonaws.s3control#Setting", "traits": { - "smithy.api#documentation": "

Specifies whether Amazon S3 should block public access control lists (ACLs) for buckets in\n this account. Setting this element to TRUE causes the following behavior:

\n \n

Enabling this setting doesn't affect existing policies or ACLs.

\n

This is not supported for Amazon S3 on Outposts.

", + "smithy.api#documentation": "

Specifies whether Amazon S3 should block public access control lists (ACLs) for buckets\n in this account. Setting this element to TRUE causes the following\n behavior:

\n \n

Enabling this setting doesn't affect existing policies or ACLs.

\n

This is not supported for Amazon S3 on Outposts.

", "smithy.api#xmlName": "BlockPublicAcls" } }, "IgnorePublicAcls": { "target": "com.amazonaws.s3control#Setting", "traits": { - "smithy.api#documentation": "

Specifies whether Amazon S3 should ignore public ACLs for buckets in this account. Setting this\n element to TRUE causes Amazon S3 to ignore all public ACLs on buckets in this\n account and any objects that they contain.

\n

Enabling this setting doesn't affect the persistence of any existing ACLs and doesn't\n prevent new public ACLs from being set.

\n

This is not supported for Amazon S3 on Outposts.

", + "smithy.api#documentation": "

Specifies whether Amazon S3 should ignore public ACLs for buckets in this account. Setting\n this element to TRUE causes Amazon S3 to ignore all public ACLs on buckets in\n this account and any objects that they contain.

\n

Enabling this setting doesn't affect the persistence of any existing ACLs and doesn't\n prevent new public ACLs from being set.

\n

This is not supported for Amazon S3 on Outposts.

", "smithy.api#xmlName": "IgnorePublicAcls" } }, @@ -5066,13 +5214,13 @@ "RestrictPublicBuckets": { "target": "com.amazonaws.s3control#Setting", "traits": { - "smithy.api#documentation": "

Specifies whether Amazon S3 should restrict public bucket policies for buckets in this account.\n Setting this element to TRUE restricts access to buckets with public policies\n to only Amazon Web Service principals and authorized users within this account.

\n

Enabling this setting doesn't affect previously stored bucket policies, except that public\n and cross-account access within any public bucket policy, including non-public delegation to\n specific accounts, is blocked.

\n

This is not supported for Amazon S3 on Outposts.

", + "smithy.api#documentation": "

Specifies whether Amazon S3 should restrict public bucket policies for buckets in this\n account. Setting this element to TRUE restricts access to buckets with public\n policies to only Amazon Web Service principals and authorized users within this\n account.

\n

Enabling this setting doesn't affect previously stored bucket policies, except that\n public and cross-account access within any public bucket policy, including non-public\n delegation to specific accounts, is blocked.

\n

This is not supported for Amazon S3 on Outposts.

", "smithy.api#xmlName": "RestrictPublicBuckets" } } }, "traits": { - "smithy.api#documentation": "

The PublicAccessBlock configuration that you want to apply to this Amazon S3 account.\n You can enable the configuration options in any combination. For more information about\n when Amazon S3 considers a bucket or object public, see The Meaning of \"Public\" in the Amazon S3 User Guide.

\n

This is not supported for Amazon S3 on Outposts.

" + "smithy.api#documentation": "

The PublicAccessBlock configuration that you want to apply to this Amazon S3\n account. You can enable the configuration options in any combination. For more information\n about when Amazon S3 considers a bucket or object public, see The Meaning of \"Public\" in the Amazon S3 User Guide.

\n

This is not supported for Amazon S3 on Outposts.

" } }, "com.amazonaws.s3control#PublicAccessBlockEnabled": { @@ -5084,7 +5232,7 @@ "target": "com.amazonaws.s3control#PutAccessPointConfigurationForObjectLambdaRequest" }, "traits": { - "smithy.api#documentation": "

Replaces configuration for an Object Lambda Access Point.

\n

The following actions are related to PutAccessPointConfigurationForObjectLambda:

\n ", + "smithy.api#documentation": "

Replaces configuration for an Object Lambda Access Point.

\n

The following actions are related to\n PutAccessPointConfigurationForObjectLambda:

\n ", "smithy.api#endpoint": { "hostPrefix": "{AccountId}." }, @@ -5130,7 +5278,7 @@ "target": "com.amazonaws.s3control#PutAccessPointPolicyRequest" }, "traits": { - "smithy.api#documentation": "

Associates an access policy with the specified access point. Each access point can have only one policy, so a request made to this API \n replaces any existing policy associated with the specified access point.

\n

\n

All Amazon S3 on Outposts REST API requests for this action require an additional parameter of x-amz-outpost-id to be passed with the request and an S3 on Outposts endpoint hostname prefix instead of s3-control. For an example of the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname prefix and the x-amz-outpost-id derived using the access point ARN, see the Examples section.

\n

The following actions are related to PutAccessPointPolicy:

\n ", + "smithy.api#documentation": "

Associates an access policy with the specified access point. Each access point can have only one policy,\n so a request made to this API replaces any existing policy associated with the specified\n access point.

\n

\n

All Amazon S3 on Outposts REST API requests for this action require an additional parameter of x-amz-outpost-id to be passed with the request and an S3 on Outposts endpoint hostname prefix instead of s3-control. For an example of the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname prefix and the x-amz-outpost-id derived using the access point ARN, see the Examples section.

\n

The following actions are related to PutAccessPointPolicy:

\n ", "smithy.api#endpoint": { "hostPrefix": "{AccountId}." }, @@ -5147,7 +5295,7 @@ "target": "com.amazonaws.s3control#PutAccessPointPolicyForObjectLambdaRequest" }, "traits": { - "smithy.api#documentation": "

Creates or replaces resource policy for an Object Lambda Access Point. For an example policy, see \n Creating Object Lambda Access Points in the Amazon S3 User Guide.

\n

The following actions are related to PutAccessPointPolicyForObjectLambda:

\n ", + "smithy.api#documentation": "

Creates or replaces resource policy for an Object Lambda Access Point. For an example policy, see Creating Object Lambda Access Points in the Amazon S3 User Guide.

\n

The following actions are related to\n PutAccessPointPolicyForObjectLambda:

\n ", "smithy.api#endpoint": { "hostPrefix": "{AccountId}." }, @@ -5210,7 +5358,7 @@ "Policy": { "target": "com.amazonaws.s3control#Policy", "traits": { - "smithy.api#documentation": "

The policy that you want to apply to the specified access point. For more information about access point policies, see Managing data access with Amazon S3 access points in the Amazon S3 User Guide.

", + "smithy.api#documentation": "

The policy that you want to apply to the specified access point. For more information about access point\n policies, see Managing data access with Amazon S3\n access points in the Amazon S3 User Guide.

", "smithy.api#required": {} } } @@ -5222,7 +5370,7 @@ "target": "com.amazonaws.s3control#PutBucketLifecycleConfigurationRequest" }, "traits": { - "smithy.api#documentation": "\n

This action puts a lifecycle configuration to an Amazon S3 on Outposts bucket. To put a lifecycle configuration to an S3 bucket, \n see PutBucketLifecycleConfiguration in the Amazon S3 API Reference.\n

\n
\n

Creates a new lifecycle configuration for the S3 on Outposts bucket or replaces an existing\n lifecycle configuration. Outposts buckets only support lifecycle configurations that delete/expire objects\n after a certain period of time and abort incomplete multipart uploads.

\n

\n

All Amazon S3 on Outposts REST API requests for this action require an additional parameter of x-amz-outpost-id to be passed with the request and an S3 on Outposts endpoint hostname prefix instead of s3-control. For an example of the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname prefix and the x-amz-outpost-id derived using the access point ARN, see the Examples section.

\n

The following actions are related to PutBucketLifecycleConfiguration:

\n ", + "smithy.api#documentation": "\n

This action puts a lifecycle configuration to an Amazon S3 on Outposts bucket. To put a\n lifecycle configuration to an S3 bucket, see PutBucketLifecycleConfiguration in the Amazon S3 API Reference.\n

\n
\n

Creates a new lifecycle configuration for the S3 on Outposts bucket or replaces an\n existing lifecycle configuration. Outposts buckets only support lifecycle configurations\n that delete/expire objects after a certain period of time and abort incomplete multipart\n uploads.

\n

\n

All Amazon S3 on Outposts REST API requests for this action require an additional parameter of x-amz-outpost-id to be passed with the request and an S3 on Outposts endpoint hostname prefix instead of s3-control. For an example of the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname prefix and the x-amz-outpost-id derived using the access point ARN, see the Examples section.

\n

The following actions are related to\n PutBucketLifecycleConfiguration:

\n ", "smithy.api#endpoint": { "hostPrefix": "{AccountId}." }, @@ -5270,7 +5418,7 @@ "target": "com.amazonaws.s3control#PutBucketPolicyRequest" }, "traits": { - "smithy.api#documentation": "\n

This action puts a bucket policy to an Amazon S3 on Outposts bucket. To put a policy on an S3 bucket, \n see PutBucketPolicy in the Amazon S3 API Reference.\n

\n
\n

Applies an Amazon S3 bucket policy to an Outposts bucket. For more information, see Using Amazon S3 on Outposts in the\n Amazon S3 User Guide.

\n

If you are using an identity other than the root user of the Amazon Web Services account that owns the\n Outposts bucket, the calling identity must have the PutBucketPolicy\n permissions on the specified Outposts bucket and belong to the bucket owner's account in\n order to use this action.

\n \n

If you don't have PutBucketPolicy permissions, Amazon S3 returns a 403 Access Denied error. If you have the correct permissions, \n but you're not using an identity that belongs to the bucket owner's account, Amazon S3 returns a 405 Method Not Allowed error.

\n \n \n

As a security precaution, the root user of the Amazon Web Services account that owns a bucket can always use this action, even if the policy \n explicitly denies the root user the ability to perform this action.\n

\n
\n \n \n

For more information about bucket policies, see Using Bucket Policies and User Policies.

\n \n

All Amazon S3 on Outposts REST API requests for this action require an additional parameter of x-amz-outpost-id to be passed with the request and an S3 on Outposts endpoint hostname prefix instead of s3-control. For an example of the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname prefix and the x-amz-outpost-id derived using the access point ARN, see the Examples section.

\n \n

The following actions are related to PutBucketPolicy:

\n ", + "smithy.api#documentation": "\n

This action puts a bucket policy to an Amazon S3 on Outposts bucket. To put a policy on an\n S3 bucket, see PutBucketPolicy in the\n Amazon S3 API Reference.

\n
\n

Applies an Amazon S3 bucket policy to an Outposts bucket. For more information, see Using\n Amazon S3 on Outposts in the Amazon S3 User Guide.

\n

If you are using an identity other than the root user of the Amazon Web Services account that owns the\n Outposts bucket, the calling identity must have the PutBucketPolicy\n permissions on the specified Outposts bucket and belong to the bucket owner's account in\n order to use this action.

\n\n

If you don't have PutBucketPolicy permissions, Amazon S3 returns a 403\n Access Denied error. If you have the correct permissions, but you're not using an\n identity that belongs to the bucket owner's account, Amazon S3 returns a 405 Method Not\n Allowed error.

\n\n \n

As a security precaution, the root user of the Amazon Web Services account that owns a bucket can\n always use this action, even if the policy explicitly denies the root user the ability\n to perform this action.

\n
\n\n\n

For more information about bucket policies, see Using Bucket Policies and User\n Policies.

\n\n

All Amazon S3 on Outposts REST API requests for this action require an additional parameter of x-amz-outpost-id to be passed with the request and an S3 on Outposts endpoint hostname prefix instead of s3-control. For an example of the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname prefix and the x-amz-outpost-id derived using the access point ARN, see the Examples section.

\n\n

The following actions are related to PutBucketPolicy:

\n ", "smithy.api#endpoint": { "hostPrefix": "{AccountId}." }, @@ -5305,7 +5453,7 @@ "ConfirmRemoveSelfBucketAccess": { "target": "com.amazonaws.s3control#ConfirmRemoveSelfBucketAccess", "traits": { - "smithy.api#documentation": "

Set this parameter to true to confirm that you want to remove your permissions to change this bucket policy in the future.

\n \n

This is not supported by Amazon S3 on Outposts buckets.

\n
", + "smithy.api#documentation": "

Set this parameter to true to confirm that you want to remove your permissions to change\n this bucket policy in the future.

\n \n

This is not supported by Amazon S3 on Outposts buckets.

\n
", "smithy.api#httpHeader": "x-amz-confirm-remove-self-bucket-access" } }, @@ -5324,7 +5472,7 @@ "target": "com.amazonaws.s3control#PutBucketTaggingRequest" }, "traits": { - "smithy.api#documentation": "\n

This action puts tags on an Amazon S3 on Outposts bucket. To put tags on an S3 bucket, see\n PutBucketTagging in the Amazon S3 API Reference.

\n
\n

Sets the tags for an S3 on Outposts bucket. For more information, see Using Amazon S3 on Outposts in the\n Amazon S3 User Guide.

\n

Use tags to organize your Amazon Web Services bill to reflect your own cost structure. To do this, sign up to get your \n Amazon Web Services account bill with tag key values included. Then, to see the cost of combined resources, organize your \n billing information according to resources with the same tag key values. For example, you can tag several \n resources with a specific application name, and then organize your billing information to see the total cost \n of that application across several services. For more information, see \n Cost \n allocation and tagging.

\n \n \n

Within a bucket, if you add a tag that has the same key as an existing tag, the new value overwrites \n the old value. For more information, see \n Using cost allocation in Amazon S3 bucket tags.

\n
\n

To use this action, you must have permissions to perform the\n s3-outposts:PutBucketTagging action. The Outposts bucket owner has this\n permission by default and can grant this permission to others. For more information about\n permissions, see Permissions Related to Bucket Subresource Operations and Managing access permissions to your Amazon S3\n resources.

\n \n

\n PutBucketTagging has the following special errors:

\n \n

All Amazon S3 on Outposts REST API requests for this action require an additional parameter of x-amz-outpost-id to be passed with the request and an S3 on Outposts endpoint hostname prefix instead of s3-control. For an example of the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname prefix and the x-amz-outpost-id derived using the access point ARN, see the Examples section.

\n \n

The following actions are related to PutBucketTagging:

\n ", + "smithy.api#documentation": "\n

This action puts tags on an Amazon S3 on Outposts bucket. To put tags on an S3 bucket, see\n PutBucketTagging in the Amazon S3 API Reference.

\n
\n

Sets the tags for an S3 on Outposts bucket. For more information, see Using\n Amazon S3 on Outposts in the Amazon S3 User Guide.

\n

Use tags to organize your Amazon Web Services bill to reflect your own cost structure. To do this,\n sign up to get your Amazon Web Services account bill with tag key values included. Then, to see the cost\n of combined resources, organize your billing information according to resources with the\n same tag key values. For example, you can tag several resources with a specific application\n name, and then organize your billing information to see the total cost of that application\n across several services. For more information, see Cost allocation and\n tagging.

\n\n \n

Within a bucket, if you add a tag that has the same key as an existing tag, the new\n value overwrites the old value. For more information, see Using cost allocation in Amazon S3\n bucket tags.

\n
\n

To use this action, you must have permissions to perform the\n s3-outposts:PutBucketTagging action. The Outposts bucket owner has this\n permission by default and can grant this permission to others. For more information about\n permissions, see Permissions Related to Bucket Subresource Operations and Managing\n access permissions to your Amazon S3 resources.

\n\n

\n PutBucketTagging has the following special errors:

\n \n

All Amazon S3 on Outposts REST API requests for this action require an additional parameter of x-amz-outpost-id to be passed with the request and an S3 on Outposts endpoint hostname prefix instead of s3-control. For an example of the request syntax for Amazon S3 on Outposts that uses the S3 on Outposts endpoint hostname prefix and the x-amz-outpost-id derived using the access point ARN, see the Examples section.

\n\n

The following actions are related to PutBucketTagging:

\n ", "smithy.api#endpoint": { "hostPrefix": "{AccountId}." }, @@ -5390,7 +5538,7 @@ } ], "traits": { - "smithy.api#documentation": "

Sets the supplied tag-set on an S3 Batch Operations job.

\n

A tag is a key-value pair. You can associate S3 Batch Operations tags with any job by sending\n a PUT request against the tagging subresource that is associated with the job. To modify\n the existing tag set, you can either replace the existing tag set entirely, or make changes\n within the existing tag set by retrieving the existing tag set using GetJobTagging, modify that tag set, and use this action to replace the\n tag set with the one you modified. For more information, see Controlling access and\n labeling jobs using tags in the Amazon S3 User Guide.

\n

\n \n \n \n

\n

To use this action, you must have permission to perform the s3:PutJobTagging action.

\n

Related actions include:

\n ", + "smithy.api#documentation": "

Sets the supplied tag-set on an S3 Batch Operations job.

\n

A tag is a key-value pair. You can associate S3 Batch Operations tags with any job by sending\n a PUT request against the tagging subresource that is associated with the job. To modify\n the existing tag set, you can either replace the existing tag set entirely, or make changes\n within the existing tag set by retrieving the existing tag set using GetJobTagging, modify that tag set, and use this action to replace the tag set\n with the one you modified. For more information, see Controlling\n access and labeling jobs using tags in the Amazon S3 User Guide.

\n

\n \n \n \n

\n

To use this action, you must have permission to perform the\n s3:PutJobTagging action.

\n

Related actions include:

\n ", "smithy.api#endpoint": { "hostPrefix": "{AccountId}." }, @@ -5443,7 +5591,7 @@ "target": "com.amazonaws.s3control#PutMultiRegionAccessPointPolicyResult" }, "traits": { - "smithy.api#documentation": "

Associates an access control policy with the specified Multi-Region Access Point. Each Multi-Region Access Point can have only\n one policy, so a request made to this action replaces any existing policy that is\n associated with the specified Multi-Region Access Point.

\n

This action will always be routed to the US West (Oregon) Region. For more\n information about the restrictions around managing Multi-Region Access Points, see Managing\n Multi-Region Access Points in the\n Amazon S3 User Guide.

\n

The following actions are related to PutMultiRegionAccessPointPolicy:

\n ", + "smithy.api#documentation": "

Associates an access control policy with the specified Multi-Region Access Point. Each Multi-Region Access Point can have only\n one policy, so a request made to this action replaces any existing policy that is\n associated with the specified Multi-Region Access Point.

\n

This action will always be routed to the US West (Oregon) Region. For more information\n about the restrictions around managing Multi-Region Access Points, see Managing\n Multi-Region Access Points in the Amazon S3 User Guide.

\n

The following actions are related to\n PutMultiRegionAccessPointPolicy:

\n ", "smithy.api#endpoint": { "hostPrefix": "{AccountId}." }, @@ -5474,7 +5622,7 @@ } }, "traits": { - "smithy.api#documentation": "

A container for the information associated with a\n PutMultiRegionAccessPoint\n request.

" + "smithy.api#documentation": "

A container for the information associated with a PutMultiRegionAccessPoint request.

" } }, "com.amazonaws.s3control#PutMultiRegionAccessPointPolicyRequest": { @@ -5492,7 +5640,7 @@ "ClientToken": { "target": "com.amazonaws.s3control#MultiRegionAccessPointClientToken", "traits": { - "smithy.api#documentation": "

An idempotency token used to identify the request and guarantee that requests are\n unique.

", + "smithy.api#documentation": "

An idempotency token used to identify the request and guarantee that requests are\n unique.

", "smithy.api#idempotencyToken": {}, "smithy.api#required": {} } @@ -5512,7 +5660,7 @@ "RequestTokenARN": { "target": "com.amazonaws.s3control#AsyncRequestTokenARN", "traits": { - "smithy.api#documentation": "

The request token associated with the request. You can use this token with DescribeMultiRegionAccessPointOperation to determine the status of\n asynchronous requests.

" + "smithy.api#documentation": "

The request token associated with the request. You can use this token with DescribeMultiRegionAccessPointOperation to determine the status of asynchronous\n requests.

" } } } @@ -5523,7 +5671,7 @@ "target": "com.amazonaws.s3control#PutPublicAccessBlockRequest" }, "traits": { - "smithy.api#documentation": "

Creates or modifies the PublicAccessBlock configuration for an Amazon Web Services account. For\n more information, see Using Amazon S3 block\n public access.

\n

Related actions include:

\n ", + "smithy.api#documentation": "

Creates or modifies the PublicAccessBlock configuration for an\n Amazon Web Services account. For this operation, users must have the\n s3:PutBucketPublicAccessBlock permission. For more information, see \n Using Amazon S3 block public access.

\n

Related actions include:

\n ", "smithy.api#endpoint": { "hostPrefix": "{AccountId}." }, @@ -5540,7 +5688,7 @@ "PublicAccessBlockConfiguration": { "target": "com.amazonaws.s3control#PublicAccessBlockConfiguration", "traits": { - "smithy.api#documentation": "

The PublicAccessBlock configuration that you want to apply to the specified Amazon Web Services account.

", + "smithy.api#documentation": "

The PublicAccessBlock configuration that you want to apply to the specified\n Amazon Web Services account.

", "smithy.api#httpPayload": {}, "smithy.api#required": {}, "smithy.api#xmlName": "PublicAccessBlockConfiguration" @@ -5549,7 +5697,7 @@ "AccountId": { "target": "com.amazonaws.s3control#AccountId", "traits": { - "smithy.api#documentation": "

The account ID for the Amazon Web Services account whose PublicAccessBlock configuration you want\n to set.

", + "smithy.api#documentation": "

The account ID for the Amazon Web Services account whose PublicAccessBlock configuration\n you want to set.

", "smithy.api#hostLabel": {}, "smithy.api#httpHeader": "x-amz-account-id", "smithy.api#required": {} @@ -5563,7 +5711,7 @@ "target": "com.amazonaws.s3control#PutStorageLensConfigurationRequest" }, "traits": { - "smithy.api#documentation": "

Puts an Amazon S3 Storage Lens configuration. For more information about S3 Storage Lens, see Working with\n Amazon S3 Storage Lens in the Amazon S3 User Guide.

\n \n

To use this action,\n you must have permission to perform the s3:PutStorageLensConfiguration action. For more\n information, see Setting permissions to use Amazon S3 Storage Lens in the\n Amazon S3 User Guide.

\n
", + "smithy.api#documentation": "

Puts an Amazon S3 Storage Lens configuration. For more information about S3 Storage Lens, see Working with\n Amazon S3 Storage Lens in the Amazon S3 User Guide.

\n \n

To use this action, you must have permission to perform the\n s3:PutStorageLensConfiguration action. For more information, see Setting permissions to use Amazon S3 Storage Lens in the\n Amazon S3 User Guide.

\n
", "smithy.api#endpoint": { "hostPrefix": "{AccountId}." }, @@ -5618,7 +5766,7 @@ "target": "com.amazonaws.s3control#PutStorageLensConfigurationTaggingResult" }, "traits": { - "smithy.api#documentation": "

Put or replace tags on an existing Amazon S3 Storage Lens configuration. For more information about S3 Storage Lens, see \n Assessing your storage \n activity and usage with Amazon S3 Storage Lens in the \n Amazon S3 User Guide.

\n \n

To use this action,\n you must have permission to perform the s3:PutStorageLensConfigurationTagging action. For more\n information, see Setting permissions to use Amazon S3 Storage Lens in the\n Amazon S3 User Guide.

\n
", + "smithy.api#documentation": "

Put or replace tags on an existing Amazon S3 Storage Lens configuration. For more information\n about S3 Storage Lens, see Assessing your storage activity and usage with Amazon S3 Storage Lens in the\n Amazon S3 User Guide.

\n \n

To use this action, you must have permission to perform the\n s3:PutStorageLensConfigurationTagging action. For more information, see\n Setting permissions to\n use Amazon S3 Storage Lens in the Amazon S3 User Guide.

\n
", "smithy.api#endpoint": { "hostPrefix": "{AccountId}." }, @@ -5783,6 +5931,35 @@ } } }, + "com.amazonaws.s3control#ReplicationStatus": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "COMPLETED", + "name": "COMPLETED" + }, + { + "value": "FAILED", + "name": "FAILED" + }, + { + "value": "REPLICA", + "name": "REPLICA" + }, + { + "value": "NONE", + "name": "NONE" + } + ] + } + }, + "com.amazonaws.s3control#ReplicationStatusFilterList": { + "type": "list", + "member": { + "target": "com.amazonaws.s3control#ReplicationStatus" + } + }, "com.amazonaws.s3control#ReportPrefixString": { "type": "string", "traits": { @@ -5904,7 +6081,7 @@ "Arn": { "target": "com.amazonaws.s3control#S3BucketArnString", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the bucket.\n This property is read-only and follows the following format: \n arn:aws:s3:us-east-1:example-account-id:bucket/your-destination-bucket-name\n \n

", + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the bucket. This property is read-only and follows the\n following format: \n arn:aws:s3:us-east-1:example-account-id:bucket/your-destination-bucket-name\n \n

", "smithy.api#required": {} } }, @@ -5922,7 +6099,7 @@ } }, "traits": { - "smithy.api#documentation": "

A container for the bucket where the Amazon S3 Storage Lens metrics export files are located.

" + "smithy.api#documentation": "

A container for the bucket where the Amazon S3 Storage Lens metrics export files are\n located.

" } }, "com.amazonaws.s3control#S3CannedAccessControlList": { @@ -5974,7 +6151,7 @@ "TargetResource": { "target": "com.amazonaws.s3control#S3BucketArnString", "traits": { - "smithy.api#documentation": "

Specifies the destination bucket ARN for the batch copy operation.\n For example, to copy objects to a bucket named \"destinationBucket\",\n set the TargetResource to \"arn:aws:s3:::destinationBucket\".

" + "smithy.api#documentation": "

Specifies the destination bucket ARN for the batch copy operation. For example, to copy\n objects to a bucket named \"destinationBucket\", set the TargetResource to\n \"arn:aws:s3:::destinationBucket\".

" } }, "CannedAccessControlList": { @@ -6004,7 +6181,7 @@ "NewObjectMetadata": { "target": "com.amazonaws.s3control#S3ObjectMetadata", "traits": { - "smithy.api#documentation": "

" + "smithy.api#documentation": "

If you don't provide this parameter, Amazon S3 copies all the metadata from the original\n objects. If you specify an empty set, the new objects will have no tags. Otherwise, Amazon S3\n assigns the supplied tags to the new objects.

" } }, "NewObjectTagging": { @@ -6064,25 +6241,25 @@ "ObjectLockRetainUntilDate": { "target": "com.amazonaws.s3control#TimeStamp", "traits": { - "smithy.api#documentation": "

The date when the applied object retention configuration expires on all objects in\n the Batch Operations job.

" + "smithy.api#documentation": "

The date when the applied object retention configuration expires on all objects in the\n Batch Operations job.

" } }, "BucketKeyEnabled": { "target": "com.amazonaws.s3control#Boolean", "traits": { - "smithy.api#documentation": "

Specifies whether Amazon S3 should use an S3 Bucket Key for object encryption with\n server-side encryption using Amazon Web Services KMS (SSE-KMS). Setting this header to true\n causes Amazon S3 to use an S3 Bucket Key for object encryption with SSE-KMS.

\n

Specifying this header with an object action doesn’t affect\n bucket-level settings for S3 Bucket Key.

" + "smithy.api#documentation": "

Specifies whether Amazon S3 should use an S3 Bucket Key for object encryption with\n server-side encryption using Amazon Web Services KMS (SSE-KMS). Setting this header to true\n causes Amazon S3 to use an S3 Bucket Key for object encryption with SSE-KMS.

\n

Specifying this header with an object action doesn’t affect\n bucket-level settings for S3 Bucket Key.

" } } }, "traits": { - "smithy.api#documentation": "

Contains the configuration parameters for a PUT Copy object operation. S3 Batch Operations passes every object to the underlying PUT Copy object\n API. For more information about the parameters for this operation, see PUT Object - Copy.

" + "smithy.api#documentation": "

Contains the configuration parameters for a PUT Copy object operation. S3 Batch Operations\n passes every object to the underlying PUT Copy object API. For more information about the\n parameters for this operation, see PUT Object - Copy.

" } }, "com.amazonaws.s3control#S3DeleteObjectTaggingOperation": { "type": "structure", "members": {}, "traits": { - "smithy.api#documentation": "

Contains no configuration parameters because the DELETE Object tagging API only accepts the bucket name and key name as parameters, which are defined in the job's manifest.

" + "smithy.api#documentation": "

Contains no configuration parameters because the DELETE Object tagging API only accepts\n the bucket name and key name as parameters, which are defined in the job's manifest.

" } }, "com.amazonaws.s3control#S3ExpirationInDays": { @@ -6093,6 +6270,23 @@ } } }, + "com.amazonaws.s3control#S3GeneratedManifestDescriptor": { + "type": "structure", + "members": { + "Format": { + "target": "com.amazonaws.s3control#GeneratedManifestFormat", + "traits": { + "smithy.api#documentation": "

The format of the generated manifest.

" + } + }, + "Location": { + "target": "com.amazonaws.s3control#JobManifestLocation" + } + }, + "traits": { + "smithy.api#documentation": "

Describes the specified job's generated manifest. Batch Operations jobs created with a\n ManifestGenerator populate details of this descriptor after execution of the\n ManifestGenerator.

" + } + }, "com.amazonaws.s3control#S3GlacierJobTier": { "type": "string", "traits": { @@ -6186,18 +6380,58 @@ "target": "com.amazonaws.s3control#S3ExpirationInDays", "traits": { "smithy.api#box": {}, - "smithy.api#documentation": "

This argument specifies how long the S3 Glacier Flexible Retrieval or S3 Glacier Deep Archive object remains available in Amazon S3.\n S3 Initiate Restore Object jobs that\n target S3 Glacier Flexible Retrieval and S3 Glacier Deep Archive objects require ExpirationInDays set to 1\n or greater.

\n

Conversely, do not set ExpirationInDays when\n creating S3 Initiate Restore Object jobs that target\n S3 Intelligent-Tiering Archive Access and Deep Archive Access tier objects. Objects in\n S3 Intelligent-Tiering archive access tiers are not subject to restore expiry, so\n specifying ExpirationInDays results in restore request failure.

\n

S3 Batch Operations jobs can operate either on S3 Glacier Flexible Retrieval and S3 Glacier Deep Archive storage class\n objects or on S3 Intelligent-Tiering Archive Access and Deep Archive Access storage tier\n objects, but not both types in the same job. If you need to restore objects of both types\n you must create separate Batch Operations jobs.

" + "smithy.api#documentation": "

This argument specifies how long the S3 Glacier or S3 Glacier Deep Archive object remains\n available in Amazon S3. S3 Initiate Restore Object jobs that target S3 Glacier and S3 Glacier Deep Archive\n objects require ExpirationInDays set to 1 or greater.

\n

Conversely, do not set ExpirationInDays when creating\n S3 Initiate Restore Object jobs that target S3 Intelligent-Tiering Archive Access and\n Deep Archive Access tier objects. Objects in S3 Intelligent-Tiering archive access tiers are\n not subject to restore expiry, so specifying ExpirationInDays results in\n restore request failure.

\n

S3 Batch Operations jobs can operate either on S3 Glacier and S3 Glacier Deep Archive storage class\n objects or on S3 Intelligent-Tiering Archive Access and Deep Archive Access storage tier\n objects, but not both types in the same job. If you need to restore objects of both types\n you must create separate Batch Operations jobs.

" } }, "GlacierJobTier": { "target": "com.amazonaws.s3control#S3GlacierJobTier", "traits": { - "smithy.api#documentation": "

S3 Batch Operations supports STANDARD and BULK retrieval tiers,\n but not the EXPEDITED retrieval tier.

" + "smithy.api#documentation": "

S3 Batch Operations supports STANDARD and BULK retrieval tiers, but\n not the EXPEDITED retrieval tier.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Contains the configuration parameters for an S3 Initiate Restore Object job.\n S3 Batch Operations passes every object to the underlying POST Object restore API. For more\n information about the parameters for this operation, see RestoreObject.

" + } + }, + "com.amazonaws.s3control#S3JobManifestGenerator": { + "type": "structure", + "members": { + "ExpectedBucketOwner": { + "target": "com.amazonaws.s3control#AccountId", + "traits": { + "smithy.api#documentation": "

The Amazon Web Services account ID that owns the bucket the generated manifest is written to. If\n provided the generated manifest bucket's owner Amazon Web Services account ID must match this value, else\n the job fails.

" + } + }, + "SourceBucket": { + "target": "com.amazonaws.s3control#S3BucketArnString", + "traits": { + "smithy.api#documentation": "

The source bucket used by the ManifestGenerator.

", + "smithy.api#required": {} + } + }, + "ManifestOutputLocation": { + "target": "com.amazonaws.s3control#S3ManifestOutputLocation", + "traits": { + "smithy.api#documentation": "

Specifies the location the generated manifest will be written to.

" + } + }, + "Filter": { + "target": "com.amazonaws.s3control#JobManifestGeneratorFilter", + "traits": { + "smithy.api#documentation": "

Specifies rules the S3JobManifestGenerator should use to use to decide whether an object\n in the source bucket should or should not be included in the generated job manifest.

" + } + }, + "EnableManifestOutput": { + "target": "com.amazonaws.s3control#Boolean", + "traits": { + "smithy.api#documentation": "

Determines whether or not to write the job's generated manifest to a bucket.

", + "smithy.api#required": {} } } }, "traits": { - "smithy.api#documentation": "

Contains the configuration parameters for an S3 Initiate Restore Object job.\n S3 Batch Operations passes every object to the underlying POST Object restore API. For\n more information about the parameters for this operation, see RestoreObject.

" + "smithy.api#documentation": "

The container for the service that will create the S3 manifest.

" } }, "com.amazonaws.s3control#S3KeyArnString": { @@ -6210,6 +6444,46 @@ "smithy.api#pattern": "^arn:[^:]+:s3:" } }, + "com.amazonaws.s3control#S3ManifestOutputLocation": { + "type": "structure", + "members": { + "ExpectedManifestBucketOwner": { + "target": "com.amazonaws.s3control#AccountId", + "traits": { + "smithy.api#documentation": "

The Account ID that owns the bucket the generated manifest is written to.

" + } + }, + "Bucket": { + "target": "com.amazonaws.s3control#S3BucketArnString", + "traits": { + "smithy.api#documentation": "

The bucket ARN the generated manifest should be written to.

", + "smithy.api#required": {} + } + }, + "ManifestPrefix": { + "target": "com.amazonaws.s3control#ManifestPrefixString", + "traits": { + "smithy.api#documentation": "

Prefix identifying one or more objects to which the manifest applies.

" + } + }, + "ManifestEncryption": { + "target": "com.amazonaws.s3control#GeneratedManifestEncryption", + "traits": { + "smithy.api#documentation": "

Specifies what encryption should be used when the generated manifest objects are\n written.

" + } + }, + "ManifestFormat": { + "target": "com.amazonaws.s3control#GeneratedManifestFormat", + "traits": { + "smithy.api#documentation": "

The format of the generated manifest.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

Location details for where the generated manifest should be written.

" + } + }, "com.amazonaws.s3control#S3MetadataDirective": { "type": "string", "traits": { @@ -6231,7 +6505,7 @@ "Status": { "target": "com.amazonaws.s3control#S3ObjectLockLegalHoldStatus", "traits": { - "smithy.api#documentation": "

The Object Lock legal hold status to be applied to all objects in the Batch Operations job.

", + "smithy.api#documentation": "

The Object Lock legal hold status to be applied to all objects in the Batch Operations\n job.

", "smithy.api#required": {} } } @@ -6425,19 +6699,26 @@ } } }, + "com.amazonaws.s3control#S3ReplicateObjectOperation": { + "type": "structure", + "members": {}, + "traits": { + "smithy.api#documentation": "

Directs the specified job to invoke ReplicateObject on every object in the job's\n manifest.

" + } + }, "com.amazonaws.s3control#S3Retention": { "type": "structure", "members": { "RetainUntilDate": { "target": "com.amazonaws.s3control#TimeStamp", "traits": { - "smithy.api#documentation": "

The date when the applied Object Lock retention will expire on all objects set by the Batch Operations job.

" + "smithy.api#documentation": "

The date when the applied Object Lock retention will expire on all objects set by the\n Batch Operations job.

" } }, "Mode": { "target": "com.amazonaws.s3control#S3ObjectLockRetentionMode", "traits": { - "smithy.api#documentation": "

The Object Lock retention mode to be applied to all objects in the Batch Operations job.

" + "smithy.api#documentation": "

The Object Lock retention mode to be applied to all objects in the Batch Operations\n job.

" } } }, @@ -6471,7 +6752,7 @@ } }, "traits": { - "smithy.api#documentation": "

Contains the configuration parameters for a Set Object ACL operation. S3 Batch Operations passes every object to the underlying PUT Object acl API.\n For more information about the parameters for this operation, see PUT Object acl.

" + "smithy.api#documentation": "

Contains the configuration parameters for a Set Object ACL operation. S3 Batch Operations\n passes every object to the underlying PUT Object acl API. For more information about the\n parameters for this operation, see PUT Object acl.

" } }, "com.amazonaws.s3control#S3SetObjectLegalHoldOperation": { @@ -6480,13 +6761,13 @@ "LegalHold": { "target": "com.amazonaws.s3control#S3ObjectLockLegalHold", "traits": { - "smithy.api#documentation": "

Contains the Object Lock legal hold status to be applied to all objects in the Batch Operations job.

", + "smithy.api#documentation": "

Contains the Object Lock legal hold status to be applied to all objects in the\n Batch Operations job.

", "smithy.api#required": {} } } }, "traits": { - "smithy.api#documentation": "

Contains the configuration for an S3 Object Lock legal hold operation that an\n S3 Batch Operations job passes every object to the underlying\n PutObjectLegalHold API. For more information, see Using\n S3 Object Lock legal hold with S3 Batch Operations in the\n Amazon S3 User Guide.

" + "smithy.api#documentation": "

Contains the configuration for an S3 Object Lock legal hold operation that an\n S3 Batch Operations job passes every object to the underlying PutObjectLegalHold\n API. For more information, see Using S3 Object Lock legal hold\n with S3 Batch Operations in the Amazon S3 User Guide.

" } }, "com.amazonaws.s3control#S3SetObjectRetentionOperation": { @@ -6496,7 +6777,7 @@ "target": "com.amazonaws.s3control#Boolean", "traits": { "smithy.api#box": {}, - "smithy.api#documentation": "

Indicates if the action should be applied to objects in the Batch Operations job even if they have Object Lock \n GOVERNANCE type in place.

" + "smithy.api#documentation": "

Indicates if the action should be applied to objects in the Batch Operations job even if they\n have Object Lock GOVERNANCE type in place.

" } }, "Retention": { @@ -6522,7 +6803,7 @@ } }, "traits": { - "smithy.api#documentation": "

Contains the configuration parameters for a Set Object Tagging operation. S3 Batch Operations passes every object to the underlying PUT Object tagging API.\n For more information about the parameters for this operation, see PUT Object tagging.

" + "smithy.api#documentation": "

Contains the configuration parameters for a Set Object Tagging operation. S3 Batch Operations\n passes every object to the underlying PUT Object tagging API. For more information about\n the parameters for this operation, see PUT Object tagging.

" } }, "com.amazonaws.s3control#S3StorageClass": { @@ -6552,6 +6833,10 @@ { "value": "DEEP_ARCHIVE", "name": "DEEP_ARCHIVE" + }, + { + "value": "GLACIER_IR", + "name": "GLACIER_IR" } ] } @@ -6605,7 +6890,7 @@ "KeyId": { "target": "com.amazonaws.s3control#SSEKMSKeyId", "traits": { - "smithy.api#documentation": "

A container for the ARN of the SSE-KMS encryption.\n This property is read-only and follows the following format: \n arn:aws:kms:us-east-1:example-account-id:key/example-9a73-4afc-8d29-8f5900cef44e\n \n

", + "smithy.api#documentation": "

A container for the ARN of the SSE-KMS encryption. This property is read-only and\n follows the following format: \n arn:aws:kms:us-east-1:example-account-id:key/example-9a73-4afc-8d29-8f5900cef44e\n \n

", "smithy.api#required": {} } } @@ -6615,6 +6900,22 @@ "smithy.api#xmlName": "SSE-KMS" } }, + "com.amazonaws.s3control#SSEKMSEncryption": { + "type": "structure", + "members": { + "KeyId": { + "target": "com.amazonaws.s3control#KmsKeyArnString", + "traits": { + "smithy.api#documentation": "

Specifies the ID of the Amazon Web Services Key Management Service (Amazon Web Services KMS) symmetric customer managed\n key to use for encrypting generated manifest objects.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

Configuration for the use of SSE-KMS to encrypt generated manifest objects.

", + "smithy.api#xmlName": "SSE-KMS" + } + }, "com.amazonaws.s3control#SSEKMSKeyId": { "type": "string" }, @@ -6626,6 +6927,14 @@ "smithy.api#xmlName": "SSE-S3" } }, + "com.amazonaws.s3control#SSES3Encryption": { + "type": "structure", + "members": {}, + "traits": { + "smithy.api#documentation": "

Configuration for the use of SSE-S3 to encrypt generated manifest objects.

", + "smithy.api#xmlName": "SSE-S3" + } + }, "com.amazonaws.s3control#SelectionCriteria": { "type": "structure", "members": { @@ -6671,7 +6980,7 @@ "Arn": { "target": "com.amazonaws.s3control#AwsOrgArn", "traits": { - "smithy.api#documentation": "

A container for the Amazon Resource Name (ARN) of the Amazon Web Services organization.\n This property is read-only and follows the following format: \n arn:aws:organizations:us-east-1:example-account-id:organization/o-ex2l495dck\n \n

", + "smithy.api#documentation": "

A container for the Amazon Resource Name (ARN) of the Amazon Web Services organization. This property\n is read-only and follows the following format: \n arn:aws:organizations:us-east-1:example-account-id:organization/o-ex2l495dck\n \n

", "smithy.api#required": {} } } @@ -6712,7 +7021,7 @@ "DataExport": { "target": "com.amazonaws.s3control#StorageLensDataExport", "traits": { - "smithy.api#documentation": "

A container to specify the properties of your S3 Storage Lens metrics export including, the destination, schema and \n format.

" + "smithy.api#documentation": "

A container to specify the properties of your S3 Storage Lens metrics export including, the\n destination, schema and format.

" } }, "IsEnabled": { @@ -6731,7 +7040,7 @@ "StorageLensArn": { "target": "com.amazonaws.s3control#StorageLensArn", "traits": { - "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the S3 Storage Lens configuration. This property is\n read-only and follows the following format: \n arn:aws:s3:us-east-1:example-account-id:storage-lens/your-dashboard-name\n \n

" + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the S3 Storage Lens configuration. This property is read-only\n and follows the following format: \n arn:aws:s3:us-east-1:example-account-id:storage-lens/your-dashboard-name\n \n

" } } }, @@ -6754,7 +7063,7 @@ "S3BucketDestination": { "target": "com.amazonaws.s3control#S3BucketDestination", "traits": { - "smithy.api#documentation": "

A container for the bucket where the S3 Storage Lens metrics export will be located.

\n \n

This bucket must be located in the same Region as the storage lens configuration.

\n
" + "smithy.api#documentation": "

A container for the bucket where the S3 Storage Lens metrics export will be located.

\n \n

This bucket must be located in the same Region as the storage lens configuration.\n

\n
" } }, "CloudWatchMetrics": { @@ -6929,13 +7238,13 @@ "Date": { "target": "com.amazonaws.s3control#Date", "traits": { - "smithy.api#documentation": "

Indicates when objects are transitioned to the specified storage class. \n The date value must be in ISO 8601 format. The time is always midnight UTC.

" + "smithy.api#documentation": "

Indicates when objects are transitioned to the specified storage class. The date value\n must be in ISO 8601 format. The time is always midnight UTC.

" } }, "Days": { "target": "com.amazonaws.s3control#Days", "traits": { - "smithy.api#documentation": "

Indicates the number of days after creation when objects are transitioned to the specified storage class. \n The value must be a positive integer.

" + "smithy.api#documentation": "

Indicates the number of days after creation when objects are transitioned to the\n specified storage class. The value must be a positive integer.

" } }, "StorageClass": { @@ -7008,7 +7317,7 @@ } ], "traits": { - "smithy.api#documentation": "

Updates an existing S3 Batch Operations job's priority. For more information, see S3 Batch Operations in the\n Amazon S3 User Guide.

\n

\n

Related actions include:

\n ", + "smithy.api#documentation": "

Updates an existing S3 Batch Operations job's priority. For more information, see S3 Batch Operations in the Amazon S3 User Guide.

\n

\n

Related actions include:

\n ", "smithy.api#endpoint": { "hostPrefix": "{AccountId}." }, @@ -7094,7 +7403,7 @@ } ], "traits": { - "smithy.api#documentation": "

Updates the status for the specified job. Use this action to confirm that you want to\n run a job or to cancel an existing job. For more information, see S3 Batch Operations in the\n Amazon S3 User Guide.

\n

\n

Related actions include:

\n ", + "smithy.api#documentation": "

Updates the status for the specified job. Use this action to confirm that you want to\n run a job or to cancel an existing job. For more information, see S3 Batch Operations in the Amazon S3 User Guide.

\n

\n

Related actions include:

\n ", "smithy.api#endpoint": { "hostPrefix": "{AccountId}." }, @@ -7136,7 +7445,7 @@ "StatusUpdateReason": { "target": "com.amazonaws.s3control#JobStatusUpdateReason", "traits": { - "smithy.api#documentation": "

A description of the reason why you want to change the specified job's status. This field can be any string up to the maximum length.

", + "smithy.api#documentation": "

A description of the reason why you want to change the specified job's status. This\n field can be any string up to the maximum length.

", "smithy.api#httpQuery": "statusUpdateReason" } } @@ -7171,7 +7480,7 @@ "VpcId": { "target": "com.amazonaws.s3control#VpcId", "traits": { - "smithy.api#documentation": "

If this field is specified, this access point will only allow connections from the specified VPC ID.

", + "smithy.api#documentation": "

If this field is specified, this access point will only allow connections from the specified VPC\n ID.

", "smithy.api#required": {} } } diff --git a/codegen/sdk-codegen/aws-models/sagemaker.2017-07-24.json b/codegen/sdk-codegen/aws-models/sagemaker.2017-07-24.json index 8f56290a728..8b124dec271 100644 --- a/codegen/sdk-codegen/aws-models/sagemaker.2017-07-24.json +++ b/codegen/sdk-codegen/aws-models/sagemaker.2017-07-24.json @@ -2166,6 +2166,14 @@ { "value": "ModelDeploymentError", "name": "MODEL_DEPLOYMENT_ERROR" + }, + { + "value": "GeneratingModelInsightsReport", + "name": "GENERATING_MODEL_INSIGHTS_REPORT" + }, + { + "value": "ModelInsightsError", + "name": "MODEL_INSIGHTS_ERROR" } ] } @@ -2799,6 +2807,12 @@ "smithy.api#documentation": "

The Amazon S3 prefix to the explainability artifacts generated for the AutoML\n candidate.

", "smithy.api#required": {} } + }, + "ModelInsights": { + "target": "com.amazonaws.sagemaker#ModelInsightsLocation", + "traits": { + "smithy.api#documentation": "

The Amazon S3 prefix to the model insight artifacts generated for the AutoML\n candidate.

" + } } }, "traits": { @@ -27290,6 +27304,14 @@ "smithy.api#documentation": "

Input object for the model.

" } }, + "com.amazonaws.sagemaker#ModelInsightsLocation": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1 + } + } + }, "com.amazonaws.sagemaker#ModelLatencyThreshold": { "type": "structure", "members": { @@ -37633,6 +37655,10 @@ { "value": "NVIDIA", "name": "NVIDIA" + }, + { + "value": "NNA", + "name": "NNA" } ] } diff --git a/codegen/sdk-codegen/aws-models/secretsmanager.2017-10-17.json b/codegen/sdk-codegen/aws-models/secretsmanager.2017-10-17.json index db6095628ea..d912185b67e 100644 --- a/codegen/sdk-codegen/aws-models/secretsmanager.2017-10-17.json +++ b/codegen/sdk-codegen/aws-models/secretsmanager.2017-10-17.json @@ -75,7 +75,7 @@ } ], "traits": { - "smithy.api#documentation": "

Turns off automatic rotation, and if a rotation is currently in\n progress, cancels the rotation.

\n

To turn on automatic rotation again, call RotateSecret.

\n \n

If you cancel a rotation in progress, it can leave the VersionStage\n labels in an unexpected state. Depending on the step of the rotation in progress, you might\n need to remove the staging label AWSPENDING from the partially created version, specified\n by the VersionId response value. We recommend you also evaluate the partially rotated\n new version to see if it should be deleted. You can delete a version by removing all staging labels\n from it.

\n
" + "smithy.api#documentation": "

Turns off automatic rotation, and if a rotation is currently in\n progress, cancels the rotation.

\n

To turn on automatic rotation again, call RotateSecret.

\n \n

If you cancel a rotation in progress, it can leave the VersionStage\n labels in an unexpected state. Depending on the step of the rotation in progress, you might\n need to remove the staging label AWSPENDING from the partially created version, specified\n by the VersionId response value. We recommend you also evaluate the partially rotated\n new version to see if it should be deleted. You can delete a version by removing all staging labels\n from it.

\n
\n

\n Required permissions: \n secretsmanager:CancelRotateSecret. \n For more information, see \n IAM policy actions for Secrets Manager and Authentication \n and access control in Secrets Manager.

" } }, "com.amazonaws.secretsmanager#CancelRotateSecretRequest": { @@ -131,6 +131,9 @@ "target": "com.amazonaws.secretsmanager#CreateSecretResponse" }, "errors": [ + { + "target": "com.amazonaws.secretsmanager#DecryptionFailure" + }, { "target": "com.amazonaws.secretsmanager#EncryptionFailure" }, @@ -160,7 +163,7 @@ } ], "traits": { - "smithy.api#documentation": "

Creates a new secret. A secret is a set of credentials, such as a \n user name and password, that you store in an encrypted form in Secrets Manager. The secret also \n includes the connection information to access a database or other service, which Secrets Manager \n doesn't encrypt. A secret in Secrets Manager consists of both the protected secret data and the\n important information needed to manage the secret.

\n

For information about creating a secret in the console, see Create a secret.

\n

To create a secret, you can provide the secret value to be encrypted in either the\n SecretString parameter or the SecretBinary parameter, but not both. \n If you include SecretString or SecretBinary\n then Secrets Manager creates an initial secret version and automatically attaches the staging\n label AWSCURRENT to it.

\n

If you don't specify an KMS encryption key, Secrets Manager uses the Amazon Web Services managed key \n aws/secretsmanager. If this key \n doesn't already exist in your account, then Secrets Manager creates it for you automatically. All\n users and roles in the Amazon Web Services account automatically have access to use aws/secretsmanager. \n Creating aws/secretsmanager can result in a one-time significant delay in returning the \n result.

\n

If the secret is in a different Amazon Web Services account from the credentials calling the API, then \n you can't use aws/secretsmanager to encrypt the secret, and you must create \n and use a customer managed KMS key.

" + "smithy.api#documentation": "

Creates a new secret. A secret is a set of credentials, such as a \n user name and password, that you store in an encrypted form in Secrets Manager. The secret also \n includes the connection information to access a database or other service, which Secrets Manager \n doesn't encrypt. A secret in Secrets Manager consists of both the protected secret data and the\n important information needed to manage the secret.

\n

For information about creating a secret in the console, see Create a secret.

\n

To create a secret, you can provide the secret value to be encrypted in either the\n SecretString parameter or the SecretBinary parameter, but not both. \n If you include SecretString or SecretBinary\n then Secrets Manager creates an initial secret version and automatically attaches the staging\n label AWSCURRENT to it.

\n

If you don't specify an KMS encryption key, Secrets Manager uses the Amazon Web Services managed key \n aws/secretsmanager. If this key \n doesn't already exist in your account, then Secrets Manager creates it for you automatically. All\n users and roles in the Amazon Web Services account automatically have access to use aws/secretsmanager. \n Creating aws/secretsmanager can result in a one-time significant delay in returning the \n result.

\n

If the secret is in a different Amazon Web Services account from the credentials calling the API, then \n you can't use aws/secretsmanager to encrypt the secret, and you must create \n and use a customer managed KMS key.

\n

\n Required permissions: \n secretsmanager:CreateSecret. \n For more information, see \n IAM policy actions for Secrets Manager and Authentication \n and access control in Secrets Manager.

" } }, "com.amazonaws.secretsmanager#CreateSecretRequest": { @@ -291,7 +294,7 @@ } ], "traits": { - "smithy.api#documentation": "

Deletes the resource-based permission policy attached to the secret. To attach a policy to \n a secret, use PutResourcePolicy.

" + "smithy.api#documentation": "

Deletes the resource-based permission policy attached to the secret. To attach a policy to \n a secret, use PutResourcePolicy.

\n

\n Required permissions: \n secretsmanager:DeleteResourcePolicy. \n For more information, see \n IAM policy actions for Secrets Manager and Authentication \n and access control in Secrets Manager.

" } }, "com.amazonaws.secretsmanager#DeleteResourcePolicyRequest": { @@ -346,7 +349,7 @@ } ], "traits": { - "smithy.api#documentation": "

Deletes a secret and all of its versions. You can specify a recovery\n window during which you can restore the secret. The minimum recovery window is 7 days. \n The default recovery window is 30 days. Secrets Manager attaches a DeletionDate stamp to\n the secret that specifies the end of the recovery window. At the end of the recovery window,\n Secrets Manager deletes the secret permanently.

\n

For information about deleting a secret in the console, see https://docs.aws.amazon.com/secretsmanager/latest/userguide/manage_delete-secret.html.

\n

Secrets Manager performs the permanent secret deletion at the end of the waiting period as a\n background task with low priority. There is no guarantee of a specific time after the\n recovery window for the permanent delete to occur.

\n

At any time before recovery window ends, you can use RestoreSecret to\n remove the DeletionDate and cancel the deletion of the secret.

\n

In a secret scheduled for deletion, you cannot access the encrypted secret value.\n To access that information, first cancel the deletion with RestoreSecret and then retrieve the information.

" + "smithy.api#documentation": "

Deletes a secret and all of its versions. You can specify a recovery\n window during which you can restore the secret. The minimum recovery window is 7 days. \n The default recovery window is 30 days. Secrets Manager attaches a DeletionDate stamp to\n the secret that specifies the end of the recovery window. At the end of the recovery window,\n Secrets Manager deletes the secret permanently.

\n

For information about deleting a secret in the console, see https://docs.aws.amazon.com/secretsmanager/latest/userguide/manage_delete-secret.html.

\n

Secrets Manager performs the permanent secret deletion at the end of the waiting period as a\n background task with low priority. There is no guarantee of a specific time after the\n recovery window for the permanent delete to occur.

\n

At any time before recovery window ends, you can use RestoreSecret to\n remove the DeletionDate and cancel the deletion of the secret.

\n

In a secret scheduled for deletion, you cannot access the encrypted secret value.\n To access that information, first cancel the deletion with RestoreSecret and then retrieve the information.

\n

\n Required permissions: \n secretsmanager:DeleteSecret. \n For more information, see \n IAM policy actions for Secrets Manager and Authentication \n and access control in Secrets Manager.

" } }, "com.amazonaws.secretsmanager#DeleteSecretRequest": { @@ -424,7 +427,7 @@ } ], "traits": { - "smithy.api#documentation": "

Retrieves the details of a secret. It does not include the encrypted secret value. Secrets Manager\n only returns fields that have a value in the response.

" + "smithy.api#documentation": "

Retrieves the details of a secret. It does not include the encrypted secret value. Secrets Manager\n only returns fields that have a value in the response.

\n

\n Required permissions: \n secretsmanager:DescribeSecret. \n For more information, see \n IAM policy actions for Secrets Manager and Authentication \n and access control in Secrets Manager.

" } }, "com.amazonaws.secretsmanager#DescribeSecretRequest": { @@ -556,6 +559,16 @@ } } }, + "com.amazonaws.secretsmanager#DurationType": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 2, + "max": 3 + }, + "smithy.api#pattern": "^[0-9h]+$" + } + }, "com.amazonaws.secretsmanager#EncryptionFailure": { "type": "structure", "members": { @@ -697,7 +710,7 @@ } ], "traits": { - "smithy.api#documentation": "

Generates a random password. We recommend that you specify the\n maximum length and include every character type that the system you are generating a password\n for can support.

" + "smithy.api#documentation": "

Generates a random password. We recommend that you specify the\n maximum length and include every character type that the system you are generating a password\n for can support.

\n

\n Required permissions: \n secretsmanager:GetRandomPassword. \n For more information, see \n IAM policy actions for Secrets Manager and Authentication \n and access control in Secrets Manager.

" } }, "com.amazonaws.secretsmanager#GetRandomPasswordRequest": { @@ -794,7 +807,7 @@ } ], "traits": { - "smithy.api#documentation": "

Retrieves the JSON text of the resource-based policy document attached to the\n secret. For more information about permissions policies attached to a secret, see \n Permissions \n policies attached to a secret.

" + "smithy.api#documentation": "

Retrieves the JSON text of the resource-based policy document attached to the\n secret. For more information about permissions policies attached to a secret, see \n Permissions \n policies attached to a secret.

\n

\n Required permissions: \n secretsmanager:GetResourcePolicy. \n For more information, see \n IAM policy actions for Secrets Manager and Authentication \n and access control in Secrets Manager.

" } }, "com.amazonaws.secretsmanager#GetResourcePolicyRequest": { @@ -858,7 +871,7 @@ } ], "traits": { - "smithy.api#documentation": "

Retrieves the contents of the encrypted fields SecretString or\n SecretBinary from the specified version of a secret, whichever contains\n content.

\n

For information about retrieving the secret value in the console, see Retrieve secrets.

\n

To run this command, you must have secretsmanager:GetSecretValue permissions. \n If the secret is encrypted using a customer-managed key instead of the Amazon Web Services managed key \n aws/secretsmanager, then you also need kms:Decrypt permissions for that key.

" + "smithy.api#documentation": "

Retrieves the contents of the encrypted fields SecretString or\n SecretBinary from the specified version of a secret, whichever contains\n content.

\n

We recommend that you cache your secret values by using client-side caching. \n Caching secrets improves speed and reduces your costs. For more information, see Cache secrets for \n your applications.

\n \n

\n Required permissions: \n secretsmanager:GetSecretValue. \n If the secret is encrypted using a customer-managed key instead of the Amazon Web Services managed key \n aws/secretsmanager, then you also need kms:Decrypt permissions for that key.\n For more information, see \n IAM policy actions for Secrets Manager and Authentication \n and access control in Secrets Manager.

" } }, "com.amazonaws.secretsmanager#GetSecretValueRequest": { @@ -967,7 +980,7 @@ } }, "traits": { - "smithy.api#documentation": "

The parameter name is invalid value.

", + "smithy.api#documentation": "

The parameter name or value is invalid.

", "smithy.api#error": "client" } }, @@ -1042,7 +1055,7 @@ } ], "traits": { - "smithy.api#documentation": "

Lists the versions for a secret.

\n

To list the secrets in the account, use ListSecrets.

\n

To get the secret value from SecretString or SecretBinary, \n call GetSecretValue.

\n \n

\n Minimum\n permissions\n

\n

To run this command, you must have secretsmanager:ListSecretVersionIds permissions.

", + "smithy.api#documentation": "

Lists the versions for a secret.

\n

To list the secrets in the account, use ListSecrets.

\n

To get the secret value from SecretString or SecretBinary, \n call GetSecretValue.

\n

\n Required permissions: \n secretsmanager:ListSecretVersionIds. \n For more information, see \n IAM policy actions for Secrets Manager and Authentication \n and access control in Secrets Manager.

", "smithy.api#paginated": { "inputToken": "NextToken", "outputToken": "NextToken", @@ -1131,7 +1144,7 @@ } ], "traits": { - "smithy.api#documentation": "

Lists the secrets that are stored by Secrets Manager in the Amazon Web Services account.

\n

To list the versions of a secret, use ListSecretVersionIds.

\n

To get the secret value from SecretString or SecretBinary, \n call GetSecretValue.

\n

For information about finding secrets in the console, see Enhanced search capabilities \n for secrets in Secrets Manager.

\n

\n Minimum\n permissions\n

\n

To run this command, you must have secretsmanager:ListSecrets permissions.

", + "smithy.api#documentation": "

Lists the secrets that are stored by Secrets Manager in the Amazon Web Services account.

\n

To list the versions of a secret, use ListSecretVersionIds.

\n

To get the secret value from SecretString or SecretBinary, \n call GetSecretValue.

\n

For information about finding secrets in the console, see Enhanced search capabilities \n for secrets in Secrets Manager.

\n

\n Required permissions: \n secretsmanager:ListSecrets. \n For more information, see \n IAM policy actions for Secrets Manager and Authentication \n and access control in Secrets Manager.

", "smithy.api#paginated": { "inputToken": "NextToken", "outputToken": "NextToken", @@ -1305,7 +1318,7 @@ } ], "traits": { - "smithy.api#documentation": "

Attaches a resource-based permission policy to a secret. A resource-based policy is \n optional. For more information, see Authentication and access control for Secrets Manager\n

\n

For information about attaching a policy in the console, see Attach a \n permissions policy to a secret.

" + "smithy.api#documentation": "

Attaches a resource-based permission policy to a secret. A resource-based policy is \n optional. For more information, see Authentication and access control for Secrets Manager\n

\n

For information about attaching a policy in the console, see Attach a \n permissions policy to a secret.

\n

\n Required permissions: \n secretsmanager:PutResourcePolicy. \n For more information, see \n IAM policy actions for Secrets Manager and Authentication \n and access control in Secrets Manager.

" } }, "com.amazonaws.secretsmanager#PutResourcePolicyRequest": { @@ -1360,6 +1373,9 @@ "target": "com.amazonaws.secretsmanager#PutSecretValueResponse" }, "errors": [ + { + "target": "com.amazonaws.secretsmanager#DecryptionFailure" + }, { "target": "com.amazonaws.secretsmanager#EncryptionFailure" }, @@ -1383,7 +1399,7 @@ } ], "traits": { - "smithy.api#documentation": "

Creates a new version with a new encrypted secret value and attaches it to the secret. The \n version can contain a new SecretString value or a new SecretBinary value.

\n

We recommend you avoid calling PutSecretValue at a sustained rate of more than \n once every 10 minutes. When you update the secret value, Secrets Manager creates a new version \n of the secret. Secrets Manager removes outdated versions when there are more than 100, but it does not \n remove versions created less than 24 hours ago. If you call PutSecretValue more \n than once every 10 minutes, you create more versions than Secrets Manager removes, and you will reach \n the quota for secret versions.

\n

You can specify the staging labels to attach to the new version in VersionStages. \n If you don't include VersionStages, then Secrets Manager automatically\n moves the staging label AWSCURRENT to this version. If this operation creates \n the first version for the secret, then Secrets Manager\n automatically attaches the staging label AWSCURRENT to it .

\n

If this operation moves the staging label AWSCURRENT from another version to this\n version, then Secrets Manager also automatically moves the staging label AWSPREVIOUS to\n the version that AWSCURRENT was removed from.

\n

This operation is idempotent. If a version with a VersionId with the same\n value as the ClientRequestToken parameter already exists, and you specify the\n same secret data, the operation succeeds but does nothing. However, if the secret data is\n different, then the operation fails because you can't modify an existing version; you can\n only create new ones.

" + "smithy.api#documentation": "

Creates a new version with a new encrypted secret value and attaches it to the secret. The \n version can contain a new SecretString value or a new SecretBinary value.

\n

We recommend you avoid calling PutSecretValue at a sustained rate of more than \n once every 10 minutes. When you update the secret value, Secrets Manager creates a new version \n of the secret. Secrets Manager removes outdated versions when there are more than 100, but it does not \n remove versions created less than 24 hours ago. If you call PutSecretValue more \n than once every 10 minutes, you create more versions than Secrets Manager removes, and you will reach \n the quota for secret versions.

\n

You can specify the staging labels to attach to the new version in VersionStages. \n If you don't include VersionStages, then Secrets Manager automatically\n moves the staging label AWSCURRENT to this version. If this operation creates \n the first version for the secret, then Secrets Manager\n automatically attaches the staging label AWSCURRENT to it .

\n

If this operation moves the staging label AWSCURRENT from another version to this\n version, then Secrets Manager also automatically moves the staging label AWSPREVIOUS to\n the version that AWSCURRENT was removed from.

\n

This operation is idempotent. If a version with a VersionId with the same\n value as the ClientRequestToken parameter already exists, and you specify the\n same secret data, the operation succeeds but does nothing. However, if the secret data is\n different, then the operation fails because you can't modify an existing version; you can\n only create new ones.

\n

\n Required permissions: \n secretsmanager:PutSecretValue. \n For more information, see \n IAM policy actions for Secrets Manager and Authentication \n and access control in Secrets Manager.

" } }, "com.amazonaws.secretsmanager#PutSecretValueRequest": { @@ -1498,7 +1514,7 @@ } ], "traits": { - "smithy.api#documentation": "

For a secret that is replicated to other Regions, deletes the secret replicas from the Regions you specify.

" + "smithy.api#documentation": "

For a secret that is replicated to other Regions, deletes the secret replicas from the Regions you specify.

\n

\n Required permissions: \n secretsmanager:RemoveRegionsFromReplication. \n For more information, see \n IAM policy actions for Secrets Manager and Authentication \n and access control in Secrets Manager.

" } }, "com.amazonaws.secretsmanager#RemoveRegionsFromReplicationRequest": { @@ -1591,7 +1607,7 @@ } ], "traits": { - "smithy.api#documentation": "

Replicates the secret to a new Regions. See Multi-Region secrets.

" + "smithy.api#documentation": "

Replicates the secret to a new Regions. See Multi-Region secrets.

\n

\n Required permissions: \n secretsmanager:ReplicateSecretToRegions. \n For more information, see \n IAM policy actions for Secrets Manager and Authentication \n and access control in Secrets Manager.

" } }, "com.amazonaws.secretsmanager#ReplicateSecretToRegionsRequest": { @@ -1730,7 +1746,7 @@ } ], "traits": { - "smithy.api#documentation": "

Cancels the scheduled deletion of a secret by removing the DeletedDate time\n stamp. You can access a secret again after it has been restored.

" + "smithy.api#documentation": "

Cancels the scheduled deletion of a secret by removing the DeletedDate time\n stamp. You can access a secret again after it has been restored.

\n

\n Required permissions: \n secretsmanager:RestoreSecret. \n For more information, see \n IAM policy actions for Secrets Manager and Authentication \n and access control in Secrets Manager.

" } }, "com.amazonaws.secretsmanager#RestoreSecretRequest": { @@ -1785,7 +1801,7 @@ } ], "traits": { - "smithy.api#documentation": "

Configures and starts the asynchronous process of rotating the secret.

\n

If you include the\n configuration parameters, the operation sets the values for the secret and then immediately\n starts a rotation. If you don't include the configuration parameters, the operation starts a\n rotation with the values already stored in the secret. For more information about rotation, \n see Rotate secrets.

\n

To configure rotation, you include the ARN of an Amazon Web Services Lambda function and the schedule \n for the rotation. The Lambda rotation function creates a new\n version of the secret and creates or updates the credentials on the database or service to\n match. After testing the new credentials, the function marks the new secret version with the staging\n label AWSCURRENT. Then anyone who retrieves the secret gets the new version. For more\n information, see How rotation works.

\n

When rotation is successful, the AWSPENDING staging label might be attached to the same \n version as the AWSCURRENT version, or it might not be attached to any version.

\n

If the AWSPENDING staging label is present but not attached to the same version as\n AWSCURRENT, then any later invocation of RotateSecret assumes that a previous\n rotation request is still in progress and returns an error.

\n

To run this command, you must have secretsmanager:RotateSecret permissions and \n lambda:InvokeFunction permissions on the function specified in the secret's metadata.

" + "smithy.api#documentation": "

Configures and starts the asynchronous process of rotating the secret.

\n

If you include the\n configuration parameters, the operation sets the values for the secret and then immediately\n starts a rotation. If you don't include the configuration parameters, the operation starts a\n rotation with the values already stored in the secret. For more information about rotation, \n see Rotate secrets.

\n

To configure rotation, you include the ARN of an Amazon Web Services Lambda function and the schedule \n for the rotation. The Lambda rotation function creates a new\n version of the secret and creates or updates the credentials on the database or service to\n match. After testing the new credentials, the function marks the new secret version with the staging\n label AWSCURRENT. Then anyone who retrieves the secret gets the new version. For more\n information, see How rotation works.

\n

When rotation is successful, the AWSPENDING staging label might be attached to the same \n version as the AWSCURRENT version, or it might not be attached to any version.

\n

If the AWSPENDING staging label is present but not attached to the same version as\n AWSCURRENT, then any later invocation of RotateSecret assumes that a previous\n rotation request is still in progress and returns an error.

\n

\n Required permissions: \n secretsmanager:RotateSecret. \n For more information, see \n IAM policy actions for Secrets Manager and Authentication \n and access control in Secrets Manager. You also need lambda:InvokeFunction permissions on the rotation function. \n For more information, see \n Permissions for rotation.

" } }, "com.amazonaws.secretsmanager#RotateSecretRequest": { @@ -1816,6 +1832,13 @@ "traits": { "smithy.api#documentation": "

A structure that defines the rotation configuration for this secret.

" } + }, + "RotateImmediately": { + "target": "com.amazonaws.secretsmanager#BooleanType", + "traits": { + "smithy.api#box": {}, + "smithy.api#documentation": "

Specifies whether to rotate the secret immediately or wait until the next scheduled rotation window. \n The rotation schedule is defined in RotateSecretRequest$RotationRules.

\n

If you don't immediately rotate the secret, Secrets Manager tests the rotation configuration by running the \n \n testSecret \n step of the Lambda rotation function. The test creates an AWSPENDING version of the secret and then removes it.

\n

If you don't specify this value, then by default, Secrets Manager rotates the secret immediately.

" + } } } }, @@ -1861,7 +1884,19 @@ "target": "com.amazonaws.secretsmanager#AutomaticallyRotateAfterDaysType", "traits": { "smithy.api#box": {}, - "smithy.api#documentation": "

Specifies the number of days between automatic scheduled rotations of the secret.

\n

Secrets Manager schedules the next rotation when the previous \n one is complete. Secrets Manager schedules the date by adding the rotation interval (number of days) to the \n actual date of the last rotation. The service chooses the hour within that 24-hour date window \n randomly. The minute is also chosen somewhat randomly, but weighted towards the top of the hour \n and influenced by a variety of factors that help distribute load.

" + "smithy.api#documentation": "

The number of days between automatic scheduled rotations of the secret. You can use this \n value to check that your secret meets your compliance guidelines for how often secrets must \n be rotated.

\n

In DescribeSecret and ListSecrets, this value is calculated from \n the rotation schedule after every successful rotation. In RotateSecret, you can \n set the rotation schedule in RotationRules with AutomaticallyAfterDays\n or ScheduleExpression, but not both.

" + } + }, + "Duration": { + "target": "com.amazonaws.secretsmanager#DurationType", + "traits": { + "smithy.api#documentation": "

The length of the rotation window in hours, for example 3h for a three hour window. Secrets Manager \n rotates your secret at any time during this window. The window must not go into the next UTC \n day. If you don't specify this value, the window automatically ends at the end of \n the UTC day. The window begins according to the ScheduleExpression. For more \n information, including examples, see Schedule expressions \n in Secrets Manager rotation.

" + } + }, + "ScheduleExpression": { + "target": "com.amazonaws.secretsmanager#ScheduleExpressionType", + "traits": { + "smithy.api#documentation": "

A cron() or rate() expression that defines the schedule for \n rotating your secret. Secrets Manager rotation schedules use UTC time zone.

\n

Secrets Manager rate() expressions \n represent the interval in days that you want to rotate your secret, for example \n rate(10 days). If you use a rate() expression, the rotation \n window opens at midnight, and Secrets Manager rotates your secret any time that day after midnight. \n You can set a Duration to shorten the rotation window.

\n

You can use a cron() expression to create rotation schedules that are \n more detailed than a rotation interval. For more information, including examples, see \n Schedule expressions \n in Secrets Manager rotation. If you use a cron() expression, Secrets Manager rotates \n your secret any time during that day after the window opens. For example, \n cron(0 8 1 * ? *) represents a rotation window that occurs on the first \n day of every month beginning at 8:00 AM UTC. Secrets Manager rotates the secret any time that day \n after 8:00 AM. You can set a Duration to shorten \n the rotation window.

" } } }, @@ -1869,6 +1904,16 @@ "smithy.api#documentation": "

A structure that defines the rotation configuration for the secret.

" } }, + "com.amazonaws.secretsmanager#ScheduleExpressionType": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 256 + }, + "smithy.api#pattern": "^[0-9A-Za-z\\(\\)#\\?\\*\\-\\/, ]+$" + } + }, "com.amazonaws.secretsmanager#SecretARNType": { "type": "string", "traits": { @@ -1934,7 +1979,7 @@ "RotationLambdaARN": { "target": "com.amazonaws.secretsmanager#RotationLambdaARNType", "traits": { - "smithy.api#documentation": "

The ARN of an Amazon Web Services Lambda function invoked by Secrets Manager to rotate and expire the\n secret either automatically per the schedule or manually by a call to RotateSecret.

" + "smithy.api#documentation": "

The ARN of an Amazon Web Services Lambda function invoked by Secrets Manager to rotate and expire the\n secret either automatically per the schedule or manually by a call to \n RotateSecret\n .

" } }, "RotationRules": { @@ -1964,13 +2009,13 @@ "DeletedDate": { "target": "com.amazonaws.secretsmanager#DeletedDateType", "traits": { - "smithy.api#documentation": "

The date and time the deletion of the secret occurred. Not present on active secrets. The\n secret can be recovered until the number of days in the recovery window has passed, as\n specified in the RecoveryWindowInDays parameter of the DeleteSecret operation.

" + "smithy.api#documentation": "

The date and time the deletion of the secret occurred. Not present on active secrets. The\n secret can be recovered until the number of days in the recovery window has passed, as\n specified in the RecoveryWindowInDays parameter of the \n DeleteSecret\n operation.

" } }, "Tags": { "target": "com.amazonaws.secretsmanager#TagListType", "traits": { - "smithy.api#documentation": "

The list of user-defined tags associated with the secret. To add tags to a\n secret, use TagResource. To remove tags, use UntagResource.

" + "smithy.api#documentation": "

The list of user-defined tags associated with the secret. To add tags to a\n secret, use \n TagResource\n . \n To remove tags, use \n UntagResource\n .

" } }, "SecretVersionsToStages": { @@ -1999,7 +2044,7 @@ } }, "traits": { - "smithy.api#documentation": "

A structure that contains the details about a secret. It does not include the encrypted\n SecretString and SecretBinary values. To get those values, use the\n GetSecretValue operation.

" + "smithy.api#documentation": "

A structure that contains the details about a secret. It does not include the encrypted\n SecretString and SecretBinary values. To get those values, use \n GetSecretValue\n .

" } }, "com.amazonaws.secretsmanager#SecretListType": { @@ -2176,7 +2221,7 @@ } ], "traits": { - "smithy.api#documentation": "

Removes the link between the replica secret and the primary secret and promotes the replica to a primary secret in the replica Region.

\n

You must call this operation from the Region in which you want to promote the replica to a primary secret.

" + "smithy.api#documentation": "

Removes the link between the replica secret and the primary secret and promotes the replica to a primary secret in the replica Region.

\n

You must call this operation from the Region in which you want to promote the replica to a primary secret.

\n

\n Required permissions: \n secretsmanager:StopReplicationToReplica. \n For more information, see \n IAM policy actions for Secrets Manager and Authentication \n and access control in Secrets Manager.

" } }, "com.amazonaws.secretsmanager#StopReplicationToReplicaRequest": { @@ -2263,7 +2308,7 @@ } ], "traits": { - "smithy.api#documentation": "

Attaches tags to a secret. Tags consist of a key name and a value. Tags are part of the \n secret's metadata. They are not associated with specific versions of the secret. This operation appends tags to the existing list of tags.

\n

The following restrictions apply to tags:

\n \n \n \n

If you use tags as part of your security strategy, then adding or removing a tag can\n change permissions. If successfully completing this operation would result in you losing\n your permissions for this secret, then the operation is blocked and returns an Access Denied\n error.

\n
" + "smithy.api#documentation": "

Attaches tags to a secret. Tags consist of a key name and a value. Tags are part of the \n secret's metadata. They are not associated with specific versions of the secret. This operation appends tags to the existing list of tags.

\n

The following restrictions apply to tags:

\n \n \n \n

If you use tags as part of your security strategy, then adding or removing a tag can\n change permissions. If successfully completing this operation would result in you losing\n your permissions for this secret, then the operation is blocked and returns an Access Denied\n error.

\n
\n

\n Required permissions: \n secretsmanager:TagResource. \n For more information, see \n IAM policy actions for Secrets Manager and Authentication \n and access control in Secrets Manager.

" } }, "com.amazonaws.secretsmanager#TagResourceRequest": { @@ -2317,7 +2362,7 @@ } ], "traits": { - "smithy.api#documentation": "

Removes specific tags from a secret.

\n

This operation is idempotent. If a requested tag is not attached to the secret, no error\n is returned and the secret metadata is unchanged.

\n \n

If you use tags as part of your security strategy, then removing a tag can change\n permissions. If successfully completing this operation would result in you losing your\n permissions for this secret, then the operation is blocked and returns an Access Denied\n error.

\n
" + "smithy.api#documentation": "

Removes specific tags from a secret.

\n

This operation is idempotent. If a requested tag is not attached to the secret, no error\n is returned and the secret metadata is unchanged.

\n \n

If you use tags as part of your security strategy, then removing a tag can change\n permissions. If successfully completing this operation would result in you losing your\n permissions for this secret, then the operation is blocked and returns an Access Denied\n error.

\n
\n

\n Required permissions: \n secretsmanager:UntagResource. \n For more information, see \n IAM policy actions for Secrets Manager and Authentication \n and access control in Secrets Manager.

" } }, "com.amazonaws.secretsmanager#UntagResourceRequest": { @@ -2348,6 +2393,9 @@ "target": "com.amazonaws.secretsmanager#UpdateSecretResponse" }, "errors": [ + { + "target": "com.amazonaws.secretsmanager#DecryptionFailure" + }, { "target": "com.amazonaws.secretsmanager#EncryptionFailure" }, @@ -2377,7 +2425,7 @@ } ], "traits": { - "smithy.api#documentation": "

Modifies the details of a secret, including metadata and the secret value. To change the secret value, you can also use PutSecretValue.

\n

To change the rotation configuration of a secret, use RotateSecret instead.

\n \n

We recommend you avoid calling UpdateSecret at a sustained rate of more than \n once every 10 minutes. When you call UpdateSecret to update the secret value, Secrets Manager creates a new version \n of the secret. Secrets Manager removes outdated versions when there are more than 100, but it does not \n remove versions created less than 24 hours ago. If you update the secret value more \n than once every 10 minutes, you create more versions than Secrets Manager removes, and you will reach \n the quota for secret versions.

\n

If you include SecretString or SecretBinary to create a new\n secret version, Secrets Manager automatically attaches the staging label AWSCURRENT to the new\n version.

\n

If you call this operation with a VersionId that matches an existing version's \n ClientRequestToken, the operation results in an error. You can't modify an existing \n version, you can only create a new version. To remove a version, remove all staging labels from it. See \n UpdateSecretVersionStage.

\n

If you don't specify an KMS encryption key, Secrets Manager uses the Amazon Web Services managed key \n aws/secretsmanager. If this key doesn't already exist in your account, then Secrets Manager \n creates it for you automatically. All users and roles in the Amazon Web Services account automatically have access \n to use aws/secretsmanager. Creating aws/secretsmanager can result in a one-time \n significant delay in returning the result.

\n

If the secret is in a different Amazon Web Services account from the credentials calling the API, then you can't \n use aws/secretsmanager to encrypt the secret, and you must create and use a customer managed key.

\n \n

To run this command, you must have secretsmanager:UpdateSecret permissions. If you use a \n customer managed key, you must also have kms:GenerateDataKey and kms:Decrypt permissions .

" + "smithy.api#documentation": "

Modifies the details of a secret, including metadata and the secret value. To change the secret value, you can also use PutSecretValue.

\n

To change the rotation configuration of a secret, use RotateSecret instead.

\n \n

We recommend you avoid calling UpdateSecret at a sustained rate of more than \n once every 10 minutes. When you call UpdateSecret to update the secret value, Secrets Manager creates a new version \n of the secret. Secrets Manager removes outdated versions when there are more than 100, but it does not \n remove versions created less than 24 hours ago. If you update the secret value more \n than once every 10 minutes, you create more versions than Secrets Manager removes, and you will reach \n the quota for secret versions.

\n

If you include SecretString or SecretBinary to create a new\n secret version, Secrets Manager automatically attaches the staging label AWSCURRENT to the new\n version.

\n

If you call this operation with a VersionId that matches an existing version's \n ClientRequestToken, the operation results in an error. You can't modify an existing \n version, you can only create a new version. To remove a version, remove all staging labels from it. See \n UpdateSecretVersionStage.

\n

If you don't specify an KMS encryption key, Secrets Manager uses the Amazon Web Services managed key \n aws/secretsmanager. If this key doesn't already exist in your account, then Secrets Manager \n creates it for you automatically. All users and roles in the Amazon Web Services account automatically have access \n to use aws/secretsmanager. Creating aws/secretsmanager can result in a one-time \n significant delay in returning the result.

\n

If the secret is in a different Amazon Web Services account from the credentials calling the API, then you can't \n use aws/secretsmanager to encrypt the secret, and you must create and use a customer managed key.

\n

\n Required permissions: \n secretsmanager:UpdateSecret. \n For more information, see \n IAM policy actions for Secrets Manager and Authentication \n and access control in Secrets Manager. \n If you use a customer managed key, you must also have kms:GenerateDataKey and \n kms:Decrypt permissions on the key. For more information, see \n Secret encryption and decryption.

" } }, "com.amazonaws.secretsmanager#UpdateSecretRequest": { @@ -2472,7 +2520,7 @@ } ], "traits": { - "smithy.api#documentation": "

Modifies the staging labels attached to a version of a secret. Secrets Manager uses staging labels to\n track a version as it progresses through the secret rotation process. Each staging label can be \n attached to only one version at a time. To add a staging label to a version when it is already \n attached to another version, Secrets Manager first removes it from the other version first and\n then attaches it to this one. For more information about versions and staging labels, see Concepts: Version.

\n

The staging labels that you specify in the VersionStage parameter are added\n to the existing list of staging labels for the version.

\n

You can move the AWSCURRENT staging label to this version by including it in this\n call.

\n \n

Whenever you move AWSCURRENT, Secrets Manager automatically moves the label AWSPREVIOUS\n to the version that AWSCURRENT was removed from.

\n
\n

If this action results in the last label being removed from a version, then the version is\n considered to be 'deprecated' and can be deleted by Secrets Manager.

" + "smithy.api#documentation": "

Modifies the staging labels attached to a version of a secret. Secrets Manager uses staging labels to\n track a version as it progresses through the secret rotation process. Each staging label can be \n attached to only one version at a time. To add a staging label to a version when it is already \n attached to another version, Secrets Manager first removes it from the other version first and\n then attaches it to this one. For more information about versions and staging labels, see Concepts: Version.

\n

The staging labels that you specify in the VersionStage parameter are added\n to the existing list of staging labels for the version.

\n

You can move the AWSCURRENT staging label to this version by including it in this\n call.

\n \n

Whenever you move AWSCURRENT, Secrets Manager automatically moves the label AWSPREVIOUS\n to the version that AWSCURRENT was removed from.

\n
\n

If this action results in the last label being removed from a version, then the version is\n considered to be 'deprecated' and can be deleted by Secrets Manager.

\n

\n Required permissions: \n secretsmanager:UpdateSecretVersionStage. \n For more information, see \n IAM policy actions for Secrets Manager and Authentication \n and access control in Secrets Manager.

" } }, "com.amazonaws.secretsmanager#UpdateSecretVersionStageRequest": { @@ -2549,7 +2597,7 @@ } ], "traits": { - "smithy.api#documentation": "

Validates that a resource policy does not grant a wide range of principals access to\n your secret. A resource-based policy is optional for secrets.

\n

The API performs three checks when validating the policy:

\n " + "smithy.api#documentation": "

Validates that a resource policy does not grant a wide range of principals access to\n your secret. A resource-based policy is optional for secrets.

\n

The API performs three checks when validating the policy:

\n \n

\n Required permissions: \n secretsmanager:ValidateResourcePolicy. \n For more information, see \n IAM policy actions for Secrets Manager and Authentication \n and access control in Secrets Manager.

" } }, "com.amazonaws.secretsmanager#ValidateResourcePolicyRequest": { @@ -2627,7 +2675,7 @@ "name": "secretsmanager" }, "aws.protocols#awsJson1_1": {}, - "smithy.api#documentation": "Amazon Web Services Secrets Manager\n

Amazon Web Services Secrets Manager provides a service to enable you to store, manage, and retrieve, secrets.

\n \n

This guide provides descriptions of the Secrets Manager API. For more information about using this\n service, see the Amazon Web Services Secrets Manager User Guide.

\n \n

\n API Version\n

\n \n

This version of the Secrets Manager API Reference documents the Secrets Manager API version 2017-10-17.

\n \n

As an alternative to using the API, you can use one of the Amazon Web Services SDKs, which consist of\n libraries and sample code for various programming languages and platforms such as Java,\n Ruby, .NET, iOS, and Android. The SDKs provide a convenient way to create programmatic\n access to Amazon Web Services Secrets Manager. For example, the SDKs provide cryptographically signing requests,\n managing errors, and retrying requests automatically. For more information about the Amazon Web Services\n SDKs, including downloading and installing them, see Tools for Amazon Web Services.

\n
\n

We recommend you use the Amazon Web Services SDKs to make programmatic API calls to Secrets Manager. However, you\n also can use the Secrets Manager HTTP Query API to make direct calls to the Secrets Manager web service. To learn\n more about the Secrets Manager HTTP Query API, see Making Query Requests in the\n Amazon Web Services Secrets Manager User Guide.

\n

Secrets Manager API supports GET and POST requests for all actions, and doesn't require you to use\n GET for some actions and POST for others. However, GET requests are subject to the limitation\n size of a URL. Therefore, for operations that require larger sizes, use a POST request.

\n \n \n \n \n \n \n \n

\n Support and Feedback for Amazon Web Services Secrets Manager\n

\n \n

We welcome your feedback. Send your comments to awssecretsmanager-feedback@amazon.com, or post your feedback and questions in the Amazon Web Services Secrets Manager Discussion Forum. For more\n information about the Amazon Web Services Discussion Forums, see Forums\n Help.

\n \n

\n How examples are presented\n

\n \n

The JSON that Amazon Web Services Secrets Manager expects as your request parameters and the service returns as a\n response to HTTP query requests contain single, long strings without line breaks or white\n space formatting. The JSON shown in the examples displays the code formatted with both line\n breaks and white space to improve readability. When example input parameters can also cause\n long strings extending beyond the screen, you can insert line breaks to enhance readability.\n You should always submit the input as a single JSON text string.

\n \n \n

\n Logging API Requests\n

\n

Amazon Web Services Secrets Manager supports Amazon Web Services CloudTrail, a service that records Amazon Web Services API calls for your Amazon Web Services\n account and delivers log files to an Amazon S3 bucket. By using information that's collected\n by Amazon Web Services CloudTrail, you can determine the requests successfully made to Secrets Manager, who made the\n request, when it was made, and so on. For more about Amazon Web Services Secrets Manager and support for Amazon Web Services\n CloudTrail, see Logging\n Amazon Web Services Secrets Manager Events with Amazon Web Services CloudTrail in the Amazon Web Services Secrets Manager User Guide.\n To learn more about CloudTrail, including enabling it and find your log files, see the Amazon Web Services CloudTrail User Guide.

", + "smithy.api#documentation": "Amazon Web Services Secrets Manager\n

Amazon Web Services Secrets Manager provides a service to enable you to store, manage, and retrieve, secrets.

\n \n

This guide provides descriptions of the Secrets Manager API. For more information about using this\n service, see the Amazon Web Services Secrets Manager User Guide.

\n \n

\n API Version\n

\n \n

This version of the Secrets Manager API Reference documents the Secrets Manager API version 2017-10-17.

\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n

\n Support and Feedback for Amazon Web Services Secrets Manager\n

\n

We welcome your feedback. Send your comments to awssecretsmanager-feedback@amazon.com, or post your feedback and questions in the Amazon Web Services Secrets Manager Discussion Forum. For more\n information about the Amazon Web Services Discussion Forums, see Forums\n Help.

\n \n

\n Logging API Requests\n

\n

Amazon Web Services Secrets Manager supports Amazon Web Services CloudTrail, a service that records Amazon Web Services API calls for your Amazon Web Services\n account and delivers log files to an Amazon S3 bucket. By using information that's collected\n by Amazon Web Services CloudTrail, you can determine the requests successfully made to Secrets Manager, who made the\n request, when it was made, and so on. For more about Amazon Web Services Secrets Manager and support for Amazon Web Services\n CloudTrail, see Logging\n Amazon Web Services Secrets Manager Events with Amazon Web Services CloudTrail in the Amazon Web Services Secrets Manager User Guide.\n To learn more about CloudTrail, including enabling it and find your log files, see the Amazon Web Services CloudTrail User Guide.

", "smithy.api#title": "AWS Secrets Manager" }, "version": "2017-10-17", diff --git a/codegen/sdk-codegen/aws-models/sns.2010-03-31.json b/codegen/sdk-codegen/aws-models/sns.2010-03-31.json index e8d0dfef23f..eb57470506f 100644 --- a/codegen/sdk-codegen/aws-models/sns.2010-03-31.json +++ b/codegen/sdk-codegen/aws-models/sns.2010-03-31.json @@ -2541,7 +2541,7 @@ } ], "traits": { - "smithy.api#documentation": "

Sends a message to an Amazon SNS topic, a text message (SMS message) directly to a phone\n number, or a message to a mobile platform endpoint (when you specify the\n TargetArn).

\n

If you send a message to a topic, Amazon SNS delivers the message to each endpoint that is\n subscribed to the topic. The format of the message depends on the notification protocol\n for each subscribed endpoint.

\n

When a messageId is returned, the message is saved and Amazon SNS\n immediately deliverers it to subscribers.

\n

To use the Publish action for publishing a message to a mobile endpoint,\n such as an app on a Kindle device or mobile phone, you must specify the EndpointArn for\n the TargetArn parameter. The EndpointArn is returned when making a call with the\n CreatePlatformEndpoint action.

\n

For more information about formatting messages, see Send Custom\n Platform-Specific Payloads in Messages to Mobile Devices.

\n \n

You can publish messages only to topics and endpoints in the same Amazon Web Services Region.

\n
" + "smithy.api#documentation": "

Sends a message to an Amazon SNS topic, a text message (SMS message) directly to a phone\n number, or a message to a mobile platform endpoint (when you specify the\n TargetArn).

\n

If you send a message to a topic, Amazon SNS delivers the message to each endpoint that is\n subscribed to the topic. The format of the message depends on the notification protocol\n for each subscribed endpoint.

\n

When a messageId is returned, the message is saved and Amazon SNS\n immediately delivers it to subscribers.

\n

To use the Publish action for publishing a message to a mobile endpoint,\n such as an app on a Kindle device or mobile phone, you must specify the EndpointArn for\n the TargetArn parameter. The EndpointArn is returned when making a call with the\n CreatePlatformEndpoint action.

\n

For more information about formatting messages, see Send Custom\n Platform-Specific Payloads in Messages to Mobile Devices.

\n \n

You can publish messages only to topics and endpoints in the same Amazon Web Services Region.

\n
" } }, "com.amazonaws.sns#PublishBatch": { diff --git a/codegen/sdk-codegen/aws-models/ssm.2014-11-06.json b/codegen/sdk-codegen/aws-models/ssm.2014-11-06.json index 8a768d71482..4809c5154a4 100644 --- a/codegen/sdk-codegen/aws-models/ssm.2014-11-06.json +++ b/codegen/sdk-codegen/aws-models/ssm.2014-11-06.json @@ -82,7 +82,7 @@ } }, "traits": { - "smithy.api#documentation": "

A list of of Amazon Web Services accounts where the current document is shared and the version shared with\n each account.

" + "smithy.api#documentation": "

A list of Amazon Web Services accounts where the current document is shared and the version shared with\n each account.

" } }, "com.amazonaws.ssm#Accounts": { @@ -847,7 +847,7 @@ "DocumentVersion": { "target": "com.amazonaws.ssm#DocumentVersion", "traits": { - "smithy.api#documentation": "

The version of the document used in the association.

\n \n

State Manager doesn't support running associations that use a new version of a document if that document is shared from another account. State Manager always runs the default version of a document if shared from another account, even though the Systems Manager console shows that a new version was processed. If you want to run an association using a new version of a document shared form another account, you must set the document version to default.

\n
" + "smithy.api#documentation": "

The version of the document used in the association.

\n \n

State Manager doesn't support running associations that use a new version of a document if\n that document is shared from another account. State Manager always runs the default\n version of a document if shared from another account, even though the Systems Manager console shows that a\n new version was processed. If you want to run an association using a new version of a document\n shared form another account, you must set the document version to default.

\n
" } }, "Targets": { @@ -2808,7 +2808,7 @@ "ApprovedPatches": { "target": "com.amazonaws.ssm#PatchIdList", "traits": { - "smithy.api#documentation": "

A list of explicitly approved patches for the baseline.

\n

For information about accepted formats for lists of approved patches and rejected patches,\n see About\n package name formats for approved and rejected patch lists in the Amazon Web Services Systems Manager User Guide.

" + "smithy.api#documentation": "

A list of explicitly approved patches for the baseline.

\n

For information about accepted formats for lists of approved patches and rejected patches,\n see About\n package name formats for approved and rejected patch lists in the Amazon Web Services Systems Manager User Guide.

" } }, "ApprovedPatchesComplianceLevel": { @@ -2820,7 +2820,7 @@ "RejectedPatches": { "target": "com.amazonaws.ssm#PatchIdList", "traits": { - "smithy.api#documentation": "

A list of explicitly rejected patches for the baseline.

\n

For information about accepted formats for lists of approved patches and rejected patches,\n see About\n package name formats for approved and rejected patch lists in the Amazon Web Services Systems Manager User Guide.

" + "smithy.api#documentation": "

A list of explicitly rejected patches for the baseline.

\n

For information about accepted formats for lists of approved patches and rejected patches,\n see About\n package name formats for approved and rejected patch lists in the Amazon Web Services Systems Manager User Guide.

" } }, "RejectedPatchesAction": { @@ -3173,7 +3173,7 @@ "CompletedCount": { "target": "com.amazonaws.ssm#CompletedCount", "traits": { - "smithy.api#documentation": "

The number of targets for which the command invocation reached a terminal state. Terminal\n states include the following: Success, Failed, Execution Timed Out, Delivery Timed Out, Cancelled,\n Terminated, or Undeliverable.

" + "smithy.api#documentation": "

The number of targets for which the command invocation reached a terminal state. Terminal\n states include the following: Success, Failed, Execution Timed Out, Delivery Timed Out,\n Cancelled, Terminated, or Undeliverable.

" } }, "ErrorCount": { @@ -4481,7 +4481,7 @@ "DocumentVersion": { "target": "com.amazonaws.ssm#DocumentVersion", "traits": { - "smithy.api#documentation": "

The document version you want to associate with the target(s). Can be a specific version or\n the default version.

\n \n

State Manager doesn't support running associations that use a new version of a document if that document is shared from another account. State Manager always runs the default version of a document if shared from another account, even though the Systems Manager console shows that a new version was processed. If you want to run an association using a new version of a document shared form another account, you must set the document version to default.

\n
" + "smithy.api#documentation": "

The document version you want to associate with the target(s). Can be a specific version or\n the default version.

\n \n

State Manager doesn't support running associations that use a new version of a document if\n that document is shared from another account. State Manager always runs the default\n version of a document if shared from another account, even though the Systems Manager console shows that a\n new version was processed. If you want to run an association using a new version of a document\n shared form another account, you must set the document version to default.

\n
" } }, "InstanceId": { @@ -4657,7 +4657,7 @@ "DocumentType": { "target": "com.amazonaws.ssm#DocumentType", "traits": { - "smithy.api#documentation": "

The type of document to create.

" + "smithy.api#documentation": "

The type of document to create.

\n \n

The DeploymentStrategy document type is an internal-use-only document type\n reserved for AppConfig.

\n
" } }, "DocumentFormat": { @@ -5062,7 +5062,7 @@ "ApprovedPatches": { "target": "com.amazonaws.ssm#PatchIdList", "traits": { - "smithy.api#documentation": "

A list of explicitly approved patches for the baseline.

\n

For information about accepted formats for lists of approved patches and rejected patches,\n see About\n package name formats for approved and rejected patch lists in the Amazon Web Services Systems Manager User Guide.

" + "smithy.api#documentation": "

A list of explicitly approved patches for the baseline.

\n

For information about accepted formats for lists of approved patches and rejected patches,\n see About\n package name formats for approved and rejected patch lists in the Amazon Web Services Systems Manager User Guide.

" } }, "ApprovedPatchesComplianceLevel": { @@ -5081,7 +5081,7 @@ "RejectedPatches": { "target": "com.amazonaws.ssm#PatchIdList", "traits": { - "smithy.api#documentation": "

A list of explicitly rejected patches for the baseline.

\n

For information about accepted formats for lists of approved patches and rejected patches,\n see About\n package name formats for approved and rejected patch lists in the Amazon Web Services Systems Manager User Guide.

" + "smithy.api#documentation": "

A list of explicitly rejected patches for the baseline.

\n

For information about accepted formats for lists of approved patches and rejected patches,\n see About\n package name formats for approved and rejected patch lists in the Amazon Web Services Systems Manager User Guide.

" } }, "RejectedPatchesAction": { @@ -8920,7 +8920,7 @@ } }, "traits": { - "smithy.api#documentation": "

One or more filters. Use a filter to return a more specific list of documents.

\n

For keys, you can specify one or more tags that have been applied to a document.

\n

You can also use Amazon Web Services-provided keys, some of which have specific allowed values. These keys\n and their associated values are as follows:

\n
\n
DocumentType
\n
\n \n
\n
Owner
\n
\n

Note that only one Owner can be specified in a request. For example:\n Key=Owner,Values=Self.

\n \n
\n
PlatformTypes
\n
\n \n
\n
\n

\n Name is another Amazon Web Services-provided key. If you use Name as a key, you\n can use a name prefix to return a list of documents. For example, in the Amazon Web Services CLI, to return a list\n of all documents that begin with Te, run the following command:

\n

\n aws ssm list-documents --filters Key=Name,Values=Te\n

\n

You can also use the TargetType Amazon Web Services-provided key. For a list of valid\n resource type values that can be used with this key, see Amazon Web Services resource and\n property types reference in the CloudFormation User Guide.

\n

If you specify more than two keys, only documents that are identified by all the tags are\n returned in the results. If you specify more than two values for a key, documents that are\n identified by any of the values are returned in the results.

\n

To specify a custom key-value pair, use the format\n Key=tag:tagName,Values=valueName.

\n

For example, if you created a key called region and are using the Amazon Web Services CLI to call the\n list-documents command:

\n

\n aws ssm list-documents --filters Key=tag:region,Values=east,west\n Key=Owner,Values=Self\n

" + "smithy.api#documentation": "

One or more filters. Use a filter to return a more specific list of documents.

\n

For keys, you can specify one or more tags that have been applied to a document.

\n

You can also use Amazon Web Services-provided keys, some of which have specific allowed values. These keys\n and their associated values are as follows:

\n
\n
DocumentType
\n
\n \n
\n
Owner
\n
\n

Note that only one Owner can be specified in a request. For example:\n Key=Owner,Values=Self.

\n \n
\n
PlatformTypes
\n
\n \n
\n
\n

\n Name is another Amazon Web Services-provided key. If you use Name as a key, you\n can use a name prefix to return a list of documents. For example, in the Amazon Web Services CLI, to return a list\n of all documents that begin with Te, run the following command:

\n

\n aws ssm list-documents --filters Key=Name,Values=Te\n

\n

You can also use the TargetType Amazon Web Services-provided key. For a list of valid\n resource type values that can be used with this key, see Amazon Web Services resource and\n property types reference in the CloudFormation User Guide.

\n

If you specify more than two keys, only documents that are identified by all the tags are\n returned in the results. If you specify more than two values for a key, documents that are\n identified by any of the values are returned in the results.

\n

To specify a custom key-value pair, use the format\n Key=tag:tagName,Values=valueName.

\n

For example, if you created a key called region and are using the Amazon Web Services CLI to call the\n list-documents command:

\n

\n aws ssm list-documents --filters Key=tag:region,Values=east,west\n Key=Owner,Values=Self\n

" } }, "com.amazonaws.ssm#DocumentKeyValuesFilterKey": { @@ -11578,7 +11578,7 @@ "Path": { "target": "com.amazonaws.ssm#PSParameterName", "traits": { - "smithy.api#documentation": "

The hierarchy for the parameter. Hierarchies start with a forward slash (/). The hierachy is\n the parameter name except the last part of the parameter. For the API call to succeeed, the last\n part of the parameter name can't be in the path. A parameter name hierarchy can have a maximum of\n 15 levels. Here is an example of a hierarchy: /Finance/Prod/IAD/WinServ2016/license33\n \n

", + "smithy.api#documentation": "

The hierarchy for the parameter. Hierarchies start with a forward slash (/). The hierarchy\n is the parameter name except the last part of the parameter. For the API call to succeed, the\n last part of the parameter name can't be in the path. A parameter name hierarchy can have a\n maximum of 15 levels. Here is an example of a hierarchy:\n /Finance/Prod/IAD/WinServ2016/license33 \n

", "smithy.api#required": {} } }, @@ -15680,7 +15680,7 @@ "Parameters": { "target": "com.amazonaws.ssm#AutomationParameterMap", "traits": { - "smithy.api#documentation": "

The parameters for the AUTOMATION task.

\n

For information about specifying and updating task parameters, see RegisterTaskWithMaintenanceWindow and UpdateMaintenanceWindowTask.

\n \n

\n LoggingInfo has been deprecated. To specify an Amazon Simple Storage Service (Amazon S3) bucket to contain logs, instead use the\n OutputS3BucketName and OutputS3KeyPrefix options in the TaskInvocationParameters structure.\n For information about how Amazon Web Services Systems Manager handles these options for the supported maintenance\n window task types, see MaintenanceWindowTaskInvocationParameters.

\n

\n TaskParameters has been deprecated. To specify parameters to pass to a task when it runs,\n instead use the Parameters option in the TaskInvocationParameters structure. For information\n about how Systems Manager handles these options for the supported maintenance window task\n types, see MaintenanceWindowTaskInvocationParameters.

\n

For AUTOMATION\n task types, Amazon Web Services Systems Manager ignores any values specified for these parameters.

\n
" + "smithy.api#documentation": "

The parameters for the AUTOMATION task.

\n

For information about specifying and updating task parameters, see RegisterTaskWithMaintenanceWindow and UpdateMaintenanceWindowTask.

\n \n

\n LoggingInfo has been deprecated. To specify an Amazon Simple Storage Service (Amazon S3) bucket to contain logs, instead use the\n OutputS3BucketName and OutputS3KeyPrefix options in the TaskInvocationParameters structure.\n For information about how Amazon Web Services Systems Manager handles these options for the supported maintenance\n window task types, see MaintenanceWindowTaskInvocationParameters.

\n \n

\n TaskParameters has been deprecated. To specify parameters to pass to a task when it runs,\n instead use the Parameters option in the TaskInvocationParameters structure. For information\n about how Systems Manager handles these options for the supported maintenance window task\n types, see MaintenanceWindowTaskInvocationParameters.

\n

For AUTOMATION task types, Amazon Web Services Systems Manager ignores any values specified for these\n parameters.

\n
" } } }, @@ -16215,7 +16215,7 @@ } }, "traits": { - "smithy.api#documentation": "

The parameters for a LAMBDA task type.

\n

For information about specifying and updating task parameters, see RegisterTaskWithMaintenanceWindow and UpdateMaintenanceWindowTask.

\n \n

\n LoggingInfo has been deprecated. To specify an Amazon Simple Storage Service (Amazon S3) bucket to contain logs, instead use the\n OutputS3BucketName and OutputS3KeyPrefix options in the TaskInvocationParameters structure.\n For information about how Amazon Web Services Systems Manager handles these options for the supported maintenance\n window task types, see MaintenanceWindowTaskInvocationParameters.

\n

\n TaskParameters has been deprecated. To specify parameters to pass to a task when it runs,\n instead use the Parameters option in the TaskInvocationParameters structure. For information\n about how Systems Manager handles these options for the supported maintenance window task\n types, see MaintenanceWindowTaskInvocationParameters.

\n

For Lambda tasks, Systems Manager ignores\n any values specified for TaskParameters and LoggingInfo.

\n
" + "smithy.api#documentation": "

The parameters for a LAMBDA task type.

\n

For information about specifying and updating task parameters, see RegisterTaskWithMaintenanceWindow and UpdateMaintenanceWindowTask.

\n \n

\n LoggingInfo has been deprecated. To specify an Amazon Simple Storage Service (Amazon S3) bucket to contain logs, instead use the\n OutputS3BucketName and OutputS3KeyPrefix options in the TaskInvocationParameters structure.\n For information about how Amazon Web Services Systems Manager handles these options for the supported maintenance\n window task types, see MaintenanceWindowTaskInvocationParameters.

\n \n

\n TaskParameters has been deprecated. To specify parameters to pass to a task when it runs,\n instead use the Parameters option in the TaskInvocationParameters structure. For information\n about how Systems Manager handles these options for the supported maintenance window task\n types, see MaintenanceWindowTaskInvocationParameters.

\n

For Lambda tasks, Systems Manager ignores any values specified for TaskParameters and\n LoggingInfo.

\n
" } }, "com.amazonaws.ssm#MaintenanceWindowLambdaPayload": { @@ -16349,7 +16349,7 @@ } }, "traits": { - "smithy.api#documentation": "

The parameters for a RUN_COMMAND task type.

\n

For information about specifying and updating task parameters, see RegisterTaskWithMaintenanceWindow and UpdateMaintenanceWindowTask.

\n \n

\n LoggingInfo has been deprecated. To specify an Amazon Simple Storage Service (Amazon S3) bucket to contain logs, instead use the\n OutputS3BucketName and OutputS3KeyPrefix options in the TaskInvocationParameters structure.\n For information about how Amazon Web Services Systems Manager handles these options for the supported maintenance\n window task types, see MaintenanceWindowTaskInvocationParameters.

\n

\n TaskParameters has been deprecated. To specify parameters to pass to a task when it runs,\n instead use the Parameters option in the TaskInvocationParameters structure. For information\n about how Systems Manager handles these options for the supported maintenance window task\n types, see MaintenanceWindowTaskInvocationParameters.

\n

For RUN_COMMAND\n tasks, Systems Manager uses specified values for TaskParameters and LoggingInfo\n only if no values are specified for TaskInvocationParameters.

\n
" + "smithy.api#documentation": "

The parameters for a RUN_COMMAND task type.

\n

For information about specifying and updating task parameters, see RegisterTaskWithMaintenanceWindow and UpdateMaintenanceWindowTask.

\n \n

\n LoggingInfo has been deprecated. To specify an Amazon Simple Storage Service (Amazon S3) bucket to contain logs, instead use the\n OutputS3BucketName and OutputS3KeyPrefix options in the TaskInvocationParameters structure.\n For information about how Amazon Web Services Systems Manager handles these options for the supported maintenance\n window task types, see MaintenanceWindowTaskInvocationParameters.

\n \n

\n TaskParameters has been deprecated. To specify parameters to pass to a task when it runs,\n instead use the Parameters option in the TaskInvocationParameters structure. For information\n about how Systems Manager handles these options for the supported maintenance window task\n types, see MaintenanceWindowTaskInvocationParameters.

\n

For RUN_COMMAND tasks, Systems Manager uses specified values for\n TaskParameters and LoggingInfo only if no values are specified for\n TaskInvocationParameters.

\n
" } }, "com.amazonaws.ssm#MaintenanceWindowSchedule": { @@ -16405,7 +16405,7 @@ } }, "traits": { - "smithy.api#documentation": "

The parameters for a STEP_FUNCTIONS task.

\n

For information about specifying and updating task parameters, see RegisterTaskWithMaintenanceWindow and UpdateMaintenanceWindowTask.

\n \n

\n LoggingInfo has been deprecated. To specify an Amazon Simple Storage Service (Amazon S3) bucket to contain logs, instead use the\n OutputS3BucketName and OutputS3KeyPrefix options in the TaskInvocationParameters structure.\n For information about how Amazon Web Services Systems Manager handles these options for the supported maintenance\n window task types, see MaintenanceWindowTaskInvocationParameters.

\n

\n TaskParameters has been deprecated. To specify parameters to pass to a task when it runs,\n instead use the Parameters option in the TaskInvocationParameters structure. For information\n about how Systems Manager handles these options for the supported maintenance window task\n types, see MaintenanceWindowTaskInvocationParameters.

\n

For Step Functions tasks, Systems Manager\n ignores any values specified for TaskParameters and\n LoggingInfo.

\n
" + "smithy.api#documentation": "

The parameters for a STEP_FUNCTIONS task.

\n

For information about specifying and updating task parameters, see RegisterTaskWithMaintenanceWindow and UpdateMaintenanceWindowTask.

\n \n

\n LoggingInfo has been deprecated. To specify an Amazon Simple Storage Service (Amazon S3) bucket to contain logs, instead use the\n OutputS3BucketName and OutputS3KeyPrefix options in the TaskInvocationParameters structure.\n For information about how Amazon Web Services Systems Manager handles these options for the supported maintenance\n window task types, see MaintenanceWindowTaskInvocationParameters.

\n \n

\n TaskParameters has been deprecated. To specify parameters to pass to a task when it runs,\n instead use the Parameters option in the TaskInvocationParameters structure. For information\n about how Systems Manager handles these options for the supported maintenance window task\n types, see MaintenanceWindowTaskInvocationParameters.

\n

For Step Functions tasks, Systems Manager ignores any values specified for\n TaskParameters and LoggingInfo.

\n
" } }, "com.amazonaws.ssm#MaintenanceWindowStringDateTime": { @@ -16537,13 +16537,13 @@ "MaxConcurrency": { "target": "com.amazonaws.ssm#MaxConcurrency", "traits": { - "smithy.api#documentation": "

The maximum number of targets this task can be run for, in parallel.

" + "smithy.api#documentation": "

The maximum number of targets this task can be run for, in parallel.

\n \n

Although this element is listed as \"Required: No\", a value can be omitted only when you are\n registering or updating a targetless\n task You must provide a value in all other cases.

\n

For maintenance window tasks without a target specified, you can't supply a value for this\n option. Instead, the system inserts a placeholder value of 1. This value doesn't\n affect the running of your task.

\n
" } }, "MaxErrors": { "target": "com.amazonaws.ssm#MaxErrors", "traits": { - "smithy.api#documentation": "

The maximum number of errors allowed before this task stops being scheduled.

" + "smithy.api#documentation": "

The maximum number of errors allowed before this task stops being scheduled.

\n \n

Although this element is listed as \"Required: No\", a value can be omitted only when you are\n registering or updating a targetless\n task You must provide a value in all other cases.

\n

For maintenance window tasks without a target specified, you can't supply a value for this\n option. Instead, the system inserts a placeholder value of 1. This value doesn't\n affect the running of your task.

\n
" } }, "Name": { @@ -18902,13 +18902,13 @@ "Type": { "target": "com.amazonaws.ssm#ParameterType", "traits": { - "smithy.api#documentation": "

The type of parameter. Valid values include the following: String,\n StringList, and SecureString.

" + "smithy.api#documentation": "

The type of parameter. Valid values include the following: String,\n StringList, and SecureString.

\n \n

If type is StringList, the system returns a comma-separated string with no\n spaces between commas in the Value field.

\n
" } }, "Value": { "target": "com.amazonaws.ssm#PSParameterValue", "traits": { - "smithy.api#documentation": "

The parameter value.

" + "smithy.api#documentation": "

The parameter value.

\n \n

If type is StringList, the system returns a comma-separated string with no\n spaces between commas in the Value field.

\n
" } }, "Version": { @@ -19090,7 +19090,7 @@ "PolicyType": { "target": "com.amazonaws.ssm#String", "traits": { - "smithy.api#documentation": "

The type of policy. Parameter Store, a capablility of Amazon Web Services Systems Manager, supports the following\n policy types: Expiration, ExpirationNotification, and NoChangeNotification.

" + "smithy.api#documentation": "

The type of policy. Parameter Store, a capability of Amazon Web Services Systems Manager, supports the following\n policy types: Expiration, ExpirationNotification, and NoChangeNotification.

" } }, "PolicyStatus": { @@ -19827,7 +19827,7 @@ "Severity": { "target": "com.amazonaws.ssm#PatchSeverity", "traits": { - "smithy.api#documentation": "

The severity of the patchsuch as Critical, Important, and\n Moderate.

", + "smithy.api#documentation": "

The severity of the patch such as Critical, Important, and\n Moderate.

", "smithy.api#required": {} } }, @@ -20982,7 +20982,7 @@ "DataType": { "target": "com.amazonaws.ssm#ParameterDataType", "traits": { - "smithy.api#documentation": "

The data type for a String parameter. Supported data types include plain text\n and Amazon Machine Image (AMI) IDs.

\n

\n The following data type values are supported.\n

\n \n

When you create a String parameter and specify aws:ec2:image,\n Amazon Web Services Systems Manager validates the parameter value is in the required format, such as\n ami-12345abcdeEXAMPLE, and that the specified AMI is available in your\n Amazon Web Services account. For more information, see Native parameter support\n for Amazon Machine Image (AMI) IDs in the Amazon Web Services Systems Manager User Guide.

" + "smithy.api#documentation": "

The data type for a String parameter. Supported data types include plain text\n and Amazon Machine Image (AMI) IDs.

\n

\n The following data type values are supported.\n

\n \n

When you create a String parameter and specify aws:ec2:image,\n Amazon Web Services Systems Manager validates the parameter value is in the required format, such as\n ami-12345abcdeEXAMPLE, and that the specified AMI is available in your\n Amazon Web Services account. For more information, see Native parameter support\n for Amazon Machine Image (AMI) IDs in the Amazon Web Services Systems Manager User Guide.

" } } } @@ -21320,13 +21320,13 @@ "MaxConcurrency": { "target": "com.amazonaws.ssm#MaxConcurrency", "traits": { - "smithy.api#documentation": "

The maximum number of targets this task can be run for in parallel.

\n \n

For maintenance window tasks without a target specified, you can't supply a value for this\n option. Instead, the system inserts a placeholder value of 1. This value doesn't\n affect the running of your task.

\n
" + "smithy.api#documentation": "

The maximum number of targets this task can be run for, in parallel.

\n \n

Although this element is listed as \"Required: No\", a value can be omitted only when you are\n registering or updating a targetless\n task You must provide a value in all other cases.

\n

For maintenance window tasks without a target specified, you can't supply a value for this\n option. Instead, the system inserts a placeholder value of 1. This value doesn't\n affect the running of your task.

\n
" } }, "MaxErrors": { "target": "com.amazonaws.ssm#MaxErrors", "traits": { - "smithy.api#documentation": "

The maximum number of errors allowed before this task stops being scheduled.

\n \n

For maintenance window tasks without a target specified, you can't supply a value for this\n option. Instead, the system inserts a placeholder value of 1. This value doesn't\n affect the running of your task.

\n
" + "smithy.api#documentation": "

The maximum number of errors allowed before this task stops being scheduled.

\n \n

Although this element is listed as \"Required: No\", a value can be omitted only when you are\n registering or updating a targetless\n task You must provide a value in all other cases.

\n

For maintenance window tasks without a target specified, you can't supply a value for this\n option. Instead, the system inserts a placeholder value of 1. This value doesn't\n affect the running of your task.

\n
" } }, "LoggingInfo": { @@ -22325,7 +22325,7 @@ "StreamUrl": { "target": "com.amazonaws.ssm#StreamUrl", "traits": { - "smithy.api#documentation": "

A URL back to SSM Agent on the managed node that the Session Manager client uses to send commands and\n receive output from the managed node. Format: wss://ssmmessages.region.amazonaws.com/v1/data-channel/session-id?stream=(input|output).

\n

\n region represents the Region identifier for an\n\t\t\t\t\t\tAmazon Web Services Region supported by Amazon Web Services Systems Manager, such as us-east-2 for the US East (Ohio) Region.\n\t\t\t\t\t\tFor a list of supported region values, see the Region column in Systems Manager service endpoints in the\n Amazon Web Services General Reference.

\n

\n session-id represents the ID of a Session Manager session, such as\n 1a2b3c4dEXAMPLE.

" + "smithy.api#documentation": "

A URL back to SSM Agent on the managed node that the Session Manager client uses to send commands and\n receive output from the managed node. Format: wss://ssmmessages.region.amazonaws.com/v1/data-channel/session-id?stream=(input|output).

\n

\n region represents the Region identifier for an\n\t\t\t\t\t\tAmazon Web Services Region supported by Amazon Web Services Systems Manager, such as us-east-2 for the US East (Ohio) Region.\n\t\t\t\t\t\tFor a list of supported region values, see the Region column in Systems Manager service endpoints in the\n Amazon Web Services General Reference.

\n

\n session-id represents the ID of a Session Manager session, such as\n 1a2b3c4dEXAMPLE.

" } } } @@ -23701,7 +23701,7 @@ "StreamUrl": { "target": "com.amazonaws.ssm#StreamUrl", "traits": { - "smithy.api#documentation": "

A URL back to SSM Agent on the managed node that the Session Manager client uses to send commands and\n receive output from the node. Format: wss://ssmmessages.region.amazonaws.com/v1/data-channel/session-id?stream=(input|output)\n

\n

\n region represents the Region identifier for an\n\t\t\t\t\t\tAmazon Web Services Region supported by Amazon Web Services Systems Manager, such as us-east-2 for the US East (Ohio) Region.\n\t\t\t\t\t\tFor a list of supported region values, see the Region column in Systems Manager service endpoints in the\n Amazon Web Services General Reference.

\n

\n session-id represents the ID of a Session Manager session, such as\n 1a2b3c4dEXAMPLE.

" + "smithy.api#documentation": "

A URL back to SSM Agent on the managed node that the Session Manager client uses to send commands and\n receive output from the node. Format: wss://ssmmessages.region.amazonaws.com/v1/data-channel/session-id?stream=(input|output)\n

\n

\n region represents the Region identifier for an\n\t\t\t\t\t\tAmazon Web Services Region supported by Amazon Web Services Systems Manager, such as us-east-2 for the US East (Ohio) Region.\n\t\t\t\t\t\tFor a list of supported region values, see the Region column in Systems Manager service endpoints in the\n Amazon Web Services General Reference.

\n

\n session-id represents the ID of a Session Manager session, such as\n 1a2b3c4dEXAMPLE.

" } } } @@ -24356,15 +24356,12 @@ "target": "com.amazonaws.ssm#TerminateSessionResponse" }, "errors": [ - { - "target": "com.amazonaws.ssm#DoesNotExistException" - }, { "target": "com.amazonaws.ssm#InternalServerError" } ], "traits": { - "smithy.api#documentation": "

Permanently ends a session and closes the data connection between the Session Manager client and\n SSM Agent on the managed node. A terminated session isn't be resumed.

" + "smithy.api#documentation": "

Permanently ends a session and closes the data connection between the Session Manager client and\n SSM Agent on the managed node. A terminated session can't be resumed.

" } }, "com.amazonaws.ssm#TerminateSessionRequest": { @@ -24693,7 +24690,7 @@ } ], "traits": { - "smithy.api#documentation": "

Updates an association. You can update the association name and version, the document\n version, schedule, parameters, and Amazon Simple Storage Service (Amazon S3) output. When you\n call UpdateAssociation, the system drops all optional parameters from the request\n and overwrites the association with null values for those parameters. This is by design. You must\n specify all optional parameters in the call, even if you are not changing the parameters. This\n includes the Name parameter. Before calling this API action, we recommend that you\n call the DescribeAssociation API operation and make a note of all optional\n parameters required for your UpdateAssociation call.

\n\n

In order to call this API operation, your Identity and Access Management (IAM) user\n account, group, or role must be configured with permission to call the DescribeAssociation API operation. If you don't have permission to call\n DescribeAssociation, then you receive the following error: An error occurred\n (AccessDeniedException) when calling the UpdateAssociation operation: User: \n isn't authorized to perform: ssm:DescribeAssociation on resource:\n \n

\n \n

When you update an association, the association immediately runs against the specified\n targets. You can add the ApplyOnlyAtCronInterval parameter to run the association\n during the next schedule run.

\n
" + "smithy.api#documentation": "

Updates an association. You can update the association name and version, the document\n version, schedule, parameters, and Amazon Simple Storage Service (Amazon S3) output. When you\n call UpdateAssociation, the system removes all optional parameters from the request\n and overwrites the association with null values for those parameters. This is by design. You must\n specify all optional parameters in the call, even if you are not changing the parameters. This\n includes the Name parameter. Before calling this API action, we recommend that you\n call the DescribeAssociation API operation and make a note of all optional\n parameters required for your UpdateAssociation call.

\n\n

In order to call this API operation, your Identity and Access Management (IAM) user\n account, group, or role must be configured with permission to call the DescribeAssociation API operation. If you don't have permission to call\n DescribeAssociation, then you receive the following error: An error occurred\n (AccessDeniedException) when calling the UpdateAssociation operation: User: \n isn't authorized to perform: ssm:DescribeAssociation on resource:\n \n

\n \n

When you update an association, the association immediately runs against the specified\n targets. You can add the ApplyOnlyAtCronInterval parameter to run the association\n during the next schedule run.

\n
" } }, "com.amazonaws.ssm#UpdateAssociationRequest": { @@ -24715,7 +24712,7 @@ "DocumentVersion": { "target": "com.amazonaws.ssm#DocumentVersion", "traits": { - "smithy.api#documentation": "

The document version you want update for the association.

\n \n

State Manager doesn't support running associations that use a new version of a document if that document is shared from another account. State Manager always runs the default version of a document if shared from another account, even though the Systems Manager console shows that a new version was processed. If you want to run an association using a new version of a document shared form another account, you must set the document version to default.

\n
" + "smithy.api#documentation": "

The document version you want update for the association.

\n \n

State Manager doesn't support running associations that use a new version of a document if\n that document is shared from another account. State Manager always runs the default\n version of a document if shared from another account, even though the Systems Manager console shows that a\n new version was processed. If you want to run an association using a new version of a document\n shared form another account, you must set the document version to default.

\n
" } }, "ScheduleExpression": { @@ -25150,7 +25147,7 @@ "StartDate": { "target": "com.amazonaws.ssm#MaintenanceWindowStringDateTime", "traits": { - "smithy.api#documentation": "

The time zone that the scheduled maintenance window executions are based on, in Internet\n Assigned Numbers Authority (IANA) format. For example: \"America/Los_Angeles\", \"UTC\", or\n \"Asia/Seoul\". For more information, see the Time\n Zone Database on the IANA website.

" + "smithy.api#documentation": "

The date and time, in ISO-8601 Extended format, for when you want the maintenance window to\n become active. StartDate allows you to delay activation of the maintenance window\n until the specified future date.

" } }, "EndDate": { @@ -25481,13 +25478,13 @@ "MaxConcurrency": { "target": "com.amazonaws.ssm#MaxConcurrency", "traits": { - "smithy.api#documentation": "

The new MaxConcurrency value you want to specify. MaxConcurrency\n is the number of targets that are allowed to run this task in parallel.

\n \n

For maintenance window tasks without a target specified, you can't supply a value for this\n option. Instead, the system inserts a placeholder value of 1, which may be reported\n in the response to this command. This value doesn't affect the running of your task and can be\n ignored.

\n
" + "smithy.api#documentation": "

The new MaxConcurrency value you want to specify. MaxConcurrency\n is the number of targets that are allowed to run this task, in parallel.

\n \n

Although this element is listed as \"Required: No\", a value can be omitted only when you are\n registering or updating a targetless\n task You must provide a value in all other cases.

\n

For maintenance window tasks without a target specified, you can't supply a value for this\n option. Instead, the system inserts a placeholder value of 1. This value doesn't\n affect the running of your task.

\n
" } }, "MaxErrors": { "target": "com.amazonaws.ssm#MaxErrors", "traits": { - "smithy.api#documentation": "

The new MaxErrors value to specify. MaxErrors is the maximum\n number of errors that are allowed before the task stops being scheduled.

\n \n

For maintenance window tasks without a target specified, you can't supply a value for this\n option. Instead, the system inserts a placeholder value of 1, which may be reported\n in the response to this command. This value doesn't affect the running of your task and can be\n ignored.

\n
" + "smithy.api#documentation": "

The new MaxErrors value to specify. MaxErrors is the maximum\n number of errors that are allowed before the task stops being scheduled.

\n \n

Although this element is listed as \"Required: No\", a value can be omitted only when you are\n registering or updating a targetless\n task You must provide a value in all other cases.

\n

For maintenance window tasks without a target specified, you can't supply a value for this\n option. Instead, the system inserts a placeholder value of 1. This value doesn't\n affect the running of your task.

\n
" } }, "LoggingInfo": { @@ -25819,7 +25816,7 @@ "OpsMetadataArn": { "target": "com.amazonaws.ssm#OpsMetadataArn", "traits": { - "smithy.api#documentation": "

The Amazon Resoure Name (ARN) of the OpsMetadata Object to update.

", + "smithy.api#documentation": "

The Amazon Resource Name (ARN) of the OpsMetadata Object to update.

", "smithy.api#required": {} } }, @@ -25899,7 +25896,7 @@ "ApprovedPatches": { "target": "com.amazonaws.ssm#PatchIdList", "traits": { - "smithy.api#documentation": "

A list of explicitly approved patches for the baseline.

\n

For information about accepted formats for lists of approved patches and rejected patches,\n see About\n package name formats for approved and rejected patch lists in the Amazon Web Services Systems Manager User Guide.

" + "smithy.api#documentation": "

A list of explicitly approved patches for the baseline.

\n

For information about accepted formats for lists of approved patches and rejected patches,\n see About\n package name formats for approved and rejected patch lists in the Amazon Web Services Systems Manager User Guide.

" } }, "ApprovedPatchesComplianceLevel": { @@ -25918,7 +25915,7 @@ "RejectedPatches": { "target": "com.amazonaws.ssm#PatchIdList", "traits": { - "smithy.api#documentation": "

A list of explicitly rejected patches for the baseline.

\n

For information about accepted formats for lists of approved patches and rejected patches,\n see About\n package name formats for approved and rejected patch lists in the Amazon Web Services Systems Manager User Guide.

" + "smithy.api#documentation": "

A list of explicitly rejected patches for the baseline.

\n

For information about accepted formats for lists of approved patches and rejected patches,\n see About\n package name formats for approved and rejected patch lists in the Amazon Web Services Systems Manager User Guide.

" } }, "RejectedPatchesAction": { diff --git a/codegen/sdk-codegen/aws-models/ssmincidents.2018-05-10.json b/codegen/sdk-codegen/aws-models/ssmincidents.2018-05-10.json index 8c47f84597d..202888e21d0 100644 --- a/codegen/sdk-codegen/aws-models/ssmincidents.2018-05-10.json +++ b/codegen/sdk-codegen/aws-models/ssmincidents.2018-05-10.json @@ -1825,6 +1825,10 @@ { "value": "OTHER", "name": "OTHER" + }, + { + "value": "AUTOMATION", + "name": "AUTOMATION" } ] } @@ -2950,6 +2954,29 @@ }, "com.amazonaws.ssmincidents#SSMIncidents": { "type": "service", + "traits": { + "aws.api#service": { + "sdkId": "SSM Incidents", + "arnNamespace": "ssm-incidents", + "cloudFormationName": "SSMIncidents", + "cloudTrailEventSource": "ssm-incidents.amazonaws.com", + "endpointPrefix": "ssm-incidents" + }, + "aws.auth#sigv4": { + "name": "ssm-incidents" + }, + "aws.protocols#restJson1": {}, + "smithy.api#cors": { + "additionalAllowedHeaders": [ + "x-amz-content-sha256", + "x-amz-user-agent", + "content-type", + "x-amzn-platform-id" + ] + }, + "smithy.api#documentation": "

Systems Manager Incident Manager is an incident management console designed to help users\n mitigate and recover from incidents affecting their Amazon Web Services-hosted applications. An\n incident is any unplanned interruption or reduction in quality of services.

\n

Incident Manager increases incident resolution by notifying responders of impact,\n highlighting relevant troubleshooting data, and providing collaboration tools to get services\n back up and running. To achieve the primary goal of reducing the time-to-resolution of\n critical incidents, Incident Manager automates response plans and enables responder\n team escalation.

", + "smithy.api#title": "AWS Systems Manager Incident Manager" + }, "version": "2018-05-10", "operations": [ { @@ -3039,30 +3066,7 @@ { "target": "com.amazonaws.ssmincidents#UpdateTimelineEvent" } - ], - "traits": { - "aws.api#service": { - "sdkId": "SSM Incidents", - "arnNamespace": "ssm-incidents", - "cloudFormationName": "SSMIncidents", - "cloudTrailEventSource": "ssm-incidents.amazonaws.com", - "endpointPrefix": "ssm-incidents" - }, - "aws.auth#sigv4": { - "name": "ssm-incidents" - }, - "aws.protocols#restJson1": {}, - "smithy.api#cors": { - "additionalAllowedHeaders": [ - "x-amz-content-sha256", - "x-amz-user-agent", - "content-type", - "x-amzn-platform-id" - ] - }, - "smithy.api#documentation": "

Systems Manager Incident Manager is an incident management console designed to help users\n mitigate and recover from incidents affecting their Amazon Web Services-hosted applications. An\n incident is any unplanned interruption or reduction in quality of services.

\n

Incident Manager increases incident resolution by notifying responders of impact,\n highlighting relevant troubleshooting data, and providing collaboration tools to get services\n back up and running. To achieve the primary goal of reducing the time-to-resolution of\n critical incidents, Incident Manager automates response plans and enables responder\n team escalation.

", - "smithy.api#title": "AWS Systems Manager Incident Manager" - } + ] }, "com.amazonaws.ssmincidents#ServiceCode": { "type": "string", @@ -3413,10 +3417,20 @@ "com.amazonaws.ssmincidents#TagMap": { "type": "map", "key": { - "target": "com.amazonaws.ssmincidents#TagKey" + "target": "com.amazonaws.ssmincidents#TagKey", + "traits": { + "smithy.api#tags": [ + "logs_investigations" + ] + } }, "value": { - "target": "com.amazonaws.ssmincidents#TagValue" + "target": "com.amazonaws.ssmincidents#TagValue", + "traits": { + "smithy.api#tags": [ + "logs_investigations" + ] + } }, "traits": { "smithy.api#length": { diff --git a/codegen/sdk-codegen/aws-models/synthetics.2017-10-11.json b/codegen/sdk-codegen/aws-models/synthetics.2017-10-11.json index 5c1211bab60..4f53264ebe6 100644 --- a/codegen/sdk-codegen/aws-models/synthetics.2017-10-11.json +++ b/codegen/sdk-codegen/aws-models/synthetics.2017-10-11.json @@ -258,7 +258,7 @@ "ZipFile": { "target": "com.amazonaws.synthetics#Blob", "traits": { - "smithy.api#documentation": "

If you input your canary script directly into the canary instead of referring to an S3\n location, the value of this parameter is the base64-encoded contents of the .zip file that \n contains the script. It must be smaller than 256 Kb.

" + "smithy.api#documentation": "

If you input your canary script directly into the canary instead of referring to an S3\n location, the value of this parameter is the base64-encoded contents of the .zip file that \n contains the script. It must be smaller than 225 Kb.

\n

For large canary scripts, we recommend that you use an S3 location instead of inputting it \n directly with this parameter.

" } }, "Handler": { @@ -683,6 +683,9 @@ { "target": "com.amazonaws.synthetics#InternalServerException" }, + { + "target": "com.amazonaws.synthetics#RequestEntityTooLargeException" + }, { "target": "com.amazonaws.synthetics#ValidationException" } @@ -855,7 +858,7 @@ } ], "traits": { - "smithy.api#documentation": "

This operation returns a list of the canaries in your account, along with full details\n about each canary.

\n

This operation does not have resource-level authorization, so if a user is able to use\n DescribeCanaries, the user can see all of the canaries in the account. A\n deny policy can only be used to restrict access to all canaries. It cannot be used on\n specific resources.

", + "smithy.api#documentation": "

This operation returns a list of the canaries in your account, along with full details\n about each canary.

\n

This operation supports resource-level authorization using an IAM policy and \n the Names parameter. If you specify the Names parameter, the operation is successful only if you have authorization to view\n all the canaries that you specify in your request. If you do not have permission to view any of \n the canaries, the request fails with a 403 response.

\n

You are required to use the Names parameter if you are logged on to a user or role that has an \n IAM policy that restricts which canaries that you are allowed to view. For more information, \n see \n Limiting a user to viewing specific canaries.

", "smithy.api#http": { "method": "POST", "uri": "/canaries", @@ -885,7 +888,7 @@ } ], "traits": { - "smithy.api#documentation": "

Use this operation to see information from the most recent run of each canary that you have created.

", + "smithy.api#documentation": "

Use this operation to see information from the most recent run of each canary that you have created.

\n \n

This operation supports resource-level authorization using an IAM policy and \n the Names parameter. If you specify the Names parameter, the operation is successful only if you have authorization to view\n all the canaries that you specify in your request. If you do not have permission to view any of \n the canaries, the request fails with a 403 response.

\n

You are required to use the Names parameter if you are logged on to a user or role that has an \n IAM policy that restricts which canaries that you are allowed to view. For more information, \n see \n Limiting a user to viewing specific canaries.

", "smithy.api#http": { "method": "POST", "uri": "/canaries/last-run", @@ -898,6 +901,18 @@ } } }, + "com.amazonaws.synthetics#DescribeCanariesLastRunNameFilter": { + "type": "list", + "member": { + "target": "com.amazonaws.synthetics#CanaryName" + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 5 + } + } + }, "com.amazonaws.synthetics#DescribeCanariesLastRunRequest": { "type": "structure", "members": { @@ -912,6 +927,12 @@ "traits": { "smithy.api#documentation": "

Specify this parameter to limit how many runs are returned each time you use\n the DescribeLastRun operation. If you omit this parameter, the default of 100 is used.

" } + }, + "Names": { + "target": "com.amazonaws.synthetics#DescribeCanariesLastRunNameFilter", + "traits": { + "smithy.api#documentation": "

Use this parameter to return only canaries that match the names that you specify here. You can\n specify as many as five canary names.

\n

If you specify this parameter, the operation is successful only if you have authorization to view\n all the canaries that you specify in your request. If you do not have permission to view any of \n the canaries, the request fails with a 403 response.

\n

You are required to use the Names parameter if you are logged on to a user or role that has an \n IAM policy that restricts which canaries that you are allowed to view. For more information, \n see \n Limiting a user to viewing specific canaries.

" + } } } }, @@ -932,6 +953,18 @@ } } }, + "com.amazonaws.synthetics#DescribeCanariesNameFilter": { + "type": "list", + "member": { + "target": "com.amazonaws.synthetics#CanaryName" + }, + "traits": { + "smithy.api#length": { + "min": 1, + "max": 5 + } + } + }, "com.amazonaws.synthetics#DescribeCanariesRequest": { "type": "structure", "members": { @@ -946,6 +979,12 @@ "traits": { "smithy.api#documentation": "

Specify this parameter to limit how many canaries are returned each time you use\n the DescribeCanaries operation. If you omit this parameter, the default of 100 is used.

" } + }, + "Names": { + "target": "com.amazonaws.synthetics#DescribeCanariesNameFilter", + "traits": { + "smithy.api#documentation": "

Use this parameter to return only canaries that match the names that you specify here. You can\n specify as many as five canary names.

\n

If you specify this parameter, the operation is successful only if you have authorization to view\n all the canaries that you specify in your request. If you do not have permission to view any of \n the canaries, the request fails with a 403 response.

\n

You are required to use this parameter if you are logged on to a user or role that has an \n IAM policy that restricts which canaries that you are allowed to view. For more information, \n see \n Limiting a user to viewing specific canaries.

" + } } } }, @@ -1341,6 +1380,19 @@ "smithy.api#box": {} } }, + "com.amazonaws.synthetics#RequestEntityTooLargeException": { + "type": "structure", + "members": { + "Message": { + "target": "com.amazonaws.synthetics#ErrorMessage" + } + }, + "traits": { + "smithy.api#documentation": "

One of the input resources is larger than is allowed.

", + "smithy.api#error": "client", + "smithy.api#httpError": 413 + } + }, "com.amazonaws.synthetics#ResourceNotFoundException": { "type": "structure", "members": { @@ -1559,6 +1611,21 @@ }, "com.amazonaws.synthetics#Synthetics": { "type": "service", + "traits": { + "aws.api#service": { + "sdkId": "synthetics", + "arnNamespace": "synthetics", + "cloudFormationName": "Synthetics", + "cloudTrailEventSource": "synthetics.amazonaws.com", + "endpointPrefix": "synthetics" + }, + "aws.auth#sigv4": { + "name": "synthetics" + }, + "aws.protocols#restJson1": {}, + "smithy.api#documentation": "Amazon CloudWatch Synthetics\n

You can use Amazon CloudWatch Synthetics to continually monitor your services. You can\n create and manage canaries, which are modular, lightweight scripts \n that monitor your endpoints and APIs\n from the outside-in. You can set up your canaries to run\n 24 hours a day, once per minute. The canaries help you check the availability and latency\n of your web services and troubleshoot anomalies by investigating load time data,\n screenshots of the UI, logs, and metrics. The canaries seamlessly integrate with CloudWatch\n ServiceLens to help you trace the causes of impacted nodes in your applications. For more\n information, see Using ServiceLens to Monitor\n the Health of Your Applications in the Amazon CloudWatch User\n Guide.

\n \n

Before you create and manage canaries, be aware of the security considerations. For more\n information, see Security\n Considerations for Synthetics Canaries.

", + "smithy.api#title": "Synthetics" + }, "version": "2017-10-11", "operations": [ { @@ -1600,22 +1667,7 @@ { "target": "com.amazonaws.synthetics#UpdateCanary" } - ], - "traits": { - "aws.api#service": { - "sdkId": "synthetics", - "arnNamespace": "synthetics", - "cloudFormationName": "Synthetics", - "cloudTrailEventSource": "synthetics.amazonaws.com", - "endpointPrefix": "synthetics" - }, - "aws.auth#sigv4": { - "name": "synthetics" - }, - "aws.protocols#restJson1": {}, - "smithy.api#documentation": "Amazon CloudWatch Synthetics\n

You can use Amazon CloudWatch Synthetics to continually monitor your services. You can\n create and manage canaries, which are modular, lightweight scripts \n that monitor your endpoints and APIs\n from the outside-in. You can set up your canaries to run\n 24 hours a day, once per minute. The canaries help you check the availability and latency\n of your web services and troubleshoot anomalies by investigating load time data,\n screenshots of the UI, logs, and metrics. The canaries seamlessly integrate with CloudWatch\n ServiceLens to help you trace the causes of impacted nodes in your applications. For more\n information, see Using ServiceLens to Monitor\n the Health of Your Applications in the Amazon CloudWatch User\n Guide.

\n \n

Before you create and manage canaries, be aware of the security considerations. For more\n information, see Security\n Considerations for Synthetics Canaries.

", - "smithy.api#title": "Synthetics" - } + ] }, "com.amazonaws.synthetics#TagKey": { "type": "string", @@ -1801,6 +1853,9 @@ { "target": "com.amazonaws.synthetics#InternalServerException" }, + { + "target": "com.amazonaws.synthetics#RequestEntityTooLargeException" + }, { "target": "com.amazonaws.synthetics#ResourceNotFoundException" }, diff --git a/codegen/sdk-codegen/aws-models/textract.2018-06-27.json b/codegen/sdk-codegen/aws-models/textract.2018-06-27.json index 52657983e39..53b0fc49b70 100644 --- a/codegen/sdk-codegen/aws-models/textract.2018-06-27.json +++ b/codegen/sdk-codegen/aws-models/textract.2018-06-27.json @@ -452,6 +452,14 @@ { "value": "SELECTION_ELEMENT", "name": "SELECTION_ELEMENT" + }, + { + "value": "MERGED_CELL", + "name": "MERGED_CELL" + }, + { + "value": "TITLE", + "name": "TITLE" } ] } @@ -687,6 +695,10 @@ { "value": "VALUE", "name": "VALUE" + }, + { + "value": "COLUMN_HEADER", + "name": "COLUMN_HEADER" } ] } @@ -1779,6 +1791,14 @@ { "value": "COMPLEX_FEATURES", "name": "COMPLEX_FEATURES" + }, + { + "value": "MERGED_CELL", + "name": "MERGED_CELL" + }, + { + "value": "TITLE", + "name": "TITLE" } ] } diff --git a/codegen/sdk-codegen/aws-models/transfer.2018-11-05.json b/codegen/sdk-codegen/aws-models/transfer.2018-11-05.json index 68a4787dbaf..39b524615ac 100644 --- a/codegen/sdk-codegen/aws-models/transfer.2018-11-05.json +++ b/codegen/sdk-codegen/aws-models/transfer.2018-11-05.json @@ -110,13 +110,22 @@ } }, "DestinationFileLocation": { - "target": "com.amazonaws.transfer#InputFileLocation" + "target": "com.amazonaws.transfer#InputFileLocation", + "traits": { + "smithy.api#documentation": "

Specifies the location for the file being copied. Only applicable for Copy type workflow\n steps. Use ${Transfer:username} in this field to parametrize the destination\n prefix by username.

" + } }, "OverwriteExisting": { "target": "com.amazonaws.transfer#OverwriteExisting", "traits": { "smithy.api#documentation": "

A flag that indicates whether or not to overwrite an existing file of the same name.\n The default is FALSE.

" } + }, + "SourceFileLocation": { + "target": "com.amazonaws.transfer#SourceFileLocation", + "traits": { + "smithy.api#documentation": "

Specifies which file to use as input to the workflow step: either the output from the previous step, or the originally uploaded file\n for the workflow.

\n " + } } }, "traits": { @@ -170,7 +179,7 @@ "HomeDirectoryMappings": { "target": "com.amazonaws.transfer#HomeDirectoryMappings", "traits": { - "smithy.api#documentation": "

Logical directory mappings that specify what Amazon S3 or Amazon EFS paths and keys should\n be visible to your user and how you want to make them visible. You must specify the\n Entry and Target pair, where Entry shows how the path\n is made visible and Target is the actual Amazon S3 or Amazon EFS path. If you\n only specify a target, it is displayed as is. You also must ensure that your Amazon Web Services Identity\n and Access Management (IAM) role provides access to paths in Target. This value\n can only be set when HomeDirectoryType is set to\n LOGICAL.

\n

The following is an Entry and Target pair example.

\n

\n [ { \"Entry\": \"/directory1\", \"Target\": \"/bucket_name/home/mydirectory\" } ]\n

\n

In most cases, you can use this value instead of the session policy to lock down your\n user to the designated home directory (\"chroot\"). To do this, you can set\n Entry to / and set Target to the\n HomeDirectory parameter value.

\n

The following is an Entry and Target pair example for chroot.

\n

\n [ { \"Entry:\": \"/\", \"Target\": \"/bucket_name/home/mydirectory\" } ]\n

\n \n \n

If the target of a logical directory entry does not exist in Amazon S3 or EFS, the entry is\n ignored. As a workaround, you can use the Amazon S3 API or EFS API to create 0 byte objects as place\n holders for your directory. If using the CLI, use the s3api or efsapi call instead of\n s3 or efs so you can use the put-object operation. For example, you use the\n following: aws s3api put-object --bucket bucketname --key path/to/folder/. Make\n sure that the end of the key name ends in a / for it to be considered a folder.

\n
" + "smithy.api#documentation": "

Logical directory mappings that specify what Amazon S3 or Amazon EFS paths and keys should\n be visible to your user and how you want to make them visible. You must specify the\n Entry and Target pair, where Entry shows how the path\n is made visible and Target is the actual Amazon S3 or Amazon EFS path. If you\n only specify a target, it is displayed as is. You also must ensure that your Amazon Web Services Identity\n and Access Management (IAM) role provides access to paths in Target. This value\n can only be set when HomeDirectoryType is set to\n LOGICAL.

\n

The following is an Entry and Target pair example.

\n

\n [ { \"Entry\": \"/directory1\", \"Target\": \"/bucket_name/home/mydirectory\" } ]\n

\n

In most cases, you can use this value instead of the session policy to lock down your\n user to the designated home directory (\"chroot\"). To do this, you can set\n Entry to / and set Target to the\n HomeDirectory parameter value.

\n

The following is an Entry and Target pair example for chroot.

\n

\n [ { \"Entry:\": \"/\", \"Target\": \"/bucket_name/home/mydirectory\" } ]\n

" } }, "Policy": { @@ -310,6 +319,12 @@ "smithy.api#documentation": "

Specifies the Amazon Resource Name (ARN) of the Amazon Web Services Identity and Access Management (IAM) role that allows a server to turn\n on Amazon CloudWatch logging for Amazon S3 or Amazon EFS events. When set, user activity can be viewed in\n your CloudWatch logs.

" } }, + "PostAuthenticationLoginBanner": { + "target": "com.amazonaws.transfer#PostAuthenticationLoginBanner" + }, + "PreAuthenticationLoginBanner": { + "target": "com.amazonaws.transfer#PreAuthenticationLoginBanner" + }, "Protocols": { "target": "com.amazonaws.transfer#Protocols", "traits": { @@ -401,7 +416,7 @@ "HomeDirectoryMappings": { "target": "com.amazonaws.transfer#HomeDirectoryMappings", "traits": { - "smithy.api#documentation": "

Logical directory mappings that specify what Amazon S3 or Amazon EFS paths and keys should\n be visible to your user and how you want to make them visible. You must specify the\n Entry and Target pair, where Entry shows how the path\n is made visible and Target is the actual Amazon S3 or Amazon EFS path. If you\n only specify a target, it is displayed as is. You also must ensure that your Amazon Web Services Identity\n and Access Management (IAM) role provides access to paths in Target. This value\n can only be set when HomeDirectoryType is set to\n LOGICAL.

\n\n

The following is an Entry and Target pair example.

\n\n

\n [ { \"Entry\": \"/directory1\", \"Target\":\n \"/bucket_name/home/mydirectory\" } ]\n

\n\n

In most cases, you can use this value instead of the session policy to lock your user\n down to the designated home directory (\"chroot\"). To do this, you can set\n Entry to / and set Target to the HomeDirectory\n parameter value.

\n

The following is an Entry and Target pair example for chroot.

\n

\n [ { \"Entry:\": \"/\", \"Target\": \"/bucket_name/home/mydirectory\" } ]\n

\n \n \n

If the target of a logical directory entry does not exist in Amazon S3 or EFS, the entry is\n ignored. As a workaround, you can use the Amazon S3 API or EFS API to create 0 byte objects as place\n holders for your directory. If using the CLI, use the s3api or efsapi call instead of\n s3 or efs so you can use the put-object operation. For example, you use the\n following: aws s3api put-object --bucket bucketname --key path/to/folder/. Make\n sure that the end of the key name ends in a / for it to be considered a folder.

\n
" + "smithy.api#documentation": "

Logical directory mappings that specify what Amazon S3 or Amazon EFS paths and keys should\n be visible to your user and how you want to make them visible. You must specify the\n Entry and Target pair, where Entry shows how the path\n is made visible and Target is the actual Amazon S3 or Amazon EFS path. If you\n only specify a target, it is displayed as is. You also must ensure that your Amazon Web Services Identity\n and Access Management (IAM) role provides access to paths in Target. This value\n can only be set when HomeDirectoryType is set to\n LOGICAL.

\n\n

The following is an Entry and Target pair example.

\n\n

\n [ { \"Entry\": \"/directory1\", \"Target\":\n \"/bucket_name/home/mydirectory\" } ]\n

\n\n

In most cases, you can use this value instead of the session policy to lock your user\n down to the designated home directory (\"chroot\"). To do this, you can set\n Entry to / and set Target to the HomeDirectory\n parameter value.

\n

The following is an Entry and Target pair example for chroot.

\n

\n [ { \"Entry:\": \"/\", \"Target\": \"/bucket_name/home/mydirectory\" } ]\n

" } }, "Policy": { @@ -564,6 +579,12 @@ "traits": { "smithy.api#documentation": "

Timeout, in seconds, for the step.

" } + }, + "SourceFileLocation": { + "target": "com.amazonaws.transfer#SourceFileLocation", + "traits": { + "smithy.api#documentation": "

Specifies which file to use as input to the workflow step: either the output from the previous step, or the originally uploaded file\n for the workflow.

\n " + } } }, "traits": { @@ -748,6 +769,12 @@ "traits": { "smithy.api#documentation": "

The name of the step, used as an identifier.

" } + }, + "SourceFileLocation": { + "target": "com.amazonaws.transfer#SourceFileLocation", + "traits": { + "smithy.api#documentation": "

Specifies which file to use as input to the workflow step: either the output from the previous step, or the originally uploaded file\n for the workflow.

\n " + } } }, "traits": { @@ -1385,6 +1412,12 @@ "smithy.api#documentation": "

Specifies the Amazon Resource Name (ARN) of the Amazon Web Services Identity and Access Management (IAM) role that allows a server to turn\n on Amazon CloudWatch logging for Amazon S3 or Amazon EFS events. When set, user activity can be viewed in\n your CloudWatch logs.

" } }, + "PostAuthenticationLoginBanner": { + "target": "com.amazonaws.transfer#PostAuthenticationLoginBanner" + }, + "PreAuthenticationLoginBanner": { + "target": "com.amazonaws.transfer#PreAuthenticationLoginBanner" + }, "Protocols": { "target": "com.amazonaws.transfer#Protocols", "traits": { @@ -1606,9 +1639,9 @@ "traits": { "smithy.api#length": { "min": 1, - "max": 100 + "max": 65536 }, - "smithy.api#pattern": "^(\\/|(\\/(?!\\.)+[^$#<>;`|&?{}^*/\\n]+){1,4})$" + "smithy.api#pattern": "^[^\\x00]+$" } }, "com.amazonaws.transfer#EndpointDetails": { @@ -1870,7 +1903,7 @@ } }, "traits": { - "smithy.api#documentation": "

Represents an object that contains entries and targets for\n HomeDirectoryMappings.

\n

The following is an Entry and Target pair example for chroot.

\n

\n [ { \"Entry:\": \"/\", \"Target\": \"/bucket_name/home/mydirectory\" } ]\n

\n \n \n

If the target of a logical directory entry does not exist in Amazon S3 or EFS, the entry is\n ignored. As a workaround, you can use the Amazon S3 API or EFS API to create 0 byte objects as place\n holders for your directory. If using the CLI, use the s3api or efsapi call instead of\n s3 or efs so you can use the put-object operation. For example, you use the\n following: aws s3api put-object --bucket bucketname --key path/to/folder/. Make\n sure that the end of the key name ends in a / for it to be considered a folder.

\n
" + "smithy.api#documentation": "

Represents an object that contains entries and targets for\n HomeDirectoryMappings.

\n

The following is an Entry and Target pair example for chroot.

\n

\n [ { \"Entry:\": \"/\", \"Target\": \"/bucket_name/home/mydirectory\" } ]\n

" } }, "com.amazonaws.transfer#HomeDirectoryMappings": { @@ -3036,6 +3069,26 @@ "smithy.api#documentation": "

The full POSIX identity, including user ID (Uid), group ID\n (Gid), and any secondary groups IDs (SecondaryGids), that controls\n your users' access to your Amazon EFS file systems. The POSIX permissions that are set on\n files and directories in your file system determine the level of access your users get when\n transferring files into and out of your Amazon EFS file systems.

" } }, + "com.amazonaws.transfer#PostAuthenticationLoginBanner": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 512 + }, + "smithy.api#pattern": "^[\\x09-\\x0D\\x20-\\x7E]*$" + } + }, + "com.amazonaws.transfer#PreAuthenticationLoginBanner": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 512 + }, + "smithy.api#pattern": "^[\\x09-\\x0D\\x20-\\x7E]*$" + } + }, "com.amazonaws.transfer#Protocol": { "type": "string", "traits": { @@ -3494,6 +3547,16 @@ "smithy.api#pattern": "^[\\w-]*$" } }, + "com.amazonaws.transfer#SourceFileLocation": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 0, + "max": 256 + }, + "smithy.api#pattern": "^\\$\\{(\\w+.)+\\w+\\}$" + } + }, "com.amazonaws.transfer#SourceIp": { "type": "string", "traits": { @@ -3799,6 +3862,12 @@ "traits": { "smithy.api#documentation": "

Array that contains from 1 to 10 key/value pairs.

" } + }, + "SourceFileLocation": { + "target": "com.amazonaws.transfer#SourceFileLocation", + "traits": { + "smithy.api#documentation": "

Specifies which file to use as input to the workflow step: either the output from the previous step, or the originally uploaded file\n for the workflow.

\n " + } } }, "traits": { @@ -3908,7 +3977,7 @@ "Message": { "target": "com.amazonaws.transfer#Message", "traits": { - "smithy.api#documentation": "

A message that indicates whether the test was successful or not.

" + "smithy.api#documentation": "

A message that indicates whether the test was successful or not.

\n \n

If an empty string is returned, the most likely cause is that the authentication failed due to an incorrect username or password.

\n
" } }, "Url": { @@ -4161,7 +4230,7 @@ "HomeDirectoryMappings": { "target": "com.amazonaws.transfer#HomeDirectoryMappings", "traits": { - "smithy.api#documentation": "

Logical directory mappings that specify what Amazon S3 or Amazon EFS paths and keys should\n be visible to your user and how you want to make them visible. You must specify the\n Entry and Target pair, where Entry shows how the path\n is made visible and Target is the actual Amazon S3 or Amazon EFS path. If you\n only specify a target, it is displayed as is. You also must ensure that your Amazon Web Services Identity\n and Access Management (IAM) role provides access to paths in Target. This value\n can only be set when HomeDirectoryType is set to\n LOGICAL.

\n

The following is an Entry and Target pair example.

\n

\n [ { \"Entry\": \"/directory1\", \"Target\": \"/bucket_name/home/mydirectory\" } ]\n

\n

In most cases, you can use this value instead of the session policy to lock down your\n user to the designated home directory (\"chroot\"). To do this, you can set\n Entry to / and set Target to the\n HomeDirectory parameter value.

\n

The following is an Entry and Target pair example for chroot.

\n

\n [ { \"Entry:\": \"/\", \"Target\": \"/bucket_name/home/mydirectory\" } ]\n

\n \n \n

If the target of a logical directory entry does not exist in Amazon S3 or EFS, the entry is\n ignored. As a workaround, you can use the Amazon S3 API or EFS API to create 0 byte objects as place\n holders for your directory. If using the CLI, use the s3api or efsapi call instead of\n s3 or efs so you can use the put-object operation. For example, you use the\n following: aws s3api put-object --bucket bucketname --key path/to/folder/. Make\n sure that the end of the key name ends in a / for it to be considered a folder.

\n
" + "smithy.api#documentation": "

Logical directory mappings that specify what Amazon S3 or Amazon EFS paths and keys should\n be visible to your user and how you want to make them visible. You must specify the\n Entry and Target pair, where Entry shows how the path\n is made visible and Target is the actual Amazon S3 or Amazon EFS path. If you\n only specify a target, it is displayed as is. You also must ensure that your Amazon Web Services Identity\n and Access Management (IAM) role provides access to paths in Target. This value\n can only be set when HomeDirectoryType is set to\n LOGICAL.

\n

The following is an Entry and Target pair example.

\n

\n [ { \"Entry\": \"/directory1\", \"Target\": \"/bucket_name/home/mydirectory\" } ]\n

\n

In most cases, you can use this value instead of the session policy to lock down your\n user to the designated home directory (\"chroot\"). To do this, you can set\n Entry to / and set Target to the\n HomeDirectory parameter value.

\n

The following is an Entry and Target pair example for chroot.

\n

\n [ { \"Entry:\": \"/\", \"Target\": \"/bucket_name/home/mydirectory\" } ]\n

" } }, "Policy": { @@ -4297,6 +4366,12 @@ "smithy.api#documentation": "

Specifies the Amazon Resource Name (ARN) of the Amazon Web Services Identity and Access Management (IAM) role that allows a server to turn\n on Amazon CloudWatch logging for Amazon S3 or Amazon EFS events. When set, user activity can be viewed in\n your CloudWatch logs.

" } }, + "PostAuthenticationLoginBanner": { + "target": "com.amazonaws.transfer#PostAuthenticationLoginBanner" + }, + "PreAuthenticationLoginBanner": { + "target": "com.amazonaws.transfer#PreAuthenticationLoginBanner" + }, "Protocols": { "target": "com.amazonaws.transfer#Protocols", "traits": { @@ -4383,7 +4458,7 @@ "HomeDirectoryMappings": { "target": "com.amazonaws.transfer#HomeDirectoryMappings", "traits": { - "smithy.api#documentation": "

Logical directory mappings that specify what Amazon S3 or Amazon EFS paths and keys should\n be visible to your user and how you want to make them visible. You must specify the\n Entry and Target pair, where Entry shows how the path\n is made visible and Target is the actual Amazon S3 or Amazon EFS path. If you\n only specify a target, it is displayed as is. You also must ensure that your Amazon Web Services Identity\n and Access Management (IAM) role provides access to paths in Target. This value\n can only be set when HomeDirectoryType is set to\n LOGICAL.

\n\n

The following is an Entry and Target pair example.

\n

\n [ { \"Entry\": \"/directory1\", \"Target\":\n \"/bucket_name/home/mydirectory\" } ]\n

\n\n

In most cases, you can use this value instead of the session policy to lock down your\n user to the designated home directory (\"chroot\"). To do this, you can set\n Entry to '/' and set Target to the HomeDirectory\n parameter value.

\n\n

The following is an Entry and Target pair example for chroot.

\n

\n [ { \"Entry:\": \"/\", \"Target\": \"/bucket_name/home/mydirectory\" } ]\n

\n \n \n

If the target of a logical directory entry does not exist in Amazon S3 or EFS, the entry is\n ignored. As a workaround, you can use the Amazon S3 API or EFS API to create 0 byte objects as place\n holders for your directory. If using the CLI, use the s3api or efsapi call instead of\n s3 or efs so you can use the put-object operation. For example, you use the\n following: aws s3api put-object --bucket bucketname --key path/to/folder/. Make\n sure that the end of the key name ends in a / for it to be considered a folder.

\n
" + "smithy.api#documentation": "

Logical directory mappings that specify what Amazon S3 or Amazon EFS paths and keys should\n be visible to your user and how you want to make them visible. You must specify the\n Entry and Target pair, where Entry shows how the path\n is made visible and Target is the actual Amazon S3 or Amazon EFS path. If you\n only specify a target, it is displayed as is. You also must ensure that your Amazon Web Services Identity\n and Access Management (IAM) role provides access to paths in Target. This value\n can only be set when HomeDirectoryType is set to\n LOGICAL.

\n\n

The following is an Entry and Target pair example.

\n

\n [ { \"Entry\": \"/directory1\", \"Target\":\n \"/bucket_name/home/mydirectory\" } ]\n

\n\n

In most cases, you can use this value instead of the session policy to lock down your\n user to the designated home directory (\"chroot\"). To do this, you can set\n Entry to '/' and set Target to the HomeDirectory\n parameter value.

\n\n

The following is an Entry and Target pair example for chroot.

\n

\n [ { \"Entry:\": \"/\", \"Target\": \"/bucket_name/home/mydirectory\" } ]\n

" } }, "Policy": { diff --git a/codegen/sdk-codegen/aws-models/translate.2017-07-01.json b/codegen/sdk-codegen/aws-models/translate.2017-07-01.json index 8ed011407a4..5c43f0f8df3 100644 --- a/codegen/sdk-codegen/aws-models/translate.2017-07-01.json +++ b/codegen/sdk-codegen/aws-models/translate.2017-07-01.json @@ -482,6 +482,21 @@ ] } }, + "com.amazonaws.translate#Formality": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "FORMAL", + "name": "FORMAL" + }, + { + "value": "INFORMAL", + "name": "INFORMAL" + } + ] + } + }, "com.amazonaws.translate#GetParallelData": { "type": "operation", "input": { @@ -2110,6 +2125,9 @@ "com.amazonaws.translate#TranslationSettings": { "type": "structure", "members": { + "Formality": { + "target": "com.amazonaws.translate#Formality" + }, "Profanity": { "target": "com.amazonaws.translate#Profanity", "traits": { diff --git a/codegen/sdk-codegen/aws-models/wafv2.2019-07-29.json b/codegen/sdk-codegen/aws-models/wafv2.2019-07-29.json index 076c5f89f98..6e2a1e509b6 100644 --- a/codegen/sdk-codegen/aws-models/wafv2.2019-07-29.json +++ b/codegen/sdk-codegen/aws-models/wafv2.2019-07-29.json @@ -96,6 +96,9 @@ { "target": "com.amazonaws.wafv2#DisassociateWebACL" }, + { + "target": "com.amazonaws.wafv2#GenerateMobileSdkReleaseUrl" + }, { "target": "com.amazonaws.wafv2#GetIPSet" }, @@ -105,6 +108,9 @@ { "target": "com.amazonaws.wafv2#GetManagedRuleSet" }, + { + "target": "com.amazonaws.wafv2#GetMobileSdkRelease" + }, { "target": "com.amazonaws.wafv2#GetPermissionPolicy" }, @@ -141,6 +147,9 @@ { "target": "com.amazonaws.wafv2#ListManagedRuleSets" }, + { + "target": "com.amazonaws.wafv2#ListMobileSdkReleases" + }, { "target": "com.amazonaws.wafv2#ListRegexPatternSets" }, @@ -1709,7 +1718,7 @@ "Addresses": { "target": "com.amazonaws.wafv2#IPAddresses", "traits": { - "smithy.api#documentation": "

Contains an array of strings that specify one or more IP addresses or blocks of IP addresses in Classless Inter-Domain Routing (CIDR) notation. WAF supports all IPv4 and IPv6 CIDR ranges except for /0.

\n

Examples:

\n \n

For more information about CIDR notation, see the Wikipedia entry Classless Inter-Domain Routing.

", + "smithy.api#documentation": "

Contains an array of strings that specifies zero or more IP addresses or blocks of IP addresses in Classless Inter-Domain Routing (CIDR) notation. WAF supports all IPv4 and IPv6 CIDR ranges except for /0.

\n

Example address strings:

\n \n

For more information about CIDR notation, see the Wikipedia entry Classless Inter-Domain Routing.

\n

Example JSON Addresses specifications:

\n ", "smithy.api#required": {} } }, @@ -2805,6 +2814,9 @@ "type": "structure", "members": {} }, + "com.amazonaws.wafv2#DownloadUrl": { + "type": "string" + }, "com.amazonaws.wafv2#EntityDescription": { "type": "string", "traits": { @@ -2892,6 +2904,16 @@ ] } }, + "com.amazonaws.wafv2#FieldIdentifier": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 512 + }, + "smithy.api#pattern": "\\S" + } + }, "com.amazonaws.wafv2#FieldToMatch": { "type": "structure", "members": { @@ -3148,6 +3170,62 @@ ] } }, + "com.amazonaws.wafv2#GenerateMobileSdkReleaseUrl": { + "type": "operation", + "input": { + "target": "com.amazonaws.wafv2#GenerateMobileSdkReleaseUrlRequest" + }, + "output": { + "target": "com.amazonaws.wafv2#GenerateMobileSdkReleaseUrlResponse" + }, + "errors": [ + { + "target": "com.amazonaws.wafv2#WAFInternalErrorException" + }, + { + "target": "com.amazonaws.wafv2#WAFInvalidOperationException" + }, + { + "target": "com.amazonaws.wafv2#WAFInvalidParameterException" + }, + { + "target": "com.amazonaws.wafv2#WAFNonexistentItemException" + } + ], + "traits": { + "smithy.api#documentation": "

Generates a presigned download URL for the specified release of the mobile SDK.

\n

The mobile SDK is not generally available. Customers who have access to the mobile SDK can use it to establish and manage Security Token Service (STS) security tokens for use in HTTP(S) requests from a mobile device to WAF. For more information, see \nWAF client application integration in the WAF Developer Guide.

" + } + }, + "com.amazonaws.wafv2#GenerateMobileSdkReleaseUrlRequest": { + "type": "structure", + "members": { + "Platform": { + "target": "com.amazonaws.wafv2#Platform", + "traits": { + "smithy.api#documentation": "

The device platform.

", + "smithy.api#required": {} + } + }, + "ReleaseVersion": { + "target": "com.amazonaws.wafv2#VersionKeyString", + "traits": { + "smithy.api#documentation": "

The release version. For the latest available version, specify LATEST.

", + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.wafv2#GenerateMobileSdkReleaseUrlResponse": { + "type": "structure", + "members": { + "Url": { + "target": "com.amazonaws.wafv2#DownloadUrl", + "traits": { + "smithy.api#documentation": "

The presigned download URL for the specified SDK release.

" + } + } + } + }, "com.amazonaws.wafv2#GeoMatchStatement": { "type": "structure", "members": { @@ -3355,6 +3433,62 @@ } } }, + "com.amazonaws.wafv2#GetMobileSdkRelease": { + "type": "operation", + "input": { + "target": "com.amazonaws.wafv2#GetMobileSdkReleaseRequest" + }, + "output": { + "target": "com.amazonaws.wafv2#GetMobileSdkReleaseResponse" + }, + "errors": [ + { + "target": "com.amazonaws.wafv2#WAFInternalErrorException" + }, + { + "target": "com.amazonaws.wafv2#WAFInvalidOperationException" + }, + { + "target": "com.amazonaws.wafv2#WAFInvalidParameterException" + }, + { + "target": "com.amazonaws.wafv2#WAFNonexistentItemException" + } + ], + "traits": { + "smithy.api#documentation": "

Retrieves information for the specified mobile SDK release, including release notes and tags.

\n

The mobile SDK is not generally available. Customers who have access to the mobile SDK can use it to establish and manage Security Token Service (STS) security tokens for use in HTTP(S) requests from a mobile device to WAF. For more information, see \nWAF client application integration in the WAF Developer Guide.

" + } + }, + "com.amazonaws.wafv2#GetMobileSdkReleaseRequest": { + "type": "structure", + "members": { + "Platform": { + "target": "com.amazonaws.wafv2#Platform", + "traits": { + "smithy.api#documentation": "

The device platform.

", + "smithy.api#required": {} + } + }, + "ReleaseVersion": { + "target": "com.amazonaws.wafv2#VersionKeyString", + "traits": { + "smithy.api#documentation": "

The release version. For the latest available version, specify LATEST.

", + "smithy.api#required": {} + } + } + } + }, + "com.amazonaws.wafv2#GetMobileSdkReleaseResponse": { + "type": "structure", + "members": { + "MobileSdkRelease": { + "target": "com.amazonaws.wafv2#MobileSdkRelease", + "traits": { + "smithy.api#documentation": "

Information for a specified SDK release, including release notes and tags.

" + } + } + } + }, "com.amazonaws.wafv2#GetPermissionPolicy": { "type": "operation", "input": { @@ -3828,6 +3962,12 @@ "traits": { "smithy.api#documentation": "

A token used for optimistic locking. WAF returns a token to your get and list requests, to mark the state of the entity at the time of the request. To make changes to the entity associated with the token, you provide the token to operations like update and delete. WAF uses the token to ensure that no changes have been made to the entity since you last retrieved it. If a change has been made, the update fails with a WAFOptimisticLockException. If this happens, perform another get, and use the new token returned by that operation.

" } + }, + "ApplicationIntegrationURL": { + "target": "com.amazonaws.wafv2#OutputUrl", + "traits": { + "smithy.api#documentation": "

The URL to use in SDK integrations with Amazon Web Services managed rule groups. For example, you can use the integration SDKs with the account takeover prevention managed rule group AWSManagedRulesATPRuleSet. This is only populated if you are using a rule group in your web ACL that integrates with your applications in this way. For more information, see WAF client application integration in the WAF Developer Guide.

" + } } } }, @@ -3984,13 +4124,13 @@ "Addresses": { "target": "com.amazonaws.wafv2#IPAddresses", "traits": { - "smithy.api#documentation": "

Contains an array of strings that specify one or more IP addresses or blocks of IP addresses in Classless Inter-Domain Routing (CIDR) notation. WAF supports all IPv4 and IPv6 CIDR ranges except for /0.

\n

Examples:

\n \n

For more information about CIDR notation, see the Wikipedia entry Classless Inter-Domain Routing.

", + "smithy.api#documentation": "

Contains an array of strings that specifies zero or more IP addresses or blocks of IP addresses in Classless Inter-Domain Routing (CIDR) notation. WAF supports all IPv4 and IPv6 CIDR ranges except for /0.

\n

Example address strings:

\n \n

For more information about CIDR notation, see the Wikipedia entry Classless Inter-Domain Routing.

\n

Example JSON Addresses specifications:

\n ", "smithy.api#required": {} } } }, "traits": { - "smithy.api#documentation": "

Contains one or more IP addresses or blocks of IP addresses specified in Classless\n Inter-Domain Routing (CIDR) notation. WAF supports all IPv4 and IPv6 CIDR ranges\n except for /0. For information about CIDR notation, see the Wikipedia entry Classless\n Inter-Domain Routing.

\n

WAF assigns an ARN to each IPSet that you create. To use an IP set in a\n rule, you provide the ARN to the Rule statement IPSetReferenceStatement.

" + "smithy.api#documentation": "

Contains zero or more IP addresses or blocks of IP addresses specified in Classless\n Inter-Domain Routing (CIDR) notation. WAF supports all IPv4 and IPv6 CIDR ranges\n except for /0. For information about CIDR notation, see the Wikipedia entry Classless\n Inter-Domain Routing.

\n

WAF assigns an ARN to each IPSet that you create. To use an IP set in a\n rule, you provide the ARN to the Rule statement IPSetReferenceStatement.

" } }, "com.amazonaws.wafv2#IPSetForwardedIPConfig": { @@ -4649,6 +4789,70 @@ } } }, + "com.amazonaws.wafv2#ListMobileSdkReleases": { + "type": "operation", + "input": { + "target": "com.amazonaws.wafv2#ListMobileSdkReleasesRequest" + }, + "output": { + "target": "com.amazonaws.wafv2#ListMobileSdkReleasesResponse" + }, + "errors": [ + { + "target": "com.amazonaws.wafv2#WAFInternalErrorException" + }, + { + "target": "com.amazonaws.wafv2#WAFInvalidOperationException" + }, + { + "target": "com.amazonaws.wafv2#WAFInvalidParameterException" + } + ], + "traits": { + "smithy.api#documentation": "

Retrieves a list of the available releases for the mobile SDK and the specified device platform.

\n

The mobile SDK is not generally available. Customers who have access to the mobile SDK can use it to establish and manage Security Token Service (STS) security tokens for use in HTTP(S) requests from a mobile device to WAF. For more information, see \nWAF client application integration in the WAF Developer Guide.

" + } + }, + "com.amazonaws.wafv2#ListMobileSdkReleasesRequest": { + "type": "structure", + "members": { + "Platform": { + "target": "com.amazonaws.wafv2#Platform", + "traits": { + "smithy.api#documentation": "

The device platform to retrieve the list for.

", + "smithy.api#required": {} + } + }, + "NextMarker": { + "target": "com.amazonaws.wafv2#NextMarker", + "traits": { + "smithy.api#documentation": "

When you request a list of objects with a Limit setting, if the number of objects that are still available\n for retrieval exceeds the limit, WAF returns a NextMarker \n value in the response. To retrieve the next batch of objects, provide the marker from the prior call in your next request.

" + } + }, + "Limit": { + "target": "com.amazonaws.wafv2#PaginationLimit", + "traits": { + "smithy.api#documentation": "

The maximum number of objects that you want WAF to return for this request. If more \n objects are available, in the response, WAF provides a \n NextMarker value that you can use in a subsequent call to get the next batch of objects.

" + } + } + } + }, + "com.amazonaws.wafv2#ListMobileSdkReleasesResponse": { + "type": "structure", + "members": { + "ReleaseSummaries": { + "target": "com.amazonaws.wafv2#ReleaseSummaries", + "traits": { + "smithy.api#documentation": "

High level information for the available SDK releases.

" + } + }, + "NextMarker": { + "target": "com.amazonaws.wafv2#NextMarker", + "traits": { + "smithy.api#documentation": "

When you request a list of objects with a Limit setting, if the number of objects that are still available\n for retrieval exceeds the limit, WAF returns a NextMarker \n value in the response. To retrieve the next batch of objects, provide the marker from the prior call in your next request.

" + } + } + } + }, "com.amazonaws.wafv2#ListRegexPatternSets": { "type": "operation", "input": { @@ -5004,7 +5208,7 @@ "LogDestinationConfigs": { "target": "com.amazonaws.wafv2#LogDestinationConfigs", "traits": { - "smithy.api#documentation": "

The Amazon Resource Names (ARNs) of the logging destinations that you want to associate\n with the web ACL.

", + "smithy.api#documentation": "

The logging destination configuration that you want to associate\n with the web ACL.

\n \n

You can associate one logging destination to a web ACL.

\n
", "smithy.api#required": {} } }, @@ -5028,7 +5232,7 @@ } }, "traits": { - "smithy.api#documentation": "

Defines an association between logging destinations and a web ACL\n resource, for logging from WAF. As part of the association, you can specify parts of\n the standard logging fields to keep out of the logs and you can specify filters so that you\n log only a subset of the logging records.

\n

For information about configuring web ACL logging destinations, see \n Logging web ACL traffic information \n in the WAF Developer Guide.

" + "smithy.api#documentation": "

Defines an association between logging destinations and a web ACL\n resource, for logging from WAF. As part of the association, you can specify parts of\n the standard logging fields to keep out of the logs and you can specify filters so that you\n log only a subset of the logging records.

\n \n

You can define one logging destination per web ACL.

\n
\n

You can access information about the traffic that WAF inspects using the following\n steps:

\n
    \n
  1. \n

    Create your logging destination. You can use an Amazon CloudWatch Logs log group, an Amazon Simple Storage Service (Amazon S3) bucket, or an Amazon Kinesis Data Firehose. \n For information about configuring logging destinations and the permissions that are required for each, see \n Logging web ACL traffic information \n in the WAF Developer Guide.

    \n
  2. \n
  3. \n

    Associate your logging destination to your web ACL using a\n PutLoggingConfiguration request.

    \n
  4. \n
\n

When you successfully enable logging using a PutLoggingConfiguration\n request, WAF creates an additional role or policy that is required to write\n logs to the logging destination. For an Amazon CloudWatch Logs log group, WAF creates a resource policy on the log group.\n For an Amazon S3 bucket, WAF creates a bucket policy. For an Amazon Kinesis Data Firehose, WAF creates a service-linked role.

\n

For additional information about web ACL logging, see \n Logging web ACL traffic information \n in the WAF Developer Guide.

" } }, "com.amazonaws.wafv2#LoggingConfigurations": { @@ -5059,6 +5263,59 @@ "smithy.api#documentation": "

Filtering that specifies which web requests are kept in the logs and which are dropped,\n defined for a web ACL's LoggingConfiguration.

\n

You can filter on the rule action and on the web request labels that were applied by\n matching rules during web ACL evaluation.

" } }, + "com.amazonaws.wafv2#LoginPathString": { + "type": "string", + "traits": { + "smithy.api#length": { + "min": 1, + "max": 256 + }, + "smithy.api#pattern": "\\S" + } + }, + "com.amazonaws.wafv2#ManagedRuleGroupConfig": { + "type": "structure", + "members": { + "LoginPath": { + "target": "com.amazonaws.wafv2#LoginPathString", + "traits": { + "smithy.api#documentation": "

The path of the login endpoint for your application. For example, for the URL https://example.com/web/login, you would provide the path /web/login.

" + } + }, + "PayloadType": { + "target": "com.amazonaws.wafv2#PayloadType", + "traits": { + "smithy.api#documentation": "

The payload type for your login endpoint, either JSON or form encoded.

" + } + }, + "UsernameField": { + "target": "com.amazonaws.wafv2#UsernameField", + "traits": { + "smithy.api#documentation": "

Details about your login page username field.

" + } + }, + "PasswordField": { + "target": "com.amazonaws.wafv2#PasswordField", + "traits": { + "smithy.api#documentation": "

Details about your login page password field.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Additional information that's used by a managed rule group. Most managed rule groups don't require this.

\n

Use this for the account takeover prevention managed rule group \n AWSManagedRulesATPRuleSet, to provide information about the sign-in page of your application.

" + } + }, + "com.amazonaws.wafv2#ManagedRuleGroupConfigs": { + "type": "list", + "member": { + "target": "com.amazonaws.wafv2#ManagedRuleGroupConfig" + }, + "traits": { + "smithy.api#length": { + "min": 1 + } + } + }, "com.amazonaws.wafv2#ManagedRuleGroupStatement": { "type": "structure", "members": { @@ -5093,6 +5350,12 @@ "traits": { "smithy.api#documentation": "

An optional nested statement that narrows the scope of the web requests that are\n evaluated by the managed rule group. Requests are only evaluated by the rule group if they\n match the scope-down statement. You can use any nestable Statement in the\n scope-down statement, and you can nest statements at any level, the same as you can for a\n rule statement.

" } + }, + "ManagedRuleGroupConfigs": { + "target": "com.amazonaws.wafv2#ManagedRuleGroupConfigs", + "traits": { + "smithy.api#documentation": "

Additional information that's used by a managed rule group. Most managed rule groups don't require this.

\n

Use this for the account takeover prevention managed rule group \n AWSManagedRulesATPRuleSet, to provide information about the sign-in page of your application.

" + } } }, "traits": { @@ -5321,6 +5584,38 @@ "smithy.api#pattern": "^[\\w#:\\.\\-/]+$" } }, + "com.amazonaws.wafv2#MobileSdkRelease": { + "type": "structure", + "members": { + "ReleaseVersion": { + "target": "com.amazonaws.wafv2#VersionKeyString", + "traits": { + "smithy.api#documentation": "

The release version.

" + } + }, + "Timestamp": { + "target": "com.amazonaws.wafv2#Timestamp", + "traits": { + "smithy.api#documentation": "

The timestamp of the release.

" + } + }, + "ReleaseNotes": { + "target": "com.amazonaws.wafv2#ReleaseNotes", + "traits": { + "smithy.api#documentation": "

Notes describing the release.

" + } + }, + "Tags": { + "target": "com.amazonaws.wafv2#TagList", + "traits": { + "smithy.api#documentation": "

Tags that are associated with the release.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

Information for a release of the mobile SDK, including release notes and tags.

\n

The mobile SDK is not generally available. Customers who have access to the mobile SDK can use it to establish and manage Security Token Service (STS) security tokens for use in HTTP(S) requests from a mobile device to WAF. For more information, see \nWAF client application integration in the WAF Developer Guide.

" + } + }, "com.amazonaws.wafv2#NextMarker": { "type": "string", "traits": { @@ -5368,6 +5663,9 @@ "smithy.api#documentation": "

A logical rule statement used to combine other rule statements with OR logic. You provide more than one Statement within the OrStatement.

" } }, + "com.amazonaws.wafv2#OutputUrl": { + "type": "string" + }, "com.amazonaws.wafv2#OverrideAction": { "type": "structure", "members": { @@ -5629,6 +5927,14 @@ { "value": "LOG_DESTINATION", "name": "LOG_DESTINATION" + }, + { + "value": "MANAGED_RULE_GROUP_CONFIG", + "name": "MANAGED_RULE_GROUP_CONFIG" + }, + { + "value": "PAYLOAD_TYPE", + "name": "PAYLOAD_TYPE" } ] } @@ -5641,6 +5947,51 @@ } } }, + "com.amazonaws.wafv2#PasswordField": { + "type": "structure", + "members": { + "Identifier": { + "target": "com.amazonaws.wafv2#FieldIdentifier", + "traits": { + "smithy.api#documentation": "

The name of the password field. For example /form/password.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

Details about your login page password field, used in a ManagedRuleGroupConfig.

" + } + }, + "com.amazonaws.wafv2#PayloadType": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "JSON", + "name": "JSON" + }, + { + "value": "FORM_ENCODED", + "name": "FORM_ENCODED" + } + ] + } + }, + "com.amazonaws.wafv2#Platform": { + "type": "string", + "traits": { + "smithy.api#enum": [ + { + "value": "IOS", + "name": "IOS" + }, + { + "value": "ANDROID", + "name": "ANDROID" + } + ] + } + }, "com.amazonaws.wafv2#PolicyString": { "type": "string", "traits": { @@ -5725,7 +6076,7 @@ } ], "traits": { - "smithy.api#documentation": "

Enables the specified LoggingConfiguration, to start logging from a\n web ACL, according to the configuration provided.

\n

You can access information about all traffic that WAF inspects using the following\n steps:

\n
    \n
  1. \n

    Create your logging destination. You can use an Amazon CloudWatch Logs log group, an Amazon Simple Storage Service (Amazon S3) bucket, or an Amazon Kinesis Data Firehose. \n For information about configuring logging destinations and the permissions that are required for each, see \n Logging web ACL traffic information \n in the WAF Developer Guide.

    \n
  2. \n
  3. \n

    Associate your logging destination to your web ACL using a\n PutLoggingConfiguration request.

    \n
  4. \n
\n

When you successfully enable logging using a PutLoggingConfiguration\n request, WAF creates an additional role or policy that is required to write\n logs to the logging destination. For an Amazon CloudWatch Logs log group, WAF creates a resource policy on the log group.\n For an Amazon S3 bucket, WAF creates a bucket policy. For an Amazon Kinesis Data Firehose, WAF creates a service-linked role.

\n \n

This operation completely replaces the mutable specifications that you already have for the logging configuration with the ones that you provide to this call. To modify the logging configuration, retrieve it by calling GetLoggingConfiguration, update the settings as needed, and then provide the complete logging configuration specification to this call.

\n
" + "smithy.api#documentation": "

Enables the specified LoggingConfiguration, to start logging from a\n web ACL, according to the configuration provided.

\n \n

You can define one logging destination per web ACL.

\n
\n

You can access information about the traffic that WAF inspects using the following\n steps:

\n
    \n
  1. \n

    Create your logging destination. You can use an Amazon CloudWatch Logs log group, an Amazon Simple Storage Service (Amazon S3) bucket, or an Amazon Kinesis Data Firehose. \n For information about configuring logging destinations and the permissions that are required for each, see \n Logging web ACL traffic information \n in the WAF Developer Guide.

    \n
  2. \n
  3. \n

    Associate your logging destination to your web ACL using a\n PutLoggingConfiguration request.

    \n
  4. \n
\n

When you successfully enable logging using a PutLoggingConfiguration\n request, WAF creates an additional role or policy that is required to write\n logs to the logging destination. For an Amazon CloudWatch Logs log group, WAF creates a resource policy on the log group.\n For an Amazon S3 bucket, WAF creates a bucket policy. For an Amazon Kinesis Data Firehose, WAF creates a service-linked role.

\n

For additional information about web ACL logging, see \n Logging web ACL traffic information \n in the WAF Developer Guide.

\n \n

This operation completely replaces the mutable specifications that you already have for the logging configuration with the ones that you provide to this call. To modify the logging configuration, retrieve it by calling GetLoggingConfiguration, update the settings as needed, and then provide the complete logging configuration specification to this call.

\n
" } }, "com.amazonaws.wafv2#PutLoggingConfigurationRequest": { @@ -6152,6 +6503,35 @@ "target": "com.amazonaws.wafv2#Regex" } }, + "com.amazonaws.wafv2#ReleaseNotes": { + "type": "string" + }, + "com.amazonaws.wafv2#ReleaseSummaries": { + "type": "list", + "member": { + "target": "com.amazonaws.wafv2#ReleaseSummary" + } + }, + "com.amazonaws.wafv2#ReleaseSummary": { + "type": "structure", + "members": { + "ReleaseVersion": { + "target": "com.amazonaws.wafv2#VersionKeyString", + "traits": { + "smithy.api#documentation": "

The release version.

" + } + }, + "Timestamp": { + "target": "com.amazonaws.wafv2#Timestamp", + "traits": { + "smithy.api#documentation": "

The timestamp of the release.

" + } + } + }, + "traits": { + "smithy.api#documentation": "

High level information for an SDK release.

" + } + }, "com.amazonaws.wafv2#ResourceArn": { "type": "string", "traits": { @@ -7255,7 +7635,7 @@ "Addresses": { "target": "com.amazonaws.wafv2#IPAddresses", "traits": { - "smithy.api#documentation": "

Contains an array of strings that specify one or more IP addresses or blocks of IP addresses in Classless Inter-Domain Routing (CIDR) notation. WAF supports all IPv4 and IPv6 CIDR ranges except for /0.

\n

Examples:

\n \n

For more information about CIDR notation, see the Wikipedia entry Classless Inter-Domain Routing.

", + "smithy.api#documentation": "

Contains an array of strings that specifies zero or more IP addresses or blocks of IP addresses in Classless Inter-Domain Routing (CIDR) notation. WAF supports all IPv4 and IPv6 CIDR ranges except for /0.

\n

Example address strings:

\n \n

For more information about CIDR notation, see the Wikipedia entry Classless Inter-Domain Routing.

\n

Example JSON Addresses specifications:

\n ", "smithy.api#required": {} } }, @@ -7716,6 +8096,21 @@ "smithy.api#documentation": "

The path component of the URI of a web request. This is the part of a web request that identifies a resource. For example, /images/daily-ad.jpg.

\n

This is used only to indicate the web request component for WAF to inspect, in the FieldToMatch specification.

\n

JSON specification: \"UriPath\": {}\n

" } }, + "com.amazonaws.wafv2#UsernameField": { + "type": "structure", + "members": { + "Identifier": { + "target": "com.amazonaws.wafv2#FieldIdentifier", + "traits": { + "smithy.api#documentation": "

The name of the username field. For example /form/username.

", + "smithy.api#required": {} + } + } + }, + "traits": { + "smithy.api#documentation": "

Details about your login page username field, used in a ManagedRuleGroupConfig.

" + } + }, "com.amazonaws.wafv2#VendorName": { "type": "string", "traits": { @@ -7928,7 +8323,7 @@ } }, "traits": { - "smithy.api#documentation": "

The operation failed because you don't have the permissions that your logging configuration requires. For information, see \n Logging web ACL traffic information \n in the WAF Developer Guide.

", + "smithy.api#documentation": "

The operation failed because you don't have the permissions that your logging configuration requires. For information, see\n Logging web ACL traffic information\n in the WAF Developer Guide.

", "smithy.api#error": "client" } }, diff --git a/codegen/smithy-aws-go-codegen/src/main/resources/software/amazon/smithy/aws/go/codegen/endpoints.json b/codegen/smithy-aws-go-codegen/src/main/resources/software/amazon/smithy/aws/go/codegen/endpoints.json index 9193a46138c..cfae92934a4 100644 --- a/codegen/smithy-aws-go-codegen/src/main/resources/software/amazon/smithy/aws/go/codegen/endpoints.json +++ b/codegen/smithy-aws-go-codegen/src/main/resources/software/amazon/smithy/aws/go/codegen/endpoints.json @@ -977,6 +977,94 @@ } } }, + "api.tunneling.iot" : { + "defaults" : { + "variants" : [ { + "hostname" : "api.tunneling.iot-fips.{region}.{dnsSuffix}", + "tags" : [ "fips" ] + } ] + }, + "endpoints" : { + "ap-east-1" : { }, + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ca-central-1" : { + "variants" : [ { + "hostname" : "api.tunneling.iot-fips.ca-central-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "eu-central-1" : { }, + "eu-north-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "eu-west-3" : { }, + "fips-ca-central-1" : { + "credentialScope" : { + "region" : "ca-central-1" + }, + "deprecated" : true, + "hostname" : "api.tunneling.iot-fips.ca-central-1.amazonaws.com" + }, + "fips-us-east-1" : { + "credentialScope" : { + "region" : "us-east-1" + }, + "deprecated" : true, + "hostname" : "api.tunneling.iot-fips.us-east-1.amazonaws.com" + }, + "fips-us-east-2" : { + "credentialScope" : { + "region" : "us-east-2" + }, + "deprecated" : true, + "hostname" : "api.tunneling.iot-fips.us-east-2.amazonaws.com" + }, + "fips-us-west-1" : { + "credentialScope" : { + "region" : "us-west-1" + }, + "deprecated" : true, + "hostname" : "api.tunneling.iot-fips.us-west-1.amazonaws.com" + }, + "fips-us-west-2" : { + "credentialScope" : { + "region" : "us-west-2" + }, + "deprecated" : true, + "hostname" : "api.tunneling.iot-fips.us-west-2.amazonaws.com" + }, + "me-south-1" : { }, + "sa-east-1" : { }, + "us-east-1" : { + "variants" : [ { + "hostname" : "api.tunneling.iot-fips.us-east-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-east-2" : { + "variants" : [ { + "hostname" : "api.tunneling.iot-fips.us-east-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-west-1" : { + "variants" : [ { + "hostname" : "api.tunneling.iot-fips.us-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-west-2" : { + "variants" : [ { + "hostname" : "api.tunneling.iot-fips.us-west-2.amazonaws.com", + "tags" : [ "fips" ] + } ] + } + } + }, "apigateway" : { "endpoints" : { "af-south-1" : { }, @@ -2676,6 +2764,7 @@ }, "connect" : { "endpoints" : { + "af-south-1" : { }, "ap-northeast-1" : { }, "ap-northeast-2" : { }, "ap-southeast-1" : { }, @@ -4055,6 +4144,12 @@ "tags" : [ "fips" ] } ] }, + "ap-southeast-3" : { + "variants" : [ { + "hostname" : "elasticfilesystem-fips.ap-southeast-3.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, "ca-central-1" : { "variants" : [ { "hostname" : "elasticfilesystem-fips.ca-central-1.amazonaws.com", @@ -4153,6 +4248,13 @@ "deprecated" : true, "hostname" : "elasticfilesystem-fips.ap-southeast-2.amazonaws.com" }, + "fips-ap-southeast-3" : { + "credentialScope" : { + "region" : "ap-southeast-3" + }, + "deprecated" : true, + "hostname" : "elasticfilesystem-fips.ap-southeast-3.amazonaws.com" + }, "fips-ca-central-1" : { "credentialScope" : { "region" : "ca-central-1" @@ -5712,6 +5814,7 @@ "ap-south-1" : { }, "ap-southeast-1" : { }, "ap-southeast-2" : { }, + "ap-southeast-3" : { }, "ca-central-1" : { }, "eu-central-1" : { }, "eu-north-1" : { }, @@ -7873,6 +7976,7 @@ }, "mq" : { "endpoints" : { + "af-south-1" : { }, "ap-east-1" : { }, "ap-northeast-1" : { }, "ap-northeast-2" : { }, @@ -10229,7 +10333,19 @@ "ap-southeast-1" : { }, "ap-southeast-2" : { }, "ap-southeast-3" : { }, - "ca-central-1" : { }, + "ca-central-1" : { + "variants" : [ { + "hostname" : "secretsmanager-fips.ca-central-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "ca-central-1-fips" : { + "credentialScope" : { + "region" : "ca-central-1" + }, + "deprecated" : true, + "hostname" : "secretsmanager-fips.ca-central-1.amazonaws.com" + }, "eu-central-1" : { }, "eu-north-1" : { }, "eu-south-1" : { }, @@ -11712,6 +11828,32 @@ } } }, + "synthetics" : { + "endpoints" : { + "af-south-1" : { }, + "ap-east-1" : { }, + "ap-northeast-1" : { }, + "ap-northeast-2" : { }, + "ap-northeast-3" : { }, + "ap-south-1" : { }, + "ap-southeast-1" : { }, + "ap-southeast-2" : { }, + "ap-southeast-3" : { }, + "ca-central-1" : { }, + "eu-central-1" : { }, + "eu-north-1" : { }, + "eu-south-1" : { }, + "eu-west-1" : { }, + "eu-west-2" : { }, + "eu-west-3" : { }, + "me-south-1" : { }, + "sa-east-1" : { }, + "us-east-1" : { }, + "us-east-2" : { }, + "us-west-1" : { }, + "us-west-2" : { } + } + }, "tagging" : { "endpoints" : { "af-south-1" : { }, @@ -11994,6 +12136,7 @@ "ap-east-1" : { }, "ap-northeast-1" : { }, "ap-northeast-2" : { }, + "ap-northeast-3" : { }, "ap-south-1" : { }, "ap-southeast-1" : { }, "ap-southeast-2" : { }, @@ -12796,6 +12939,12 @@ "cn-northwest-1" : { } } }, + "api.tunneling.iot" : { + "endpoints" : { + "cn-north-1" : { }, + "cn-northwest-1" : { } + } + }, "apigateway" : { "endpoints" : { "cn-north-1" : { }, @@ -12938,6 +13087,12 @@ "cn-northwest-1" : { } } }, + "codepipeline" : { + "endpoints" : { + "cn-north-1" : { }, + "cn-northwest-1" : { } + } + }, "cognito-identity" : { "endpoints" : { "cn-north-1" : { } @@ -13649,6 +13804,12 @@ "cn-northwest-1" : { } } }, + "synthetics" : { + "endpoints" : { + "cn-north-1" : { }, + "cn-northwest-1" : { } + } + }, "tagging" : { "endpoints" : { "cn-north-1" : { }, @@ -13785,6 +13946,12 @@ } }, "acm" : { + "defaults" : { + "variants" : [ { + "hostname" : "acm.{region}.{dnsSuffix}", + "tags" : [ "fips" ] + } ] + }, "endpoints" : { "us-gov-east-1" : { "credentialScope" : { @@ -13988,6 +14155,42 @@ } } }, + "api.tunneling.iot" : { + "defaults" : { + "variants" : [ { + "hostname" : "api.tunneling.iot-fips.{region}.{dnsSuffix}", + "tags" : [ "fips" ] + } ] + }, + "endpoints" : { + "fips-us-gov-east-1" : { + "credentialScope" : { + "region" : "us-gov-east-1" + }, + "deprecated" : true, + "hostname" : "api.tunneling.iot-fips.us-gov-east-1.amazonaws.com" + }, + "fips-us-gov-west-1" : { + "credentialScope" : { + "region" : "us-gov-west-1" + }, + "deprecated" : true, + "hostname" : "api.tunneling.iot-fips.us-gov-west-1.amazonaws.com" + }, + "us-gov-east-1" : { + "variants" : [ { + "hostname" : "api.tunneling.iot-fips.us-gov-east-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + }, + "us-gov-west-1" : { + "variants" : [ { + "hostname" : "api.tunneling.iot-fips.us-gov-west-1.amazonaws.com", + "tags" : [ "fips" ] + } ] + } + } + }, "apigateway" : { "endpoints" : { "us-gov-east-1" : { }, @@ -14716,6 +14919,12 @@ } }, "ec2" : { + "defaults" : { + "variants" : [ { + "hostname" : "ec2.{region}.{dnsSuffix}", + "tags" : [ "fips" ] + } ] + }, "endpoints" : { "us-gov-east-1" : { "credentialScope" : { @@ -16875,6 +17084,12 @@ } } }, + "synthetics" : { + "endpoints" : { + "us-gov-east-1" : { }, + "us-gov-west-1" : { } + } + }, "tagging" : { "endpoints" : { "us-gov-east-1" : { }, @@ -17559,6 +17774,11 @@ "us-iso-west-1" : { } } }, + "synthetics" : { + "endpoints" : { + "us-iso-east-1" : { } + } + }, "transcribe" : { "defaults" : { "protocols" : [ "https" ] @@ -17922,6 +18142,11 @@ "us-isob-east-1" : { } } }, + "synthetics" : { + "endpoints" : { + "us-isob-east-1" : { } + } + }, "tagging" : { "endpoints" : { "us-isob-east-1" : { } diff --git a/service/acm/internal/endpoints/endpoints.go b/service/acm/internal/endpoints/endpoints.go index 6662a99b543..21d9dab146e 100644 --- a/service/acm/internal/endpoints/endpoints.go +++ b/service/acm/internal/endpoints/endpoints.go @@ -376,7 +376,7 @@ var defaultPartitions = endpoints.Partitions{ { Variant: endpoints.FIPSVariant, }: { - Hostname: "acm-fips.{region}.amazonaws.com", + Hostname: "acm.{region}.amazonaws.com", Protocols: []string{"https"}, SignatureVersions: []string{"v4"}, }, diff --git a/service/amplify/api_op_CreateApp.go b/service/amplify/api_op_CreateApp.go index 5894eadb45c..1c98c02476d 100644 --- a/service/amplify/api_op_CreateApp.go +++ b/service/amplify/api_op_CreateApp.go @@ -46,7 +46,9 @@ type CreateAppInput struct { // The automated branch creation glob patterns for an Amplify app. AutoBranchCreationPatterns []string - // The credentials for basic authorization for an Amplify app. + // The credentials for basic authorization for an Amplify app. You must + // base64-encode the authorization credentials and provide them in the format + // user:password. BasicAuthCredentials *string // The build specification (build spec) for an Amplify app. diff --git a/service/amplify/api_op_CreateBranch.go b/service/amplify/api_op_CreateBranch.go index 07fecbc9326..e3539c97653 100644 --- a/service/amplify/api_op_CreateBranch.go +++ b/service/amplify/api_op_CreateBranch.go @@ -44,7 +44,8 @@ type CreateBranchInput struct { // Amplify app. BackendEnvironmentArn *string - // The basic authorization credentials for the branch. + // The basic authorization credentials for the branch. You must base64-encode the + // authorization credentials and provide them in the format user:password. BasicAuthCredentials *string // The build specification (build spec) for the branch. diff --git a/service/amplify/api_op_UpdateApp.go b/service/amplify/api_op_UpdateApp.go index 19de74ca73c..88aa7e793ca 100644 --- a/service/amplify/api_op_UpdateApp.go +++ b/service/amplify/api_op_UpdateApp.go @@ -46,7 +46,8 @@ type UpdateAppInput struct { // Describes the automated branch creation glob patterns for an Amplify app. AutoBranchCreationPatterns []string - // The basic authorization credentials for an Amplify app. + // The basic authorization credentials for an Amplify app. You must base64-encode + // the authorization credentials and provide them in the format user:password. BasicAuthCredentials *string // The build specification (build spec) for an Amplify app. diff --git a/service/amplify/api_op_UpdateBranch.go b/service/amplify/api_op_UpdateBranch.go index 096bb29a2ad..32f4ef44a31 100644 --- a/service/amplify/api_op_UpdateBranch.go +++ b/service/amplify/api_op_UpdateBranch.go @@ -44,7 +44,8 @@ type UpdateBranchInput struct { // Amplify app. BackendEnvironmentArn *string - // The basic authorization credentials for the branch. + // The basic authorization credentials for the branch. You must base64-encode the + // authorization credentials and provide them in the format user:password. BasicAuthCredentials *string // The build specification (build spec) for the branch. diff --git a/service/amplify/types/types.go b/service/amplify/types/types.go index 984598f011d..44081f0b313 100644 --- a/service/amplify/types/types.go +++ b/service/amplify/types/types.go @@ -77,7 +77,9 @@ type App struct { // Describes the automated branch creation glob patterns for the Amplify app. AutoBranchCreationPatterns []string - // The basic authorization credentials for branches for the Amplify app. + // The basic authorization credentials for branches for the Amplify app. You must + // base64-encode the authorization credentials and provide them in the format + // user:password. BasicAuthCredentials *string // Describes the content of the build specification (build spec) for the Amplify @@ -129,7 +131,9 @@ type Artifact struct { // Describes the automated branch creation configuration. type AutoBranchCreationConfig struct { - // The basic authorization credentials for the autocreated branch. + // The basic authorization credentials for the autocreated branch. You must + // base64-encode the authorization credentials and provide them in the format + // user:password. BasicAuthCredentials *string // The build specification (build spec) for the autocreated branch. @@ -295,7 +299,9 @@ type Branch struct { // Amplify app. BackendEnvironmentArn *string - // The basic authorization credentials for a branch of an Amplify app. + // The basic authorization credentials for a branch of an Amplify app. You must + // base64-encode the authorization credentials and provide them in the format + // user:password. BasicAuthCredentials *string // The build specification (build spec) content for the branch of an Amplify app. diff --git a/service/appconfig/api_op_CreateConfigurationProfile.go b/service/appconfig/api_op_CreateConfigurationProfile.go index 8efe3a78436..2dd3172f8d7 100644 --- a/service/appconfig/api_op_CreateConfigurationProfile.go +++ b/service/appconfig/api_op_CreateConfigurationProfile.go @@ -27,10 +27,10 @@ import ( // // * // A validator for the configuration data. Available validators include either a -// JSON Schema or an Lambda function. +// JSON Schema or an Amazon Web Services Lambda function. // -// For more information, see Create a -// Configuration and a Configuration Profile +// For more information, +// see Create a Configuration and a Configuration Profile // (http://docs.aws.amazon.com/appconfig/latest/userguide/appconfig-creating-configuration-and-profile.html) // in the AppConfig User Guide. func (c *Client) CreateConfigurationProfile(ctx context.Context, params *CreateConfigurationProfileInput, optFns ...func(*Options)) (*CreateConfigurationProfileOutput, error) { @@ -86,10 +86,12 @@ type CreateConfigurationProfileInput struct { // value, both of which you define. Tags map[string]string - // The type of configurations that the configuration profile contains. A - // configuration can be a feature flag used for enabling or disabling new features - // or a free-form configuration used for distributing configurations to your - // application. + // The type of configurations contained in the profile. AppConfig supports feature + // flags and freeform configurations. We recommend you create feature flag + // configurations to enable or disable new features and freeform configurations to + // distribute configurations to an application. When calling this API, enter one of + // the following values for Type: AWS.AppConfig.FeatureFlags + // AWS.Freeform Type *string // A list of methods for validating the configuration. @@ -119,10 +121,12 @@ type CreateConfigurationProfileOutput struct { // specified LocationUri. RetrievalRoleArn *string - // The type of configurations that the configuration profile contains. A - // configuration can be a feature flag used for enabling or disabling new features - // or a free-form configuration used for distributing configurations to your - // application. + // The type of configurations contained in the profile. AppConfig supports feature + // flags and freeform configurations. We recommend you create feature flag + // configurations to enable or disable new features and freeform configurations to + // distribute configurations to an application. When calling this API, enter one of + // the following values for Type: AWS.AppConfig.FeatureFlags + // AWS.Freeform Type *string // A list of methods for validating the configuration. diff --git a/service/appconfig/api_op_GetConfiguration.go b/service/appconfig/api_op_GetConfiguration.go index 8bae32cc005..5d51402225e 100644 --- a/service/appconfig/api_op_GetConfiguration.go +++ b/service/appconfig/api_op_GetConfiguration.go @@ -10,15 +10,37 @@ import ( smithyhttp "github.com/aws/smithy-go/transport/http" ) -// Retrieves information about a configuration. AppConfig uses the value of the -// ClientConfigurationVersion parameter to identify the configuration version on -// your clients. If you don’t send ClientConfigurationVersion with each call to -// GetConfiguration, your clients receive the current configuration. You are -// charged each time your clients receive a configuration. To avoid excess charges, -// we recommend that you include the ClientConfigurationVersion value with every -// call to GetConfiguration. This value must be saved on your client. Subsequent -// calls to GetConfiguration must pass this value by using the -// ClientConfigurationVersion parameter. +// Retrieves the latest deployed configuration. Note the following important +// information. +// +// * This API action has been deprecated. Calls to receive +// configuration data should use the StartConfigurationSession +// (https://docs.aws.amazon.com/appconfig/2019-10-09/APIReference/API_appconfigdata_StartConfigurationSession.html) +// and GetLatestConfiguration +// (https://docs.aws.amazon.com/appconfig/2019-10-09/APIReference/API_appconfigdata_GetLatestConfiguration.html) +// APIs instead. +// +// * GetConfiguration is a priced call. For more information, see +// Pricing (https://aws.amazon.com/systems-manager/pricing/). +// +// * AppConfig uses the +// value of the ClientConfigurationVersion parameter to identify the configuration +// version on your clients. If you don’t send ClientConfigurationVersion with each +// call to GetConfiguration, your clients receive the current configuration. You +// are charged each time your clients receive a configuration. To avoid excess +// charges, we recommend you use the StartConfigurationSession +// (https://docs.aws.amazon.com/appconfig/2019-10-09/APIReference/StartConfigurationSession.html) +// and GetLatestConfiguration +// (https://docs.aws.amazon.com/appconfig/2019-10-09/APIReference/GetLatestConfiguration.html) +// APIs, which track the client configuration version on your behalf. If you choose +// to continue using GetConfiguration, we recommend that you include the +// ClientConfigurationVersion value with every call to GetConfiguration. The value +// to use for ClientConfigurationVersion comes from the ConfigurationVersion +// attribute returned by GetConfiguration when there is new or updated data, and +// should be saved for subsequent calls to GetConfiguration. +// +// Deprecated: This API has been deprecated in favor of the GetLatestConfiguration +// API used in conjunction with StartConfigurationSession. func (c *Client) GetConfiguration(ctx context.Context, params *GetConfigurationInput, optFns ...func(*Options)) (*GetConfigurationOutput, error) { if params == nil { params = &GetConfigurationInput{} @@ -83,13 +105,11 @@ type GetConfigurationOutput struct { // The configuration version. ConfigurationVersion *string - // The content of the configuration or the configuration data. Compare the - // configuration version numbers of the configuration cached locally on your - // machine and the configuration number in the the header. If the configuration - // numbers are the same, the content can be ignored. The Content section only - // appears if the system finds new or updated configuration data. If the system - // doesn't find new or updated configuration data, then the Content section is not - // returned. + // The content of the configuration or the configuration data. The Content + // attribute only contains data if the system finds new or updated configuration + // data. If there is no new or updated data and ClientConfigurationVersion matches + // the version of the current configuration, AppConfig returns a 204 No Content + // HTTP response code and the Content value will be empty. Content []byte // A standard MIME type describing the format of the configuration content. For diff --git a/service/appconfig/api_op_GetConfigurationProfile.go b/service/appconfig/api_op_GetConfigurationProfile.go index b827282b161..99738ed27b3 100644 --- a/service/appconfig/api_op_GetConfigurationProfile.go +++ b/service/appconfig/api_op_GetConfigurationProfile.go @@ -64,10 +64,12 @@ type GetConfigurationProfileOutput struct { // specified LocationUri. RetrievalRoleArn *string - // The type of configurations that the configuration profile contains. A - // configuration can be a feature flag used for enabling or disabling new features - // or a free-form configuration used for distributing configurations to your - // application. + // The type of configurations contained in the profile. AppConfig supports feature + // flags and freeform configurations. We recommend you create feature flag + // configurations to enable or disable new features and freeform configurations to + // distribute configurations to an application. When calling this API, enter one of + // the following values for Type: AWS.AppConfig.FeatureFlags + // AWS.Freeform Type *string // A list of methods for validating the configuration. diff --git a/service/appconfig/api_op_ListConfigurationProfiles.go b/service/appconfig/api_op_ListConfigurationProfiles.go index 04f0bd62c25..b2aee807b74 100644 --- a/service/appconfig/api_op_ListConfigurationProfiles.go +++ b/service/appconfig/api_op_ListConfigurationProfiles.go @@ -43,7 +43,7 @@ type ListConfigurationProfilesInput struct { NextToken *string // A filter based on the type of configurations that the configuration profile - // contains. A configuration can be a feature flag or a free-form configuration. + // contains. A configuration can be a feature flag or a freeform configuration. Type *string noSmithyDocumentSerde diff --git a/service/appconfig/api_op_ListDeployments.go b/service/appconfig/api_op_ListDeployments.go index 480152ff41d..5f9592b6eb8 100644 --- a/service/appconfig/api_op_ListDeployments.go +++ b/service/appconfig/api_op_ListDeployments.go @@ -12,7 +12,7 @@ import ( smithyhttp "github.com/aws/smithy-go/transport/http" ) -// Lists the deployments for an environment. +// Lists the deployments for an environment in descending deployment number order. func (c *Client) ListDeployments(ctx context.Context, params *ListDeploymentsInput, optFns ...func(*Options)) (*ListDeploymentsOutput, error) { if params == nil { params = &ListDeploymentsInput{} @@ -40,11 +40,15 @@ type ListDeploymentsInput struct { // This member is required. EnvironmentId *string - // The maximum number of items to return for this call. The call also returns a - // token that you can specify in a subsequent call to get the next set of results. + // The maximum number of items that may be returned for this call. If there are + // items that have not yet been returned, the response will include a non-null + // NextToken that you can provide in a subsequent call to get the next set of + // results. MaxResults int32 - // A token to start the list. Use this token to get the next set of results. + // The token returned by a prior call to this operation indicating the next set of + // results to be returned. If not specified, the operation will return the first + // set of results. NextToken *string noSmithyDocumentSerde @@ -138,8 +142,10 @@ var _ ListDeploymentsAPIClient = (*Client)(nil) // ListDeploymentsPaginatorOptions is the paginator options for ListDeployments type ListDeploymentsPaginatorOptions struct { - // The maximum number of items to return for this call. The call also returns a - // token that you can specify in a subsequent call to get the next set of results. + // The maximum number of items that may be returned for this call. If there are + // items that have not yet been returned, the response will include a non-null + // NextToken that you can provide in a subsequent call to get the next set of + // results. Limit int32 // Set to true if pagination should stop if the service returns a pagination token diff --git a/service/appconfig/api_op_UpdateConfigurationProfile.go b/service/appconfig/api_op_UpdateConfigurationProfile.go index ad330f5b519..1ed15b449fc 100644 --- a/service/appconfig/api_op_UpdateConfigurationProfile.go +++ b/service/appconfig/api_op_UpdateConfigurationProfile.go @@ -76,10 +76,12 @@ type UpdateConfigurationProfileOutput struct { // specified LocationUri. RetrievalRoleArn *string - // The type of configurations that the configuration profile contains. A - // configuration can be a feature flag used for enabling or disabling new features - // or a free-form configuration used for distributing configurations to your - // application. + // The type of configurations contained in the profile. AppConfig supports feature + // flags and freeform configurations. We recommend you create feature flag + // configurations to enable or disable new features and freeform configurations to + // distribute configurations to an application. When calling this API, enter one of + // the following values for Type: AWS.AppConfig.FeatureFlags + // AWS.Freeform Type *string // A list of methods for validating the configuration. diff --git a/service/appconfig/doc.go b/service/appconfig/doc.go index b17772333ae..13be2a04c73 100644 --- a/service/appconfig/doc.go +++ b/service/appconfig/doc.go @@ -12,24 +12,24 @@ // for production systems where a simple typo could cause an unexpected outage, // AppConfig includes validators. A validator provides a syntactic or semantic // check to ensure that the configuration you want to deploy works as intended. To -// validate your application configuration data, you provide a schema or a Lambda -// function that runs against the configuration. The configuration deployment or -// update can only proceed when the configuration data is valid. During a -// configuration deployment, AppConfig monitors the application to ensure that the -// deployment is successful. If the system encounters an error, AppConfig rolls -// back the change to minimize impact for your application users. You can configure -// a deployment strategy for each application or environment that includes -// deployment criteria, including velocity, bake time, and alarms to monitor. -// Similar to error monitoring, if a deployment triggers an alarm, AppConfig -// automatically rolls back to the previous version. AppConfig supports multiple -// use cases. Here are some examples: +// validate your application configuration data, you provide a schema or an Amazon +// Web Services Lambda function that runs against the configuration. The +// configuration deployment or update can only proceed when the configuration data +// is valid. During a configuration deployment, AppConfig monitors the application +// to ensure that the deployment is successful. If the system encounters an error, +// AppConfig rolls back the change to minimize impact for your application users. +// You can configure a deployment strategy for each application or environment that +// includes deployment criteria, including velocity, bake time, and alarms to +// monitor. Similar to error monitoring, if a deployment triggers an alarm, +// AppConfig automatically rolls back to the previous version. AppConfig supports +// multiple use cases. Here are some examples: // -// * Application tuning: Use AppConfig to -// carefully introduce changes to your application that can only be tested with -// production traffic. +// * Feature flags: Use AppConfig to +// turn on new features that require a timely deployment, such as a product launch +// or announcement. // -// * Feature toggle: Use AppConfig to turn on new features -// that require a timely deployment, such as a product launch or announcement. +// * Application tuning: Use AppConfig to carefully introduce +// changes to your application that can only be tested with production traffic. // // * // Allow list: Use AppConfig to allow premium subscribers to access paid diff --git a/service/appconfig/types/types.go b/service/appconfig/types/types.go index 3b34cb46a96..196b8ee6b17 100644 --- a/service/appconfig/types/types.go +++ b/service/appconfig/types/types.go @@ -22,7 +22,7 @@ type Application struct { } // Detailed information about the input that failed to satisfy the constraints -// specified by an AWS service. +// specified by a call. // // The following types satisfy this interface: // BadRequestDetailsMemberInvalidConfiguration @@ -55,9 +55,12 @@ type ConfigurationProfileSummary struct { // The name of the configuration profile. Name *string - // The type of configurations that the configuration profile contains. A - // configuration can be a feature flag used for enabling or disabling new features - // or a free-form configuration used to introduce changes to your application. + // The type of configurations contained in the profile. AppConfig supports feature + // flags and freeform configurations. We recommend you create feature flag + // configurations to enable or disable new features and freeform configurations to + // distribute configurations to an application. When calling this API, enter one of + // the following values for Type: AWS.AppConfig.FeatureFlags + // AWS.Freeform Type *string // The types of validators in the configuration profile. @@ -247,9 +250,9 @@ type Monitor struct { // A validator provides a syntactic or semantic check to ensure the configuration // that you want to deploy functions as intended. To validate your application -// configuration data, you provide a schema or a Lambda function that runs against -// the configuration. The configuration deployment or update can only proceed when -// the configuration data is valid. +// configuration data, you provide a schema or an Amazon Web Services Lambda +// function that runs against the configuration. The configuration deployment or +// update can only proceed when the configuration data is valid. type Validator struct { // Either the JSON Schema content or the Amazon Resource Name (ARN) of an Lambda diff --git a/service/appconfigdata/api_op_GetLatestConfiguration.go b/service/appconfigdata/api_op_GetLatestConfiguration.go index dfdb6993444..f2119971505 100644 --- a/service/appconfigdata/api_op_GetLatestConfiguration.go +++ b/service/appconfigdata/api_op_GetLatestConfiguration.go @@ -11,15 +11,21 @@ import ( ) // Retrieves the latest deployed configuration. This API may return empty -// Configuration data if the client already has the latest version. See -// StartConfigurationSession to obtain an InitialConfigurationToken to call this -// API. Each call to GetLatestConfiguration returns a new ConfigurationToken -// (NextPollConfigurationToken in the response). This new token MUST be provided to -// the next call to GetLatestConfiguration when polling for configuration updates. -// To avoid excess charges, we recommend that you include the -// ClientConfigurationVersion value with every call to GetConfiguration. This value -// must be saved on your client. Subsequent calls to GetConfiguration must pass -// this value by using the ClientConfigurationVersion parameter. +// configuration data if the client already has the latest version. For more +// information about this API action and to view example CLI commands that show how +// to use it with the StartConfigurationSession API action, see Receiving the +// configuration +// (http://docs.aws.amazon.com/appconfig/latest/userguide/appconfig-retrieving-the-configuration) +// in the AppConfig User Guide. Note the following important information. +// +// * Each +// configuration token is only valid for one call to GetLatestConfiguration. The +// GetLatestConfiguration response includes a NextPollConfigurationToken that +// should always replace the token used for the just-completed call in preparation +// for the next one. +// +// * GetLatestConfiguration is a priced call. For more +// information, see Pricing (https://aws.amazon.com/systems-manager/pricing/). func (c *Client) GetLatestConfiguration(ctx context.Context, params *GetLatestConfigurationInput, optFns ...func(*Options)) (*GetLatestConfigurationOutput, error) { if params == nil { params = &GetLatestConfigurationInput{} @@ -35,7 +41,6 @@ func (c *Client) GetLatestConfiguration(ctx context.Context, params *GetLatestCo return out, nil } -// Request parameters for the GetLatestConfiguration API type GetLatestConfigurationInput struct { // Token describing the current state of the configuration session. To obtain a @@ -50,11 +55,10 @@ type GetLatestConfigurationInput struct { noSmithyDocumentSerde } -// Response parameters for the GetLatestConfiguration API type GetLatestConfigurationOutput struct { - // The data of the configuration. Note that this may be empty if the client already - // has the latest version of configuration. + // The data of the configuration. This may be empty if the client already has the + // latest version of configuration. Configuration []byte // A standard MIME type describing the format of the configuration content. @@ -65,7 +69,7 @@ type GetLatestConfigurationOutput struct { NextPollConfigurationToken *string // The amount of time the client should wait before polling for configuration - // updates again. See RequiredMinimumPollIntervalInSeconds to set the desired poll + // updates again. Use RequiredMinimumPollIntervalInSeconds to set the desired poll // interval. NextPollIntervalInSeconds int32 diff --git a/service/appconfigdata/api_op_StartConfigurationSession.go b/service/appconfigdata/api_op_StartConfigurationSession.go index 8f25d7d5e29..9c9d5a5972d 100644 --- a/service/appconfigdata/api_op_StartConfigurationSession.go +++ b/service/appconfigdata/api_op_StartConfigurationSession.go @@ -10,8 +10,12 @@ import ( smithyhttp "github.com/aws/smithy-go/transport/http" ) -// Starts a configuration session used to retrieve a deployed configuration. See -// the GetLatestConfiguration API for more details. +// Starts a configuration session used to retrieve a deployed configuration. For +// more information about this API action and to view example CLI commands that +// show how to use it with the GetLatestConfiguration API action, see Receiving the +// configuration +// (http://docs.aws.amazon.com/appconfig/latest/userguide/appconfig-retrieving-the-configuration) +// in the AppConfig User Guide. func (c *Client) StartConfigurationSession(ctx context.Context, params *StartConfigurationSessionInput, optFns ...func(*Options)) (*StartConfigurationSessionOutput, error) { if params == nil { params = &StartConfigurationSessionInput{} @@ -27,7 +31,6 @@ func (c *Client) StartConfigurationSession(ctx context.Context, params *StartCon return out, nil } -// Request parameters for the StartConfigurationSession API. type StartConfigurationSessionInput struct { // The application ID or the application name. @@ -45,22 +48,21 @@ type StartConfigurationSessionInput struct { // This member is required. EnvironmentIdentifier *string - // The interval at which your client will poll for configuration. If provided, the - // service will throw a BadRequestException if the client polls before the - // specified poll interval. By default, client poll intervals are not enforced. + // Sets a constraint on a session. If you specify a value of, for example, 60 + // seconds, then the client that established the session can't call + // GetLatestConfiguration more frequently then every 60 seconds. RequiredMinimumPollIntervalInSeconds *int32 noSmithyDocumentSerde } -// Response parameters for the StartConfigurationSession API. type StartConfigurationSessionOutput struct { // Token encapsulating state about the configuration session. Provide this token to // the GetLatestConfiguration API to retrieve configuration data. This token should // only be used once in your first call to GetLatestConfiguration. You MUST use the - // new token in the GetConfiguration response (NextPollConfigurationToken) in each - // subsequent call to GetLatestConfiguration. + // new token in the GetLatestConfiguration response (NextPollConfigurationToken) in + // each subsequent call to GetLatestConfiguration. InitialConfigurationToken *string // Metadata pertaining to the operation's result. diff --git a/service/appconfigdata/doc.go b/service/appconfigdata/doc.go index 63ff388ce0c..7e4df98d432 100644 --- a/service/appconfigdata/doc.go +++ b/service/appconfigdata/doc.go @@ -3,6 +3,44 @@ // Package appconfigdata provides the API client, operations, and parameter types // for AWS AppConfig Data. // -// Use the AppConfigData API, a capability of AWS AppConfig, to retrieve deployed -// configuration. +// AppConfig Data provides the data plane APIs your application uses to retrieve +// configuration data. Here's how it works: Your application retrieves +// configuration data by first establishing a configuration session using the +// AppConfig Data StartConfigurationSession API action. Your session's client then +// makes periodic calls to GetLatestConfiguration to check for and retrieve the +// latest data available. When calling StartConfigurationSession, your code sends +// the following information: +// +// * Identifiers (ID or name) of an AppConfig +// application, environment, and configuration profile that the session tracks. +// +// * +// (Optional) The minimum amount of time the session's client must wait between +// calls to GetLatestConfiguration. +// +// In response, AppConfig provides an +// InitialConfigurationToken to be given to the session's client and used the first +// time it calls GetLatestConfiguration for that session. When calling +// GetLatestConfiguration, your client code sends the most recent +// ConfigurationToken value it has and receives in response: +// +// * +// NextPollConfigurationToken: the ConfigurationToken value to use on the next call +// to GetLatestConfiguration. +// +// * NextPollIntervalInSeconds: the duration the client +// should wait before making its next call to GetLatestConfiguration. This duration +// may vary over the course of the session, so it should be used instead of the +// value sent on the StartConfigurationSession call. +// +// * The configuration: the +// latest data intended for the session. This may be empty if the client already +// has the latest version of the configuration. +// +// For more information and to view +// example CLI commands that show how to retrieve a configuration using the +// AppConfig Data StartConfigurationSession and GetLatestConfiguration API actions, +// see Receiving the configuration +// (http://docs.aws.amazon.com/appconfig/latest/userguide/appconfig-retrieving-the-configuration) +// in the AppConfig User Guide. package appconfigdata diff --git a/service/appconfigdata/types/types.go b/service/appconfigdata/types/types.go index 5528e9f5534..969de6f3e67 100644 --- a/service/appconfigdata/types/types.go +++ b/service/appconfigdata/types/types.go @@ -6,7 +6,8 @@ import ( smithydocument "github.com/aws/smithy-go/document" ) -// Details describing why the request was invalid +// Detailed information about the input that failed to satisfy the constraints +// specified by a call. // // The following types satisfy this interface: // BadRequestDetailsMemberInvalidParameters @@ -14,7 +15,7 @@ type BadRequestDetails interface { isBadRequestDetails() } -// Present if the Reason for the bad request was 'InvalidParameters' +// One or more specified parameters are not valid for the call. type BadRequestDetailsMemberInvalidParameters struct { Value map[string]InvalidParameterDetail @@ -23,11 +24,10 @@ type BadRequestDetailsMemberInvalidParameters struct { func (*BadRequestDetailsMemberInvalidParameters) isBadRequestDetails() {} -// Contains details about an invalid parameter. +// Information about an invalid parameter. type InvalidParameterDetail struct { - // Detail describing why an individual parameter did not satisfy the constraints - // specified by the service + // The reason the parameter is invalid. Problem InvalidParameterProblem noSmithyDocumentSerde diff --git a/service/appflow/api_op_CreateConnectorProfile.go b/service/appflow/api_op_CreateConnectorProfile.go index 50197f584da..4882ac72d93 100644 --- a/service/appflow/api_op_CreateConnectorProfile.go +++ b/service/appflow/api_op_CreateConnectorProfile.go @@ -56,6 +56,11 @@ type CreateConnectorProfileInput struct { // This member is required. ConnectorType types.ConnectorType + // The label of the connector. The label is unique for each ConnectorRegistration + // in your Amazon Web Services account. Only needed if calling for CUSTOMCONNECTOR + // connector type/. + ConnectorLabel *string + // The ARN (Amazon Resource Name) of the Key Management Service (KMS) key you // provide for encryption. This is required if you do not want to use the Amazon // AppFlow-managed KMS key. If you don't provide anything here, Amazon AppFlow uses diff --git a/service/appflow/api_op_DescribeConnector.go b/service/appflow/api_op_DescribeConnector.go new file mode 100644 index 00000000000..031fc7a599f --- /dev/null +++ b/service/appflow/api_op_DescribeConnector.go @@ -0,0 +1,129 @@ +// Code generated by smithy-go-codegen DO NOT EDIT. + +package appflow + +import ( + "context" + awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" + "github.com/aws/aws-sdk-go-v2/aws/signer/v4" + "github.com/aws/aws-sdk-go-v2/service/appflow/types" + "github.com/aws/smithy-go/middleware" + smithyhttp "github.com/aws/smithy-go/transport/http" +) + +// Describes the given custom connector registered in your Amazon Web Services +// account. This API can be used for custom connectors that are registered in your +// account and also for Amazon authored connectors. +func (c *Client) DescribeConnector(ctx context.Context, params *DescribeConnectorInput, optFns ...func(*Options)) (*DescribeConnectorOutput, error) { + if params == nil { + params = &DescribeConnectorInput{} + } + + result, metadata, err := c.invokeOperation(ctx, "DescribeConnector", params, optFns, c.addOperationDescribeConnectorMiddlewares) + if err != nil { + return nil, err + } + + out := result.(*DescribeConnectorOutput) + out.ResultMetadata = metadata + return out, nil +} + +type DescribeConnectorInput struct { + + // The connector type, such as CUSTOMCONNECTOR, Saleforce, Marketo. Please choose + // CUSTOMCONNECTOR for Lambda based custom connectors. + // + // This member is required. + ConnectorType types.ConnectorType + + // The label of the connector. The label is unique for each ConnectorRegistration + // in your Amazon Web Services account. Only needed if calling for CUSTOMCONNECTOR + // connector type/. + ConnectorLabel *string + + noSmithyDocumentSerde +} + +type DescribeConnectorOutput struct { + + // Configuration info of all the connectors that the user requested. + ConnectorConfiguration *types.ConnectorConfiguration + + // Metadata pertaining to the operation's result. + ResultMetadata middleware.Metadata + + noSmithyDocumentSerde +} + +func (c *Client) addOperationDescribeConnectorMiddlewares(stack *middleware.Stack, options Options) (err error) { + err = stack.Serialize.Add(&awsRestjson1_serializeOpDescribeConnector{}, middleware.After) + if err != nil { + return err + } + err = stack.Deserialize.Add(&awsRestjson1_deserializeOpDescribeConnector{}, middleware.After) + if err != nil { + return err + } + if err = addSetLoggerMiddleware(stack, options); err != nil { + return err + } + if err = awsmiddleware.AddClientRequestIDMiddleware(stack); err != nil { + return err + } + if err = smithyhttp.AddComputeContentLengthMiddleware(stack); err != nil { + return err + } + if err = addResolveEndpointMiddleware(stack, options); err != nil { + return err + } + if err = v4.AddComputePayloadSHA256Middleware(stack); err != nil { + return err + } + if err = addRetryMiddlewares(stack, options); err != nil { + return err + } + if err = addHTTPSignerV4Middleware(stack, options); err != nil { + return err + } + if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil { + return err + } + if err = awsmiddleware.AddRecordResponseTiming(stack); err != nil { + return err + } + if err = addClientUserAgent(stack); err != nil { + return err + } + if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil { + return err + } + if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { + return err + } + if err = addOpDescribeConnectorValidationMiddleware(stack); err != nil { + return err + } + if err = stack.Initialize.Add(newServiceMetadataMiddleware_opDescribeConnector(options.Region), middleware.Before); err != nil { + return err + } + if err = addRequestIDRetrieverMiddleware(stack); err != nil { + return err + } + if err = addResponseErrorMiddleware(stack); err != nil { + return err + } + if err = addRequestResponseLogging(stack, options); err != nil { + return err + } + return nil +} + +func newServiceMetadataMiddleware_opDescribeConnector(region string) *awsmiddleware.RegisterServiceMetadata { + return &awsmiddleware.RegisterServiceMetadata{ + Region: region, + ServiceID: ServiceID, + SigningName: "appflow", + OperationName: "DescribeConnector", + } +} diff --git a/service/appflow/api_op_DescribeConnectorEntity.go b/service/appflow/api_op_DescribeConnectorEntity.go index 354f24918b3..c36646a78c3 100644 --- a/service/appflow/api_op_DescribeConnectorEntity.go +++ b/service/appflow/api_op_DescribeConnectorEntity.go @@ -35,6 +35,9 @@ type DescribeConnectorEntityInput struct { // This member is required. ConnectorEntityName *string + // The version of the API that's used by the connector. + ApiVersion *string + // The name of the connector profile. The name is unique for each ConnectorProfile // in the Amazon Web Services account. ConnectorProfileName *string diff --git a/service/appflow/api_op_DescribeConnectorProfiles.go b/service/appflow/api_op_DescribeConnectorProfiles.go index 5ed6d9a233b..12f9d6c5b54 100644 --- a/service/appflow/api_op_DescribeConnectorProfiles.go +++ b/service/appflow/api_op_DescribeConnectorProfiles.go @@ -34,6 +34,11 @@ func (c *Client) DescribeConnectorProfiles(ctx context.Context, params *Describe type DescribeConnectorProfilesInput struct { + // The name of the connector. The name is unique for each ConnectorRegistration in + // your Amazon Web Services account. Only needed if calling for CUSTOMCONNECTOR + // connector type/. + ConnectorLabel *string + // The name of the connector profile. The name is unique for each ConnectorProfile // in the Amazon Web Services account. ConnectorProfileNames []string diff --git a/service/appflow/api_op_DescribeConnectors.go b/service/appflow/api_op_DescribeConnectors.go index 42696d9b04a..137aac37b22 100644 --- a/service/appflow/api_op_DescribeConnectors.go +++ b/service/appflow/api_op_DescribeConnectors.go @@ -37,6 +37,10 @@ type DescribeConnectorsInput struct { // The type of connector, such as Salesforce, Amplitude, and so on. ConnectorTypes []types.ConnectorType + // The maximum number of items that should be returned in the result set. The + // default is 20. + MaxResults *int32 + // The pagination token for the next page of data. NextToken *string @@ -48,6 +52,9 @@ type DescribeConnectorsOutput struct { // The configuration that is applied to the connectors used in the flow. ConnectorConfigurations map[string]types.ConnectorConfiguration + // Information about the connectors supported in Amazon AppFlow. + Connectors []types.ConnectorDetail + // The pagination token for the next page of data. NextToken *string @@ -128,6 +135,10 @@ var _ DescribeConnectorsAPIClient = (*Client)(nil) // DescribeConnectorsPaginatorOptions is the paginator options for // DescribeConnectors type DescribeConnectorsPaginatorOptions struct { + // The maximum number of items that should be returned in the result set. The + // default is 20. + Limit int32 + // Set to true if pagination should stop if the service returns a pagination token // that matches the most recent token provided to the service. StopOnDuplicateToken bool @@ -149,6 +160,9 @@ func NewDescribeConnectorsPaginator(client DescribeConnectorsAPIClient, params * } options := DescribeConnectorsPaginatorOptions{} + if params.MaxResults != nil { + options.Limit = *params.MaxResults + } for _, fn := range optFns { fn(&options) @@ -177,6 +191,12 @@ func (p *DescribeConnectorsPaginator) NextPage(ctx context.Context, optFns ...fu params := *p.params params.NextToken = p.nextToken + var limit *int32 + if p.options.Limit > 0 { + limit = &p.options.Limit + } + params.MaxResults = limit + result, err := p.client.DescribeConnectors(ctx, ¶ms, optFns...) if err != nil { return nil, err diff --git a/service/appflow/api_op_ListConnectorEntities.go b/service/appflow/api_op_ListConnectorEntities.go index ff227af25b7..16fd271bce4 100644 --- a/service/appflow/api_op_ListConnectorEntities.go +++ b/service/appflow/api_op_ListConnectorEntities.go @@ -31,6 +31,9 @@ func (c *Client) ListConnectorEntities(ctx context.Context, params *ListConnecto type ListConnectorEntitiesInput struct { + // The version of the API that's used by the connector. + ApiVersion *string + // The name of the connector profile. The name is unique for each ConnectorProfile // in the Amazon Web Services account, and is used to query the downstream // connector. diff --git a/service/appflow/api_op_ListConnectors.go b/service/appflow/api_op_ListConnectors.go new file mode 100644 index 00000000000..84723482767 --- /dev/null +++ b/service/appflow/api_op_ListConnectors.go @@ -0,0 +1,218 @@ +// Code generated by smithy-go-codegen DO NOT EDIT. + +package appflow + +import ( + "context" + "fmt" + awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" + "github.com/aws/aws-sdk-go-v2/aws/signer/v4" + "github.com/aws/aws-sdk-go-v2/service/appflow/types" + "github.com/aws/smithy-go/middleware" + smithyhttp "github.com/aws/smithy-go/transport/http" +) + +// Returns the list of all registered custom connectors in your Amazon Web Services +// account. This API lists only custom connectors registered in this account, not +// the Amazon Web Services authored connectors. +func (c *Client) ListConnectors(ctx context.Context, params *ListConnectorsInput, optFns ...func(*Options)) (*ListConnectorsOutput, error) { + if params == nil { + params = &ListConnectorsInput{} + } + + result, metadata, err := c.invokeOperation(ctx, "ListConnectors", params, optFns, c.addOperationListConnectorsMiddlewares) + if err != nil { + return nil, err + } + + out := result.(*ListConnectorsOutput) + out.ResultMetadata = metadata + return out, nil +} + +type ListConnectorsInput struct { + + // Specifies the maximum number of items that should be returned in the result set. + // The default for maxResults is 20 (for all paginated API operations). + MaxResults *int32 + + // The pagination token for the next page of data. + NextToken *string + + noSmithyDocumentSerde +} + +type ListConnectorsOutput struct { + + // Contains information about the connectors supported by Amazon AppFlow. + Connectors []types.ConnectorDetail + + // The pagination token for the next page of data. If nextToken=null, this means + // that all records have been fetched. + NextToken *string + + // Metadata pertaining to the operation's result. + ResultMetadata middleware.Metadata + + noSmithyDocumentSerde +} + +func (c *Client) addOperationListConnectorsMiddlewares(stack *middleware.Stack, options Options) (err error) { + err = stack.Serialize.Add(&awsRestjson1_serializeOpListConnectors{}, middleware.After) + if err != nil { + return err + } + err = stack.Deserialize.Add(&awsRestjson1_deserializeOpListConnectors{}, middleware.After) + if err != nil { + return err + } + if err = addSetLoggerMiddleware(stack, options); err != nil { + return err + } + if err = awsmiddleware.AddClientRequestIDMiddleware(stack); err != nil { + return err + } + if err = smithyhttp.AddComputeContentLengthMiddleware(stack); err != nil { + return err + } + if err = addResolveEndpointMiddleware(stack, options); err != nil { + return err + } + if err = v4.AddComputePayloadSHA256Middleware(stack); err != nil { + return err + } + if err = addRetryMiddlewares(stack, options); err != nil { + return err + } + if err = addHTTPSignerV4Middleware(stack, options); err != nil { + return err + } + if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil { + return err + } + if err = awsmiddleware.AddRecordResponseTiming(stack); err != nil { + return err + } + if err = addClientUserAgent(stack); err != nil { + return err + } + if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil { + return err + } + if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { + return err + } + if err = stack.Initialize.Add(newServiceMetadataMiddleware_opListConnectors(options.Region), middleware.Before); err != nil { + return err + } + if err = addRequestIDRetrieverMiddleware(stack); err != nil { + return err + } + if err = addResponseErrorMiddleware(stack); err != nil { + return err + } + if err = addRequestResponseLogging(stack, options); err != nil { + return err + } + return nil +} + +// ListConnectorsAPIClient is a client that implements the ListConnectors +// operation. +type ListConnectorsAPIClient interface { + ListConnectors(context.Context, *ListConnectorsInput, ...func(*Options)) (*ListConnectorsOutput, error) +} + +var _ ListConnectorsAPIClient = (*Client)(nil) + +// ListConnectorsPaginatorOptions is the paginator options for ListConnectors +type ListConnectorsPaginatorOptions struct { + // Specifies the maximum number of items that should be returned in the result set. + // The default for maxResults is 20 (for all paginated API operations). + Limit int32 + + // Set to true if pagination should stop if the service returns a pagination token + // that matches the most recent token provided to the service. + StopOnDuplicateToken bool +} + +// ListConnectorsPaginator is a paginator for ListConnectors +type ListConnectorsPaginator struct { + options ListConnectorsPaginatorOptions + client ListConnectorsAPIClient + params *ListConnectorsInput + nextToken *string + firstPage bool +} + +// NewListConnectorsPaginator returns a new ListConnectorsPaginator +func NewListConnectorsPaginator(client ListConnectorsAPIClient, params *ListConnectorsInput, optFns ...func(*ListConnectorsPaginatorOptions)) *ListConnectorsPaginator { + if params == nil { + params = &ListConnectorsInput{} + } + + options := ListConnectorsPaginatorOptions{} + if params.MaxResults != nil { + options.Limit = *params.MaxResults + } + + for _, fn := range optFns { + fn(&options) + } + + return &ListConnectorsPaginator{ + options: options, + client: client, + params: params, + firstPage: true, + nextToken: params.NextToken, + } +} + +// HasMorePages returns a boolean indicating whether more pages are available +func (p *ListConnectorsPaginator) HasMorePages() bool { + return p.firstPage || (p.nextToken != nil && len(*p.nextToken) != 0) +} + +// NextPage retrieves the next ListConnectors page. +func (p *ListConnectorsPaginator) NextPage(ctx context.Context, optFns ...func(*Options)) (*ListConnectorsOutput, error) { + if !p.HasMorePages() { + return nil, fmt.Errorf("no more pages available") + } + + params := *p.params + params.NextToken = p.nextToken + + var limit *int32 + if p.options.Limit > 0 { + limit = &p.options.Limit + } + params.MaxResults = limit + + result, err := p.client.ListConnectors(ctx, ¶ms, optFns...) + if err != nil { + return nil, err + } + p.firstPage = false + + prevToken := p.nextToken + p.nextToken = result.NextToken + + if p.options.StopOnDuplicateToken && + prevToken != nil && + p.nextToken != nil && + *prevToken == *p.nextToken { + p.nextToken = nil + } + + return result, nil +} + +func newServiceMetadataMiddleware_opListConnectors(region string) *awsmiddleware.RegisterServiceMetadata { + return &awsmiddleware.RegisterServiceMetadata{ + Region: region, + ServiceID: ServiceID, + SigningName: "appflow", + OperationName: "ListConnectors", + } +} diff --git a/service/appflow/api_op_RegisterConnector.go b/service/appflow/api_op_RegisterConnector.go new file mode 100644 index 00000000000..1fa964fa86c --- /dev/null +++ b/service/appflow/api_op_RegisterConnector.go @@ -0,0 +1,132 @@ +// Code generated by smithy-go-codegen DO NOT EDIT. + +package appflow + +import ( + "context" + awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" + "github.com/aws/aws-sdk-go-v2/aws/signer/v4" + "github.com/aws/aws-sdk-go-v2/service/appflow/types" + "github.com/aws/smithy-go/middleware" + smithyhttp "github.com/aws/smithy-go/transport/http" +) + +// Registers a new connector with your Amazon Web Services account. Before you can +// register the connector, you must deploy lambda in your account. +func (c *Client) RegisterConnector(ctx context.Context, params *RegisterConnectorInput, optFns ...func(*Options)) (*RegisterConnectorOutput, error) { + if params == nil { + params = &RegisterConnectorInput{} + } + + result, metadata, err := c.invokeOperation(ctx, "RegisterConnector", params, optFns, c.addOperationRegisterConnectorMiddlewares) + if err != nil { + return nil, err + } + + out := result.(*RegisterConnectorOutput) + out.ResultMetadata = metadata + return out, nil +} + +type RegisterConnectorInput struct { + + // The name of the connector. The name is unique for each ConnectorRegistration in + // your Amazon Web Services account. + ConnectorLabel *string + + // The provisioning type of the connector. Currently the only supported value is + // LAMBDA. + ConnectorProvisioningConfig *types.ConnectorProvisioningConfig + + // The provisioning type of the connector. Currently the only supported value is + // LAMBDA. + ConnectorProvisioningType types.ConnectorProvisioningType + + // A description about the connector that's being registered. + Description *string + + noSmithyDocumentSerde +} + +type RegisterConnectorOutput struct { + + // The ARN of the connector being registered. + ConnectorArn *string + + // Metadata pertaining to the operation's result. + ResultMetadata middleware.Metadata + + noSmithyDocumentSerde +} + +func (c *Client) addOperationRegisterConnectorMiddlewares(stack *middleware.Stack, options Options) (err error) { + err = stack.Serialize.Add(&awsRestjson1_serializeOpRegisterConnector{}, middleware.After) + if err != nil { + return err + } + err = stack.Deserialize.Add(&awsRestjson1_deserializeOpRegisterConnector{}, middleware.After) + if err != nil { + return err + } + if err = addSetLoggerMiddleware(stack, options); err != nil { + return err + } + if err = awsmiddleware.AddClientRequestIDMiddleware(stack); err != nil { + return err + } + if err = smithyhttp.AddComputeContentLengthMiddleware(stack); err != nil { + return err + } + if err = addResolveEndpointMiddleware(stack, options); err != nil { + return err + } + if err = v4.AddComputePayloadSHA256Middleware(stack); err != nil { + return err + } + if err = addRetryMiddlewares(stack, options); err != nil { + return err + } + if err = addHTTPSignerV4Middleware(stack, options); err != nil { + return err + } + if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil { + return err + } + if err = awsmiddleware.AddRecordResponseTiming(stack); err != nil { + return err + } + if err = addClientUserAgent(stack); err != nil { + return err + } + if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil { + return err + } + if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { + return err + } + if err = addOpRegisterConnectorValidationMiddleware(stack); err != nil { + return err + } + if err = stack.Initialize.Add(newServiceMetadataMiddleware_opRegisterConnector(options.Region), middleware.Before); err != nil { + return err + } + if err = addRequestIDRetrieverMiddleware(stack); err != nil { + return err + } + if err = addResponseErrorMiddleware(stack); err != nil { + return err + } + if err = addRequestResponseLogging(stack, options); err != nil { + return err + } + return nil +} + +func newServiceMetadataMiddleware_opRegisterConnector(region string) *awsmiddleware.RegisterServiceMetadata { + return &awsmiddleware.RegisterServiceMetadata{ + Region: region, + ServiceID: ServiceID, + SigningName: "appflow", + OperationName: "RegisterConnector", + } +} diff --git a/service/appflow/api_op_UnregisterConnector.go b/service/appflow/api_op_UnregisterConnector.go new file mode 100644 index 00000000000..84896ba1610 --- /dev/null +++ b/service/appflow/api_op_UnregisterConnector.go @@ -0,0 +1,122 @@ +// Code generated by smithy-go-codegen DO NOT EDIT. + +package appflow + +import ( + "context" + awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" + "github.com/aws/aws-sdk-go-v2/aws/signer/v4" + "github.com/aws/smithy-go/middleware" + smithyhttp "github.com/aws/smithy-go/transport/http" +) + +// Unregisters the custom connector registered in your account that matches the +// connectorLabel provided in the request. +func (c *Client) UnregisterConnector(ctx context.Context, params *UnregisterConnectorInput, optFns ...func(*Options)) (*UnregisterConnectorOutput, error) { + if params == nil { + params = &UnregisterConnectorInput{} + } + + result, metadata, err := c.invokeOperation(ctx, "UnregisterConnector", params, optFns, c.addOperationUnregisterConnectorMiddlewares) + if err != nil { + return nil, err + } + + out := result.(*UnregisterConnectorOutput) + out.ResultMetadata = metadata + return out, nil +} + +type UnregisterConnectorInput struct { + + // The label of the connector. The label is unique for each ConnectorRegistration + // in your Amazon Web Services account. + // + // This member is required. + ConnectorLabel *string + + // Indicates whether Amazon AppFlow should unregister the connector, even if it is + // currently in use in one or more connector profiles. The default value is false. + ForceDelete bool + + noSmithyDocumentSerde +} + +type UnregisterConnectorOutput struct { + // Metadata pertaining to the operation's result. + ResultMetadata middleware.Metadata + + noSmithyDocumentSerde +} + +func (c *Client) addOperationUnregisterConnectorMiddlewares(stack *middleware.Stack, options Options) (err error) { + err = stack.Serialize.Add(&awsRestjson1_serializeOpUnregisterConnector{}, middleware.After) + if err != nil { + return err + } + err = stack.Deserialize.Add(&awsRestjson1_deserializeOpUnregisterConnector{}, middleware.After) + if err != nil { + return err + } + if err = addSetLoggerMiddleware(stack, options); err != nil { + return err + } + if err = awsmiddleware.AddClientRequestIDMiddleware(stack); err != nil { + return err + } + if err = smithyhttp.AddComputeContentLengthMiddleware(stack); err != nil { + return err + } + if err = addResolveEndpointMiddleware(stack, options); err != nil { + return err + } + if err = v4.AddComputePayloadSHA256Middleware(stack); err != nil { + return err + } + if err = addRetryMiddlewares(stack, options); err != nil { + return err + } + if err = addHTTPSignerV4Middleware(stack, options); err != nil { + return err + } + if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil { + return err + } + if err = awsmiddleware.AddRecordResponseTiming(stack); err != nil { + return err + } + if err = addClientUserAgent(stack); err != nil { + return err + } + if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil { + return err + } + if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { + return err + } + if err = addOpUnregisterConnectorValidationMiddleware(stack); err != nil { + return err + } + if err = stack.Initialize.Add(newServiceMetadataMiddleware_opUnregisterConnector(options.Region), middleware.Before); err != nil { + return err + } + if err = addRequestIDRetrieverMiddleware(stack); err != nil { + return err + } + if err = addResponseErrorMiddleware(stack); err != nil { + return err + } + if err = addRequestResponseLogging(stack, options); err != nil { + return err + } + return nil +} + +func newServiceMetadataMiddleware_opUnregisterConnector(region string) *awsmiddleware.RegisterServiceMetadata { + return &awsmiddleware.RegisterServiceMetadata{ + Region: region, + ServiceID: ServiceID, + SigningName: "appflow", + OperationName: "UnregisterConnector", + } +} diff --git a/service/appflow/deserializers.go b/service/appflow/deserializers.go index 783575bb83c..6cbf9fe81bb 100644 --- a/service/appflow/deserializers.go +++ b/service/appflow/deserializers.go @@ -16,6 +16,7 @@ import ( smithytime "github.com/aws/smithy-go/time" smithyhttp "github.com/aws/smithy-go/transport/http" "io" + "math" "strings" ) @@ -538,6 +539,159 @@ func awsRestjson1_deserializeOpErrorDeleteFlow(response *smithyhttp.Response, me } } +type awsRestjson1_deserializeOpDescribeConnector struct { +} + +func (*awsRestjson1_deserializeOpDescribeConnector) ID() string { + return "OperationDeserializer" +} + +func (m *awsRestjson1_deserializeOpDescribeConnector) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( + out middleware.DeserializeOutput, metadata middleware.Metadata, err error, +) { + out, metadata, err = next.HandleDeserialize(ctx, in) + if err != nil { + return out, metadata, err + } + + response, ok := out.RawResponse.(*smithyhttp.Response) + if !ok { + return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} + } + + if response.StatusCode < 200 || response.StatusCode >= 300 { + return out, metadata, awsRestjson1_deserializeOpErrorDescribeConnector(response, &metadata) + } + output := &DescribeConnectorOutput{} + out.Result = output + + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + + body := io.TeeReader(response.Body, ringBuffer) + + decoder := json.NewDecoder(body) + decoder.UseNumber() + var shape interface{} + if err := decoder.Decode(&shape); err != nil && err != io.EOF { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return out, metadata, err + } + + err = awsRestjson1_deserializeOpDocumentDescribeConnectorOutput(&output, shape) + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + return out, metadata, &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body with invalid JSON, %w", err), + Snapshot: snapshot.Bytes(), + } + } + + return out, metadata, err +} + +func awsRestjson1_deserializeOpErrorDescribeConnector(response *smithyhttp.Response, metadata *middleware.Metadata) error { + var errorBuffer bytes.Buffer + if _, err := io.Copy(&errorBuffer, response.Body); err != nil { + return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} + } + errorBody := bytes.NewReader(errorBuffer.Bytes()) + + errorCode := "UnknownError" + errorMessage := errorCode + + code := response.Header.Get("X-Amzn-ErrorType") + if len(code) != 0 { + errorCode = restjson.SanitizeErrorCode(code) + } + + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + + body := io.TeeReader(errorBody, ringBuffer) + decoder := json.NewDecoder(body) + decoder.UseNumber() + code, message, err := restjson.GetErrorInfo(decoder) + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return err + } + + errorBody.Seek(0, io.SeekStart) + if len(code) != 0 { + errorCode = restjson.SanitizeErrorCode(code) + } + if len(message) != 0 { + errorMessage = message + } + + switch { + case strings.EqualFold("InternalServerException", errorCode): + return awsRestjson1_deserializeErrorInternalServerException(response, errorBody) + + case strings.EqualFold("ResourceNotFoundException", errorCode): + return awsRestjson1_deserializeErrorResourceNotFoundException(response, errorBody) + + case strings.EqualFold("ValidationException", errorCode): + return awsRestjson1_deserializeErrorValidationException(response, errorBody) + + default: + genericError := &smithy.GenericAPIError{ + Code: errorCode, + Message: errorMessage, + } + return genericError + + } +} + +func awsRestjson1_deserializeOpDocumentDescribeConnectorOutput(v **DescribeConnectorOutput, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.(map[string]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var sv *DescribeConnectorOutput + if *v == nil { + sv = &DescribeConnectorOutput{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "connectorConfiguration": + if err := awsRestjson1_deserializeDocumentConnectorConfiguration(&sv.ConnectorConfiguration, value); err != nil { + return err + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + type awsRestjson1_deserializeOpDescribeConnectorEntity struct { } @@ -997,6 +1151,11 @@ func awsRestjson1_deserializeOpDocumentDescribeConnectorsOutput(v **DescribeConn return err } + case "connectors": + if err := awsRestjson1_deserializeDocumentConnectorList(&sv.Connectors, value); err != nil { + return err + } + case "nextToken": if value != nil { jtv, ok := value.(string) @@ -1615,14 +1774,14 @@ func awsRestjson1_deserializeOpDocumentListConnectorEntitiesOutput(v **ListConne return nil } -type awsRestjson1_deserializeOpListFlows struct { +type awsRestjson1_deserializeOpListConnectors struct { } -func (*awsRestjson1_deserializeOpListFlows) ID() string { +func (*awsRestjson1_deserializeOpListConnectors) ID() string { return "OperationDeserializer" } -func (m *awsRestjson1_deserializeOpListFlows) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsRestjson1_deserializeOpListConnectors) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -1636,9 +1795,9 @@ func (m *awsRestjson1_deserializeOpListFlows) HandleDeserialize(ctx context.Cont } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsRestjson1_deserializeOpErrorListFlows(response, &metadata) + return out, metadata, awsRestjson1_deserializeOpErrorListConnectors(response, &metadata) } - output := &ListFlowsOutput{} + output := &ListConnectorsOutput{} out.Result = output var buff [1024]byte @@ -1659,7 +1818,7 @@ func (m *awsRestjson1_deserializeOpListFlows) HandleDeserialize(ctx context.Cont return out, metadata, err } - err = awsRestjson1_deserializeOpDocumentListFlowsOutput(&output, shape) + err = awsRestjson1_deserializeOpDocumentListConnectorsOutput(&output, shape) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -1672,7 +1831,7 @@ func (m *awsRestjson1_deserializeOpListFlows) HandleDeserialize(ctx context.Cont return out, metadata, err } -func awsRestjson1_deserializeOpErrorListFlows(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsRestjson1_deserializeOpErrorListConnectors(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -1729,7 +1888,7 @@ func awsRestjson1_deserializeOpErrorListFlows(response *smithyhttp.Response, met } } -func awsRestjson1_deserializeOpDocumentListFlowsOutput(v **ListFlowsOutput, value interface{}) error { +func awsRestjson1_deserializeOpDocumentListConnectorsOutput(v **ListConnectorsOutput, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) } @@ -1742,17 +1901,17 @@ func awsRestjson1_deserializeOpDocumentListFlowsOutput(v **ListFlowsOutput, valu return fmt.Errorf("unexpected JSON type %v", value) } - var sv *ListFlowsOutput + var sv *ListConnectorsOutput if *v == nil { - sv = &ListFlowsOutput{} + sv = &ListConnectorsOutput{} } else { sv = *v } for key, value := range shape { switch key { - case "flows": - if err := awsRestjson1_deserializeDocumentFlowList(&sv.Flows, value); err != nil { + case "connectors": + if err := awsRestjson1_deserializeDocumentConnectorList(&sv.Connectors, value); err != nil { return err } @@ -1774,14 +1933,14 @@ func awsRestjson1_deserializeOpDocumentListFlowsOutput(v **ListFlowsOutput, valu return nil } -type awsRestjson1_deserializeOpListTagsForResource struct { +type awsRestjson1_deserializeOpListFlows struct { } -func (*awsRestjson1_deserializeOpListTagsForResource) ID() string { +func (*awsRestjson1_deserializeOpListFlows) ID() string { return "OperationDeserializer" } -func (m *awsRestjson1_deserializeOpListTagsForResource) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsRestjson1_deserializeOpListFlows) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -1795,9 +1954,9 @@ func (m *awsRestjson1_deserializeOpListTagsForResource) HandleDeserialize(ctx co } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsRestjson1_deserializeOpErrorListTagsForResource(response, &metadata) + return out, metadata, awsRestjson1_deserializeOpErrorListFlows(response, &metadata) } - output := &ListTagsForResourceOutput{} + output := &ListFlowsOutput{} out.Result = output var buff [1024]byte @@ -1818,7 +1977,7 @@ func (m *awsRestjson1_deserializeOpListTagsForResource) HandleDeserialize(ctx co return out, metadata, err } - err = awsRestjson1_deserializeOpDocumentListTagsForResourceOutput(&output, shape) + err = awsRestjson1_deserializeOpDocumentListFlowsOutput(&output, shape) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -1831,7 +1990,7 @@ func (m *awsRestjson1_deserializeOpListTagsForResource) HandleDeserialize(ctx co return out, metadata, err } -func awsRestjson1_deserializeOpErrorListTagsForResource(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsRestjson1_deserializeOpErrorListFlows(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -1875,9 +2034,6 @@ func awsRestjson1_deserializeOpErrorListTagsForResource(response *smithyhttp.Res case strings.EqualFold("InternalServerException", errorCode): return awsRestjson1_deserializeErrorInternalServerException(response, errorBody) - case strings.EqualFold("ResourceNotFoundException", errorCode): - return awsRestjson1_deserializeErrorResourceNotFoundException(response, errorBody) - case strings.EqualFold("ValidationException", errorCode): return awsRestjson1_deserializeErrorValidationException(response, errorBody) @@ -1891,7 +2047,7 @@ func awsRestjson1_deserializeOpErrorListTagsForResource(response *smithyhttp.Res } } -func awsRestjson1_deserializeOpDocumentListTagsForResourceOutput(v **ListTagsForResourceOutput, value interface{}) error { +func awsRestjson1_deserializeOpDocumentListFlowsOutput(v **ListFlowsOutput, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) } @@ -1904,20 +2060,29 @@ func awsRestjson1_deserializeOpDocumentListTagsForResourceOutput(v **ListTagsFor return fmt.Errorf("unexpected JSON type %v", value) } - var sv *ListTagsForResourceOutput + var sv *ListFlowsOutput if *v == nil { - sv = &ListTagsForResourceOutput{} + sv = &ListFlowsOutput{} } else { sv = *v } for key, value := range shape { switch key { - case "tags": - if err := awsRestjson1_deserializeDocumentTagMap(&sv.Tags, value); err != nil { + case "flows": + if err := awsRestjson1_deserializeDocumentFlowList(&sv.Flows, value); err != nil { return err } + case "nextToken": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected NextToken to be of type string, got %T instead", value) + } + sv.NextToken = ptr.String(jtv) + } + default: _, _ = key, value @@ -1927,14 +2092,14 @@ func awsRestjson1_deserializeOpDocumentListTagsForResourceOutput(v **ListTagsFor return nil } -type awsRestjson1_deserializeOpStartFlow struct { +type awsRestjson1_deserializeOpListTagsForResource struct { } -func (*awsRestjson1_deserializeOpStartFlow) ID() string { +func (*awsRestjson1_deserializeOpListTagsForResource) ID() string { return "OperationDeserializer" } -func (m *awsRestjson1_deserializeOpStartFlow) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsRestjson1_deserializeOpListTagsForResource) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -1948,9 +2113,9 @@ func (m *awsRestjson1_deserializeOpStartFlow) HandleDeserialize(ctx context.Cont } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsRestjson1_deserializeOpErrorStartFlow(response, &metadata) + return out, metadata, awsRestjson1_deserializeOpErrorListTagsForResource(response, &metadata) } - output := &StartFlowOutput{} + output := &ListTagsForResourceOutput{} out.Result = output var buff [1024]byte @@ -1971,7 +2136,7 @@ func (m *awsRestjson1_deserializeOpStartFlow) HandleDeserialize(ctx context.Cont return out, metadata, err } - err = awsRestjson1_deserializeOpDocumentStartFlowOutput(&output, shape) + err = awsRestjson1_deserializeOpDocumentListTagsForResourceOutput(&output, shape) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -1984,7 +2149,7 @@ func (m *awsRestjson1_deserializeOpStartFlow) HandleDeserialize(ctx context.Cont return out, metadata, err } -func awsRestjson1_deserializeOpErrorStartFlow(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsRestjson1_deserializeOpErrorListTagsForResource(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -2025,17 +2190,14 @@ func awsRestjson1_deserializeOpErrorStartFlow(response *smithyhttp.Response, met } switch { - case strings.EqualFold("ConflictException", errorCode): - return awsRestjson1_deserializeErrorConflictException(response, errorBody) - case strings.EqualFold("InternalServerException", errorCode): return awsRestjson1_deserializeErrorInternalServerException(response, errorBody) case strings.EqualFold("ResourceNotFoundException", errorCode): return awsRestjson1_deserializeErrorResourceNotFoundException(response, errorBody) - case strings.EqualFold("ServiceQuotaExceededException", errorCode): - return awsRestjson1_deserializeErrorServiceQuotaExceededException(response, errorBody) + case strings.EqualFold("ValidationException", errorCode): + return awsRestjson1_deserializeErrorValidationException(response, errorBody) default: genericError := &smithy.GenericAPIError{ @@ -2047,7 +2209,7 @@ func awsRestjson1_deserializeOpErrorStartFlow(response *smithyhttp.Response, met } } -func awsRestjson1_deserializeOpDocumentStartFlowOutput(v **StartFlowOutput, value interface{}) error { +func awsRestjson1_deserializeOpDocumentListTagsForResourceOutput(v **ListTagsForResourceOutput, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) } @@ -2060,40 +2222,18 @@ func awsRestjson1_deserializeOpDocumentStartFlowOutput(v **StartFlowOutput, valu return fmt.Errorf("unexpected JSON type %v", value) } - var sv *StartFlowOutput + var sv *ListTagsForResourceOutput if *v == nil { - sv = &StartFlowOutput{} + sv = &ListTagsForResourceOutput{} } else { sv = *v } for key, value := range shape { switch key { - case "executionId": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected ExecutionId to be of type string, got %T instead", value) - } - sv.ExecutionId = ptr.String(jtv) - } - - case "flowArn": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected FlowArn to be of type string, got %T instead", value) - } - sv.FlowArn = ptr.String(jtv) - } - - case "flowStatus": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected FlowStatus to be of type string, got %T instead", value) - } - sv.FlowStatus = types.FlowStatus(jtv) + case "tags": + if err := awsRestjson1_deserializeDocumentTagMap(&sv.Tags, value); err != nil { + return err } default: @@ -2105,14 +2245,14 @@ func awsRestjson1_deserializeOpDocumentStartFlowOutput(v **StartFlowOutput, valu return nil } -type awsRestjson1_deserializeOpStopFlow struct { +type awsRestjson1_deserializeOpRegisterConnector struct { } -func (*awsRestjson1_deserializeOpStopFlow) ID() string { +func (*awsRestjson1_deserializeOpRegisterConnector) ID() string { return "OperationDeserializer" } -func (m *awsRestjson1_deserializeOpStopFlow) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsRestjson1_deserializeOpRegisterConnector) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -2126,9 +2266,9 @@ func (m *awsRestjson1_deserializeOpStopFlow) HandleDeserialize(ctx context.Conte } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsRestjson1_deserializeOpErrorStopFlow(response, &metadata) + return out, metadata, awsRestjson1_deserializeOpErrorRegisterConnector(response, &metadata) } - output := &StopFlowOutput{} + output := &RegisterConnectorOutput{} out.Result = output var buff [1024]byte @@ -2149,7 +2289,7 @@ func (m *awsRestjson1_deserializeOpStopFlow) HandleDeserialize(ctx context.Conte return out, metadata, err } - err = awsRestjson1_deserializeOpDocumentStopFlowOutput(&output, shape) + err = awsRestjson1_deserializeOpDocumentRegisterConnectorOutput(&output, shape) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -2162,7 +2302,7 @@ func (m *awsRestjson1_deserializeOpStopFlow) HandleDeserialize(ctx context.Conte return out, metadata, err } -func awsRestjson1_deserializeOpErrorStopFlow(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsRestjson1_deserializeOpErrorRegisterConnector(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -2203,17 +2343,32 @@ func awsRestjson1_deserializeOpErrorStopFlow(response *smithyhttp.Response, meta } switch { + case strings.EqualFold("AccessDeniedException", errorCode): + return awsRestjson1_deserializeErrorAccessDeniedException(response, errorBody) + case strings.EqualFold("ConflictException", errorCode): return awsRestjson1_deserializeErrorConflictException(response, errorBody) - case strings.EqualFold("InternalServerException", errorCode): + case strings.EqualFold("ConnectorAuthenticationException", errorCode): + return awsRestjson1_deserializeErrorConnectorAuthenticationException(response, errorBody) + + case strings.EqualFold("ConnectorServerException", errorCode): + return awsRestjson1_deserializeErrorConnectorServerException(response, errorBody) + + case strings.EqualFold("InternalServerException", errorCode): return awsRestjson1_deserializeErrorInternalServerException(response, errorBody) case strings.EqualFold("ResourceNotFoundException", errorCode): return awsRestjson1_deserializeErrorResourceNotFoundException(response, errorBody) - case strings.EqualFold("UnsupportedOperationException", errorCode): - return awsRestjson1_deserializeErrorUnsupportedOperationException(response, errorBody) + case strings.EqualFold("ServiceQuotaExceededException", errorCode): + return awsRestjson1_deserializeErrorServiceQuotaExceededException(response, errorBody) + + case strings.EqualFold("ThrottlingException", errorCode): + return awsRestjson1_deserializeErrorThrottlingException(response, errorBody) + + case strings.EqualFold("ValidationException", errorCode): + return awsRestjson1_deserializeErrorValidationException(response, errorBody) default: genericError := &smithy.GenericAPIError{ @@ -2225,7 +2380,7 @@ func awsRestjson1_deserializeOpErrorStopFlow(response *smithyhttp.Response, meta } } -func awsRestjson1_deserializeOpDocumentStopFlowOutput(v **StopFlowOutput, value interface{}) error { +func awsRestjson1_deserializeOpDocumentRegisterConnectorOutput(v **RegisterConnectorOutput, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) } @@ -2238,31 +2393,22 @@ func awsRestjson1_deserializeOpDocumentStopFlowOutput(v **StopFlowOutput, value return fmt.Errorf("unexpected JSON type %v", value) } - var sv *StopFlowOutput + var sv *RegisterConnectorOutput if *v == nil { - sv = &StopFlowOutput{} + sv = &RegisterConnectorOutput{} } else { sv = *v } for key, value := range shape { switch key { - case "flowArn": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected FlowArn to be of type string, got %T instead", value) - } - sv.FlowArn = ptr.String(jtv) - } - - case "flowStatus": + case "connectorArn": if value != nil { jtv, ok := value.(string) if !ok { - return fmt.Errorf("expected FlowStatus to be of type string, got %T instead", value) + return fmt.Errorf("expected ARN to be of type string, got %T instead", value) } - sv.FlowStatus = types.FlowStatus(jtv) + sv.ConnectorArn = ptr.String(jtv) } default: @@ -2274,14 +2420,14 @@ func awsRestjson1_deserializeOpDocumentStopFlowOutput(v **StopFlowOutput, value return nil } -type awsRestjson1_deserializeOpTagResource struct { +type awsRestjson1_deserializeOpStartFlow struct { } -func (*awsRestjson1_deserializeOpTagResource) ID() string { +func (*awsRestjson1_deserializeOpStartFlow) ID() string { return "OperationDeserializer" } -func (m *awsRestjson1_deserializeOpTagResource) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsRestjson1_deserializeOpStartFlow) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -2295,104 +2441,43 @@ func (m *awsRestjson1_deserializeOpTagResource) HandleDeserialize(ctx context.Co } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsRestjson1_deserializeOpErrorTagResource(response, &metadata) + return out, metadata, awsRestjson1_deserializeOpErrorStartFlow(response, &metadata) } - output := &TagResourceOutput{} + output := &StartFlowOutput{} out.Result = output - return out, metadata, err -} - -func awsRestjson1_deserializeOpErrorTagResource(response *smithyhttp.Response, metadata *middleware.Metadata) error { - var errorBuffer bytes.Buffer - if _, err := io.Copy(&errorBuffer, response.Body); err != nil { - return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} - } - errorBody := bytes.NewReader(errorBuffer.Bytes()) - - errorCode := "UnknownError" - errorMessage := errorCode - - code := response.Header.Get("X-Amzn-ErrorType") - if len(code) != 0 { - errorCode = restjson.SanitizeErrorCode(code) - } - var buff [1024]byte ringBuffer := smithyio.NewRingBuffer(buff[:]) - body := io.TeeReader(errorBody, ringBuffer) + body := io.TeeReader(response.Body, ringBuffer) + decoder := json.NewDecoder(body) decoder.UseNumber() - code, message, err := restjson.GetErrorInfo(decoder) - if err != nil { + var shape interface{} + if err := decoder.Decode(&shape); err != nil && err != io.EOF { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) err = &smithy.DeserializationError{ Err: fmt.Errorf("failed to decode response body, %w", err), Snapshot: snapshot.Bytes(), } - return err - } - - errorBody.Seek(0, io.SeekStart) - if len(code) != 0 { - errorCode = restjson.SanitizeErrorCode(code) - } - if len(message) != 0 { - errorMessage = message - } - - switch { - case strings.EqualFold("InternalServerException", errorCode): - return awsRestjson1_deserializeErrorInternalServerException(response, errorBody) - - case strings.EqualFold("ResourceNotFoundException", errorCode): - return awsRestjson1_deserializeErrorResourceNotFoundException(response, errorBody) - - case strings.EqualFold("ValidationException", errorCode): - return awsRestjson1_deserializeErrorValidationException(response, errorBody) - - default: - genericError := &smithy.GenericAPIError{ - Code: errorCode, - Message: errorMessage, - } - return genericError - - } -} - -type awsRestjson1_deserializeOpUntagResource struct { -} - -func (*awsRestjson1_deserializeOpUntagResource) ID() string { - return "OperationDeserializer" -} - -func (m *awsRestjson1_deserializeOpUntagResource) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( - out middleware.DeserializeOutput, metadata middleware.Metadata, err error, -) { - out, metadata, err = next.HandleDeserialize(ctx, in) - if err != nil { return out, metadata, err } - response, ok := out.RawResponse.(*smithyhttp.Response) - if !ok { - return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} - } - - if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsRestjson1_deserializeOpErrorUntagResource(response, &metadata) + err = awsRestjson1_deserializeOpDocumentStartFlowOutput(&output, shape) + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + return out, metadata, &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body with invalid JSON, %w", err), + Snapshot: snapshot.Bytes(), + } } - output := &UntagResourceOutput{} - out.Result = output return out, metadata, err } -func awsRestjson1_deserializeOpErrorUntagResource(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsRestjson1_deserializeOpErrorStartFlow(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -2433,14 +2518,17 @@ func awsRestjson1_deserializeOpErrorUntagResource(response *smithyhttp.Response, } switch { + case strings.EqualFold("ConflictException", errorCode): + return awsRestjson1_deserializeErrorConflictException(response, errorBody) + case strings.EqualFold("InternalServerException", errorCode): return awsRestjson1_deserializeErrorInternalServerException(response, errorBody) case strings.EqualFold("ResourceNotFoundException", errorCode): return awsRestjson1_deserializeErrorResourceNotFoundException(response, errorBody) - case strings.EqualFold("ValidationException", errorCode): - return awsRestjson1_deserializeErrorValidationException(response, errorBody) + case strings.EqualFold("ServiceQuotaExceededException", errorCode): + return awsRestjson1_deserializeErrorServiceQuotaExceededException(response, errorBody) default: genericError := &smithy.GenericAPIError{ @@ -2452,14 +2540,72 @@ func awsRestjson1_deserializeOpErrorUntagResource(response *smithyhttp.Response, } } -type awsRestjson1_deserializeOpUpdateConnectorProfile struct { +func awsRestjson1_deserializeOpDocumentStartFlowOutput(v **StartFlowOutput, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.(map[string]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var sv *StartFlowOutput + if *v == nil { + sv = &StartFlowOutput{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "executionId": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected ExecutionId to be of type string, got %T instead", value) + } + sv.ExecutionId = ptr.String(jtv) + } + + case "flowArn": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected FlowArn to be of type string, got %T instead", value) + } + sv.FlowArn = ptr.String(jtv) + } + + case "flowStatus": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected FlowStatus to be of type string, got %T instead", value) + } + sv.FlowStatus = types.FlowStatus(jtv) + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil } -func (*awsRestjson1_deserializeOpUpdateConnectorProfile) ID() string { +type awsRestjson1_deserializeOpStopFlow struct { +} + +func (*awsRestjson1_deserializeOpStopFlow) ID() string { return "OperationDeserializer" } -func (m *awsRestjson1_deserializeOpUpdateConnectorProfile) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsRestjson1_deserializeOpStopFlow) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -2473,9 +2619,9 @@ func (m *awsRestjson1_deserializeOpUpdateConnectorProfile) HandleDeserialize(ctx } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsRestjson1_deserializeOpErrorUpdateConnectorProfile(response, &metadata) + return out, metadata, awsRestjson1_deserializeOpErrorStopFlow(response, &metadata) } - output := &UpdateConnectorProfileOutput{} + output := &StopFlowOutput{} out.Result = output var buff [1024]byte @@ -2496,7 +2642,7 @@ func (m *awsRestjson1_deserializeOpUpdateConnectorProfile) HandleDeserialize(ctx return out, metadata, err } - err = awsRestjson1_deserializeOpDocumentUpdateConnectorProfileOutput(&output, shape) + err = awsRestjson1_deserializeOpDocumentStopFlowOutput(&output, shape) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -2509,7 +2655,7 @@ func (m *awsRestjson1_deserializeOpUpdateConnectorProfile) HandleDeserialize(ctx return out, metadata, err } -func awsRestjson1_deserializeOpErrorUpdateConnectorProfile(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsRestjson1_deserializeOpErrorStopFlow(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -2553,17 +2699,14 @@ func awsRestjson1_deserializeOpErrorUpdateConnectorProfile(response *smithyhttp. case strings.EqualFold("ConflictException", errorCode): return awsRestjson1_deserializeErrorConflictException(response, errorBody) - case strings.EqualFold("ConnectorAuthenticationException", errorCode): - return awsRestjson1_deserializeErrorConnectorAuthenticationException(response, errorBody) - case strings.EqualFold("InternalServerException", errorCode): return awsRestjson1_deserializeErrorInternalServerException(response, errorBody) case strings.EqualFold("ResourceNotFoundException", errorCode): return awsRestjson1_deserializeErrorResourceNotFoundException(response, errorBody) - case strings.EqualFold("ValidationException", errorCode): - return awsRestjson1_deserializeErrorValidationException(response, errorBody) + case strings.EqualFold("UnsupportedOperationException", errorCode): + return awsRestjson1_deserializeErrorUnsupportedOperationException(response, errorBody) default: genericError := &smithy.GenericAPIError{ @@ -2575,7 +2718,7 @@ func awsRestjson1_deserializeOpErrorUpdateConnectorProfile(response *smithyhttp. } } -func awsRestjson1_deserializeOpDocumentUpdateConnectorProfileOutput(v **UpdateConnectorProfileOutput, value interface{}) error { +func awsRestjson1_deserializeOpDocumentStopFlowOutput(v **StopFlowOutput, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) } @@ -2588,22 +2731,31 @@ func awsRestjson1_deserializeOpDocumentUpdateConnectorProfileOutput(v **UpdateCo return fmt.Errorf("unexpected JSON type %v", value) } - var sv *UpdateConnectorProfileOutput + var sv *StopFlowOutput if *v == nil { - sv = &UpdateConnectorProfileOutput{} + sv = &StopFlowOutput{} } else { sv = *v } for key, value := range shape { switch key { - case "connectorProfileArn": + case "flowArn": if value != nil { jtv, ok := value.(string) if !ok { - return fmt.Errorf("expected ConnectorProfileArn to be of type string, got %T instead", value) + return fmt.Errorf("expected FlowArn to be of type string, got %T instead", value) } - sv.ConnectorProfileArn = ptr.String(jtv) + sv.FlowArn = ptr.String(jtv) + } + + case "flowStatus": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected FlowStatus to be of type string, got %T instead", value) + } + sv.FlowStatus = types.FlowStatus(jtv) } default: @@ -2615,14 +2767,14 @@ func awsRestjson1_deserializeOpDocumentUpdateConnectorProfileOutput(v **UpdateCo return nil } -type awsRestjson1_deserializeOpUpdateFlow struct { +type awsRestjson1_deserializeOpTagResource struct { } -func (*awsRestjson1_deserializeOpUpdateFlow) ID() string { +func (*awsRestjson1_deserializeOpTagResource) ID() string { return "OperationDeserializer" } -func (m *awsRestjson1_deserializeOpUpdateFlow) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsRestjson1_deserializeOpTagResource) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -2636,43 +2788,104 @@ func (m *awsRestjson1_deserializeOpUpdateFlow) HandleDeserialize(ctx context.Con } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsRestjson1_deserializeOpErrorUpdateFlow(response, &metadata) + return out, metadata, awsRestjson1_deserializeOpErrorTagResource(response, &metadata) } - output := &UpdateFlowOutput{} + output := &TagResourceOutput{} out.Result = output - var buff [1024]byte - ringBuffer := smithyio.NewRingBuffer(buff[:]) + return out, metadata, err +} - body := io.TeeReader(response.Body, ringBuffer) +func awsRestjson1_deserializeOpErrorTagResource(response *smithyhttp.Response, metadata *middleware.Metadata) error { + var errorBuffer bytes.Buffer + if _, err := io.Copy(&errorBuffer, response.Body); err != nil { + return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} + } + errorBody := bytes.NewReader(errorBuffer.Bytes()) + errorCode := "UnknownError" + errorMessage := errorCode + + code := response.Header.Get("X-Amzn-ErrorType") + if len(code) != 0 { + errorCode = restjson.SanitizeErrorCode(code) + } + + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + + body := io.TeeReader(errorBody, ringBuffer) decoder := json.NewDecoder(body) decoder.UseNumber() - var shape interface{} - if err := decoder.Decode(&shape); err != nil && err != io.EOF { + code, message, err := restjson.GetErrorInfo(decoder) + if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) err = &smithy.DeserializationError{ Err: fmt.Errorf("failed to decode response body, %w", err), Snapshot: snapshot.Bytes(), } - return out, metadata, err + return err } - err = awsRestjson1_deserializeOpDocumentUpdateFlowOutput(&output, shape) - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - return out, metadata, &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body with invalid JSON, %w", err), - Snapshot: snapshot.Bytes(), + errorBody.Seek(0, io.SeekStart) + if len(code) != 0 { + errorCode = restjson.SanitizeErrorCode(code) + } + if len(message) != 0 { + errorMessage = message + } + + switch { + case strings.EqualFold("InternalServerException", errorCode): + return awsRestjson1_deserializeErrorInternalServerException(response, errorBody) + + case strings.EqualFold("ResourceNotFoundException", errorCode): + return awsRestjson1_deserializeErrorResourceNotFoundException(response, errorBody) + + case strings.EqualFold("ValidationException", errorCode): + return awsRestjson1_deserializeErrorValidationException(response, errorBody) + + default: + genericError := &smithy.GenericAPIError{ + Code: errorCode, + Message: errorMessage, } + return genericError + + } +} + +type awsRestjson1_deserializeOpUnregisterConnector struct { +} + +func (*awsRestjson1_deserializeOpUnregisterConnector) ID() string { + return "OperationDeserializer" +} + +func (m *awsRestjson1_deserializeOpUnregisterConnector) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( + out middleware.DeserializeOutput, metadata middleware.Metadata, err error, +) { + out, metadata, err = next.HandleDeserialize(ctx, in) + if err != nil { + return out, metadata, err + } + + response, ok := out.RawResponse.(*smithyhttp.Response) + if !ok { + return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} + } + + if response.StatusCode < 200 || response.StatusCode >= 300 { + return out, metadata, awsRestjson1_deserializeOpErrorUnregisterConnector(response, &metadata) } + output := &UnregisterConnectorOutput{} + out.Result = output return out, metadata, err } -func awsRestjson1_deserializeOpErrorUpdateFlow(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsRestjson1_deserializeOpErrorUnregisterConnector(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -2716,24 +2929,12 @@ func awsRestjson1_deserializeOpErrorUpdateFlow(response *smithyhttp.Response, me case strings.EqualFold("ConflictException", errorCode): return awsRestjson1_deserializeErrorConflictException(response, errorBody) - case strings.EqualFold("ConnectorAuthenticationException", errorCode): - return awsRestjson1_deserializeErrorConnectorAuthenticationException(response, errorBody) - - case strings.EqualFold("ConnectorServerException", errorCode): - return awsRestjson1_deserializeErrorConnectorServerException(response, errorBody) - case strings.EqualFold("InternalServerException", errorCode): return awsRestjson1_deserializeErrorInternalServerException(response, errorBody) case strings.EqualFold("ResourceNotFoundException", errorCode): return awsRestjson1_deserializeErrorResourceNotFoundException(response, errorBody) - case strings.EqualFold("ServiceQuotaExceededException", errorCode): - return awsRestjson1_deserializeErrorServiceQuotaExceededException(response, errorBody) - - case strings.EqualFold("ValidationException", errorCode): - return awsRestjson1_deserializeErrorValidationException(response, errorBody) - default: genericError := &smithy.GenericAPIError{ Code: errorCode, @@ -2744,56 +2945,58 @@ func awsRestjson1_deserializeOpErrorUpdateFlow(response *smithyhttp.Response, me } } -func awsRestjson1_deserializeOpDocumentUpdateFlowOutput(v **UpdateFlowOutput, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil +type awsRestjson1_deserializeOpUntagResource struct { +} + +func (*awsRestjson1_deserializeOpUntagResource) ID() string { + return "OperationDeserializer" +} + +func (m *awsRestjson1_deserializeOpUntagResource) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( + out middleware.DeserializeOutput, metadata middleware.Metadata, err error, +) { + out, metadata, err = next.HandleDeserialize(ctx, in) + if err != nil { + return out, metadata, err } - shape, ok := value.(map[string]interface{}) + response, ok := out.RawResponse.(*smithyhttp.Response) if !ok { - return fmt.Errorf("unexpected JSON type %v", value) + return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} } - var sv *UpdateFlowOutput - if *v == nil { - sv = &UpdateFlowOutput{} - } else { - sv = *v + if response.StatusCode < 200 || response.StatusCode >= 300 { + return out, metadata, awsRestjson1_deserializeOpErrorUntagResource(response, &metadata) } + output := &UntagResourceOutput{} + out.Result = output - for key, value := range shape { - switch key { - case "flowStatus": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected FlowStatus to be of type string, got %T instead", value) - } - sv.FlowStatus = types.FlowStatus(jtv) - } + return out, metadata, err +} - default: - _, _ = key, value +func awsRestjson1_deserializeOpErrorUntagResource(response *smithyhttp.Response, metadata *middleware.Metadata) error { + var errorBuffer bytes.Buffer + if _, err := io.Copy(&errorBuffer, response.Body); err != nil { + return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} + } + errorBody := bytes.NewReader(errorBuffer.Bytes()) - } + errorCode := "UnknownError" + errorMessage := errorCode + + code := response.Header.Get("X-Amzn-ErrorType") + if len(code) != 0 { + errorCode = restjson.SanitizeErrorCode(code) } - *v = sv - return nil -} -func awsRestjson1_deserializeErrorConflictException(response *smithyhttp.Response, errorBody *bytes.Reader) error { - output := &types.ConflictException{} var buff [1024]byte ringBuffer := smithyio.NewRingBuffer(buff[:]) body := io.TeeReader(errorBody, ringBuffer) decoder := json.NewDecoder(body) decoder.UseNumber() - var shape interface{} - if err := decoder.Decode(&shape); err != nil && err != io.EOF { + code, message, err := restjson.GetErrorInfo(decoder) + if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) err = &smithy.DeserializationError{ @@ -2803,29 +3006,65 @@ func awsRestjson1_deserializeErrorConflictException(response *smithyhttp.Respons return err } - err := awsRestjson1_deserializeDocumentConflictException(&output, shape) + errorBody.Seek(0, io.SeekStart) + if len(code) != 0 { + errorCode = restjson.SanitizeErrorCode(code) + } + if len(message) != 0 { + errorMessage = message + } - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), + switch { + case strings.EqualFold("InternalServerException", errorCode): + return awsRestjson1_deserializeErrorInternalServerException(response, errorBody) + + case strings.EqualFold("ResourceNotFoundException", errorCode): + return awsRestjson1_deserializeErrorResourceNotFoundException(response, errorBody) + + case strings.EqualFold("ValidationException", errorCode): + return awsRestjson1_deserializeErrorValidationException(response, errorBody) + + default: + genericError := &smithy.GenericAPIError{ + Code: errorCode, + Message: errorMessage, } - return err + return genericError + } +} - errorBody.Seek(0, io.SeekStart) +type awsRestjson1_deserializeOpUpdateConnectorProfile struct { +} - return output +func (*awsRestjson1_deserializeOpUpdateConnectorProfile) ID() string { + return "OperationDeserializer" } -func awsRestjson1_deserializeErrorConnectorAuthenticationException(response *smithyhttp.Response, errorBody *bytes.Reader) error { - output := &types.ConnectorAuthenticationException{} +func (m *awsRestjson1_deserializeOpUpdateConnectorProfile) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( + out middleware.DeserializeOutput, metadata middleware.Metadata, err error, +) { + out, metadata, err = next.HandleDeserialize(ctx, in) + if err != nil { + return out, metadata, err + } + + response, ok := out.RawResponse.(*smithyhttp.Response) + if !ok { + return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} + } + + if response.StatusCode < 200 || response.StatusCode >= 300 { + return out, metadata, awsRestjson1_deserializeOpErrorUpdateConnectorProfile(response, &metadata) + } + output := &UpdateConnectorProfileOutput{} + out.Result = output + var buff [1024]byte ringBuffer := smithyio.NewRingBuffer(buff[:]) - body := io.TeeReader(errorBody, ringBuffer) + body := io.TeeReader(response.Body, ringBuffer) + decoder := json.NewDecoder(body) decoder.UseNumber() var shape interface{} @@ -2836,36 +3075,45 @@ func awsRestjson1_deserializeErrorConnectorAuthenticationException(response *smi Err: fmt.Errorf("failed to decode response body, %w", err), Snapshot: snapshot.Bytes(), } - return err + return out, metadata, err } - err := awsRestjson1_deserializeDocumentConnectorAuthenticationException(&output, shape) - + err = awsRestjson1_deserializeOpDocumentUpdateConnectorProfileOutput(&output, shape) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), + return out, metadata, &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body with invalid JSON, %w", err), Snapshot: snapshot.Bytes(), } - return err } - errorBody.Seek(0, io.SeekStart) - - return output + return out, metadata, err } -func awsRestjson1_deserializeErrorConnectorServerException(response *smithyhttp.Response, errorBody *bytes.Reader) error { - output := &types.ConnectorServerException{} +func awsRestjson1_deserializeOpErrorUpdateConnectorProfile(response *smithyhttp.Response, metadata *middleware.Metadata) error { + var errorBuffer bytes.Buffer + if _, err := io.Copy(&errorBuffer, response.Body); err != nil { + return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} + } + errorBody := bytes.NewReader(errorBuffer.Bytes()) + + errorCode := "UnknownError" + errorMessage := errorCode + + code := response.Header.Get("X-Amzn-ErrorType") + if len(code) != 0 { + errorCode = restjson.SanitizeErrorCode(code) + } + var buff [1024]byte ringBuffer := smithyio.NewRingBuffer(buff[:]) body := io.TeeReader(errorBody, ringBuffer) decoder := json.NewDecoder(body) decoder.UseNumber() - var shape interface{} - if err := decoder.Decode(&shape); err != nil && err != io.EOF { + code, message, err := restjson.GetErrorInfo(decoder) + if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) err = &smithy.DeserializationError{ @@ -2875,29 +3123,111 @@ func awsRestjson1_deserializeErrorConnectorServerException(response *smithyhttp. return err } - err := awsRestjson1_deserializeDocumentConnectorServerException(&output, shape) - - if err != nil { - var snapshot bytes.Buffer - io.Copy(&snapshot, ringBuffer) - err = &smithy.DeserializationError{ - Err: fmt.Errorf("failed to decode response body, %w", err), - Snapshot: snapshot.Bytes(), + errorBody.Seek(0, io.SeekStart) + if len(code) != 0 { + errorCode = restjson.SanitizeErrorCode(code) + } + if len(message) != 0 { + errorMessage = message + } + + switch { + case strings.EqualFold("ConflictException", errorCode): + return awsRestjson1_deserializeErrorConflictException(response, errorBody) + + case strings.EqualFold("ConnectorAuthenticationException", errorCode): + return awsRestjson1_deserializeErrorConnectorAuthenticationException(response, errorBody) + + case strings.EqualFold("InternalServerException", errorCode): + return awsRestjson1_deserializeErrorInternalServerException(response, errorBody) + + case strings.EqualFold("ResourceNotFoundException", errorCode): + return awsRestjson1_deserializeErrorResourceNotFoundException(response, errorBody) + + case strings.EqualFold("ValidationException", errorCode): + return awsRestjson1_deserializeErrorValidationException(response, errorBody) + + default: + genericError := &smithy.GenericAPIError{ + Code: errorCode, + Message: errorMessage, } - return err + return genericError + } +} - errorBody.Seek(0, io.SeekStart) +func awsRestjson1_deserializeOpDocumentUpdateConnectorProfileOutput(v **UpdateConnectorProfileOutput, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } - return output + shape, ok := value.(map[string]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var sv *UpdateConnectorProfileOutput + if *v == nil { + sv = &UpdateConnectorProfileOutput{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "connectorProfileArn": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected ConnectorProfileArn to be of type string, got %T instead", value) + } + sv.ConnectorProfileArn = ptr.String(jtv) + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil } -func awsRestjson1_deserializeErrorInternalServerException(response *smithyhttp.Response, errorBody *bytes.Reader) error { - output := &types.InternalServerException{} +type awsRestjson1_deserializeOpUpdateFlow struct { +} + +func (*awsRestjson1_deserializeOpUpdateFlow) ID() string { + return "OperationDeserializer" +} + +func (m *awsRestjson1_deserializeOpUpdateFlow) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( + out middleware.DeserializeOutput, metadata middleware.Metadata, err error, +) { + out, metadata, err = next.HandleDeserialize(ctx, in) + if err != nil { + return out, metadata, err + } + + response, ok := out.RawResponse.(*smithyhttp.Response) + if !ok { + return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} + } + + if response.StatusCode < 200 || response.StatusCode >= 300 { + return out, metadata, awsRestjson1_deserializeOpErrorUpdateFlow(response, &metadata) + } + output := &UpdateFlowOutput{} + out.Result = output + var buff [1024]byte ringBuffer := smithyio.NewRingBuffer(buff[:]) - body := io.TeeReader(errorBody, ringBuffer) + body := io.TeeReader(response.Body, ringBuffer) + decoder := json.NewDecoder(body) decoder.UseNumber() var shape interface{} @@ -2908,11 +3238,44 @@ func awsRestjson1_deserializeErrorInternalServerException(response *smithyhttp.R Err: fmt.Errorf("failed to decode response body, %w", err), Snapshot: snapshot.Bytes(), } - return err + return out, metadata, err } - err := awsRestjson1_deserializeDocumentInternalServerException(&output, shape) + err = awsRestjson1_deserializeOpDocumentUpdateFlowOutput(&output, shape) + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + return out, metadata, &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body with invalid JSON, %w", err), + Snapshot: snapshot.Bytes(), + } + } + + return out, metadata, err +} + +func awsRestjson1_deserializeOpErrorUpdateFlow(response *smithyhttp.Response, metadata *middleware.Metadata) error { + var errorBuffer bytes.Buffer + if _, err := io.Copy(&errorBuffer, response.Body); err != nil { + return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} + } + errorBody := bytes.NewReader(errorBuffer.Bytes()) + + errorCode := "UnknownError" + errorMessage := errorCode + code := response.Header.Get("X-Amzn-ErrorType") + if len(code) != 0 { + errorCode = restjson.SanitizeErrorCode(code) + } + + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + + body := io.TeeReader(errorBody, ringBuffer) + decoder := json.NewDecoder(body) + decoder.UseNumber() + code, message, err := restjson.GetErrorInfo(decoder) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -2924,12 +3287,87 @@ func awsRestjson1_deserializeErrorInternalServerException(response *smithyhttp.R } errorBody.Seek(0, io.SeekStart) + if len(code) != 0 { + errorCode = restjson.SanitizeErrorCode(code) + } + if len(message) != 0 { + errorMessage = message + } - return output + switch { + case strings.EqualFold("ConflictException", errorCode): + return awsRestjson1_deserializeErrorConflictException(response, errorBody) + + case strings.EqualFold("ConnectorAuthenticationException", errorCode): + return awsRestjson1_deserializeErrorConnectorAuthenticationException(response, errorBody) + + case strings.EqualFold("ConnectorServerException", errorCode): + return awsRestjson1_deserializeErrorConnectorServerException(response, errorBody) + + case strings.EqualFold("InternalServerException", errorCode): + return awsRestjson1_deserializeErrorInternalServerException(response, errorBody) + + case strings.EqualFold("ResourceNotFoundException", errorCode): + return awsRestjson1_deserializeErrorResourceNotFoundException(response, errorBody) + + case strings.EqualFold("ServiceQuotaExceededException", errorCode): + return awsRestjson1_deserializeErrorServiceQuotaExceededException(response, errorBody) + + case strings.EqualFold("ValidationException", errorCode): + return awsRestjson1_deserializeErrorValidationException(response, errorBody) + + default: + genericError := &smithy.GenericAPIError{ + Code: errorCode, + Message: errorMessage, + } + return genericError + + } } -func awsRestjson1_deserializeErrorResourceNotFoundException(response *smithyhttp.Response, errorBody *bytes.Reader) error { - output := &types.ResourceNotFoundException{} +func awsRestjson1_deserializeOpDocumentUpdateFlowOutput(v **UpdateFlowOutput, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.(map[string]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var sv *UpdateFlowOutput + if *v == nil { + sv = &UpdateFlowOutput{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "flowStatus": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected FlowStatus to be of type string, got %T instead", value) + } + sv.FlowStatus = types.FlowStatus(jtv) + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + +func awsRestjson1_deserializeErrorAccessDeniedException(response *smithyhttp.Response, errorBody *bytes.Reader) error { + output := &types.AccessDeniedException{} var buff [1024]byte ringBuffer := smithyio.NewRingBuffer(buff[:]) @@ -2947,7 +3385,7 @@ func awsRestjson1_deserializeErrorResourceNotFoundException(response *smithyhttp return err } - err := awsRestjson1_deserializeDocumentResourceNotFoundException(&output, shape) + err := awsRestjson1_deserializeDocumentAccessDeniedException(&output, shape) if err != nil { var snapshot bytes.Buffer @@ -2964,8 +3402,8 @@ func awsRestjson1_deserializeErrorResourceNotFoundException(response *smithyhttp return output } -func awsRestjson1_deserializeErrorServiceQuotaExceededException(response *smithyhttp.Response, errorBody *bytes.Reader) error { - output := &types.ServiceQuotaExceededException{} +func awsRestjson1_deserializeErrorConflictException(response *smithyhttp.Response, errorBody *bytes.Reader) error { + output := &types.ConflictException{} var buff [1024]byte ringBuffer := smithyio.NewRingBuffer(buff[:]) @@ -2983,7 +3421,7 @@ func awsRestjson1_deserializeErrorServiceQuotaExceededException(response *smithy return err } - err := awsRestjson1_deserializeDocumentServiceQuotaExceededException(&output, shape) + err := awsRestjson1_deserializeDocumentConflictException(&output, shape) if err != nil { var snapshot bytes.Buffer @@ -3000,8 +3438,8 @@ func awsRestjson1_deserializeErrorServiceQuotaExceededException(response *smithy return output } -func awsRestjson1_deserializeErrorUnsupportedOperationException(response *smithyhttp.Response, errorBody *bytes.Reader) error { - output := &types.UnsupportedOperationException{} +func awsRestjson1_deserializeErrorConnectorAuthenticationException(response *smithyhttp.Response, errorBody *bytes.Reader) error { + output := &types.ConnectorAuthenticationException{} var buff [1024]byte ringBuffer := smithyio.NewRingBuffer(buff[:]) @@ -3019,7 +3457,7 @@ func awsRestjson1_deserializeErrorUnsupportedOperationException(response *smithy return err } - err := awsRestjson1_deserializeDocumentUnsupportedOperationException(&output, shape) + err := awsRestjson1_deserializeDocumentConnectorAuthenticationException(&output, shape) if err != nil { var snapshot bytes.Buffer @@ -3036,8 +3474,8 @@ func awsRestjson1_deserializeErrorUnsupportedOperationException(response *smithy return output } -func awsRestjson1_deserializeErrorValidationException(response *smithyhttp.Response, errorBody *bytes.Reader) error { - output := &types.ValidationException{} +func awsRestjson1_deserializeErrorConnectorServerException(response *smithyhttp.Response, errorBody *bytes.Reader) error { + output := &types.ConnectorServerException{} var buff [1024]byte ringBuffer := smithyio.NewRingBuffer(buff[:]) @@ -3055,7 +3493,7 @@ func awsRestjson1_deserializeErrorValidationException(response *smithyhttp.Respo return err } - err := awsRestjson1_deserializeDocumentValidationException(&output, shape) + err := awsRestjson1_deserializeDocumentConnectorServerException(&output, shape) if err != nil { var snapshot bytes.Buffer @@ -3072,78 +3510,223 @@ func awsRestjson1_deserializeErrorValidationException(response *smithyhttp.Respo return output } -func awsRestjson1_deserializeDocumentAggregationConfig(v **types.AggregationConfig, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } - if value == nil { - return nil - } - - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) - } +func awsRestjson1_deserializeErrorInternalServerException(response *smithyhttp.Response, errorBody *bytes.Reader) error { + output := &types.InternalServerException{} + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) - var sv *types.AggregationConfig - if *v == nil { - sv = &types.AggregationConfig{} - } else { - sv = *v + body := io.TeeReader(errorBody, ringBuffer) + decoder := json.NewDecoder(body) + decoder.UseNumber() + var shape interface{} + if err := decoder.Decode(&shape); err != nil && err != io.EOF { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return err } - for key, value := range shape { - switch key { - case "aggregationType": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected AggregationType to be of type string, got %T instead", value) - } - sv.AggregationType = types.AggregationType(jtv) - } + err := awsRestjson1_deserializeDocumentInternalServerException(&output, shape) - default: - _, _ = key, value + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return err + } + + errorBody.Seek(0, io.SeekStart) + + return output +} + +func awsRestjson1_deserializeErrorResourceNotFoundException(response *smithyhttp.Response, errorBody *bytes.Reader) error { + output := &types.ResourceNotFoundException{} + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + body := io.TeeReader(errorBody, ringBuffer) + decoder := json.NewDecoder(body) + decoder.UseNumber() + var shape interface{} + if err := decoder.Decode(&shape); err != nil && err != io.EOF { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), } + return err } - *v = sv - return nil + + err := awsRestjson1_deserializeDocumentResourceNotFoundException(&output, shape) + + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return err + } + + errorBody.Seek(0, io.SeekStart) + + return output } -func awsRestjson1_deserializeDocumentAmplitudeConnectorProfileProperties(v **types.AmplitudeConnectorProfileProperties, value interface{}) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) +func awsRestjson1_deserializeErrorServiceQuotaExceededException(response *smithyhttp.Response, errorBody *bytes.Reader) error { + output := &types.ServiceQuotaExceededException{} + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + + body := io.TeeReader(errorBody, ringBuffer) + decoder := json.NewDecoder(body) + decoder.UseNumber() + var shape interface{} + if err := decoder.Decode(&shape); err != nil && err != io.EOF { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return err } - if value == nil { - return nil + + err := awsRestjson1_deserializeDocumentServiceQuotaExceededException(&output, shape) + + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return err } - shape, ok := value.(map[string]interface{}) - if !ok { - return fmt.Errorf("unexpected JSON type %v", value) + errorBody.Seek(0, io.SeekStart) + + return output +} + +func awsRestjson1_deserializeErrorThrottlingException(response *smithyhttp.Response, errorBody *bytes.Reader) error { + output := &types.ThrottlingException{} + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + + body := io.TeeReader(errorBody, ringBuffer) + decoder := json.NewDecoder(body) + decoder.UseNumber() + var shape interface{} + if err := decoder.Decode(&shape); err != nil && err != io.EOF { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return err } - var sv *types.AmplitudeConnectorProfileProperties - if *v == nil { - sv = &types.AmplitudeConnectorProfileProperties{} - } else { - sv = *v + err := awsRestjson1_deserializeDocumentThrottlingException(&output, shape) + + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return err } - for key, value := range shape { - switch key { - default: - _, _ = key, value + errorBody.Seek(0, io.SeekStart) + + return output +} + +func awsRestjson1_deserializeErrorUnsupportedOperationException(response *smithyhttp.Response, errorBody *bytes.Reader) error { + output := &types.UnsupportedOperationException{} + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + + body := io.TeeReader(errorBody, ringBuffer) + decoder := json.NewDecoder(body) + decoder.UseNumber() + var shape interface{} + if err := decoder.Decode(&shape); err != nil && err != io.EOF { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return err + } + + err := awsRestjson1_deserializeDocumentUnsupportedOperationException(&output, shape) + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), } + return err } - *v = sv - return nil + + errorBody.Seek(0, io.SeekStart) + + return output } -func awsRestjson1_deserializeDocumentAmplitudeMetadata(v **types.AmplitudeMetadata, value interface{}) error { +func awsRestjson1_deserializeErrorValidationException(response *smithyhttp.Response, errorBody *bytes.Reader) error { + output := &types.ValidationException{} + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + + body := io.TeeReader(errorBody, ringBuffer) + decoder := json.NewDecoder(body) + decoder.UseNumber() + var shape interface{} + if err := decoder.Decode(&shape); err != nil && err != io.EOF { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return err + } + + err := awsRestjson1_deserializeDocumentValidationException(&output, shape) + + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return err + } + + errorBody.Seek(0, io.SeekStart) + + return output +} + +func awsRestjson1_deserializeDocumentAccessDeniedException(v **types.AccessDeniedException, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) } @@ -3156,15 +3739,24 @@ func awsRestjson1_deserializeDocumentAmplitudeMetadata(v **types.AmplitudeMetada return fmt.Errorf("unexpected JSON type %v", value) } - var sv *types.AmplitudeMetadata + var sv *types.AccessDeniedException if *v == nil { - sv = &types.AmplitudeMetadata{} + sv = &types.AccessDeniedException{} } else { sv = *v } for key, value := range shape { switch key { + case "message": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected ErrorMessage to be of type string, got %T instead", value) + } + sv.Message = ptr.String(jtv) + } + default: _, _ = key, value @@ -3174,7 +3766,7 @@ func awsRestjson1_deserializeDocumentAmplitudeMetadata(v **types.AmplitudeMetada return nil } -func awsRestjson1_deserializeDocumentAmplitudeSourceProperties(v **types.AmplitudeSourceProperties, value interface{}) error { +func awsRestjson1_deserializeDocumentAggregationConfig(v **types.AggregationConfig, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) } @@ -3187,22 +3779,22 @@ func awsRestjson1_deserializeDocumentAmplitudeSourceProperties(v **types.Amplitu return fmt.Errorf("unexpected JSON type %v", value) } - var sv *types.AmplitudeSourceProperties + var sv *types.AggregationConfig if *v == nil { - sv = &types.AmplitudeSourceProperties{} + sv = &types.AggregationConfig{} } else { sv = *v } for key, value := range shape { switch key { - case "object": + case "aggregationType": if value != nil { jtv, ok := value.(string) if !ok { - return fmt.Errorf("expected Object to be of type string, got %T instead", value) + return fmt.Errorf("expected AggregationType to be of type string, got %T instead", value) } - sv.Object = ptr.String(jtv) + sv.AggregationType = types.AggregationType(jtv) } default: @@ -3214,7 +3806,7 @@ func awsRestjson1_deserializeDocumentAmplitudeSourceProperties(v **types.Amplitu return nil } -func awsRestjson1_deserializeDocumentConflictException(v **types.ConflictException, value interface{}) error { +func awsRestjson1_deserializeDocumentAmplitudeConnectorProfileProperties(v **types.AmplitudeConnectorProfileProperties, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) } @@ -3227,24 +3819,15 @@ func awsRestjson1_deserializeDocumentConflictException(v **types.ConflictExcepti return fmt.Errorf("unexpected JSON type %v", value) } - var sv *types.ConflictException + var sv *types.AmplitudeConnectorProfileProperties if *v == nil { - sv = &types.ConflictException{} + sv = &types.AmplitudeConnectorProfileProperties{} } else { sv = *v } for key, value := range shape { switch key { - case "message": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected ErrorMessage to be of type string, got %T instead", value) - } - sv.Message = ptr.String(jtv) - } - default: _, _ = key, value @@ -3254,7 +3837,7 @@ func awsRestjson1_deserializeDocumentConflictException(v **types.ConflictExcepti return nil } -func awsRestjson1_deserializeDocumentConnectorAuthenticationException(v **types.ConnectorAuthenticationException, value interface{}) error { +func awsRestjson1_deserializeDocumentAmplitudeMetadata(v **types.AmplitudeMetadata, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) } @@ -3267,24 +3850,15 @@ func awsRestjson1_deserializeDocumentConnectorAuthenticationException(v **types. return fmt.Errorf("unexpected JSON type %v", value) } - var sv *types.ConnectorAuthenticationException + var sv *types.AmplitudeMetadata if *v == nil { - sv = &types.ConnectorAuthenticationException{} + sv = &types.AmplitudeMetadata{} } else { sv = *v } for key, value := range shape { switch key { - case "message": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected ErrorMessage to be of type string, got %T instead", value) - } - sv.Message = ptr.String(jtv) - } - default: _, _ = key, value @@ -3294,7 +3868,7 @@ func awsRestjson1_deserializeDocumentConnectorAuthenticationException(v **types. return nil } -func awsRestjson1_deserializeDocumentConnectorConfiguration(v **types.ConnectorConfiguration, value interface{}) error { +func awsRestjson1_deserializeDocumentAmplitudeSourceProperties(v **types.AmplitudeSourceProperties, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) } @@ -3307,69 +3881,22 @@ func awsRestjson1_deserializeDocumentConnectorConfiguration(v **types.ConnectorC return fmt.Errorf("unexpected JSON type %v", value) } - var sv *types.ConnectorConfiguration + var sv *types.AmplitudeSourceProperties if *v == nil { - sv = &types.ConnectorConfiguration{} + sv = &types.AmplitudeSourceProperties{} } else { sv = *v } for key, value := range shape { switch key { - case "canUseAsDestination": - if value != nil { - jtv, ok := value.(bool) - if !ok { - return fmt.Errorf("expected Boolean to be of type *bool, got %T instead", value) - } - sv.CanUseAsDestination = jtv - } - - case "canUseAsSource": - if value != nil { - jtv, ok := value.(bool) - if !ok { - return fmt.Errorf("expected Boolean to be of type *bool, got %T instead", value) - } - sv.CanUseAsSource = jtv - } - - case "connectorMetadata": - if err := awsRestjson1_deserializeDocumentConnectorMetadata(&sv.ConnectorMetadata, value); err != nil { - return err - } - - case "isPrivateLinkEnabled": - if value != nil { - jtv, ok := value.(bool) - if !ok { - return fmt.Errorf("expected Boolean to be of type *bool, got %T instead", value) - } - sv.IsPrivateLinkEnabled = jtv - } - - case "isPrivateLinkEndpointUrlRequired": + case "object": if value != nil { - jtv, ok := value.(bool) + jtv, ok := value.(string) if !ok { - return fmt.Errorf("expected Boolean to be of type *bool, got %T instead", value) + return fmt.Errorf("expected Object to be of type string, got %T instead", value) } - sv.IsPrivateLinkEndpointUrlRequired = jtv - } - - case "supportedDestinationConnectors": - if err := awsRestjson1_deserializeDocumentConnectorTypeList(&sv.SupportedDestinationConnectors, value); err != nil { - return err - } - - case "supportedSchedulingFrequencies": - if err := awsRestjson1_deserializeDocumentSchedulingFrequencyTypeList(&sv.SupportedSchedulingFrequencies, value); err != nil { - return err - } - - case "supportedTriggerTypes": - if err := awsRestjson1_deserializeDocumentTriggerTypeList(&sv.SupportedTriggerTypes, value); err != nil { - return err + sv.Object = ptr.String(jtv) } default: @@ -3381,7 +3908,7 @@ func awsRestjson1_deserializeDocumentConnectorConfiguration(v **types.ConnectorC return nil } -func awsRestjson1_deserializeDocumentConnectorConfigurationsMap(v *map[string]types.ConnectorConfiguration, value interface{}) error { +func awsRestjson1_deserializeDocumentAuthCodeUrlList(v *[]string, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) } @@ -3389,34 +3916,35 @@ func awsRestjson1_deserializeDocumentConnectorConfigurationsMap(v *map[string]ty return nil } - shape, ok := value.(map[string]interface{}) + shape, ok := value.([]interface{}) if !ok { return fmt.Errorf("unexpected JSON type %v", value) } - var mv map[string]types.ConnectorConfiguration + var cv []string if *v == nil { - mv = map[string]types.ConnectorConfiguration{} + cv = []string{} } else { - mv = *v + cv = *v } - for key, value := range shape { - var parsedVal types.ConnectorConfiguration - mapVar := parsedVal - destAddr := &mapVar - if err := awsRestjson1_deserializeDocumentConnectorConfiguration(&destAddr, value); err != nil { - return err + for _, value := range shape { + var col string + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected AuthCodeUrl to be of type string, got %T instead", value) + } + col = jtv } - parsedVal = *destAddr - mv[key] = parsedVal + cv = append(cv, col) } - *v = mv + *v = cv return nil } -func awsRestjson1_deserializeDocumentConnectorEntity(v **types.ConnectorEntity, value interface{}) error { +func awsRestjson1_deserializeDocumentAuthenticationConfig(v **types.AuthenticationConfig, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) } @@ -3429,40 +3957,59 @@ func awsRestjson1_deserializeDocumentConnectorEntity(v **types.ConnectorEntity, return fmt.Errorf("unexpected JSON type %v", value) } - var sv *types.ConnectorEntity + var sv *types.AuthenticationConfig if *v == nil { - sv = &types.ConnectorEntity{} + sv = &types.AuthenticationConfig{} } else { sv = *v } for key, value := range shape { switch key { - case "hasNestedEntities": + case "customAuthConfigs": + if err := awsRestjson1_deserializeDocumentCustomAuthConfigList(&sv.CustomAuthConfigs, value); err != nil { + return err + } + + case "isApiKeyAuthSupported": if value != nil { jtv, ok := value.(bool) if !ok { return fmt.Errorf("expected Boolean to be of type *bool, got %T instead", value) } - sv.HasNestedEntities = jtv + sv.IsApiKeyAuthSupported = jtv } - case "label": + case "isBasicAuthSupported": if value != nil { - jtv, ok := value.(string) + jtv, ok := value.(bool) if !ok { - return fmt.Errorf("expected Label to be of type string, got %T instead", value) + return fmt.Errorf("expected Boolean to be of type *bool, got %T instead", value) } - sv.Label = ptr.String(jtv) + sv.IsBasicAuthSupported = jtv } - case "name": + case "isCustomAuthSupported": if value != nil { - jtv, ok := value.(string) + jtv, ok := value.(bool) if !ok { - return fmt.Errorf("expected Name to be of type string, got %T instead", value) + return fmt.Errorf("expected Boolean to be of type *bool, got %T instead", value) } - sv.Name = ptr.String(jtv) + sv.IsCustomAuthSupported = jtv + } + + case "isOAuth2Supported": + if value != nil { + jtv, ok := value.(bool) + if !ok { + return fmt.Errorf("expected Boolean to be of type *bool, got %T instead", value) + } + sv.IsOAuth2Supported = jtv + } + + case "oAuth2Defaults": + if err := awsRestjson1_deserializeDocumentOAuth2Defaults(&sv.OAuth2Defaults, value); err != nil { + return err } default: @@ -3474,7 +4021,7 @@ func awsRestjson1_deserializeDocumentConnectorEntity(v **types.ConnectorEntity, return nil } -func awsRestjson1_deserializeDocumentConnectorEntityField(v **types.ConnectorEntityField, value interface{}) error { +func awsRestjson1_deserializeDocumentAuthParameter(v **types.AuthParameter, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) } @@ -3487,15 +4034,20 @@ func awsRestjson1_deserializeDocumentConnectorEntityField(v **types.ConnectorEnt return fmt.Errorf("unexpected JSON type %v", value) } - var sv *types.ConnectorEntityField + var sv *types.AuthParameter if *v == nil { - sv = &types.ConnectorEntityField{} + sv = &types.AuthParameter{} } else { sv = *v } for key, value := range shape { switch key { + case "connectorSuppliedValues": + if err := awsRestjson1_deserializeDocumentConnectorSuppliedValueList(&sv.ConnectorSuppliedValues, value); err != nil { + return err + } + case "description": if value != nil { jtv, ok := value.(string) @@ -3505,18 +4057,31 @@ func awsRestjson1_deserializeDocumentConnectorEntityField(v **types.ConnectorEnt sv.Description = ptr.String(jtv) } - case "destinationProperties": - if err := awsRestjson1_deserializeDocumentDestinationFieldProperties(&sv.DestinationProperties, value); err != nil { - return err + case "isRequired": + if value != nil { + jtv, ok := value.(bool) + if !ok { + return fmt.Errorf("expected Boolean to be of type *bool, got %T instead", value) + } + sv.IsRequired = jtv } - case "identifier": + case "isSensitiveField": + if value != nil { + jtv, ok := value.(bool) + if !ok { + return fmt.Errorf("expected Boolean to be of type *bool, got %T instead", value) + } + sv.IsSensitiveField = jtv + } + + case "key": if value != nil { jtv, ok := value.(string) if !ok { - return fmt.Errorf("expected Identifier to be of type string, got %T instead", value) + return fmt.Errorf("expected Key to be of type string, got %T instead", value) } - sv.Identifier = ptr.String(jtv) + sv.Key = ptr.String(jtv) } case "label": @@ -3528,16 +4093,6 @@ func awsRestjson1_deserializeDocumentConnectorEntityField(v **types.ConnectorEnt sv.Label = ptr.String(jtv) } - case "sourceProperties": - if err := awsRestjson1_deserializeDocumentSourceFieldProperties(&sv.SourceProperties, value); err != nil { - return err - } - - case "supportedFieldTypeDetails": - if err := awsRestjson1_deserializeDocumentSupportedFieldTypeDetails(&sv.SupportedFieldTypeDetails, value); err != nil { - return err - } - default: _, _ = key, value @@ -3547,7 +4102,7 @@ func awsRestjson1_deserializeDocumentConnectorEntityField(v **types.ConnectorEnt return nil } -func awsRestjson1_deserializeDocumentConnectorEntityFieldList(v *[]types.ConnectorEntityField, value interface{}) error { +func awsRestjson1_deserializeDocumentAuthParameterList(v *[]types.AuthParameter, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) } @@ -3560,17 +4115,17 @@ func awsRestjson1_deserializeDocumentConnectorEntityFieldList(v *[]types.Connect return fmt.Errorf("unexpected JSON type %v", value) } - var cv []types.ConnectorEntityField + var cv []types.AuthParameter if *v == nil { - cv = []types.ConnectorEntityField{} + cv = []types.AuthParameter{} } else { cv = *v } for _, value := range shape { - var col types.ConnectorEntityField + var col types.AuthParameter destAddr := &col - if err := awsRestjson1_deserializeDocumentConnectorEntityField(&destAddr, value); err != nil { + if err := awsRestjson1_deserializeDocumentAuthParameter(&destAddr, value); err != nil { return err } col = *destAddr @@ -3581,7 +4136,7 @@ func awsRestjson1_deserializeDocumentConnectorEntityFieldList(v *[]types.Connect return nil } -func awsRestjson1_deserializeDocumentConnectorEntityList(v *[]types.ConnectorEntity, value interface{}) error { +func awsRestjson1_deserializeDocumentConflictException(v **types.ConflictException, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) } @@ -3589,33 +4144,39 @@ func awsRestjson1_deserializeDocumentConnectorEntityList(v *[]types.ConnectorEnt return nil } - shape, ok := value.([]interface{}) + shape, ok := value.(map[string]interface{}) if !ok { return fmt.Errorf("unexpected JSON type %v", value) } - var cv []types.ConnectorEntity + var sv *types.ConflictException if *v == nil { - cv = []types.ConnectorEntity{} + sv = &types.ConflictException{} } else { - cv = *v + sv = *v } - for _, value := range shape { - var col types.ConnectorEntity - destAddr := &col - if err := awsRestjson1_deserializeDocumentConnectorEntity(&destAddr, value); err != nil { - return err - } - col = *destAddr - cv = append(cv, col) + for key, value := range shape { + switch key { + case "message": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected ErrorMessage to be of type string, got %T instead", value) + } + sv.Message = ptr.String(jtv) + } + + default: + _, _ = key, value + } } - *v = cv + *v = sv return nil } -func awsRestjson1_deserializeDocumentConnectorEntityMap(v *map[string][]types.ConnectorEntity, value interface{}) error { +func awsRestjson1_deserializeDocumentConnectorAuthenticationException(v **types.ConnectorAuthenticationException, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) } @@ -3628,28 +4189,34 @@ func awsRestjson1_deserializeDocumentConnectorEntityMap(v *map[string][]types.Co return fmt.Errorf("unexpected JSON type %v", value) } - var mv map[string][]types.ConnectorEntity + var sv *types.ConnectorAuthenticationException if *v == nil { - mv = map[string][]types.ConnectorEntity{} + sv = &types.ConnectorAuthenticationException{} } else { - mv = *v + sv = *v } for key, value := range shape { - var parsedVal []types.ConnectorEntity - mapVar := parsedVal - if err := awsRestjson1_deserializeDocumentConnectorEntityList(&mapVar, value); err != nil { - return err - } - parsedVal = mapVar - mv[key] = parsedVal + switch key { + case "message": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected ErrorMessage to be of type string, got %T instead", value) + } + sv.Message = ptr.String(jtv) + } + + default: + _, _ = key, value + } } - *v = mv + *v = sv return nil } -func awsRestjson1_deserializeDocumentConnectorMetadata(v **types.ConnectorMetadata, value interface{}) error { +func awsRestjson1_deserializeDocumentConnectorConfiguration(v **types.ConnectorConfiguration, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) } @@ -3662,117 +4229,209 @@ func awsRestjson1_deserializeDocumentConnectorMetadata(v **types.ConnectorMetada return fmt.Errorf("unexpected JSON type %v", value) } - var sv *types.ConnectorMetadata + var sv *types.ConnectorConfiguration if *v == nil { - sv = &types.ConnectorMetadata{} + sv = &types.ConnectorConfiguration{} } else { sv = *v } for key, value := range shape { switch key { - case "Amplitude": - if err := awsRestjson1_deserializeDocumentAmplitudeMetadata(&sv.Amplitude, value); err != nil { - return err - } - - case "CustomerProfiles": - if err := awsRestjson1_deserializeDocumentCustomerProfilesMetadata(&sv.CustomerProfiles, value); err != nil { + case "authenticationConfig": + if err := awsRestjson1_deserializeDocumentAuthenticationConfig(&sv.AuthenticationConfig, value); err != nil { return err } - case "Datadog": - if err := awsRestjson1_deserializeDocumentDatadogMetadata(&sv.Datadog, value); err != nil { - return err + case "canUseAsDestination": + if value != nil { + jtv, ok := value.(bool) + if !ok { + return fmt.Errorf("expected Boolean to be of type *bool, got %T instead", value) + } + sv.CanUseAsDestination = jtv } - case "Dynatrace": - if err := awsRestjson1_deserializeDocumentDynatraceMetadata(&sv.Dynatrace, value); err != nil { - return err + case "canUseAsSource": + if value != nil { + jtv, ok := value.(bool) + if !ok { + return fmt.Errorf("expected Boolean to be of type *bool, got %T instead", value) + } + sv.CanUseAsSource = jtv } - case "EventBridge": - if err := awsRestjson1_deserializeDocumentEventBridgeMetadata(&sv.EventBridge, value); err != nil { - return err + case "connectorArn": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected ARN to be of type string, got %T instead", value) + } + sv.ConnectorArn = ptr.String(jtv) } - case "GoogleAnalytics": - if err := awsRestjson1_deserializeDocumentGoogleAnalyticsMetadata(&sv.GoogleAnalytics, value); err != nil { - return err + case "connectorDescription": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected ConnectorDescription to be of type string, got %T instead", value) + } + sv.ConnectorDescription = ptr.String(jtv) } - case "Honeycode": - if err := awsRestjson1_deserializeDocumentHoneycodeMetadata(&sv.Honeycode, value); err != nil { - return err + case "connectorLabel": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected ConnectorLabel to be of type string, got %T instead", value) + } + sv.ConnectorLabel = ptr.String(jtv) } - case "InforNexus": - if err := awsRestjson1_deserializeDocumentInforNexusMetadata(&sv.InforNexus, value); err != nil { + case "connectorMetadata": + if err := awsRestjson1_deserializeDocumentConnectorMetadata(&sv.ConnectorMetadata, value); err != nil { return err } - case "Marketo": - if err := awsRestjson1_deserializeDocumentMarketoMetadata(&sv.Marketo, value); err != nil { + case "connectorModes": + if err := awsRestjson1_deserializeDocumentConnectorModeList(&sv.ConnectorModes, value); err != nil { return err } - case "Redshift": - if err := awsRestjson1_deserializeDocumentRedshiftMetadata(&sv.Redshift, value); err != nil { - return err + case "connectorName": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected ConnectorName to be of type string, got %T instead", value) + } + sv.ConnectorName = ptr.String(jtv) } - case "S3": - if err := awsRestjson1_deserializeDocumentS3Metadata(&sv.S3, value); err != nil { - return err + case "connectorOwner": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected ConnectorOwner to be of type string, got %T instead", value) + } + sv.ConnectorOwner = ptr.String(jtv) } - case "Salesforce": - if err := awsRestjson1_deserializeDocumentSalesforceMetadata(&sv.Salesforce, value); err != nil { + case "connectorProvisioningConfig": + if err := awsRestjson1_deserializeDocumentConnectorProvisioningConfig(&sv.ConnectorProvisioningConfig, value); err != nil { return err } - case "SAPOData": - if err := awsRestjson1_deserializeDocumentSAPODataMetadata(&sv.SAPOData, value); err != nil { - return err + case "connectorProvisioningType": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected ConnectorProvisioningType to be of type string, got %T instead", value) + } + sv.ConnectorProvisioningType = types.ConnectorProvisioningType(jtv) } - case "ServiceNow": - if err := awsRestjson1_deserializeDocumentServiceNowMetadata(&sv.ServiceNow, value); err != nil { + case "connectorRuntimeSettings": + if err := awsRestjson1_deserializeDocumentConnectorRuntimeSettingList(&sv.ConnectorRuntimeSettings, value); err != nil { return err } - case "Singular": - if err := awsRestjson1_deserializeDocumentSingularMetadata(&sv.Singular, value); err != nil { - return err + case "connectorType": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected ConnectorType to be of type string, got %T instead", value) + } + sv.ConnectorType = types.ConnectorType(jtv) } - case "Slack": - if err := awsRestjson1_deserializeDocumentSlackMetadata(&sv.Slack, value); err != nil { + case "connectorVersion": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected ConnectorVersion to be of type string, got %T instead", value) + } + sv.ConnectorVersion = ptr.String(jtv) + } + + case "isPrivateLinkEnabled": + if value != nil { + jtv, ok := value.(bool) + if !ok { + return fmt.Errorf("expected Boolean to be of type *bool, got %T instead", value) + } + sv.IsPrivateLinkEnabled = jtv + } + + case "isPrivateLinkEndpointUrlRequired": + if value != nil { + jtv, ok := value.(bool) + if !ok { + return fmt.Errorf("expected Boolean to be of type *bool, got %T instead", value) + } + sv.IsPrivateLinkEndpointUrlRequired = jtv + } + + case "logoURL": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected LogoURL to be of type string, got %T instead", value) + } + sv.LogoURL = ptr.String(jtv) + } + + case "registeredAt": + if value != nil { + switch jtv := value.(type) { + case json.Number: + f64, err := jtv.Float64() + if err != nil { + return err + } + sv.RegisteredAt = ptr.Time(smithytime.ParseEpochSeconds(f64)) + + default: + return fmt.Errorf("expected Date to be a JSON Number, got %T instead", value) + + } + } + + case "registeredBy": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected RegisteredBy to be of type string, got %T instead", value) + } + sv.RegisteredBy = ptr.String(jtv) + } + + case "supportedApiVersions": + if err := awsRestjson1_deserializeDocumentSupportedApiVersionList(&sv.SupportedApiVersions, value); err != nil { return err } - case "Snowflake": - if err := awsRestjson1_deserializeDocumentSnowflakeMetadata(&sv.Snowflake, value); err != nil { + case "supportedDestinationConnectors": + if err := awsRestjson1_deserializeDocumentConnectorTypeList(&sv.SupportedDestinationConnectors, value); err != nil { return err } - case "Trendmicro": - if err := awsRestjson1_deserializeDocumentTrendmicroMetadata(&sv.Trendmicro, value); err != nil { + case "supportedOperators": + if err := awsRestjson1_deserializeDocumentSupportedOperatorList(&sv.SupportedOperators, value); err != nil { return err } - case "Upsolver": - if err := awsRestjson1_deserializeDocumentUpsolverMetadata(&sv.Upsolver, value); err != nil { + case "supportedSchedulingFrequencies": + if err := awsRestjson1_deserializeDocumentSchedulingFrequencyTypeList(&sv.SupportedSchedulingFrequencies, value); err != nil { return err } - case "Veeva": - if err := awsRestjson1_deserializeDocumentVeevaMetadata(&sv.Veeva, value); err != nil { + case "supportedTriggerTypes": + if err := awsRestjson1_deserializeDocumentTriggerTypeList(&sv.SupportedTriggerTypes, value); err != nil { return err } - case "Zendesk": - if err := awsRestjson1_deserializeDocumentZendeskMetadata(&sv.Zendesk, value); err != nil { + case "supportedWriteOperations": + if err := awsRestjson1_deserializeDocumentSupportedWriteOperationList(&sv.SupportedWriteOperations, value); err != nil { return err } @@ -3785,7 +4444,7 @@ func awsRestjson1_deserializeDocumentConnectorMetadata(v **types.ConnectorMetada return nil } -func awsRestjson1_deserializeDocumentConnectorOperator(v **types.ConnectorOperator, value interface{}) error { +func awsRestjson1_deserializeDocumentConnectorConfigurationsMap(v *map[string]types.ConnectorConfiguration, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) } @@ -3798,148 +4457,208 @@ func awsRestjson1_deserializeDocumentConnectorOperator(v **types.ConnectorOperat return fmt.Errorf("unexpected JSON type %v", value) } - var sv *types.ConnectorOperator + var mv map[string]types.ConnectorConfiguration if *v == nil { - sv = &types.ConnectorOperator{} + mv = map[string]types.ConnectorConfiguration{} + } else { + mv = *v + } + + for key, value := range shape { + var parsedVal types.ConnectorConfiguration + mapVar := parsedVal + destAddr := &mapVar + if err := awsRestjson1_deserializeDocumentConnectorConfiguration(&destAddr, value); err != nil { + return err + } + parsedVal = *destAddr + mv[key] = parsedVal + + } + *v = mv + return nil +} + +func awsRestjson1_deserializeDocumentConnectorDetail(v **types.ConnectorDetail, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.(map[string]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var sv *types.ConnectorDetail + if *v == nil { + sv = &types.ConnectorDetail{} } else { sv = *v } for key, value := range shape { switch key { - case "Amplitude": + case "applicationType": if value != nil { jtv, ok := value.(string) if !ok { - return fmt.Errorf("expected AmplitudeConnectorOperator to be of type string, got %T instead", value) + return fmt.Errorf("expected ApplicationType to be of type string, got %T instead", value) } - sv.Amplitude = types.AmplitudeConnectorOperator(jtv) + sv.ApplicationType = ptr.String(jtv) } - case "Datadog": + case "connectorDescription": if value != nil { jtv, ok := value.(string) if !ok { - return fmt.Errorf("expected DatadogConnectorOperator to be of type string, got %T instead", value) + return fmt.Errorf("expected ConnectorDescription to be of type string, got %T instead", value) } - sv.Datadog = types.DatadogConnectorOperator(jtv) + sv.ConnectorDescription = ptr.String(jtv) } - case "Dynatrace": + case "connectorLabel": if value != nil { jtv, ok := value.(string) if !ok { - return fmt.Errorf("expected DynatraceConnectorOperator to be of type string, got %T instead", value) + return fmt.Errorf("expected ConnectorLabel to be of type string, got %T instead", value) } - sv.Dynatrace = types.DynatraceConnectorOperator(jtv) + sv.ConnectorLabel = ptr.String(jtv) } - case "GoogleAnalytics": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected GoogleAnalyticsConnectorOperator to be of type string, got %T instead", value) - } - sv.GoogleAnalytics = types.GoogleAnalyticsConnectorOperator(jtv) + case "connectorModes": + if err := awsRestjson1_deserializeDocumentConnectorModeList(&sv.ConnectorModes, value); err != nil { + return err } - case "InforNexus": + case "connectorName": if value != nil { jtv, ok := value.(string) if !ok { - return fmt.Errorf("expected InforNexusConnectorOperator to be of type string, got %T instead", value) + return fmt.Errorf("expected ConnectorName to be of type string, got %T instead", value) } - sv.InforNexus = types.InforNexusConnectorOperator(jtv) + sv.ConnectorName = ptr.String(jtv) } - case "Marketo": + case "connectorOwner": if value != nil { jtv, ok := value.(string) if !ok { - return fmt.Errorf("expected MarketoConnectorOperator to be of type string, got %T instead", value) + return fmt.Errorf("expected ConnectorOwner to be of type string, got %T instead", value) } - sv.Marketo = types.MarketoConnectorOperator(jtv) + sv.ConnectorOwner = ptr.String(jtv) } - case "S3": + case "connectorProvisioningType": if value != nil { jtv, ok := value.(string) if !ok { - return fmt.Errorf("expected S3ConnectorOperator to be of type string, got %T instead", value) + return fmt.Errorf("expected ConnectorProvisioningType to be of type string, got %T instead", value) } - sv.S3 = types.S3ConnectorOperator(jtv) + sv.ConnectorProvisioningType = types.ConnectorProvisioningType(jtv) } - case "Salesforce": + case "connectorType": if value != nil { jtv, ok := value.(string) if !ok { - return fmt.Errorf("expected SalesforceConnectorOperator to be of type string, got %T instead", value) + return fmt.Errorf("expected ConnectorType to be of type string, got %T instead", value) } - sv.Salesforce = types.SalesforceConnectorOperator(jtv) + sv.ConnectorType = types.ConnectorType(jtv) } - case "SAPOData": + case "connectorVersion": if value != nil { jtv, ok := value.(string) if !ok { - return fmt.Errorf("expected SAPODataConnectorOperator to be of type string, got %T instead", value) + return fmt.Errorf("expected ConnectorVersion to be of type string, got %T instead", value) } - sv.SAPOData = types.SAPODataConnectorOperator(jtv) + sv.ConnectorVersion = ptr.String(jtv) } - case "ServiceNow": + case "registeredAt": if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected ServiceNowConnectorOperator to be of type string, got %T instead", value) - } - sv.ServiceNow = types.ServiceNowConnectorOperator(jtv) - } + switch jtv := value.(type) { + case json.Number: + f64, err := jtv.Float64() + if err != nil { + return err + } + sv.RegisteredAt = ptr.Time(smithytime.ParseEpochSeconds(f64)) + + default: + return fmt.Errorf("expected Date to be a JSON Number, got %T instead", value) - case "Singular": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected SingularConnectorOperator to be of type string, got %T instead", value) } - sv.Singular = types.SingularConnectorOperator(jtv) } - case "Slack": + case "registeredBy": if value != nil { jtv, ok := value.(string) if !ok { - return fmt.Errorf("expected SlackConnectorOperator to be of type string, got %T instead", value) + return fmt.Errorf("expected RegisteredBy to be of type string, got %T instead", value) } - sv.Slack = types.SlackConnectorOperator(jtv) + sv.RegisteredBy = ptr.String(jtv) } - case "Trendmicro": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected TrendmicroConnectorOperator to be of type string, got %T instead", value) + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + +func awsRestjson1_deserializeDocumentConnectorEntity(v **types.ConnectorEntity, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.(map[string]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var sv *types.ConnectorEntity + if *v == nil { + sv = &types.ConnectorEntity{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "hasNestedEntities": + if value != nil { + jtv, ok := value.(bool) + if !ok { + return fmt.Errorf("expected Boolean to be of type *bool, got %T instead", value) } - sv.Trendmicro = types.TrendmicroConnectorOperator(jtv) + sv.HasNestedEntities = jtv } - case "Veeva": + case "label": if value != nil { jtv, ok := value.(string) if !ok { - return fmt.Errorf("expected VeevaConnectorOperator to be of type string, got %T instead", value) + return fmt.Errorf("expected Label to be of type string, got %T instead", value) } - sv.Veeva = types.VeevaConnectorOperator(jtv) + sv.Label = ptr.String(jtv) } - case "Zendesk": + case "name": if value != nil { jtv, ok := value.(string) if !ok { - return fmt.Errorf("expected ZendeskConnectorOperator to be of type string, got %T instead", value) + return fmt.Errorf("expected Name to be of type string, got %T instead", value) } - sv.Zendesk = types.ZendeskConnectorOperator(jtv) + sv.Name = ptr.String(jtv) } default: @@ -3951,7 +4670,7 @@ func awsRestjson1_deserializeDocumentConnectorOperator(v **types.ConnectorOperat return nil } -func awsRestjson1_deserializeDocumentConnectorProfile(v **types.ConnectorProfile, value interface{}) error { +func awsRestjson1_deserializeDocumentConnectorEntityField(v **types.ConnectorEntityField, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) } @@ -3964,100 +4683,1214 @@ func awsRestjson1_deserializeDocumentConnectorProfile(v **types.ConnectorProfile return fmt.Errorf("unexpected JSON type %v", value) } - var sv *types.ConnectorProfile + var sv *types.ConnectorEntityField if *v == nil { - sv = &types.ConnectorProfile{} + sv = &types.ConnectorEntityField{} } else { sv = *v } for key, value := range shape { switch key { - case "connectionMode": + case "customProperties": + if err := awsRestjson1_deserializeDocumentCustomProperties(&sv.CustomProperties, value); err != nil { + return err + } + + case "defaultValue": if value != nil { jtv, ok := value.(string) if !ok { - return fmt.Errorf("expected ConnectionMode to be of type string, got %T instead", value) + return fmt.Errorf("expected String to be of type string, got %T instead", value) } - sv.ConnectionMode = types.ConnectionMode(jtv) + sv.DefaultValue = ptr.String(jtv) } - case "connectorProfileArn": + case "description": if value != nil { jtv, ok := value.(string) if !ok { - return fmt.Errorf("expected ConnectorProfileArn to be of type string, got %T instead", value) + return fmt.Errorf("expected Description to be of type string, got %T instead", value) } - sv.ConnectorProfileArn = ptr.String(jtv) + sv.Description = ptr.String(jtv) } - case "connectorProfileName": + case "destinationProperties": + if err := awsRestjson1_deserializeDocumentDestinationFieldProperties(&sv.DestinationProperties, value); err != nil { + return err + } + + case "identifier": if value != nil { jtv, ok := value.(string) if !ok { - return fmt.Errorf("expected ConnectorProfileName to be of type string, got %T instead", value) + return fmt.Errorf("expected Identifier to be of type string, got %T instead", value) } - sv.ConnectorProfileName = ptr.String(jtv) + sv.Identifier = ptr.String(jtv) } - case "connectorProfileProperties": - if err := awsRestjson1_deserializeDocumentConnectorProfileProperties(&sv.ConnectorProfileProperties, value); err != nil { - return err + case "isDeprecated": + if value != nil { + jtv, ok := value.(bool) + if !ok { + return fmt.Errorf("expected Boolean to be of type *bool, got %T instead", value) + } + sv.IsDeprecated = jtv } - case "connectorType": + case "isPrimaryKey": + if value != nil { + jtv, ok := value.(bool) + if !ok { + return fmt.Errorf("expected Boolean to be of type *bool, got %T instead", value) + } + sv.IsPrimaryKey = jtv + } + + case "label": if value != nil { jtv, ok := value.(string) if !ok { - return fmt.Errorf("expected ConnectorType to be of type string, got %T instead", value) + return fmt.Errorf("expected Label to be of type string, got %T instead", value) } - sv.ConnectorType = types.ConnectorType(jtv) + sv.Label = ptr.String(jtv) } - case "createdAt": + case "parentIdentifier": if value != nil { - switch jtv := value.(type) { - case json.Number: - f64, err := jtv.Float64() - if err != nil { - return err - } - sv.CreatedAt = ptr.Time(smithytime.ParseEpochSeconds(f64)) + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected Identifier to be of type string, got %T instead", value) + } + sv.ParentIdentifier = ptr.String(jtv) + } + + case "sourceProperties": + if err := awsRestjson1_deserializeDocumentSourceFieldProperties(&sv.SourceProperties, value); err != nil { + return err + } + + case "supportedFieldTypeDetails": + if err := awsRestjson1_deserializeDocumentSupportedFieldTypeDetails(&sv.SupportedFieldTypeDetails, value); err != nil { + return err + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + +func awsRestjson1_deserializeDocumentConnectorEntityFieldList(v *[]types.ConnectorEntityField, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.([]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var cv []types.ConnectorEntityField + if *v == nil { + cv = []types.ConnectorEntityField{} + } else { + cv = *v + } + + for _, value := range shape { + var col types.ConnectorEntityField + destAddr := &col + if err := awsRestjson1_deserializeDocumentConnectorEntityField(&destAddr, value); err != nil { + return err + } + col = *destAddr + cv = append(cv, col) + + } + *v = cv + return nil +} + +func awsRestjson1_deserializeDocumentConnectorEntityList(v *[]types.ConnectorEntity, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.([]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var cv []types.ConnectorEntity + if *v == nil { + cv = []types.ConnectorEntity{} + } else { + cv = *v + } + + for _, value := range shape { + var col types.ConnectorEntity + destAddr := &col + if err := awsRestjson1_deserializeDocumentConnectorEntity(&destAddr, value); err != nil { + return err + } + col = *destAddr + cv = append(cv, col) + + } + *v = cv + return nil +} + +func awsRestjson1_deserializeDocumentConnectorEntityMap(v *map[string][]types.ConnectorEntity, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.(map[string]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var mv map[string][]types.ConnectorEntity + if *v == nil { + mv = map[string][]types.ConnectorEntity{} + } else { + mv = *v + } + + for key, value := range shape { + var parsedVal []types.ConnectorEntity + mapVar := parsedVal + if err := awsRestjson1_deserializeDocumentConnectorEntityList(&mapVar, value); err != nil { + return err + } + parsedVal = mapVar + mv[key] = parsedVal + + } + *v = mv + return nil +} + +func awsRestjson1_deserializeDocumentConnectorList(v *[]types.ConnectorDetail, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.([]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var cv []types.ConnectorDetail + if *v == nil { + cv = []types.ConnectorDetail{} + } else { + cv = *v + } + + for _, value := range shape { + var col types.ConnectorDetail + destAddr := &col + if err := awsRestjson1_deserializeDocumentConnectorDetail(&destAddr, value); err != nil { + return err + } + col = *destAddr + cv = append(cv, col) + + } + *v = cv + return nil +} + +func awsRestjson1_deserializeDocumentConnectorMetadata(v **types.ConnectorMetadata, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.(map[string]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var sv *types.ConnectorMetadata + if *v == nil { + sv = &types.ConnectorMetadata{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "Amplitude": + if err := awsRestjson1_deserializeDocumentAmplitudeMetadata(&sv.Amplitude, value); err != nil { + return err + } + + case "CustomerProfiles": + if err := awsRestjson1_deserializeDocumentCustomerProfilesMetadata(&sv.CustomerProfiles, value); err != nil { + return err + } + + case "Datadog": + if err := awsRestjson1_deserializeDocumentDatadogMetadata(&sv.Datadog, value); err != nil { + return err + } + + case "Dynatrace": + if err := awsRestjson1_deserializeDocumentDynatraceMetadata(&sv.Dynatrace, value); err != nil { + return err + } + + case "EventBridge": + if err := awsRestjson1_deserializeDocumentEventBridgeMetadata(&sv.EventBridge, value); err != nil { + return err + } + + case "GoogleAnalytics": + if err := awsRestjson1_deserializeDocumentGoogleAnalyticsMetadata(&sv.GoogleAnalytics, value); err != nil { + return err + } + + case "Honeycode": + if err := awsRestjson1_deserializeDocumentHoneycodeMetadata(&sv.Honeycode, value); err != nil { + return err + } + + case "InforNexus": + if err := awsRestjson1_deserializeDocumentInforNexusMetadata(&sv.InforNexus, value); err != nil { + return err + } + + case "Marketo": + if err := awsRestjson1_deserializeDocumentMarketoMetadata(&sv.Marketo, value); err != nil { + return err + } + + case "Redshift": + if err := awsRestjson1_deserializeDocumentRedshiftMetadata(&sv.Redshift, value); err != nil { + return err + } + + case "S3": + if err := awsRestjson1_deserializeDocumentS3Metadata(&sv.S3, value); err != nil { + return err + } + + case "Salesforce": + if err := awsRestjson1_deserializeDocumentSalesforceMetadata(&sv.Salesforce, value); err != nil { + return err + } + + case "SAPOData": + if err := awsRestjson1_deserializeDocumentSAPODataMetadata(&sv.SAPOData, value); err != nil { + return err + } + + case "ServiceNow": + if err := awsRestjson1_deserializeDocumentServiceNowMetadata(&sv.ServiceNow, value); err != nil { + return err + } + + case "Singular": + if err := awsRestjson1_deserializeDocumentSingularMetadata(&sv.Singular, value); err != nil { + return err + } + + case "Slack": + if err := awsRestjson1_deserializeDocumentSlackMetadata(&sv.Slack, value); err != nil { + return err + } + + case "Snowflake": + if err := awsRestjson1_deserializeDocumentSnowflakeMetadata(&sv.Snowflake, value); err != nil { + return err + } + + case "Trendmicro": + if err := awsRestjson1_deserializeDocumentTrendmicroMetadata(&sv.Trendmicro, value); err != nil { + return err + } + + case "Upsolver": + if err := awsRestjson1_deserializeDocumentUpsolverMetadata(&sv.Upsolver, value); err != nil { + return err + } + + case "Veeva": + if err := awsRestjson1_deserializeDocumentVeevaMetadata(&sv.Veeva, value); err != nil { + return err + } + + case "Zendesk": + if err := awsRestjson1_deserializeDocumentZendeskMetadata(&sv.Zendesk, value); err != nil { + return err + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + +func awsRestjson1_deserializeDocumentConnectorModeList(v *[]string, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.([]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var cv []string + if *v == nil { + cv = []string{} + } else { + cv = *v + } + + for _, value := range shape { + var col string + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected ConnectorMode to be of type string, got %T instead", value) + } + col = jtv + } + cv = append(cv, col) + + } + *v = cv + return nil +} + +func awsRestjson1_deserializeDocumentConnectorOperator(v **types.ConnectorOperator, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.(map[string]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var sv *types.ConnectorOperator + if *v == nil { + sv = &types.ConnectorOperator{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "Amplitude": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected AmplitudeConnectorOperator to be of type string, got %T instead", value) + } + sv.Amplitude = types.AmplitudeConnectorOperator(jtv) + } + + case "CustomConnector": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected Operator to be of type string, got %T instead", value) + } + sv.CustomConnector = types.Operator(jtv) + } + + case "Datadog": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected DatadogConnectorOperator to be of type string, got %T instead", value) + } + sv.Datadog = types.DatadogConnectorOperator(jtv) + } + + case "Dynatrace": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected DynatraceConnectorOperator to be of type string, got %T instead", value) + } + sv.Dynatrace = types.DynatraceConnectorOperator(jtv) + } + + case "GoogleAnalytics": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected GoogleAnalyticsConnectorOperator to be of type string, got %T instead", value) + } + sv.GoogleAnalytics = types.GoogleAnalyticsConnectorOperator(jtv) + } + + case "InforNexus": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected InforNexusConnectorOperator to be of type string, got %T instead", value) + } + sv.InforNexus = types.InforNexusConnectorOperator(jtv) + } + + case "Marketo": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected MarketoConnectorOperator to be of type string, got %T instead", value) + } + sv.Marketo = types.MarketoConnectorOperator(jtv) + } + + case "S3": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected S3ConnectorOperator to be of type string, got %T instead", value) + } + sv.S3 = types.S3ConnectorOperator(jtv) + } + + case "Salesforce": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected SalesforceConnectorOperator to be of type string, got %T instead", value) + } + sv.Salesforce = types.SalesforceConnectorOperator(jtv) + } + + case "SAPOData": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected SAPODataConnectorOperator to be of type string, got %T instead", value) + } + sv.SAPOData = types.SAPODataConnectorOperator(jtv) + } + + case "ServiceNow": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected ServiceNowConnectorOperator to be of type string, got %T instead", value) + } + sv.ServiceNow = types.ServiceNowConnectorOperator(jtv) + } + + case "Singular": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected SingularConnectorOperator to be of type string, got %T instead", value) + } + sv.Singular = types.SingularConnectorOperator(jtv) + } + + case "Slack": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected SlackConnectorOperator to be of type string, got %T instead", value) + } + sv.Slack = types.SlackConnectorOperator(jtv) + } + + case "Trendmicro": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected TrendmicroConnectorOperator to be of type string, got %T instead", value) + } + sv.Trendmicro = types.TrendmicroConnectorOperator(jtv) + } + + case "Veeva": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected VeevaConnectorOperator to be of type string, got %T instead", value) + } + sv.Veeva = types.VeevaConnectorOperator(jtv) + } + + case "Zendesk": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected ZendeskConnectorOperator to be of type string, got %T instead", value) + } + sv.Zendesk = types.ZendeskConnectorOperator(jtv) + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + +func awsRestjson1_deserializeDocumentConnectorProfile(v **types.ConnectorProfile, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.(map[string]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var sv *types.ConnectorProfile + if *v == nil { + sv = &types.ConnectorProfile{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "connectionMode": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected ConnectionMode to be of type string, got %T instead", value) + } + sv.ConnectionMode = types.ConnectionMode(jtv) + } + + case "connectorLabel": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected ConnectorLabel to be of type string, got %T instead", value) + } + sv.ConnectorLabel = ptr.String(jtv) + } + + case "connectorProfileArn": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected ConnectorProfileArn to be of type string, got %T instead", value) + } + sv.ConnectorProfileArn = ptr.String(jtv) + } + + case "connectorProfileName": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected ConnectorProfileName to be of type string, got %T instead", value) + } + sv.ConnectorProfileName = ptr.String(jtv) + } + + case "connectorProfileProperties": + if err := awsRestjson1_deserializeDocumentConnectorProfileProperties(&sv.ConnectorProfileProperties, value); err != nil { + return err + } + + case "connectorType": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected ConnectorType to be of type string, got %T instead", value) + } + sv.ConnectorType = types.ConnectorType(jtv) + } + + case "createdAt": + if value != nil { + switch jtv := value.(type) { + case json.Number: + f64, err := jtv.Float64() + if err != nil { + return err + } + sv.CreatedAt = ptr.Time(smithytime.ParseEpochSeconds(f64)) + + default: + return fmt.Errorf("expected Date to be a JSON Number, got %T instead", value) + + } + } + + case "credentialsArn": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected ARN to be of type string, got %T instead", value) + } + sv.CredentialsArn = ptr.String(jtv) + } + + case "lastUpdatedAt": + if value != nil { + switch jtv := value.(type) { + case json.Number: + f64, err := jtv.Float64() + if err != nil { + return err + } + sv.LastUpdatedAt = ptr.Time(smithytime.ParseEpochSeconds(f64)) + + default: + return fmt.Errorf("expected Date to be a JSON Number, got %T instead", value) + + } + } + + case "privateConnectionProvisioningState": + if err := awsRestjson1_deserializeDocumentPrivateConnectionProvisioningState(&sv.PrivateConnectionProvisioningState, value); err != nil { + return err + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + +func awsRestjson1_deserializeDocumentConnectorProfileDetailList(v *[]types.ConnectorProfile, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.([]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var cv []types.ConnectorProfile + if *v == nil { + cv = []types.ConnectorProfile{} + } else { + cv = *v + } + + for _, value := range shape { + var col types.ConnectorProfile + destAddr := &col + if err := awsRestjson1_deserializeDocumentConnectorProfile(&destAddr, value); err != nil { + return err + } + col = *destAddr + cv = append(cv, col) + + } + *v = cv + return nil +} + +func awsRestjson1_deserializeDocumentConnectorProfileProperties(v **types.ConnectorProfileProperties, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.(map[string]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var sv *types.ConnectorProfileProperties + if *v == nil { + sv = &types.ConnectorProfileProperties{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "Amplitude": + if err := awsRestjson1_deserializeDocumentAmplitudeConnectorProfileProperties(&sv.Amplitude, value); err != nil { + return err + } + + case "CustomConnector": + if err := awsRestjson1_deserializeDocumentCustomConnectorProfileProperties(&sv.CustomConnector, value); err != nil { + return err + } + + case "Datadog": + if err := awsRestjson1_deserializeDocumentDatadogConnectorProfileProperties(&sv.Datadog, value); err != nil { + return err + } + + case "Dynatrace": + if err := awsRestjson1_deserializeDocumentDynatraceConnectorProfileProperties(&sv.Dynatrace, value); err != nil { + return err + } + + case "GoogleAnalytics": + if err := awsRestjson1_deserializeDocumentGoogleAnalyticsConnectorProfileProperties(&sv.GoogleAnalytics, value); err != nil { + return err + } + + case "Honeycode": + if err := awsRestjson1_deserializeDocumentHoneycodeConnectorProfileProperties(&sv.Honeycode, value); err != nil { + return err + } + + case "InforNexus": + if err := awsRestjson1_deserializeDocumentInforNexusConnectorProfileProperties(&sv.InforNexus, value); err != nil { + return err + } + + case "Marketo": + if err := awsRestjson1_deserializeDocumentMarketoConnectorProfileProperties(&sv.Marketo, value); err != nil { + return err + } + + case "Redshift": + if err := awsRestjson1_deserializeDocumentRedshiftConnectorProfileProperties(&sv.Redshift, value); err != nil { + return err + } + + case "Salesforce": + if err := awsRestjson1_deserializeDocumentSalesforceConnectorProfileProperties(&sv.Salesforce, value); err != nil { + return err + } + + case "SAPOData": + if err := awsRestjson1_deserializeDocumentSAPODataConnectorProfileProperties(&sv.SAPOData, value); err != nil { + return err + } + + case "ServiceNow": + if err := awsRestjson1_deserializeDocumentServiceNowConnectorProfileProperties(&sv.ServiceNow, value); err != nil { + return err + } + + case "Singular": + if err := awsRestjson1_deserializeDocumentSingularConnectorProfileProperties(&sv.Singular, value); err != nil { + return err + } + + case "Slack": + if err := awsRestjson1_deserializeDocumentSlackConnectorProfileProperties(&sv.Slack, value); err != nil { + return err + } + + case "Snowflake": + if err := awsRestjson1_deserializeDocumentSnowflakeConnectorProfileProperties(&sv.Snowflake, value); err != nil { + return err + } + + case "Trendmicro": + if err := awsRestjson1_deserializeDocumentTrendmicroConnectorProfileProperties(&sv.Trendmicro, value); err != nil { + return err + } + + case "Veeva": + if err := awsRestjson1_deserializeDocumentVeevaConnectorProfileProperties(&sv.Veeva, value); err != nil { + return err + } + + case "Zendesk": + if err := awsRestjson1_deserializeDocumentZendeskConnectorProfileProperties(&sv.Zendesk, value); err != nil { + return err + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + +func awsRestjson1_deserializeDocumentConnectorProvisioningConfig(v **types.ConnectorProvisioningConfig, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.(map[string]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var sv *types.ConnectorProvisioningConfig + if *v == nil { + sv = &types.ConnectorProvisioningConfig{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "lambda": + if err := awsRestjson1_deserializeDocumentLambdaConnectorProvisioningConfig(&sv.Lambda, value); err != nil { + return err + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + +func awsRestjson1_deserializeDocumentConnectorRuntimeSetting(v **types.ConnectorRuntimeSetting, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.(map[string]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var sv *types.ConnectorRuntimeSetting + if *v == nil { + sv = &types.ConnectorRuntimeSetting{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "connectorSuppliedValueOptions": + if err := awsRestjson1_deserializeDocumentConnectorSuppliedValueOptionList(&sv.ConnectorSuppliedValueOptions, value); err != nil { + return err + } + + case "dataType": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected ConnectorRuntimeSettingDataType to be of type string, got %T instead", value) + } + sv.DataType = ptr.String(jtv) + } + + case "description": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected Description to be of type string, got %T instead", value) + } + sv.Description = ptr.String(jtv) + } + + case "isRequired": + if value != nil { + jtv, ok := value.(bool) + if !ok { + return fmt.Errorf("expected Boolean to be of type *bool, got %T instead", value) + } + sv.IsRequired = jtv + } + + case "key": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected Key to be of type string, got %T instead", value) + } + sv.Key = ptr.String(jtv) + } + + case "label": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected Label to be of type string, got %T instead", value) + } + sv.Label = ptr.String(jtv) + } + + case "scope": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected ConnectorRuntimeSettingScope to be of type string, got %T instead", value) + } + sv.Scope = ptr.String(jtv) + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + +func awsRestjson1_deserializeDocumentConnectorRuntimeSettingList(v *[]types.ConnectorRuntimeSetting, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.([]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var cv []types.ConnectorRuntimeSetting + if *v == nil { + cv = []types.ConnectorRuntimeSetting{} + } else { + cv = *v + } + + for _, value := range shape { + var col types.ConnectorRuntimeSetting + destAddr := &col + if err := awsRestjson1_deserializeDocumentConnectorRuntimeSetting(&destAddr, value); err != nil { + return err + } + col = *destAddr + cv = append(cv, col) + + } + *v = cv + return nil +} + +func awsRestjson1_deserializeDocumentConnectorServerException(v **types.ConnectorServerException, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.(map[string]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var sv *types.ConnectorServerException + if *v == nil { + sv = &types.ConnectorServerException{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "message": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected ErrorMessage to be of type string, got %T instead", value) + } + sv.Message = ptr.String(jtv) + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + +func awsRestjson1_deserializeDocumentConnectorSuppliedValueList(v *[]string, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.([]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var cv []string + if *v == nil { + cv = []string{} + } else { + cv = *v + } + + for _, value := range shape { + var col string + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected ConnectorSuppliedValue to be of type string, got %T instead", value) + } + col = jtv + } + cv = append(cv, col) + + } + *v = cv + return nil +} + +func awsRestjson1_deserializeDocumentConnectorSuppliedValueOptionList(v *[]string, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.([]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var cv []string + if *v == nil { + cv = []string{} + } else { + cv = *v + } + + for _, value := range shape { + var col string + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected ConnectorSuppliedValue to be of type string, got %T instead", value) + } + col = jtv + } + cv = append(cv, col) + + } + *v = cv + return nil +} + +func awsRestjson1_deserializeDocumentConnectorTypeList(v *[]types.ConnectorType, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.([]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var cv []types.ConnectorType + if *v == nil { + cv = []types.ConnectorType{} + } else { + cv = *v + } + + for _, value := range shape { + var col types.ConnectorType + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected ConnectorType to be of type string, got %T instead", value) + } + col = types.ConnectorType(jtv) + } + cv = append(cv, col) + + } + *v = cv + return nil +} + +func awsRestjson1_deserializeDocumentCustomAuthConfig(v **types.CustomAuthConfig, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.(map[string]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } - default: - return fmt.Errorf("expected Date to be a JSON Number, got %T instead", value) + var sv *types.CustomAuthConfig + if *v == nil { + sv = &types.CustomAuthConfig{} + } else { + sv = *v + } - } + for key, value := range shape { + switch key { + case "authParameters": + if err := awsRestjson1_deserializeDocumentAuthParameterList(&sv.AuthParameters, value); err != nil { + return err } - case "credentialsArn": + case "customAuthenticationType": if value != nil { jtv, ok := value.(string) if !ok { - return fmt.Errorf("expected ARN to be of type string, got %T instead", value) - } - sv.CredentialsArn = ptr.String(jtv) - } - - case "lastUpdatedAt": - if value != nil { - switch jtv := value.(type) { - case json.Number: - f64, err := jtv.Float64() - if err != nil { - return err - } - sv.LastUpdatedAt = ptr.Time(smithytime.ParseEpochSeconds(f64)) - - default: - return fmt.Errorf("expected Date to be a JSON Number, got %T instead", value) - + return fmt.Errorf("expected CustomAuthenticationType to be of type string, got %T instead", value) } - } - - case "privateConnectionProvisioningState": - if err := awsRestjson1_deserializeDocumentPrivateConnectionProvisioningState(&sv.PrivateConnectionProvisioningState, value); err != nil { - return err + sv.CustomAuthenticationType = ptr.String(jtv) } default: @@ -4069,7 +5902,7 @@ func awsRestjson1_deserializeDocumentConnectorProfile(v **types.ConnectorProfile return nil } -func awsRestjson1_deserializeDocumentConnectorProfileDetailList(v *[]types.ConnectorProfile, value interface{}) error { +func awsRestjson1_deserializeDocumentCustomAuthConfigList(v *[]types.CustomAuthConfig, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) } @@ -4082,17 +5915,17 @@ func awsRestjson1_deserializeDocumentConnectorProfileDetailList(v *[]types.Conne return fmt.Errorf("unexpected JSON type %v", value) } - var cv []types.ConnectorProfile + var cv []types.CustomAuthConfig if *v == nil { - cv = []types.ConnectorProfile{} + cv = []types.CustomAuthConfig{} } else { cv = *v } for _, value := range shape { - var col types.ConnectorProfile + var col types.CustomAuthConfig destAddr := &col - if err := awsRestjson1_deserializeDocumentConnectorProfile(&destAddr, value); err != nil { + if err := awsRestjson1_deserializeDocumentCustomAuthConfig(&destAddr, value); err != nil { return err } col = *destAddr @@ -4103,7 +5936,7 @@ func awsRestjson1_deserializeDocumentConnectorProfileDetailList(v *[]types.Conne return nil } -func awsRestjson1_deserializeDocumentConnectorProfileProperties(v **types.ConnectorProfileProperties, value interface{}) error { +func awsRestjson1_deserializeDocumentCustomConnectorDestinationProperties(v **types.CustomConnectorDestinationProperties, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) } @@ -4116,98 +5949,46 @@ func awsRestjson1_deserializeDocumentConnectorProfileProperties(v **types.Connec return fmt.Errorf("unexpected JSON type %v", value) } - var sv *types.ConnectorProfileProperties + var sv *types.CustomConnectorDestinationProperties if *v == nil { - sv = &types.ConnectorProfileProperties{} + sv = &types.CustomConnectorDestinationProperties{} } else { sv = *v } for key, value := range shape { switch key { - case "Amplitude": - if err := awsRestjson1_deserializeDocumentAmplitudeConnectorProfileProperties(&sv.Amplitude, value); err != nil { - return err - } - - case "Datadog": - if err := awsRestjson1_deserializeDocumentDatadogConnectorProfileProperties(&sv.Datadog, value); err != nil { - return err - } - - case "Dynatrace": - if err := awsRestjson1_deserializeDocumentDynatraceConnectorProfileProperties(&sv.Dynatrace, value); err != nil { - return err - } - - case "GoogleAnalytics": - if err := awsRestjson1_deserializeDocumentGoogleAnalyticsConnectorProfileProperties(&sv.GoogleAnalytics, value); err != nil { - return err - } - - case "Honeycode": - if err := awsRestjson1_deserializeDocumentHoneycodeConnectorProfileProperties(&sv.Honeycode, value); err != nil { - return err - } - - case "InforNexus": - if err := awsRestjson1_deserializeDocumentInforNexusConnectorProfileProperties(&sv.InforNexus, value); err != nil { - return err - } - - case "Marketo": - if err := awsRestjson1_deserializeDocumentMarketoConnectorProfileProperties(&sv.Marketo, value); err != nil { - return err - } - - case "Redshift": - if err := awsRestjson1_deserializeDocumentRedshiftConnectorProfileProperties(&sv.Redshift, value); err != nil { - return err - } - - case "Salesforce": - if err := awsRestjson1_deserializeDocumentSalesforceConnectorProfileProperties(&sv.Salesforce, value); err != nil { - return err - } - - case "SAPOData": - if err := awsRestjson1_deserializeDocumentSAPODataConnectorProfileProperties(&sv.SAPOData, value); err != nil { - return err - } - - case "ServiceNow": - if err := awsRestjson1_deserializeDocumentServiceNowConnectorProfileProperties(&sv.ServiceNow, value); err != nil { + case "customProperties": + if err := awsRestjson1_deserializeDocumentCustomProperties(&sv.CustomProperties, value); err != nil { return err } - case "Singular": - if err := awsRestjson1_deserializeDocumentSingularConnectorProfileProperties(&sv.Singular, value); err != nil { - return err - } - - case "Slack": - if err := awsRestjson1_deserializeDocumentSlackConnectorProfileProperties(&sv.Slack, value); err != nil { - return err - } - - case "Snowflake": - if err := awsRestjson1_deserializeDocumentSnowflakeConnectorProfileProperties(&sv.Snowflake, value); err != nil { - return err + case "entityName": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected EntityName to be of type string, got %T instead", value) + } + sv.EntityName = ptr.String(jtv) } - case "Trendmicro": - if err := awsRestjson1_deserializeDocumentTrendmicroConnectorProfileProperties(&sv.Trendmicro, value); err != nil { + case "errorHandlingConfig": + if err := awsRestjson1_deserializeDocumentErrorHandlingConfig(&sv.ErrorHandlingConfig, value); err != nil { return err } - case "Veeva": - if err := awsRestjson1_deserializeDocumentVeevaConnectorProfileProperties(&sv.Veeva, value); err != nil { + case "idFieldNames": + if err := awsRestjson1_deserializeDocumentIdFieldNameList(&sv.IdFieldNames, value); err != nil { return err } - case "Zendesk": - if err := awsRestjson1_deserializeDocumentZendeskConnectorProfileProperties(&sv.Zendesk, value); err != nil { - return err + case "writeOperationType": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected WriteOperationType to be of type string, got %T instead", value) + } + sv.WriteOperationType = types.WriteOperationType(jtv) } default: @@ -4219,7 +6000,7 @@ func awsRestjson1_deserializeDocumentConnectorProfileProperties(v **types.Connec return nil } -func awsRestjson1_deserializeDocumentConnectorServerException(v **types.ConnectorServerException, value interface{}) error { +func awsRestjson1_deserializeDocumentCustomConnectorProfileProperties(v **types.CustomConnectorProfileProperties, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) } @@ -4232,22 +6013,23 @@ func awsRestjson1_deserializeDocumentConnectorServerException(v **types.Connecto return fmt.Errorf("unexpected JSON type %v", value) } - var sv *types.ConnectorServerException + var sv *types.CustomConnectorProfileProperties if *v == nil { - sv = &types.ConnectorServerException{} + sv = &types.CustomConnectorProfileProperties{} } else { sv = *v } for key, value := range shape { switch key { - case "message": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected ErrorMessage to be of type string, got %T instead", value) - } - sv.Message = ptr.String(jtv) + case "oAuth2Properties": + if err := awsRestjson1_deserializeDocumentOAuth2Properties(&sv.OAuth2Properties, value); err != nil { + return err + } + + case "profileProperties": + if err := awsRestjson1_deserializeDocumentProfilePropertiesMap(&sv.ProfileProperties, value); err != nil { + return err } default: @@ -4259,7 +6041,7 @@ func awsRestjson1_deserializeDocumentConnectorServerException(v **types.Connecto return nil } -func awsRestjson1_deserializeDocumentConnectorTypeList(v *[]types.ConnectorType, value interface{}) error { +func awsRestjson1_deserializeDocumentCustomConnectorSourceProperties(v **types.CustomConnectorSourceProperties, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) } @@ -4267,31 +6049,40 @@ func awsRestjson1_deserializeDocumentConnectorTypeList(v *[]types.ConnectorType, return nil } - shape, ok := value.([]interface{}) + shape, ok := value.(map[string]interface{}) if !ok { return fmt.Errorf("unexpected JSON type %v", value) } - var cv []types.ConnectorType + var sv *types.CustomConnectorSourceProperties if *v == nil { - cv = []types.ConnectorType{} + sv = &types.CustomConnectorSourceProperties{} } else { - cv = *v + sv = *v } - for _, value := range shape { - var col types.ConnectorType - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected ConnectorType to be of type string, got %T instead", value) + for key, value := range shape { + switch key { + case "customProperties": + if err := awsRestjson1_deserializeDocumentCustomProperties(&sv.CustomProperties, value); err != nil { + return err } - col = types.ConnectorType(jtv) - } - cv = append(cv, col) + case "entityName": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected EntityName to be of type string, got %T instead", value) + } + sv.EntityName = ptr.String(jtv) + } + + default: + _, _ = key, value + + } } - *v = cv + *v = sv return nil } @@ -4375,6 +6166,42 @@ func awsRestjson1_deserializeDocumentCustomerProfilesMetadata(v **types.Customer return nil } +func awsRestjson1_deserializeDocumentCustomProperties(v *map[string]string, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.(map[string]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var mv map[string]string + if *v == nil { + mv = map[string]string{} + } else { + mv = *v + } + + for key, value := range shape { + var parsedVal string + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected CustomPropertyValue to be of type string, got %T instead", value) + } + parsedVal = jtv + } + mv[key] = parsedVal + + } + *v = mv + return nil +} + func awsRestjson1_deserializeDocumentDatadogConnectorProfileProperties(v **types.DatadogConnectorProfileProperties, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) @@ -4508,6 +6335,11 @@ func awsRestjson1_deserializeDocumentDestinationConnectorProperties(v **types.De for key, value := range shape { switch key { + case "CustomConnector": + if err := awsRestjson1_deserializeDocumentCustomConnectorDestinationProperties(&sv.CustomConnector, value); err != nil { + return err + } + case "CustomerProfiles": if err := awsRestjson1_deserializeDocumentCustomerProfilesDestinationProperties(&sv.CustomerProfiles, value); err != nil { return err @@ -4543,6 +6375,11 @@ func awsRestjson1_deserializeDocumentDestinationConnectorProperties(v **types.De return err } + case "SAPOData": + if err := awsRestjson1_deserializeDocumentSAPODataDestinationProperties(&sv.SAPOData, value); err != nil { + return err + } + case "Snowflake": if err := awsRestjson1_deserializeDocumentSnowflakeDestinationProperties(&sv.Snowflake, value); err != nil { return err @@ -4598,6 +6435,15 @@ func awsRestjson1_deserializeDocumentDestinationFieldProperties(v **types.Destin sv.IsCreatable = jtv } + case "isDefaultedOnCreate": + if value != nil { + jtv, ok := value.(bool) + if !ok { + return fmt.Errorf("expected Boolean to be of type *bool, got %T instead", value) + } + sv.IsDefaultedOnCreate = jtv + } + case "isNullable": if value != nil { jtv, ok := value.(bool) @@ -4661,6 +6507,15 @@ func awsRestjson1_deserializeDocumentDestinationFlowConfig(v **types.Destination for key, value := range shape { switch key { + case "apiVersion": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected ApiVersion to be of type string, got %T instead", value) + } + sv.ApiVersion = ptr.String(jtv) + } + case "connectorProfileName": if value != nil { jtv, ok := value.(string) @@ -5305,6 +7160,11 @@ func awsRestjson1_deserializeDocumentFieldTypeDetails(v **types.FieldTypeDetails for key, value := range shape { switch key { + case "fieldLengthRange": + if err := awsRestjson1_deserializeDocumentRange(&sv.FieldLengthRange, value); err != nil { + return err + } + case "fieldType": if value != nil { jtv, ok := value.(string) @@ -5314,16 +7174,39 @@ func awsRestjson1_deserializeDocumentFieldTypeDetails(v **types.FieldTypeDetails sv.FieldType = ptr.String(jtv) } + case "fieldValueRange": + if err := awsRestjson1_deserializeDocumentRange(&sv.FieldValueRange, value); err != nil { + return err + } + case "filterOperators": if err := awsRestjson1_deserializeDocumentFilterOperatorList(&sv.FilterOperators, value); err != nil { return err } + case "supportedDateFormat": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected String to be of type string, got %T instead", value) + } + sv.SupportedDateFormat = ptr.String(jtv) + } + case "supportedValues": if err := awsRestjson1_deserializeDocumentSupportedValueList(&sv.SupportedValues, value); err != nil { return err } + case "valueRegexPattern": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected String to be of type string, got %T instead", value) + } + sv.ValueRegexPattern = ptr.String(jtv) + } + default: _, _ = key, value @@ -5420,9 +7303,18 @@ func awsRestjson1_deserializeDocumentFlowDefinition(v **types.FlowDefinition, va if value != nil { jtv, ok := value.(string) if !ok { - return fmt.Errorf("expected FlowDescription to be of type string, got %T instead", value) + return fmt.Errorf("expected FlowDescription to be of type string, got %T instead", value) + } + sv.Description = ptr.String(jtv) + } + + case "destinationConnectorLabel": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected ConnectorLabel to be of type string, got %T instead", value) } - sv.Description = ptr.String(jtv) + sv.DestinationConnectorLabel = ptr.String(jtv) } case "destinationConnectorType": @@ -5491,6 +7383,15 @@ func awsRestjson1_deserializeDocumentFlowDefinition(v **types.FlowDefinition, va sv.LastUpdatedBy = ptr.String(jtv) } + case "sourceConnectorLabel": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected ConnectorLabel to be of type string, got %T instead", value) + } + sv.SourceConnectorLabel = ptr.String(jtv) + } + case "sourceConnectorType": if value != nil { jtv, ok := value.(string) @@ -6037,6 +7938,46 @@ func awsRestjson1_deserializeDocumentInternalServerException(v **types.InternalS return nil } +func awsRestjson1_deserializeDocumentLambdaConnectorProvisioningConfig(v **types.LambdaConnectorProvisioningConfig, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.(map[string]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var sv *types.LambdaConnectorProvisioningConfig + if *v == nil { + sv = &types.LambdaConnectorProvisioningConfig{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "lambdaArn": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected ARN to be of type string, got %T instead", value) + } + sv.LambdaArn = ptr.String(jtv) + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + func awsRestjson1_deserializeDocumentLookoutMetricsDestinationProperties(v **types.LookoutMetricsDestinationProperties, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) @@ -6179,6 +8120,142 @@ func awsRestjson1_deserializeDocumentMarketoSourceProperties(v **types.MarketoSo return nil } +func awsRestjson1_deserializeDocumentOAuth2Defaults(v **types.OAuth2Defaults, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.(map[string]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var sv *types.OAuth2Defaults + if *v == nil { + sv = &types.OAuth2Defaults{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "authCodeUrls": + if err := awsRestjson1_deserializeDocumentAuthCodeUrlList(&sv.AuthCodeUrls, value); err != nil { + return err + } + + case "oauth2GrantTypesSupported": + if err := awsRestjson1_deserializeDocumentOAuth2GrantTypeSupportedList(&sv.Oauth2GrantTypesSupported, value); err != nil { + return err + } + + case "oauthScopes": + if err := awsRestjson1_deserializeDocumentOAuthScopeList(&sv.OauthScopes, value); err != nil { + return err + } + + case "tokenUrls": + if err := awsRestjson1_deserializeDocumentTokenUrlList(&sv.TokenUrls, value); err != nil { + return err + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + +func awsRestjson1_deserializeDocumentOAuth2GrantTypeSupportedList(v *[]types.OAuth2GrantType, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.([]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var cv []types.OAuth2GrantType + if *v == nil { + cv = []types.OAuth2GrantType{} + } else { + cv = *v + } + + for _, value := range shape { + var col types.OAuth2GrantType + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected OAuth2GrantType to be of type string, got %T instead", value) + } + col = types.OAuth2GrantType(jtv) + } + cv = append(cv, col) + + } + *v = cv + return nil +} + +func awsRestjson1_deserializeDocumentOAuth2Properties(v **types.OAuth2Properties, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.(map[string]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var sv *types.OAuth2Properties + if *v == nil { + sv = &types.OAuth2Properties{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "oAuth2GrantType": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected OAuth2GrantType to be of type string, got %T instead", value) + } + sv.OAuth2GrantType = types.OAuth2GrantType(jtv) + } + + case "tokenUrl": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected TokenUrl to be of type string, got %T instead", value) + } + sv.TokenUrl = ptr.String(jtv) + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + func awsRestjson1_deserializeDocumentOAuthProperties(v **types.OAuthProperties, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) @@ -6376,6 +8453,141 @@ func awsRestjson1_deserializeDocumentPrivateConnectionProvisioningState(v **type return nil } +func awsRestjson1_deserializeDocumentProfilePropertiesMap(v *map[string]string, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.(map[string]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var mv map[string]string + if *v == nil { + mv = map[string]string{} + } else { + mv = *v + } + + for key, value := range shape { + var parsedVal string + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected ProfilePropertyValue to be of type string, got %T instead", value) + } + parsedVal = jtv + } + mv[key] = parsedVal + + } + *v = mv + return nil +} + +func awsRestjson1_deserializeDocumentRange(v **types.Range, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.(map[string]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var sv *types.Range + if *v == nil { + sv = &types.Range{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "maximum": + if value != nil { + switch jtv := value.(type) { + case json.Number: + f64, err := jtv.Float64() + if err != nil { + return err + } + sv.Maximum = f64 + + case string: + var f64 float64 + switch { + case strings.EqualFold(jtv, "NaN"): + f64 = math.NaN() + + case strings.EqualFold(jtv, "Infinity"): + f64 = math.Inf(1) + + case strings.EqualFold(jtv, "-Infinity"): + f64 = math.Inf(-1) + + default: + return fmt.Errorf("unknown JSON number value: %s", jtv) + + } + sv.Maximum = f64 + + default: + return fmt.Errorf("expected Double to be a JSON Number, got %T instead", value) + + } + } + + case "minimum": + if value != nil { + switch jtv := value.(type) { + case json.Number: + f64, err := jtv.Float64() + if err != nil { + return err + } + sv.Minimum = f64 + + case string: + var f64 float64 + switch { + case strings.EqualFold(jtv, "NaN"): + f64 = math.NaN() + + case strings.EqualFold(jtv, "Infinity"): + f64 = math.Inf(1) + + case strings.EqualFold(jtv, "-Infinity"): + f64 = math.Inf(-1) + + default: + return fmt.Errorf("unknown JSON number value: %s", jtv) + + } + sv.Minimum = f64 + + default: + return fmt.Errorf("expected Double to be a JSON Number, got %T instead", value) + + } + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + func awsRestjson1_deserializeDocumentRedshiftConnectorProfileProperties(v **types.RedshiftConnectorProfileProperties, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) @@ -7138,6 +9350,70 @@ func awsRestjson1_deserializeDocumentSAPODataConnectorProfileProperties(v **type return nil } +func awsRestjson1_deserializeDocumentSAPODataDestinationProperties(v **types.SAPODataDestinationProperties, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.(map[string]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var sv *types.SAPODataDestinationProperties + if *v == nil { + sv = &types.SAPODataDestinationProperties{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "errorHandlingConfig": + if err := awsRestjson1_deserializeDocumentErrorHandlingConfig(&sv.ErrorHandlingConfig, value); err != nil { + return err + } + + case "idFieldNames": + if err := awsRestjson1_deserializeDocumentIdFieldNameList(&sv.IdFieldNames, value); err != nil { + return err + } + + case "objectPath": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected Object to be of type string, got %T instead", value) + } + sv.ObjectPath = ptr.String(jtv) + } + + case "successResponseHandlingConfig": + if err := awsRestjson1_deserializeDocumentSuccessResponseHandlingConfig(&sv.SuccessResponseHandlingConfig, value); err != nil { + return err + } + + case "writeOperationType": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected WriteOperationType to be of type string, got %T instead", value) + } + sv.WriteOperationType = types.WriteOperationType(jtv) + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + func awsRestjson1_deserializeDocumentSAPODataMetadata(v **types.SAPODataMetadata, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) @@ -7953,6 +10229,11 @@ func awsRestjson1_deserializeDocumentSourceConnectorProperties(v **types.SourceC return err } + case "CustomConnector": + if err := awsRestjson1_deserializeDocumentCustomConnectorSourceProperties(&sv.CustomConnector, value); err != nil { + return err + } + case "Datadog": if err := awsRestjson1_deserializeDocumentDatadogSourceProperties(&sv.Datadog, value); err != nil { return err @@ -8072,6 +10353,15 @@ func awsRestjson1_deserializeDocumentSourceFieldProperties(v **types.SourceField sv.IsRetrievable = jtv } + case "isTimestampFieldForIncrementalQueries": + if value != nil { + jtv, ok := value.(bool) + if !ok { + return fmt.Errorf("expected Boolean to be of type *bool, got %T instead", value) + } + sv.IsTimestampFieldForIncrementalQueries = jtv + } + default: _, _ = key, value @@ -8139,6 +10429,15 @@ func awsRestjson1_deserializeDocumentSourceFlowConfig(v **types.SourceFlowConfig for key, value := range shape { switch key { + case "apiVersion": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected ApiVersion to be of type string, got %T instead", value) + } + sv.ApiVersion = ptr.String(jtv) + } + case "connectorProfileName": if value != nil { jtv, ok := value.(string) @@ -8176,6 +10475,91 @@ func awsRestjson1_deserializeDocumentSourceFlowConfig(v **types.SourceFlowConfig return nil } +func awsRestjson1_deserializeDocumentSuccessResponseHandlingConfig(v **types.SuccessResponseHandlingConfig, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.(map[string]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var sv *types.SuccessResponseHandlingConfig + if *v == nil { + sv = &types.SuccessResponseHandlingConfig{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "bucketName": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected BucketName to be of type string, got %T instead", value) + } + sv.BucketName = ptr.String(jtv) + } + + case "bucketPrefix": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected BucketPrefix to be of type string, got %T instead", value) + } + sv.BucketPrefix = ptr.String(jtv) + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + +func awsRestjson1_deserializeDocumentSupportedApiVersionList(v *[]string, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.([]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var cv []string + if *v == nil { + cv = []string{} + } else { + cv = *v + } + + for _, value := range shape { + var col string + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected SupportedApiVersion to be of type string, got %T instead", value) + } + col = jtv + } + cv = append(cv, col) + + } + *v = cv + return nil +} + func awsRestjson1_deserializeDocumentSupportedFieldTypeDetails(v **types.SupportedFieldTypeDetails, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) @@ -8212,6 +10596,42 @@ func awsRestjson1_deserializeDocumentSupportedFieldTypeDetails(v **types.Support return nil } +func awsRestjson1_deserializeDocumentSupportedOperatorList(v *[]types.Operators, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.([]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var cv []types.Operators + if *v == nil { + cv = []types.Operators{} + } else { + cv = *v + } + + for _, value := range shape { + var col types.Operators + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected Operators to be of type string, got %T instead", value) + } + col = types.Operators(jtv) + } + cv = append(cv, col) + + } + *v = cv + return nil +} + func awsRestjson1_deserializeDocumentSupportedValueList(v *[]string, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) @@ -8454,6 +10874,82 @@ func awsRestjson1_deserializeDocumentTasks(v *[]types.Task, value interface{}) e return nil } +func awsRestjson1_deserializeDocumentThrottlingException(v **types.ThrottlingException, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.(map[string]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var sv *types.ThrottlingException + if *v == nil { + sv = &types.ThrottlingException{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "message": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected ErrorMessage to be of type string, got %T instead", value) + } + sv.Message = ptr.String(jtv) + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + +func awsRestjson1_deserializeDocumentTokenUrlList(v *[]string, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.([]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var cv []string + if *v == nil { + cv = []string{} + } else { + cv = *v + } + + for _, value := range shape { + var col string + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected TokenUrl to be of type string, got %T instead", value) + } + col = jtv + } + cv = append(cv, col) + + } + *v = cv + return nil +} + func awsRestjson1_deserializeDocumentTrendmicroConnectorProfileProperties(v **types.TrendmicroConnectorProfileProperties, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) diff --git a/service/appflow/generated.json b/service/appflow/generated.json index f2a142e5072..b26eafef92a 100644 --- a/service/appflow/generated.json +++ b/service/appflow/generated.json @@ -12,17 +12,21 @@ "api_op_CreateFlow.go", "api_op_DeleteConnectorProfile.go", "api_op_DeleteFlow.go", + "api_op_DescribeConnector.go", "api_op_DescribeConnectorEntity.go", "api_op_DescribeConnectorProfiles.go", "api_op_DescribeConnectors.go", "api_op_DescribeFlow.go", "api_op_DescribeFlowExecutionRecords.go", "api_op_ListConnectorEntities.go", + "api_op_ListConnectors.go", "api_op_ListFlows.go", "api_op_ListTagsForResource.go", + "api_op_RegisterConnector.go", "api_op_StartFlow.go", "api_op_StopFlow.go", "api_op_TagResource.go", + "api_op_UnregisterConnector.go", "api_op_UntagResource.go", "api_op_UpdateConnectorProfile.go", "api_op_UpdateFlow.go", diff --git a/service/appflow/serializers.go b/service/appflow/serializers.go index 989d3408e91..69c8e841f2d 100644 --- a/service/appflow/serializers.go +++ b/service/appflow/serializers.go @@ -80,6 +80,11 @@ func awsRestjson1_serializeOpDocumentCreateConnectorProfileInput(v *CreateConnec ok.String(string(v.ConnectionMode)) } + if v.ConnectorLabel != nil { + ok := object.Key("connectorLabel") + ok.String(*v.ConnectorLabel) + } + if v.ConnectorProfileConfig != nil { ok := object.Key("connectorProfileConfig") if err := awsRestjson1_serializeDocumentConnectorProfileConfig(v.ConnectorProfileConfig, ok); err != nil { @@ -364,6 +369,79 @@ func awsRestjson1_serializeOpDocumentDeleteFlowInput(v *DeleteFlowInput, value s return nil } +type awsRestjson1_serializeOpDescribeConnector struct { +} + +func (*awsRestjson1_serializeOpDescribeConnector) ID() string { + return "OperationSerializer" +} + +func (m *awsRestjson1_serializeOpDescribeConnector) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( + out middleware.SerializeOutput, metadata middleware.Metadata, err error, +) { + request, ok := in.Request.(*smithyhttp.Request) + if !ok { + return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} + } + + input, ok := in.Parameters.(*DescribeConnectorInput) + _ = input + if !ok { + return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} + } + + opPath, opQuery := httpbinding.SplitURI("/describe-connector") + request.URL.Path = smithyhttp.JoinPath(request.URL.Path, opPath) + request.URL.RawQuery = smithyhttp.JoinRawQuery(request.URL.RawQuery, opQuery) + request.Method = "POST" + restEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header) + if err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + restEncoder.SetHeader("Content-Type").String("application/json") + + jsonEncoder := smithyjson.NewEncoder() + if err := awsRestjson1_serializeOpDocumentDescribeConnectorInput(input, jsonEncoder.Value); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + if request, err = request.SetStream(bytes.NewReader(jsonEncoder.Bytes())); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + if request.Request, err = restEncoder.Encode(request.Request); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + in.Request = request + + return next.HandleSerialize(ctx, in) +} +func awsRestjson1_serializeOpHttpBindingsDescribeConnectorInput(v *DescribeConnectorInput, encoder *httpbinding.Encoder) error { + if v == nil { + return fmt.Errorf("unsupported serialization of nil %T", v) + } + + return nil +} + +func awsRestjson1_serializeOpDocumentDescribeConnectorInput(v *DescribeConnectorInput, value smithyjson.Value) error { + object := value.Object() + defer object.Close() + + if v.ConnectorLabel != nil { + ok := object.Key("connectorLabel") + ok.String(*v.ConnectorLabel) + } + + if len(v.ConnectorType) > 0 { + ok := object.Key("connectorType") + ok.String(string(v.ConnectorType)) + } + + return nil +} + type awsRestjson1_serializeOpDescribeConnectorEntity struct { } @@ -424,6 +502,11 @@ func awsRestjson1_serializeOpDocumentDescribeConnectorEntityInput(v *DescribeCon object := value.Object() defer object.Close() + if v.ApiVersion != nil { + ok := object.Key("apiVersion") + ok.String(*v.ApiVersion) + } + if v.ConnectorEntityName != nil { ok := object.Key("connectorEntityName") ok.String(*v.ConnectorEntityName) @@ -502,6 +585,11 @@ func awsRestjson1_serializeOpDocumentDescribeConnectorProfilesInput(v *DescribeC object := value.Object() defer object.Close() + if v.ConnectorLabel != nil { + ok := object.Key("connectorLabel") + ok.String(*v.ConnectorLabel) + } + if v.ConnectorProfileNames != nil { ok := object.Key("connectorProfileNames") if err := awsRestjson1_serializeDocumentConnectorProfileNameList(v.ConnectorProfileNames, ok); err != nil { @@ -594,6 +682,11 @@ func awsRestjson1_serializeOpDocumentDescribeConnectorsInput(v *DescribeConnecto } } + if v.MaxResults != nil { + ok := object.Key("maxResults") + ok.Integer(*v.MaxResults) + } + if v.NextToken != nil { ok := object.Key("nextToken") ok.String(*v.NextToken) @@ -808,6 +901,11 @@ func awsRestjson1_serializeOpDocumentListConnectorEntitiesInput(v *ListConnector object := value.Object() defer object.Close() + if v.ApiVersion != nil { + ok := object.Key("apiVersion") + ok.String(*v.ApiVersion) + } + if v.ConnectorProfileName != nil { ok := object.Key("connectorProfileName") ok.String(*v.ConnectorProfileName) @@ -826,6 +924,79 @@ func awsRestjson1_serializeOpDocumentListConnectorEntitiesInput(v *ListConnector return nil } +type awsRestjson1_serializeOpListConnectors struct { +} + +func (*awsRestjson1_serializeOpListConnectors) ID() string { + return "OperationSerializer" +} + +func (m *awsRestjson1_serializeOpListConnectors) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( + out middleware.SerializeOutput, metadata middleware.Metadata, err error, +) { + request, ok := in.Request.(*smithyhttp.Request) + if !ok { + return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} + } + + input, ok := in.Parameters.(*ListConnectorsInput) + _ = input + if !ok { + return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} + } + + opPath, opQuery := httpbinding.SplitURI("/list-connectors") + request.URL.Path = smithyhttp.JoinPath(request.URL.Path, opPath) + request.URL.RawQuery = smithyhttp.JoinRawQuery(request.URL.RawQuery, opQuery) + request.Method = "POST" + restEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header) + if err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + restEncoder.SetHeader("Content-Type").String("application/json") + + jsonEncoder := smithyjson.NewEncoder() + if err := awsRestjson1_serializeOpDocumentListConnectorsInput(input, jsonEncoder.Value); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + if request, err = request.SetStream(bytes.NewReader(jsonEncoder.Bytes())); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + if request.Request, err = restEncoder.Encode(request.Request); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + in.Request = request + + return next.HandleSerialize(ctx, in) +} +func awsRestjson1_serializeOpHttpBindingsListConnectorsInput(v *ListConnectorsInput, encoder *httpbinding.Encoder) error { + if v == nil { + return fmt.Errorf("unsupported serialization of nil %T", v) + } + + return nil +} + +func awsRestjson1_serializeOpDocumentListConnectorsInput(v *ListConnectorsInput, value smithyjson.Value) error { + object := value.Object() + defer object.Close() + + if v.MaxResults != nil { + ok := object.Key("maxResults") + ok.Integer(*v.MaxResults) + } + + if v.NextToken != nil { + ok := object.Key("nextToken") + ok.String(*v.NextToken) + } + + return nil +} + type awsRestjson1_serializeOpListFlows struct { } @@ -957,6 +1128,91 @@ func awsRestjson1_serializeOpHttpBindingsListTagsForResourceInput(v *ListTagsFor return nil } +type awsRestjson1_serializeOpRegisterConnector struct { +} + +func (*awsRestjson1_serializeOpRegisterConnector) ID() string { + return "OperationSerializer" +} + +func (m *awsRestjson1_serializeOpRegisterConnector) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( + out middleware.SerializeOutput, metadata middleware.Metadata, err error, +) { + request, ok := in.Request.(*smithyhttp.Request) + if !ok { + return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} + } + + input, ok := in.Parameters.(*RegisterConnectorInput) + _ = input + if !ok { + return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} + } + + opPath, opQuery := httpbinding.SplitURI("/register-connector") + request.URL.Path = smithyhttp.JoinPath(request.URL.Path, opPath) + request.URL.RawQuery = smithyhttp.JoinRawQuery(request.URL.RawQuery, opQuery) + request.Method = "POST" + restEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header) + if err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + restEncoder.SetHeader("Content-Type").String("application/json") + + jsonEncoder := smithyjson.NewEncoder() + if err := awsRestjson1_serializeOpDocumentRegisterConnectorInput(input, jsonEncoder.Value); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + if request, err = request.SetStream(bytes.NewReader(jsonEncoder.Bytes())); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + if request.Request, err = restEncoder.Encode(request.Request); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + in.Request = request + + return next.HandleSerialize(ctx, in) +} +func awsRestjson1_serializeOpHttpBindingsRegisterConnectorInput(v *RegisterConnectorInput, encoder *httpbinding.Encoder) error { + if v == nil { + return fmt.Errorf("unsupported serialization of nil %T", v) + } + + return nil +} + +func awsRestjson1_serializeOpDocumentRegisterConnectorInput(v *RegisterConnectorInput, value smithyjson.Value) error { + object := value.Object() + defer object.Close() + + if v.ConnectorLabel != nil { + ok := object.Key("connectorLabel") + ok.String(*v.ConnectorLabel) + } + + if v.ConnectorProvisioningConfig != nil { + ok := object.Key("connectorProvisioningConfig") + if err := awsRestjson1_serializeDocumentConnectorProvisioningConfig(v.ConnectorProvisioningConfig, ok); err != nil { + return err + } + } + + if len(v.ConnectorProvisioningType) > 0 { + ok := object.Key("connectorProvisioningType") + ok.String(string(v.ConnectorProvisioningType)) + } + + if v.Description != nil { + ok := object.Key("description") + ok.String(*v.Description) + } + + return nil +} + type awsRestjson1_serializeOpStartFlow struct { } @@ -1176,6 +1432,79 @@ func awsRestjson1_serializeOpDocumentTagResourceInput(v *TagResourceInput, value return nil } +type awsRestjson1_serializeOpUnregisterConnector struct { +} + +func (*awsRestjson1_serializeOpUnregisterConnector) ID() string { + return "OperationSerializer" +} + +func (m *awsRestjson1_serializeOpUnregisterConnector) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( + out middleware.SerializeOutput, metadata middleware.Metadata, err error, +) { + request, ok := in.Request.(*smithyhttp.Request) + if !ok { + return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} + } + + input, ok := in.Parameters.(*UnregisterConnectorInput) + _ = input + if !ok { + return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} + } + + opPath, opQuery := httpbinding.SplitURI("/unregister-connector") + request.URL.Path = smithyhttp.JoinPath(request.URL.Path, opPath) + request.URL.RawQuery = smithyhttp.JoinRawQuery(request.URL.RawQuery, opQuery) + request.Method = "POST" + restEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header) + if err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + restEncoder.SetHeader("Content-Type").String("application/json") + + jsonEncoder := smithyjson.NewEncoder() + if err := awsRestjson1_serializeOpDocumentUnregisterConnectorInput(input, jsonEncoder.Value); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + if request, err = request.SetStream(bytes.NewReader(jsonEncoder.Bytes())); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + if request.Request, err = restEncoder.Encode(request.Request); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + in.Request = request + + return next.HandleSerialize(ctx, in) +} +func awsRestjson1_serializeOpHttpBindingsUnregisterConnectorInput(v *UnregisterConnectorInput, encoder *httpbinding.Encoder) error { + if v == nil { + return fmt.Errorf("unsupported serialization of nil %T", v) + } + + return nil +} + +func awsRestjson1_serializeOpDocumentUnregisterConnectorInput(v *UnregisterConnectorInput, value smithyjson.Value) error { + object := value.Object() + defer object.Close() + + if v.ConnectorLabel != nil { + ok := object.Key("connectorLabel") + ok.String(*v.ConnectorLabel) + } + + if v.ForceDelete { + ok := object.Key("forceDelete") + ok.Boolean(v.ForceDelete) + } + + return nil +} + type awsRestjson1_serializeOpUntagResource struct { } @@ -1469,6 +1798,23 @@ func awsRestjson1_serializeDocumentAmplitudeSourceProperties(v *types.AmplitudeS return nil } +func awsRestjson1_serializeDocumentApiKeyCredentials(v *types.ApiKeyCredentials, value smithyjson.Value) error { + object := value.Object() + defer object.Close() + + if v.ApiKey != nil { + ok := object.Key("apiKey") + ok.String(*v.ApiKey) + } + + if v.ApiSecretKey != nil { + ok := object.Key("apiSecretKey") + ok.String(*v.ApiSecretKey) + } + + return nil +} + func awsRestjson1_serializeDocumentBasicAuthCredentials(v *types.BasicAuthCredentials, value smithyjson.Value) error { object := value.Object() defer object.Close() @@ -1512,6 +1858,11 @@ func awsRestjson1_serializeDocumentConnectorOperator(v *types.ConnectorOperator, ok.String(string(v.Amplitude)) } + if len(v.CustomConnector) > 0 { + ok := object.Key("CustomConnector") + ok.String(string(v.CustomConnector)) + } + if len(v.Datadog) > 0 { ok := object.Key("Datadog") ok.String(string(v.Datadog)) @@ -1617,6 +1968,13 @@ func awsRestjson1_serializeDocumentConnectorProfileCredentials(v *types.Connecto } } + if v.CustomConnector != nil { + ok := object.Key("CustomConnector") + if err := awsRestjson1_serializeDocumentCustomConnectorProfileCredentials(v.CustomConnector, ok); err != nil { + return err + } + } + if v.Datadog != nil { ok := object.Key("Datadog") if err := awsRestjson1_serializeDocumentDatadogConnectorProfileCredentials(v.Datadog, ok); err != nil { @@ -1736,132 +2094,293 @@ func awsRestjson1_serializeDocumentConnectorProfileNameList(v []string, value sm array := value.Array() defer array.Close() - for i := range v { - av := array.Value() - av.String(v[i]) + for i := range v { + av := array.Value() + av.String(v[i]) + } + return nil +} + +func awsRestjson1_serializeDocumentConnectorProfileProperties(v *types.ConnectorProfileProperties, value smithyjson.Value) error { + object := value.Object() + defer object.Close() + + if v.Amplitude != nil { + ok := object.Key("Amplitude") + if err := awsRestjson1_serializeDocumentAmplitudeConnectorProfileProperties(v.Amplitude, ok); err != nil { + return err + } + } + + if v.CustomConnector != nil { + ok := object.Key("CustomConnector") + if err := awsRestjson1_serializeDocumentCustomConnectorProfileProperties(v.CustomConnector, ok); err != nil { + return err + } + } + + if v.Datadog != nil { + ok := object.Key("Datadog") + if err := awsRestjson1_serializeDocumentDatadogConnectorProfileProperties(v.Datadog, ok); err != nil { + return err + } + } + + if v.Dynatrace != nil { + ok := object.Key("Dynatrace") + if err := awsRestjson1_serializeDocumentDynatraceConnectorProfileProperties(v.Dynatrace, ok); err != nil { + return err + } + } + + if v.GoogleAnalytics != nil { + ok := object.Key("GoogleAnalytics") + if err := awsRestjson1_serializeDocumentGoogleAnalyticsConnectorProfileProperties(v.GoogleAnalytics, ok); err != nil { + return err + } + } + + if v.Honeycode != nil { + ok := object.Key("Honeycode") + if err := awsRestjson1_serializeDocumentHoneycodeConnectorProfileProperties(v.Honeycode, ok); err != nil { + return err + } + } + + if v.InforNexus != nil { + ok := object.Key("InforNexus") + if err := awsRestjson1_serializeDocumentInforNexusConnectorProfileProperties(v.InforNexus, ok); err != nil { + return err + } + } + + if v.Marketo != nil { + ok := object.Key("Marketo") + if err := awsRestjson1_serializeDocumentMarketoConnectorProfileProperties(v.Marketo, ok); err != nil { + return err + } + } + + if v.Redshift != nil { + ok := object.Key("Redshift") + if err := awsRestjson1_serializeDocumentRedshiftConnectorProfileProperties(v.Redshift, ok); err != nil { + return err + } + } + + if v.Salesforce != nil { + ok := object.Key("Salesforce") + if err := awsRestjson1_serializeDocumentSalesforceConnectorProfileProperties(v.Salesforce, ok); err != nil { + return err + } + } + + if v.SAPOData != nil { + ok := object.Key("SAPOData") + if err := awsRestjson1_serializeDocumentSAPODataConnectorProfileProperties(v.SAPOData, ok); err != nil { + return err + } + } + + if v.ServiceNow != nil { + ok := object.Key("ServiceNow") + if err := awsRestjson1_serializeDocumentServiceNowConnectorProfileProperties(v.ServiceNow, ok); err != nil { + return err + } + } + + if v.Singular != nil { + ok := object.Key("Singular") + if err := awsRestjson1_serializeDocumentSingularConnectorProfileProperties(v.Singular, ok); err != nil { + return err + } + } + + if v.Slack != nil { + ok := object.Key("Slack") + if err := awsRestjson1_serializeDocumentSlackConnectorProfileProperties(v.Slack, ok); err != nil { + return err + } + } + + if v.Snowflake != nil { + ok := object.Key("Snowflake") + if err := awsRestjson1_serializeDocumentSnowflakeConnectorProfileProperties(v.Snowflake, ok); err != nil { + return err + } + } + + if v.Trendmicro != nil { + ok := object.Key("Trendmicro") + if err := awsRestjson1_serializeDocumentTrendmicroConnectorProfileProperties(v.Trendmicro, ok); err != nil { + return err + } + } + + if v.Veeva != nil { + ok := object.Key("Veeva") + if err := awsRestjson1_serializeDocumentVeevaConnectorProfileProperties(v.Veeva, ok); err != nil { + return err + } + } + + if v.Zendesk != nil { + ok := object.Key("Zendesk") + if err := awsRestjson1_serializeDocumentZendeskConnectorProfileProperties(v.Zendesk, ok); err != nil { + return err + } + } + + return nil +} + +func awsRestjson1_serializeDocumentConnectorProvisioningConfig(v *types.ConnectorProvisioningConfig, value smithyjson.Value) error { + object := value.Object() + defer object.Close() + + if v.Lambda != nil { + ok := object.Key("lambda") + if err := awsRestjson1_serializeDocumentLambdaConnectorProvisioningConfig(v.Lambda, ok); err != nil { + return err + } + } + + return nil +} + +func awsRestjson1_serializeDocumentConnectorTypeList(v []types.ConnectorType, value smithyjson.Value) error { + array := value.Array() + defer array.Close() + + for i := range v { + av := array.Value() + av.String(string(v[i])) + } + return nil +} + +func awsRestjson1_serializeDocumentCredentialsMap(v map[string]string, value smithyjson.Value) error { + object := value.Object() + defer object.Close() + + for key := range v { + om := object.Key(key) + om.String(v[key]) } return nil } -func awsRestjson1_serializeDocumentConnectorProfileProperties(v *types.ConnectorProfileProperties, value smithyjson.Value) error { +func awsRestjson1_serializeDocumentCustomAuthCredentials(v *types.CustomAuthCredentials, value smithyjson.Value) error { object := value.Object() defer object.Close() - if v.Amplitude != nil { - ok := object.Key("Amplitude") - if err := awsRestjson1_serializeDocumentAmplitudeConnectorProfileProperties(v.Amplitude, ok); err != nil { + if v.CredentialsMap != nil { + ok := object.Key("credentialsMap") + if err := awsRestjson1_serializeDocumentCredentialsMap(v.CredentialsMap, ok); err != nil { return err } } - if v.Datadog != nil { - ok := object.Key("Datadog") - if err := awsRestjson1_serializeDocumentDatadogConnectorProfileProperties(v.Datadog, ok); err != nil { - return err - } + if v.CustomAuthenticationType != nil { + ok := object.Key("customAuthenticationType") + ok.String(*v.CustomAuthenticationType) } - if v.Dynatrace != nil { - ok := object.Key("Dynatrace") - if err := awsRestjson1_serializeDocumentDynatraceConnectorProfileProperties(v.Dynatrace, ok); err != nil { - return err - } - } + return nil +} - if v.GoogleAnalytics != nil { - ok := object.Key("GoogleAnalytics") - if err := awsRestjson1_serializeDocumentGoogleAnalyticsConnectorProfileProperties(v.GoogleAnalytics, ok); err != nil { - return err - } - } +func awsRestjson1_serializeDocumentCustomConnectorDestinationProperties(v *types.CustomConnectorDestinationProperties, value smithyjson.Value) error { + object := value.Object() + defer object.Close() - if v.Honeycode != nil { - ok := object.Key("Honeycode") - if err := awsRestjson1_serializeDocumentHoneycodeConnectorProfileProperties(v.Honeycode, ok); err != nil { + if v.CustomProperties != nil { + ok := object.Key("customProperties") + if err := awsRestjson1_serializeDocumentCustomProperties(v.CustomProperties, ok); err != nil { return err } } - if v.InforNexus != nil { - ok := object.Key("InforNexus") - if err := awsRestjson1_serializeDocumentInforNexusConnectorProfileProperties(v.InforNexus, ok); err != nil { - return err - } + if v.EntityName != nil { + ok := object.Key("entityName") + ok.String(*v.EntityName) } - if v.Marketo != nil { - ok := object.Key("Marketo") - if err := awsRestjson1_serializeDocumentMarketoConnectorProfileProperties(v.Marketo, ok); err != nil { + if v.ErrorHandlingConfig != nil { + ok := object.Key("errorHandlingConfig") + if err := awsRestjson1_serializeDocumentErrorHandlingConfig(v.ErrorHandlingConfig, ok); err != nil { return err } } - if v.Redshift != nil { - ok := object.Key("Redshift") - if err := awsRestjson1_serializeDocumentRedshiftConnectorProfileProperties(v.Redshift, ok); err != nil { + if v.IdFieldNames != nil { + ok := object.Key("idFieldNames") + if err := awsRestjson1_serializeDocumentIdFieldNameList(v.IdFieldNames, ok); err != nil { return err } } - if v.Salesforce != nil { - ok := object.Key("Salesforce") - if err := awsRestjson1_serializeDocumentSalesforceConnectorProfileProperties(v.Salesforce, ok); err != nil { - return err - } + if len(v.WriteOperationType) > 0 { + ok := object.Key("writeOperationType") + ok.String(string(v.WriteOperationType)) } - if v.SAPOData != nil { - ok := object.Key("SAPOData") - if err := awsRestjson1_serializeDocumentSAPODataConnectorProfileProperties(v.SAPOData, ok); err != nil { - return err - } - } + return nil +} - if v.ServiceNow != nil { - ok := object.Key("ServiceNow") - if err := awsRestjson1_serializeDocumentServiceNowConnectorProfileProperties(v.ServiceNow, ok); err != nil { +func awsRestjson1_serializeDocumentCustomConnectorProfileCredentials(v *types.CustomConnectorProfileCredentials, value smithyjson.Value) error { + object := value.Object() + defer object.Close() + + if v.ApiKey != nil { + ok := object.Key("apiKey") + if err := awsRestjson1_serializeDocumentApiKeyCredentials(v.ApiKey, ok); err != nil { return err } } - if v.Singular != nil { - ok := object.Key("Singular") - if err := awsRestjson1_serializeDocumentSingularConnectorProfileProperties(v.Singular, ok); err != nil { - return err - } + if len(v.AuthenticationType) > 0 { + ok := object.Key("authenticationType") + ok.String(string(v.AuthenticationType)) } - if v.Slack != nil { - ok := object.Key("Slack") - if err := awsRestjson1_serializeDocumentSlackConnectorProfileProperties(v.Slack, ok); err != nil { + if v.Basic != nil { + ok := object.Key("basic") + if err := awsRestjson1_serializeDocumentBasicAuthCredentials(v.Basic, ok); err != nil { return err } } - if v.Snowflake != nil { - ok := object.Key("Snowflake") - if err := awsRestjson1_serializeDocumentSnowflakeConnectorProfileProperties(v.Snowflake, ok); err != nil { + if v.Custom != nil { + ok := object.Key("custom") + if err := awsRestjson1_serializeDocumentCustomAuthCredentials(v.Custom, ok); err != nil { return err } } - if v.Trendmicro != nil { - ok := object.Key("Trendmicro") - if err := awsRestjson1_serializeDocumentTrendmicroConnectorProfileProperties(v.Trendmicro, ok); err != nil { + if v.Oauth2 != nil { + ok := object.Key("oauth2") + if err := awsRestjson1_serializeDocumentOAuth2Credentials(v.Oauth2, ok); err != nil { return err } } - if v.Veeva != nil { - ok := object.Key("Veeva") - if err := awsRestjson1_serializeDocumentVeevaConnectorProfileProperties(v.Veeva, ok); err != nil { + return nil +} + +func awsRestjson1_serializeDocumentCustomConnectorProfileProperties(v *types.CustomConnectorProfileProperties, value smithyjson.Value) error { + object := value.Object() + defer object.Close() + + if v.OAuth2Properties != nil { + ok := object.Key("oAuth2Properties") + if err := awsRestjson1_serializeDocumentOAuth2Properties(v.OAuth2Properties, ok); err != nil { return err } } - if v.Zendesk != nil { - ok := object.Key("Zendesk") - if err := awsRestjson1_serializeDocumentZendeskConnectorProfileProperties(v.Zendesk, ok); err != nil { + if v.ProfileProperties != nil { + ok := object.Key("profileProperties") + if err := awsRestjson1_serializeDocumentProfilePropertiesMap(v.ProfileProperties, ok); err != nil { return err } } @@ -1869,14 +2388,22 @@ func awsRestjson1_serializeDocumentConnectorProfileProperties(v *types.Connector return nil } -func awsRestjson1_serializeDocumentConnectorTypeList(v []types.ConnectorType, value smithyjson.Value) error { - array := value.Array() - defer array.Close() +func awsRestjson1_serializeDocumentCustomConnectorSourceProperties(v *types.CustomConnectorSourceProperties, value smithyjson.Value) error { + object := value.Object() + defer object.Close() - for i := range v { - av := array.Value() - av.String(string(v[i])) + if v.CustomProperties != nil { + ok := object.Key("customProperties") + if err := awsRestjson1_serializeDocumentCustomProperties(v.CustomProperties, ok); err != nil { + return err + } + } + + if v.EntityName != nil { + ok := object.Key("entityName") + ok.String(*v.EntityName) } + return nil } @@ -1897,6 +2424,17 @@ func awsRestjson1_serializeDocumentCustomerProfilesDestinationProperties(v *type return nil } +func awsRestjson1_serializeDocumentCustomProperties(v map[string]string, value smithyjson.Value) error { + object := value.Object() + defer object.Close() + + for key := range v { + om := object.Key(key) + om.String(v[key]) + } + return nil +} + func awsRestjson1_serializeDocumentDatadogConnectorProfileCredentials(v *types.DatadogConnectorProfileCredentials, value smithyjson.Value) error { object := value.Object() defer object.Close() @@ -1942,6 +2480,13 @@ func awsRestjson1_serializeDocumentDestinationConnectorProperties(v *types.Desti object := value.Object() defer object.Close() + if v.CustomConnector != nil { + ok := object.Key("CustomConnector") + if err := awsRestjson1_serializeDocumentCustomConnectorDestinationProperties(v.CustomConnector, ok); err != nil { + return err + } + } + if v.CustomerProfiles != nil { ok := object.Key("CustomerProfiles") if err := awsRestjson1_serializeDocumentCustomerProfilesDestinationProperties(v.CustomerProfiles, ok); err != nil { @@ -1991,6 +2536,13 @@ func awsRestjson1_serializeDocumentDestinationConnectorProperties(v *types.Desti } } + if v.SAPOData != nil { + ok := object.Key("SAPOData") + if err := awsRestjson1_serializeDocumentSAPODataDestinationProperties(v.SAPOData, ok); err != nil { + return err + } + } + if v.Snowflake != nil { ok := object.Key("Snowflake") if err := awsRestjson1_serializeDocumentSnowflakeDestinationProperties(v.Snowflake, ok); err != nil { @@ -2019,6 +2571,11 @@ func awsRestjson1_serializeDocumentDestinationFlowConfig(v *types.DestinationFlo object := value.Object() defer object.Close() + if v.ApiVersion != nil { + ok := object.Key("apiVersion") + ok.String(*v.ApiVersion) + } + if v.ConnectorProfileName != nil { ok := object.Key("connectorProfileName") ok.String(*v.ConnectorProfileName) @@ -2306,6 +2863,18 @@ func awsRestjson1_serializeDocumentInforNexusSourceProperties(v *types.InforNexu return nil } +func awsRestjson1_serializeDocumentLambdaConnectorProvisioningConfig(v *types.LambdaConnectorProvisioningConfig, value smithyjson.Value) error { + object := value.Object() + defer object.Close() + + if v.LambdaArn != nil { + ok := object.Key("lambdaArn") + ok.String(*v.LambdaArn) + } + + return nil +} + func awsRestjson1_serializeDocumentLookoutMetricsDestinationProperties(v *types.LookoutMetricsDestinationProperties, value smithyjson.Value) error { object := value.Object() defer object.Close() @@ -2366,6 +2935,57 @@ func awsRestjson1_serializeDocumentMarketoSourceProperties(v *types.MarketoSourc return nil } +func awsRestjson1_serializeDocumentOAuth2Credentials(v *types.OAuth2Credentials, value smithyjson.Value) error { + object := value.Object() + defer object.Close() + + if v.AccessToken != nil { + ok := object.Key("accessToken") + ok.String(*v.AccessToken) + } + + if v.ClientId != nil { + ok := object.Key("clientId") + ok.String(*v.ClientId) + } + + if v.ClientSecret != nil { + ok := object.Key("clientSecret") + ok.String(*v.ClientSecret) + } + + if v.OAuthRequest != nil { + ok := object.Key("oAuthRequest") + if err := awsRestjson1_serializeDocumentConnectorOAuthRequest(v.OAuthRequest, ok); err != nil { + return err + } + } + + if v.RefreshToken != nil { + ok := object.Key("refreshToken") + ok.String(*v.RefreshToken) + } + + return nil +} + +func awsRestjson1_serializeDocumentOAuth2Properties(v *types.OAuth2Properties, value smithyjson.Value) error { + object := value.Object() + defer object.Close() + + if len(v.OAuth2GrantType) > 0 { + ok := object.Key("oAuth2GrantType") + ok.String(string(v.OAuth2GrantType)) + } + + if v.TokenUrl != nil { + ok := object.Key("tokenUrl") + ok.String(*v.TokenUrl) + } + + return nil +} + func awsRestjson1_serializeDocumentOAuthCredentials(v *types.OAuthCredentials, value smithyjson.Value) error { object := value.Object() defer object.Close() @@ -2452,6 +3072,17 @@ func awsRestjson1_serializeDocumentPrefixConfig(v *types.PrefixConfig, value smi return nil } +func awsRestjson1_serializeDocumentProfilePropertiesMap(v map[string]string, value smithyjson.Value) error { + object := value.Object() + defer object.Close() + + for key := range v { + om := object.Key(key) + om.String(v[key]) + } + return nil +} + func awsRestjson1_serializeDocumentRedshiftConnectorProfileCredentials(v *types.RedshiftConnectorProfileCredentials, value smithyjson.Value) error { object := value.Object() defer object.Close() @@ -2775,6 +3406,44 @@ func awsRestjson1_serializeDocumentSAPODataConnectorProfileProperties(v *types.S return nil } +func awsRestjson1_serializeDocumentSAPODataDestinationProperties(v *types.SAPODataDestinationProperties, value smithyjson.Value) error { + object := value.Object() + defer object.Close() + + if v.ErrorHandlingConfig != nil { + ok := object.Key("errorHandlingConfig") + if err := awsRestjson1_serializeDocumentErrorHandlingConfig(v.ErrorHandlingConfig, ok); err != nil { + return err + } + } + + if v.IdFieldNames != nil { + ok := object.Key("idFieldNames") + if err := awsRestjson1_serializeDocumentIdFieldNameList(v.IdFieldNames, ok); err != nil { + return err + } + } + + if v.ObjectPath != nil { + ok := object.Key("objectPath") + ok.String(*v.ObjectPath) + } + + if v.SuccessResponseHandlingConfig != nil { + ok := object.Key("successResponseHandlingConfig") + if err := awsRestjson1_serializeDocumentSuccessResponseHandlingConfig(v.SuccessResponseHandlingConfig, ok); err != nil { + return err + } + } + + if len(v.WriteOperationType) > 0 { + ok := object.Key("writeOperationType") + ok.String(string(v.WriteOperationType)) + } + + return nil +} + func awsRestjson1_serializeDocumentSAPODataSourceProperties(v *types.SAPODataSourceProperties, value smithyjson.Value) error { object := value.Object() defer object.Close() @@ -3053,6 +3722,13 @@ func awsRestjson1_serializeDocumentSourceConnectorProperties(v *types.SourceConn } } + if v.CustomConnector != nil { + ok := object.Key("CustomConnector") + if err := awsRestjson1_serializeDocumentCustomConnectorSourceProperties(v.CustomConnector, ok); err != nil { + return err + } + } + if v.Datadog != nil { ok := object.Key("Datadog") if err := awsRestjson1_serializeDocumentDatadogSourceProperties(v.Datadog, ok); err != nil { @@ -3169,6 +3845,11 @@ func awsRestjson1_serializeDocumentSourceFlowConfig(v *types.SourceFlowConfig, v object := value.Object() defer object.Close() + if v.ApiVersion != nil { + ok := object.Key("apiVersion") + ok.String(*v.ApiVersion) + } + if v.ConnectorProfileName != nil { ok := object.Key("connectorProfileName") ok.String(*v.ConnectorProfileName) @@ -3196,6 +3877,23 @@ func awsRestjson1_serializeDocumentSourceFlowConfig(v *types.SourceFlowConfig, v return nil } +func awsRestjson1_serializeDocumentSuccessResponseHandlingConfig(v *types.SuccessResponseHandlingConfig, value smithyjson.Value) error { + object := value.Object() + defer object.Close() + + if v.BucketName != nil { + ok := object.Key("bucketName") + ok.String(*v.BucketName) + } + + if v.BucketPrefix != nil { + ok := object.Key("bucketPrefix") + ok.String(*v.BucketPrefix) + } + + return nil +} + func awsRestjson1_serializeDocumentTagMap(v map[string]string, value smithyjson.Value) error { object := value.Object() defer object.Close() diff --git a/service/appflow/types/enums.go b/service/appflow/types/enums.go index 79c67f98205..fdf90b2e956 100644 --- a/service/appflow/types/enums.go +++ b/service/appflow/types/enums.go @@ -36,6 +36,28 @@ func (AmplitudeConnectorOperator) Values() []AmplitudeConnectorOperator { } } +type AuthenticationType string + +// Enum values for AuthenticationType +const ( + AuthenticationTypeOauth2 AuthenticationType = "OAUTH2" + AuthenticationTypeApikey AuthenticationType = "APIKEY" + AuthenticationTypeBasic AuthenticationType = "BASIC" + AuthenticationTypeCustom AuthenticationType = "CUSTOM" +) + +// Values returns all known values for AuthenticationType. Note that this can be +// expanded in the future, and so it is only as up to date as the client. The +// ordering of this slice is not guaranteed to be stable across updates. +func (AuthenticationType) Values() []AuthenticationType { + return []AuthenticationType{ + "OAUTH2", + "APIKEY", + "BASIC", + "CUSTOM", + } +} + type ConnectionMode string // Enum values for ConnectionMode @@ -54,6 +76,22 @@ func (ConnectionMode) Values() []ConnectionMode { } } +type ConnectorProvisioningType string + +// Enum values for ConnectorProvisioningType +const ( + ConnectorProvisioningTypeLambda ConnectorProvisioningType = "LAMBDA" +) + +// Values returns all known values for ConnectorProvisioningType. Note that this +// can be expanded in the future, and so it is only as up to date as the client. +// The ordering of this slice is not guaranteed to be stable across updates. +func (ConnectorProvisioningType) Values() []ConnectorProvisioningType { + return []ConnectorProvisioningType{ + "LAMBDA", + } +} + type ConnectorType string // Enum values for ConnectorType @@ -80,6 +118,7 @@ const ( ConnectorTypeHoneycode ConnectorType = "Honeycode" ConnectorTypeCustomerprofiles ConnectorType = "CustomerProfiles" ConnectorTypeSapodata ConnectorType = "SAPOData" + ConnectorTypeCustomconnector ConnectorType = "CustomConnector" ) // Values returns all known values for ConnectorType. Note that this can be @@ -109,6 +148,7 @@ func (ConnectorType) Values() []ConnectorType { "Honeycode", "CustomerProfiles", "SAPOData", + "CustomConnector", } } @@ -393,6 +433,24 @@ func (MarketoConnectorOperator) Values() []MarketoConnectorOperator { } } +type OAuth2GrantType string + +// Enum values for OAuth2GrantType +const ( + OAuth2GrantTypeClientCredentials OAuth2GrantType = "CLIENT_CREDENTIALS" + OAuth2GrantTypeAuthorizationCode OAuth2GrantType = "AUTHORIZATION_CODE" +) + +// Values returns all known values for OAuth2GrantType. Note that this can be +// expanded in the future, and so it is only as up to date as the client. The +// ordering of this slice is not guaranteed to be stable across updates. +func (OAuth2GrantType) Values() []OAuth2GrantType { + return []OAuth2GrantType{ + "CLIENT_CREDENTIALS", + "AUTHORIZATION_CODE", + } +} + type Operator string // Enum values for Operator @@ -493,6 +551,62 @@ func (OperatorPropertiesKeys) Values() []OperatorPropertiesKeys { } } +type Operators string + +// Enum values for Operators +const ( + OperatorsProjection Operators = "PROJECTION" + OperatorsLessThan Operators = "LESS_THAN" + OperatorsGreaterThan Operators = "GREATER_THAN" + OperatorsContains Operators = "CONTAINS" + OperatorsBetween Operators = "BETWEEN" + OperatorsLessThanOrEqualTo Operators = "LESS_THAN_OR_EQUAL_TO" + OperatorsGreaterThanOrEqualTo Operators = "GREATER_THAN_OR_EQUAL_TO" + OperatorsEqualTo Operators = "EQUAL_TO" + OperatorsNotEqualTo Operators = "NOT_EQUAL_TO" + OperatorsAddition Operators = "ADDITION" + OperatorsMultiplication Operators = "MULTIPLICATION" + OperatorsDivision Operators = "DIVISION" + OperatorsSubtraction Operators = "SUBTRACTION" + OperatorsMaskAll Operators = "MASK_ALL" + OperatorsMaskFirstN Operators = "MASK_FIRST_N" + OperatorsMaskLastN Operators = "MASK_LAST_N" + OperatorsValidateNonNull Operators = "VALIDATE_NON_NULL" + OperatorsValidateNonZero Operators = "VALIDATE_NON_ZERO" + OperatorsValidateNonNegative Operators = "VALIDATE_NON_NEGATIVE" + OperatorsValidateNumeric Operators = "VALIDATE_NUMERIC" + OperatorsNoOp Operators = "NO_OP" +) + +// Values returns all known values for Operators. Note that this can be expanded in +// the future, and so it is only as up to date as the client. The ordering of this +// slice is not guaranteed to be stable across updates. +func (Operators) Values() []Operators { + return []Operators{ + "PROJECTION", + "LESS_THAN", + "GREATER_THAN", + "CONTAINS", + "BETWEEN", + "LESS_THAN_OR_EQUAL_TO", + "GREATER_THAN_OR_EQUAL_TO", + "EQUAL_TO", + "NOT_EQUAL_TO", + "ADDITION", + "MULTIPLICATION", + "DIVISION", + "SUBTRACTION", + "MASK_ALL", + "MASK_FIRST_N", + "MASK_LAST_N", + "VALIDATE_NON_NULL", + "VALIDATE_NON_ZERO", + "VALIDATE_NON_NEGATIVE", + "VALIDATE_NUMERIC", + "NO_OP", + } +} + type PrefixFormat string // Enum values for PrefixFormat @@ -947,14 +1061,15 @@ type TaskType string // Enum values for TaskType const ( - TaskTypeArithmetic TaskType = "Arithmetic" - TaskTypeFilter TaskType = "Filter" - TaskTypeMap TaskType = "Map" - TaskTypeMapAll TaskType = "Map_all" - TaskTypeMask TaskType = "Mask" - TaskTypeMerge TaskType = "Merge" - TaskTypeTruncate TaskType = "Truncate" - TaskTypeValidate TaskType = "Validate" + TaskTypeArithmetic TaskType = "Arithmetic" + TaskTypeFilter TaskType = "Filter" + TaskTypeMap TaskType = "Map" + TaskTypeMapAll TaskType = "Map_all" + TaskTypeMask TaskType = "Mask" + TaskTypeMerge TaskType = "Merge" + TaskTypePassthrough TaskType = "Passthrough" + TaskTypeTruncate TaskType = "Truncate" + TaskTypeValidate TaskType = "Validate" ) // Values returns all known values for TaskType. Note that this can be expanded in @@ -968,6 +1083,7 @@ func (TaskType) Values() []TaskType { "Map_all", "Mask", "Merge", + "Passthrough", "Truncate", "Validate", } @@ -1098,6 +1214,7 @@ const ( WriteOperationTypeInsert WriteOperationType = "INSERT" WriteOperationTypeUpsert WriteOperationType = "UPSERT" WriteOperationTypeUpdate WriteOperationType = "UPDATE" + WriteOperationTypeDelete WriteOperationType = "DELETE" ) // Values returns all known values for WriteOperationType. Note that this can be @@ -1108,6 +1225,7 @@ func (WriteOperationType) Values() []WriteOperationType { "INSERT", "UPSERT", "UPDATE", + "DELETE", } } diff --git a/service/appflow/types/errors.go b/service/appflow/types/errors.go index df19ab1942e..ec37ced86f1 100644 --- a/service/appflow/types/errors.go +++ b/service/appflow/types/errors.go @@ -7,6 +7,25 @@ import ( smithy "github.com/aws/smithy-go" ) +// AppFlow/Requester has invalid or missing permissions. +type AccessDeniedException struct { + Message *string + + noSmithyDocumentSerde +} + +func (e *AccessDeniedException) Error() string { + return fmt.Sprintf("%s: %s", e.ErrorCode(), e.ErrorMessage()) +} +func (e *AccessDeniedException) ErrorMessage() string { + if e.Message == nil { + return "" + } + return *e.Message +} +func (e *AccessDeniedException) ErrorCode() string { return "AccessDeniedException" } +func (e *AccessDeniedException) ErrorFault() smithy.ErrorFault { return smithy.FaultClient } + // There was a conflict when processing the request (for example, a flow with the // given name already exists within the account. Check for conflicting resource // names and try again. @@ -128,6 +147,26 @@ func (e *ServiceQuotaExceededException) ErrorMessage() string { func (e *ServiceQuotaExceededException) ErrorCode() string { return "ServiceQuotaExceededException" } func (e *ServiceQuotaExceededException) ErrorFault() smithy.ErrorFault { return smithy.FaultClient } +// API calls have exceeded the maximum allowed API request rate per account and per +// Region. +type ThrottlingException struct { + Message *string + + noSmithyDocumentSerde +} + +func (e *ThrottlingException) Error() string { + return fmt.Sprintf("%s: %s", e.ErrorCode(), e.ErrorMessage()) +} +func (e *ThrottlingException) ErrorMessage() string { + if e.Message == nil { + return "" + } + return *e.Message +} +func (e *ThrottlingException) ErrorCode() string { return "ThrottlingException" } +func (e *ThrottlingException) ErrorFault() smithy.ErrorFault { return smithy.FaultClient } + // The requested operation is not supported for the current flow. type UnsupportedOperationException struct { Message *string diff --git a/service/appflow/types/types.go b/service/appflow/types/types.go index 0716c59cb1e..6d680983f15 100644 --- a/service/appflow/types/types.go +++ b/service/appflow/types/types.go @@ -56,6 +56,70 @@ type AmplitudeSourceProperties struct { noSmithyDocumentSerde } +// The API key credentials required for API key authentication. +type ApiKeyCredentials struct { + + // The API key required for API key authentication. + // + // This member is required. + ApiKey *string + + // The API secret key required for API key authentication. + ApiSecretKey *string + + noSmithyDocumentSerde +} + +// Contains information about the authentication config that the connector +// supports. +type AuthenticationConfig struct { + + // Contains information required for custom authentication. + CustomAuthConfigs []CustomAuthConfig + + // Indicates whether API key authentication is supported by the connector + IsApiKeyAuthSupported bool + + // Indicates whether basic authentication is supported by the connector. + IsBasicAuthSupported bool + + // Indicates whether custom authentication is supported by the connector + IsCustomAuthSupported bool + + // Indicates whether OAuth 2.0 authentication is supported by the connector. + IsOAuth2Supported bool + + // Contains the default values required for OAuth 2.0 authentication. + OAuth2Defaults *OAuth2Defaults + + noSmithyDocumentSerde +} + +// Information about required authentication parameters. +type AuthParameter struct { + + // Contains default values for this authentication parameter that are supplied by + // the connector. + ConnectorSuppliedValues []string + + // A description about the authentication parameter. + Description *string + + // Indicates whether this authentication parameter is required. + IsRequired bool + + // Indicates whether this authentication parameter is a sensitive field. + IsSensitiveField bool + + // The authentication key required to authenticate with the connector. + Key *string + + // Label used for authentication parameter. + Label *string + + noSmithyDocumentSerde +} + // The basic auth credentials required for basic authentication. type BasicAuthCredentials struct { @@ -75,31 +139,124 @@ type BasicAuthCredentials struct { // The configuration settings related to a given connector. type ConnectorConfiguration struct { + // The authentication config required for the connector. + AuthenticationConfig *AuthenticationConfig + // Specifies whether the connector can be used as a destination. CanUseAsDestination bool // Specifies whether the connector can be used as a source. CanUseAsSource bool + // The Amazon Resource Name (ARN) for the registered connector. + ConnectorArn *string + + // A description about the connector. + ConnectorDescription *string + + // The label used for registering the connector. + ConnectorLabel *string + // Specifies connector-specific metadata such as oAuthScopes, supportedRegions, // privateLinkServiceUrl, and so on. ConnectorMetadata *ConnectorMetadata + // The connection modes that the connector supports. + ConnectorModes []string + + // The connector name. + ConnectorName *string + + // The owner who developed the connector. + ConnectorOwner *string + + // The configuration required for registering the connector. + ConnectorProvisioningConfig *ConnectorProvisioningConfig + + // The provisioning type used to register the connector. + ConnectorProvisioningType ConnectorProvisioningType + + // The required connector runtime settings. + ConnectorRuntimeSettings []ConnectorRuntimeSetting + + // The connector type. + ConnectorType ConnectorType + + // The connector version. + ConnectorVersion *string + // Specifies if PrivateLink is enabled for that connector. IsPrivateLinkEnabled bool // Specifies if a PrivateLink endpoint URL is required. IsPrivateLinkEndpointUrlRequired bool + // Logo URL of the connector. + LogoURL *string + + // The date on which the connector was registered. + RegisteredAt *time.Time + + // Information about who registered the connector. + RegisteredBy *string + + // A list of API versions that are supported by the connector. + SupportedApiVersions []string + // Lists the connectors that are available for use as destinations. SupportedDestinationConnectors []ConnectorType + // A list of operators supported by the connector. + SupportedOperators []Operators + // Specifies the supported flow frequency for that connector. SupportedSchedulingFrequencies []ScheduleFrequencyType // Specifies the supported trigger types for the flow. SupportedTriggerTypes []TriggerType + // A list of write operations supported by the connector. + SupportedWriteOperations []WriteOperationType + + noSmithyDocumentSerde +} + +// Information about the registered connector. +type ConnectorDetail struct { + + // The application type of the connector. + ApplicationType *string + + // A description about the registered connector. + ConnectorDescription *string + + // A label used for the connector. + ConnectorLabel *string + + // The connection mode that the connector supports. + ConnectorModes []string + + // The name of the connector. + ConnectorName *string + + // The owner of the connector. + ConnectorOwner *string + + // The provisioning type that the connector uses. + ConnectorProvisioningType ConnectorProvisioningType + + // The connector type. + ConnectorType ConnectorType + + // The connector version. + ConnectorVersion *string + + // The time at which the connector was registered. + RegisteredAt *time.Time + + // The user who registered the connector. + RegisteredBy *string + noSmithyDocumentSerde } @@ -135,6 +292,12 @@ type ConnectorEntityField struct { // This member is required. Identifier *string + // A map that has specific properties related to the ConnectorEntityField. + CustomProperties map[string]string + + // Default value that can be assigned to this field. + DefaultValue *string + // A description of the connector entity field. Description *string @@ -142,9 +305,18 @@ type ConnectorEntityField struct { // destination. DestinationProperties *DestinationFieldProperties + // Booelan value that indicates whether this field is deprecated or not. + IsDeprecated bool + + // Booelan value that indicates whether this field can be used as a primary key. + IsPrimaryKey bool + // The label applied to a connector entity field. Label *string + // The parent identifier of the connector field. + ParentIdentifier *string + // The properties that can be applied to a field when the connector is being used // as a source. SourceProperties *SourceFieldProperties @@ -247,6 +419,9 @@ type ConnectorOperator struct { // The operation to be performed on the provided Amplitude source fields. Amplitude AmplitudeConnectorOperator + // Operators supported by the custom connector. + CustomConnector Operator + // The operation to be performed on the provided Datadog source fields. Datadog DatadogConnectorOperator @@ -302,6 +477,9 @@ type ConnectorProfile struct { // Indicates the connection mode and if it is public or private. ConnectionMode ConnectionMode + // The label for the connector profile being created. + ConnectorLabel *string + // The Amazon Resource Name (ARN) of the connector profile. ConnectorProfileArn *string @@ -353,6 +531,10 @@ type ConnectorProfileCredentials struct { // The connector-specific credentials required when using Amplitude. Amplitude *AmplitudeConnectorProfileCredentials + // The connector-specific profile credentials that are required when using the + // custom connector. + CustomConnector *CustomConnectorProfileCredentials + // The connector-specific credentials required when using Datadog. Datadog *DatadogConnectorProfileCredentials @@ -410,6 +592,9 @@ type ConnectorProfileProperties struct { // The connector-specific properties required by Amplitude. Amplitude *AmplitudeConnectorProfileProperties + // The properties required by the custom connector. + CustomConnector *CustomConnectorProfileProperties + // The connector-specific properties required by Datadog. Datadog *DatadogConnectorProfileProperties @@ -461,6 +646,153 @@ type ConnectorProfileProperties struct { noSmithyDocumentSerde } +// Contains information about the configuration of the connector being registered. +type ConnectorProvisioningConfig struct { + + // Contains information about the configuration of the lambda which is being + // registered as the connector. + Lambda *LambdaConnectorProvisioningConfig + + noSmithyDocumentSerde +} + +// Contains information about the connector runtime settings that are required for +// flow execution. +type ConnectorRuntimeSetting struct { + + // Contains default values for the connector runtime setting that are supplied by + // the connector. + ConnectorSuppliedValueOptions []string + + // Data type of the connector runtime setting. + DataType *string + + // A description about the connector runtime setting. + Description *string + + // Indicates whether this connector runtime setting is required. + IsRequired bool + + // Contains value information about the connector runtime setting. + Key *string + + // A label used for connector runtime setting. + Label *string + + // Indicates the scope of the connector runtime setting. + Scope *string + + noSmithyDocumentSerde +} + +// Configuration information required for custom authentication. +type CustomAuthConfig struct { + + // Information about authentication parameters required for authentication. + AuthParameters []AuthParameter + + // The authentication type that the custom connector uses. + CustomAuthenticationType *string + + noSmithyDocumentSerde +} + +// The custom credentials required for custom authentication. +type CustomAuthCredentials struct { + + // The custom authentication type that the connector uses. + // + // This member is required. + CustomAuthenticationType *string + + // A map that holds custom authentication credentials. + CredentialsMap map[string]string + + noSmithyDocumentSerde +} + +// The properties that are applied when the custom connector is being used as a +// destination. +type CustomConnectorDestinationProperties struct { + + // The entity specified in the custom connector as a destination in the flow. + // + // This member is required. + EntityName *string + + // The custom properties that are specific to the connector when it's used as a + // destination in the flow. + CustomProperties map[string]string + + // The settings that determine how Amazon AppFlow handles an error when placing + // data in the custom connector as destination. + ErrorHandlingConfig *ErrorHandlingConfig + + // The name of the field that Amazon AppFlow uses as an ID when performing a write + // operation such as update, delete, or upsert. + IdFieldNames []string + + // Specifies the type of write operation to be performed in the custom connector + // when it's used as destination. + WriteOperationType WriteOperationType + + noSmithyDocumentSerde +} + +// The connector-specific profile credentials that are required when using the +// custom connector. +type CustomConnectorProfileCredentials struct { + + // The authentication type that the custom connector uses for authenticating while + // creating a connector profile. + // + // This member is required. + AuthenticationType AuthenticationType + + // The API keys required for the authentication of the user. + ApiKey *ApiKeyCredentials + + // The basic credentials that are required for the authentication of the user. + Basic *BasicAuthCredentials + + // If the connector uses the custom authentication mechanism, this holds the + // required credentials. + Custom *CustomAuthCredentials + + // The OAuth 2.0 credentials required for the authentication of the user. + Oauth2 *OAuth2Credentials + + noSmithyDocumentSerde +} + +// The profile properties required by the custom connector. +type CustomConnectorProfileProperties struct { + + // The OAuth 2.0 properties required for OAuth 2.0 authentication. + OAuth2Properties *OAuth2Properties + + // A map of properties that are required to create a profile for the custom + // connector. + ProfileProperties map[string]string + + noSmithyDocumentSerde +} + +// The properties that are applied when the custom connector is being used as a +// source. +type CustomConnectorSourceProperties struct { + + // The entity specified in the custom connector as a source in the flow. + // + // This member is required. + EntityName *string + + // Custom properties that are required to use the custom connector as a source. + CustomProperties map[string]string + + noSmithyDocumentSerde +} + // The properties that are applied when Amazon Connect Customer Profiles is used as // a destination. type CustomerProfilesDestinationProperties struct { @@ -531,6 +863,9 @@ type DatadogSourceProperties struct { // This stores the information that is required to query a particular connector. type DestinationConnectorProperties struct { + // The properties that are required to query the custom Connector. + CustomConnector *CustomConnectorDestinationProperties + // The properties required to query Amazon Connect Customer Profiles. CustomerProfiles *CustomerProfilesDestinationProperties @@ -549,6 +884,9 @@ type DestinationConnectorProperties struct { // The properties required to query Amazon S3. S3 *S3DestinationProperties + // The properties required to query SAPOData. + SAPOData *SAPODataDestinationProperties + // The properties required to query Salesforce. Salesforce *SalesforceDestinationProperties @@ -571,6 +909,9 @@ type DestinationFieldProperties struct { // Specifies if the destination field can be created by the current user. IsCreatable bool + // Specifies whether the field can use the default value during a Create operation. + IsDefaultedOnCreate bool + // Specifies if the destination field can have a null value. IsNullable bool @@ -604,6 +945,9 @@ type DestinationFlowConfig struct { // This member is required. DestinationConnectorProperties *DestinationConnectorProperties + // The API version that the destination connector uses. + ApiVersion *string + // The name of the connector profile. This name must be unique for each connector // profile in the Amazon Web Services account. ConnectorProfileName *string @@ -784,10 +1128,22 @@ type FieldTypeDetails struct { // This member is required. FilterOperators []Operator + // This is the allowable length range for this field's value. + FieldLengthRange *Range + + // The range of values this field can hold. + FieldValueRange *Range + + // The date format that the field supports. + SupportedDateFormat *string + // The list of values that a field can contain. For example, a Boolean fieldType // can have two values: "true" and "false". SupportedValues []string + // The regular expression pattern for the field name. + ValueRegexPattern *string + noSmithyDocumentSerde } @@ -804,6 +1160,9 @@ type FlowDefinition struct { // A user-entered description of the flow. Description *string + // The label of the destination connector in the flow. + DestinationConnectorLabel *string + // Specifies the destination connector type, such as Salesforce, Amazon S3, // Amplitude, and so on. DestinationConnectorType ConnectorType @@ -827,6 +1186,9 @@ type FlowDefinition struct { // Specifies the account user name that most recently updated the flow. LastUpdatedBy *string + // The label of the source connector in the flow. + SourceConnectorLabel *string + // Specifies the source connector type, such as Salesforce, Amazon S3, Amplitude, // and so on. SourceConnectorType ConnectorType @@ -1005,6 +1367,18 @@ type InforNexusSourceProperties struct { noSmithyDocumentSerde } +// Contains information about the configuration of the lambda which is being +// registered as the connector. +type LambdaConnectorProvisioningConfig struct { + + // Lambda ARN of the connector being registered. + // + // This member is required. + LambdaArn *string + + noSmithyDocumentSerde +} + // The properties that are applied when Amazon Lookout for Metrics is used as a // destination. type LookoutMetricsDestinationProperties struct { @@ -1062,6 +1436,63 @@ type MarketoSourceProperties struct { noSmithyDocumentSerde } +// The OAuth 2.0 credentials required for OAuth 2.0 authentication. +type OAuth2Credentials struct { + + // The access token used to access the connector on your behalf. + AccessToken *string + + // The identifier for the desired client. + ClientId *string + + // The client secret used by the OAuth client to authenticate to the authorization + // server. + ClientSecret *string + + // Used by select connectors for which the OAuth workflow is supported, such as + // Salesforce, Google Analytics, Marketo, Zendesk, and Slack. + OAuthRequest *ConnectorOAuthRequest + + // The refresh token used to refresh an expired access token. + RefreshToken *string + + noSmithyDocumentSerde +} + +// Contains the default values required for OAuth 2.0 authentication. +type OAuth2Defaults struct { + + // Auth code URLs that can be used for OAuth 2.0 authentication. + AuthCodeUrls []string + + // OAuth 2.0 grant types supported by the connector. + Oauth2GrantTypesSupported []OAuth2GrantType + + // OAuth 2.0 scopes that the connector supports. + OauthScopes []string + + // Token URLs that can be used for OAuth 2.0 authentication. + TokenUrls []string + + noSmithyDocumentSerde +} + +// The OAuth 2.0 properties required for OAuth 2.0 authentication. +type OAuth2Properties struct { + + // The OAuth 2.0 grant type used by connector for OAuth 2.0 authentication. + // + // This member is required. + OAuth2GrantType OAuth2GrantType + + // The token URL required for OAuth 2.0 authentication. + // + // This member is required. + TokenUrl *string + + noSmithyDocumentSerde +} + // The OAuth credentials required for OAuth type authentication. type OAuthCredentials struct { @@ -1142,6 +1573,18 @@ type PrivateConnectionProvisioningState struct { noSmithyDocumentSerde } +// The range of values that the property supports. +type Range struct { + + // Maximum value supported by the field. + Maximum float64 + + // Minimum value supported by the field. + Minimum float64 + + noSmithyDocumentSerde +} + // The connector-specific profile credentials required when using Amazon Redshift. type RedshiftConnectorProfileCredentials struct { @@ -1420,6 +1863,38 @@ type SAPODataConnectorProfileProperties struct { noSmithyDocumentSerde } +// The properties that are applied when using SAPOData as a flow destination +type SAPODataDestinationProperties struct { + + // The object path specified in the SAPOData flow destination. + // + // This member is required. + ObjectPath *string + + // The settings that determine how Amazon AppFlow handles an error when placing + // data in the destination. For example, this setting would determine if the flow + // should fail after one insertion error, or continue and attempt to insert every + // record regardless of the initial failure. ErrorHandlingConfig is a part of the + // destination connector details. + ErrorHandlingConfig *ErrorHandlingConfig + + // A list of field names that can be used as an ID field when performing a write + // operation. + IdFieldNames []string + + // Determines how Amazon AppFlow handles the success response that it gets from the + // connector after placing data. For example, this setting would determine where to + // write the response from a destination connector upon a successful insert + // operation. + SuccessResponseHandlingConfig *SuccessResponseHandlingConfig + + // The possible write operations in the destination connector. When this value is + // not provided, this defaults to the INSERT operation. + WriteOperationType WriteOperationType + + noSmithyDocumentSerde +} + // The connector metadata specific to SAPOData. type SAPODataMetadata struct { noSmithyDocumentSerde @@ -1694,6 +2169,10 @@ type SourceConnectorProperties struct { // Specifies the information that is required for querying Amplitude. Amplitude *AmplitudeSourceProperties + // The properties that are applied when the custom connector is being used as a + // source. + CustomConnector *CustomConnectorSourceProperties + // Specifies the information that is required for querying Datadog. Datadog *DatadogSourceProperties @@ -1749,6 +2228,9 @@ type SourceFieldProperties struct { // Indicates whether the field can be returned in a search result. IsRetrievable bool + // Indicates if this timestamp field can be used for incremental queries. + IsTimestampFieldForIncrementalQueries bool + noSmithyDocumentSerde } @@ -1767,6 +2249,9 @@ type SourceFlowConfig struct { // This member is required. SourceConnectorProperties *SourceConnectorProperties + // The API version of the connector when it's used as a source in the flow. + ApiVersion *string + // The name of the connector profile. This name must be unique for each connector // profile in the Amazon Web Services account. ConnectorProfileName *string @@ -1779,6 +2264,21 @@ type SourceFlowConfig struct { noSmithyDocumentSerde } +// Determines how Amazon AppFlow handles the success response that it gets from the +// connector after placing data. For example, this setting would determine where to +// write the response from the destination connector upon a successful insert +// operation. +type SuccessResponseHandlingConfig struct { + + // The name of the Amazon S3 bucket. + BucketName *string + + // The Amazon S3 bucket prefix. + BucketPrefix *string + + noSmithyDocumentSerde +} + // Contains details regarding all the supported FieldTypes and their corresponding // filterOperators and supportedValues. type SupportedFieldTypeDetails struct { diff --git a/service/appflow/validators.go b/service/appflow/validators.go index a14c2c1be81..8995ec7bedf 100644 --- a/service/appflow/validators.go +++ b/service/appflow/validators.go @@ -110,6 +110,26 @@ func (m *validateOpDescribeConnectorEntity) HandleInitialize(ctx context.Context return next.HandleInitialize(ctx, in) } +type validateOpDescribeConnector struct { +} + +func (*validateOpDescribeConnector) ID() string { + return "OperationInputValidation" +} + +func (m *validateOpDescribeConnector) HandleInitialize(ctx context.Context, in middleware.InitializeInput, next middleware.InitializeHandler) ( + out middleware.InitializeOutput, metadata middleware.Metadata, err error, +) { + input, ok := in.Parameters.(*DescribeConnectorInput) + if !ok { + return out, metadata, fmt.Errorf("unknown input parameters type %T", in.Parameters) + } + if err := validateOpDescribeConnectorInput(input); err != nil { + return out, metadata, err + } + return next.HandleInitialize(ctx, in) +} + type validateOpDescribeFlowExecutionRecords struct { } @@ -170,6 +190,26 @@ func (m *validateOpListTagsForResource) HandleInitialize(ctx context.Context, in return next.HandleInitialize(ctx, in) } +type validateOpRegisterConnector struct { +} + +func (*validateOpRegisterConnector) ID() string { + return "OperationInputValidation" +} + +func (m *validateOpRegisterConnector) HandleInitialize(ctx context.Context, in middleware.InitializeInput, next middleware.InitializeHandler) ( + out middleware.InitializeOutput, metadata middleware.Metadata, err error, +) { + input, ok := in.Parameters.(*RegisterConnectorInput) + if !ok { + return out, metadata, fmt.Errorf("unknown input parameters type %T", in.Parameters) + } + if err := validateOpRegisterConnectorInput(input); err != nil { + return out, metadata, err + } + return next.HandleInitialize(ctx, in) +} + type validateOpStartFlow struct { } @@ -230,6 +270,26 @@ func (m *validateOpTagResource) HandleInitialize(ctx context.Context, in middlew return next.HandleInitialize(ctx, in) } +type validateOpUnregisterConnector struct { +} + +func (*validateOpUnregisterConnector) ID() string { + return "OperationInputValidation" +} + +func (m *validateOpUnregisterConnector) HandleInitialize(ctx context.Context, in middleware.InitializeInput, next middleware.InitializeHandler) ( + out middleware.InitializeOutput, metadata middleware.Metadata, err error, +) { + input, ok := in.Parameters.(*UnregisterConnectorInput) + if !ok { + return out, metadata, fmt.Errorf("unknown input parameters type %T", in.Parameters) + } + if err := validateOpUnregisterConnectorInput(input); err != nil { + return out, metadata, err + } + return next.HandleInitialize(ctx, in) +} + type validateOpUntagResource struct { } @@ -310,6 +370,10 @@ func addOpDescribeConnectorEntityValidationMiddleware(stack *middleware.Stack) e return stack.Initialize.Add(&validateOpDescribeConnectorEntity{}, middleware.After) } +func addOpDescribeConnectorValidationMiddleware(stack *middleware.Stack) error { + return stack.Initialize.Add(&validateOpDescribeConnector{}, middleware.After) +} + func addOpDescribeFlowExecutionRecordsValidationMiddleware(stack *middleware.Stack) error { return stack.Initialize.Add(&validateOpDescribeFlowExecutionRecords{}, middleware.After) } @@ -322,6 +386,10 @@ func addOpListTagsForResourceValidationMiddleware(stack *middleware.Stack) error return stack.Initialize.Add(&validateOpListTagsForResource{}, middleware.After) } +func addOpRegisterConnectorValidationMiddleware(stack *middleware.Stack) error { + return stack.Initialize.Add(&validateOpRegisterConnector{}, middleware.After) +} + func addOpStartFlowValidationMiddleware(stack *middleware.Stack) error { return stack.Initialize.Add(&validateOpStartFlow{}, middleware.After) } @@ -334,6 +402,10 @@ func addOpTagResourceValidationMiddleware(stack *middleware.Stack) error { return stack.Initialize.Add(&validateOpTagResource{}, middleware.After) } +func addOpUnregisterConnectorValidationMiddleware(stack *middleware.Stack) error { + return stack.Initialize.Add(&validateOpUnregisterConnector{}, middleware.After) +} + func addOpUntagResourceValidationMiddleware(stack *middleware.Stack) error { return stack.Initialize.Add(&validateOpUntagResource{}, middleware.After) } @@ -379,6 +451,21 @@ func validateAmplitudeSourceProperties(v *types.AmplitudeSourceProperties) error } } +func validateApiKeyCredentials(v *types.ApiKeyCredentials) error { + if v == nil { + return nil + } + invalidParams := smithy.InvalidParamsError{Context: "ApiKeyCredentials"} + if v.ApiKey == nil { + invalidParams.Add(smithy.NewErrParamRequired("ApiKey")) + } + if invalidParams.Len() > 0 { + return invalidParams + } else { + return nil + } +} + func validateBasicAuthCredentials(v *types.BasicAuthCredentials) error { if v == nil { return nil @@ -503,6 +590,11 @@ func validateConnectorProfileCredentials(v *types.ConnectorProfileCredentials) e invalidParams.AddNested("SAPOData", err.(smithy.InvalidParamsError)) } } + if v.CustomConnector != nil { + if err := validateCustomConnectorProfileCredentials(v.CustomConnector); err != nil { + invalidParams.AddNested("CustomConnector", err.(smithy.InvalidParamsError)) + } + } if invalidParams.Len() > 0 { return invalidParams } else { @@ -570,6 +662,120 @@ func validateConnectorProfileProperties(v *types.ConnectorProfileProperties) err invalidParams.AddNested("SAPOData", err.(smithy.InvalidParamsError)) } } + if v.CustomConnector != nil { + if err := validateCustomConnectorProfileProperties(v.CustomConnector); err != nil { + invalidParams.AddNested("CustomConnector", err.(smithy.InvalidParamsError)) + } + } + if invalidParams.Len() > 0 { + return invalidParams + } else { + return nil + } +} + +func validateConnectorProvisioningConfig(v *types.ConnectorProvisioningConfig) error { + if v == nil { + return nil + } + invalidParams := smithy.InvalidParamsError{Context: "ConnectorProvisioningConfig"} + if v.Lambda != nil { + if err := validateLambdaConnectorProvisioningConfig(v.Lambda); err != nil { + invalidParams.AddNested("Lambda", err.(smithy.InvalidParamsError)) + } + } + if invalidParams.Len() > 0 { + return invalidParams + } else { + return nil + } +} + +func validateCustomAuthCredentials(v *types.CustomAuthCredentials) error { + if v == nil { + return nil + } + invalidParams := smithy.InvalidParamsError{Context: "CustomAuthCredentials"} + if v.CustomAuthenticationType == nil { + invalidParams.Add(smithy.NewErrParamRequired("CustomAuthenticationType")) + } + if invalidParams.Len() > 0 { + return invalidParams + } else { + return nil + } +} + +func validateCustomConnectorDestinationProperties(v *types.CustomConnectorDestinationProperties) error { + if v == nil { + return nil + } + invalidParams := smithy.InvalidParamsError{Context: "CustomConnectorDestinationProperties"} + if v.EntityName == nil { + invalidParams.Add(smithy.NewErrParamRequired("EntityName")) + } + if invalidParams.Len() > 0 { + return invalidParams + } else { + return nil + } +} + +func validateCustomConnectorProfileCredentials(v *types.CustomConnectorProfileCredentials) error { + if v == nil { + return nil + } + invalidParams := smithy.InvalidParamsError{Context: "CustomConnectorProfileCredentials"} + if len(v.AuthenticationType) == 0 { + invalidParams.Add(smithy.NewErrParamRequired("AuthenticationType")) + } + if v.Basic != nil { + if err := validateBasicAuthCredentials(v.Basic); err != nil { + invalidParams.AddNested("Basic", err.(smithy.InvalidParamsError)) + } + } + if v.ApiKey != nil { + if err := validateApiKeyCredentials(v.ApiKey); err != nil { + invalidParams.AddNested("ApiKey", err.(smithy.InvalidParamsError)) + } + } + if v.Custom != nil { + if err := validateCustomAuthCredentials(v.Custom); err != nil { + invalidParams.AddNested("Custom", err.(smithy.InvalidParamsError)) + } + } + if invalidParams.Len() > 0 { + return invalidParams + } else { + return nil + } +} + +func validateCustomConnectorProfileProperties(v *types.CustomConnectorProfileProperties) error { + if v == nil { + return nil + } + invalidParams := smithy.InvalidParamsError{Context: "CustomConnectorProfileProperties"} + if v.OAuth2Properties != nil { + if err := validateOAuth2Properties(v.OAuth2Properties); err != nil { + invalidParams.AddNested("OAuth2Properties", err.(smithy.InvalidParamsError)) + } + } + if invalidParams.Len() > 0 { + return invalidParams + } else { + return nil + } +} + +func validateCustomConnectorSourceProperties(v *types.CustomConnectorSourceProperties) error { + if v == nil { + return nil + } + invalidParams := smithy.InvalidParamsError{Context: "CustomConnectorSourceProperties"} + if v.EntityName == nil { + invalidParams.Add(smithy.NewErrParamRequired("EntityName")) + } if invalidParams.Len() > 0 { return invalidParams } else { @@ -690,6 +896,16 @@ func validateDestinationConnectorProperties(v *types.DestinationConnectorPropert invalidParams.AddNested("Zendesk", err.(smithy.InvalidParamsError)) } } + if v.CustomConnector != nil { + if err := validateCustomConnectorDestinationProperties(v.CustomConnector); err != nil { + invalidParams.AddNested("CustomConnector", err.(smithy.InvalidParamsError)) + } + } + if v.SAPOData != nil { + if err := validateSAPODataDestinationProperties(v.SAPOData); err != nil { + invalidParams.AddNested("SAPOData", err.(smithy.InvalidParamsError)) + } + } if invalidParams.Len() > 0 { return invalidParams } else { @@ -898,6 +1114,21 @@ func validateInforNexusSourceProperties(v *types.InforNexusSourceProperties) err } } +func validateLambdaConnectorProvisioningConfig(v *types.LambdaConnectorProvisioningConfig) error { + if v == nil { + return nil + } + invalidParams := smithy.InvalidParamsError{Context: "LambdaConnectorProvisioningConfig"} + if v.LambdaArn == nil { + invalidParams.Add(smithy.NewErrParamRequired("LambdaArn")) + } + if invalidParams.Len() > 0 { + return invalidParams + } else { + return nil + } +} + func validateMarketoConnectorProfileCredentials(v *types.MarketoConnectorProfileCredentials) error { if v == nil { return nil @@ -946,6 +1177,24 @@ func validateMarketoSourceProperties(v *types.MarketoSourceProperties) error { } } +func validateOAuth2Properties(v *types.OAuth2Properties) error { + if v == nil { + return nil + } + invalidParams := smithy.InvalidParamsError{Context: "OAuth2Properties"} + if v.TokenUrl == nil { + invalidParams.Add(smithy.NewErrParamRequired("TokenUrl")) + } + if len(v.OAuth2GrantType) == 0 { + invalidParams.Add(smithy.NewErrParamRequired("OAuth2GrantType")) + } + if invalidParams.Len() > 0 { + return invalidParams + } else { + return nil + } +} + func validateOAuthCredentials(v *types.OAuthCredentials) error { if v == nil { return nil @@ -1150,6 +1399,21 @@ func validateSAPODataConnectorProfileProperties(v *types.SAPODataConnectorProfil } } +func validateSAPODataDestinationProperties(v *types.SAPODataDestinationProperties) error { + if v == nil { + return nil + } + invalidParams := smithy.InvalidParamsError{Context: "SAPODataDestinationProperties"} + if v.ObjectPath == nil { + invalidParams.Add(smithy.NewErrParamRequired("ObjectPath")) + } + if invalidParams.Len() > 0 { + return invalidParams + } else { + return nil + } +} + func validateScheduledTriggerProperties(v *types.ScheduledTriggerProperties) error { if v == nil { return nil @@ -1423,6 +1687,11 @@ func validateSourceConnectorProperties(v *types.SourceConnectorProperties) error invalidParams.AddNested("Zendesk", err.(smithy.InvalidParamsError)) } } + if v.CustomConnector != nil { + if err := validateCustomConnectorSourceProperties(v.CustomConnector); err != nil { + invalidParams.AddNested("CustomConnector", err.(smithy.InvalidParamsError)) + } + } if invalidParams.Len() > 0 { return invalidParams } else { @@ -1818,6 +2087,21 @@ func validateOpDescribeConnectorEntityInput(v *DescribeConnectorEntityInput) err } } +func validateOpDescribeConnectorInput(v *DescribeConnectorInput) error { + if v == nil { + return nil + } + invalidParams := smithy.InvalidParamsError{Context: "DescribeConnectorInput"} + if len(v.ConnectorType) == 0 { + invalidParams.Add(smithy.NewErrParamRequired("ConnectorType")) + } + if invalidParams.Len() > 0 { + return invalidParams + } else { + return nil + } +} + func validateOpDescribeFlowExecutionRecordsInput(v *DescribeFlowExecutionRecordsInput) error { if v == nil { return nil @@ -1863,6 +2147,23 @@ func validateOpListTagsForResourceInput(v *ListTagsForResourceInput) error { } } +func validateOpRegisterConnectorInput(v *RegisterConnectorInput) error { + if v == nil { + return nil + } + invalidParams := smithy.InvalidParamsError{Context: "RegisterConnectorInput"} + if v.ConnectorProvisioningConfig != nil { + if err := validateConnectorProvisioningConfig(v.ConnectorProvisioningConfig); err != nil { + invalidParams.AddNested("ConnectorProvisioningConfig", err.(smithy.InvalidParamsError)) + } + } + if invalidParams.Len() > 0 { + return invalidParams + } else { + return nil + } +} + func validateOpStartFlowInput(v *StartFlowInput) error { if v == nil { return nil @@ -1911,6 +2212,21 @@ func validateOpTagResourceInput(v *TagResourceInput) error { } } +func validateOpUnregisterConnectorInput(v *UnregisterConnectorInput) error { + if v == nil { + return nil + } + invalidParams := smithy.InvalidParamsError{Context: "UnregisterConnectorInput"} + if v.ConnectorLabel == nil { + invalidParams.Add(smithy.NewErrParamRequired("ConnectorLabel")) + } + if invalidParams.Len() > 0 { + return invalidParams + } else { + return nil + } +} + func validateOpUntagResourceInput(v *UntagResourceInput) error { if v == nil { return nil diff --git a/service/apprunner/api_op_CreateAutoScalingConfiguration.go b/service/apprunner/api_op_CreateAutoScalingConfiguration.go index d0da1665b8d..a6835f6c2e9 100644 --- a/service/apprunner/api_op_CreateAutoScalingConfiguration.go +++ b/service/apprunner/api_op_CreateAutoScalingConfiguration.go @@ -14,14 +14,15 @@ import ( // Create an App Runner automatic scaling configuration resource. App Runner // requires this resource when you create App Runner services that require // non-default auto scaling settings. You can share an auto scaling configuration -// across multiple services. Create multiple revisions of a configuration by using -// the same AutoScalingConfigurationName and different -// AutoScalingConfigurationRevision values. When you create a service, you can set -// it to use the latest active revision of an auto scaling configuration or a -// specific revision. Configure a higher MinSize to increase the spread of your App -// Runner service over more Availability Zones in the Amazon Web Services Region. -// The tradeoff is a higher minimal cost. Configure a lower MaxSize to control your -// cost. The tradeoff is lower responsiveness during peak demand. +// across multiple services. Create multiple revisions of a configuration by +// calling this action multiple times using the same AutoScalingConfigurationName. +// The call returns incremental AutoScalingConfigurationRevision values. When you +// create a service, you can set it to use the latest active revision of an auto +// scaling configuration or a specific revision. Configure a higher MinSize to +// increase the spread of your App Runner service over more Availability Zones in +// the Amazon Web Services Region. The tradeoff is a higher minimal cost. Configure +// a lower MaxSize to control your cost. The tradeoff is lower responsiveness +// during peak demand. func (c *Client) CreateAutoScalingConfiguration(ctx context.Context, params *CreateAutoScalingConfigurationInput, optFns ...func(*Options)) (*CreateAutoScalingConfigurationOutput, error) { if params == nil { params = &CreateAutoScalingConfigurationInput{} @@ -42,7 +43,12 @@ type CreateAutoScalingConfigurationInput struct { // A name for the auto scaling configuration. When you use it for the first time in // an Amazon Web Services Region, App Runner creates revision number 1 of this // name. When you use the same name in subsequent calls, App Runner creates - // incremental revisions of the configuration. + // incremental revisions of the configuration. The name DefaultConfiguration is + // reserved (it's the configuration that App Runner uses if you don't provide a + // custome one). You can't use it to create a new auto scaling configuration, and + // you can't create a revision of it. When you want to use your own auto scaling + // configuration for your App Runner service, create a configuration with a + // different name, and then provide it when you create or update your service. // // This member is required. AutoScalingConfigurationName *string diff --git a/service/apprunner/api_op_CreateService.go b/service/apprunner/api_op_CreateService.go index 86f8c3bca18..fb28b166ff2 100644 --- a/service/apprunner/api_op_CreateService.go +++ b/service/apprunner/api_op_CreateService.go @@ -33,8 +33,9 @@ func (c *Client) CreateService(ctx context.Context, params *CreateServiceInput, type CreateServiceInput struct { - // A name for the new service. It must be unique across all the running App Runner - // services in your Amazon Web Services account in the Amazon Web Services Region. + // A name for the App Runner service. It must be unique across all the running App + // Runner services in your Amazon Web Services account in the Amazon Web Services + // Region. // // This member is required. ServiceName *string @@ -46,25 +47,30 @@ type CreateServiceInput struct { SourceConfiguration *types.SourceConfiguration // The Amazon Resource Name (ARN) of an App Runner automatic scaling configuration - // resource that you want to associate with your service. If not provided, App - // Runner associates the latest revision of a default auto scaling configuration. + // resource that you want to associate with the App Runner service. If not + // provided, App Runner associates the latest revision of a default auto scaling + // configuration. AutoScalingConfigurationArn *string // An optional custom encryption key that App Runner uses to encrypt the copy of // your source repository that it maintains and your service logs. By default, App - // Runner uses an Amazon Web Services managed CMK. + // Runner uses an Amazon Web Services managed key. EncryptionConfiguration *types.EncryptionConfiguration // The settings for the health check that App Runner performs to monitor the health - // of your service. + // of the App Runner service. HealthCheckConfiguration *types.HealthCheckConfiguration // The runtime configuration of instances (scaling units) of the App Runner // service. InstanceConfiguration *types.InstanceConfiguration - // An optional list of metadata items that you can associate with your service - // resource. A tag is a key-value pair. + // Configuration settings related to network traffic of the web application that + // the App Runner service runs. + NetworkConfiguration *types.NetworkConfiguration + + // An optional list of metadata items that you can associate with the App Runner + // service resource. A tag is a key-value pair. Tags []types.Tag noSmithyDocumentSerde diff --git a/service/apprunner/api_op_CreateVpcConnector.go b/service/apprunner/api_op_CreateVpcConnector.go new file mode 100644 index 00000000000..7e825a3e212 --- /dev/null +++ b/service/apprunner/api_op_CreateVpcConnector.go @@ -0,0 +1,142 @@ +// Code generated by smithy-go-codegen DO NOT EDIT. + +package apprunner + +import ( + "context" + awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" + "github.com/aws/aws-sdk-go-v2/aws/signer/v4" + "github.com/aws/aws-sdk-go-v2/service/apprunner/types" + "github.com/aws/smithy-go/middleware" + smithyhttp "github.com/aws/smithy-go/transport/http" +) + +// Create an App Runner VPC connector resource. App Runner requires this resource +// when you want to associate your App Runner service to a custom Amazon Virtual +// Private Cloud (Amazon VPC). +func (c *Client) CreateVpcConnector(ctx context.Context, params *CreateVpcConnectorInput, optFns ...func(*Options)) (*CreateVpcConnectorOutput, error) { + if params == nil { + params = &CreateVpcConnectorInput{} + } + + result, metadata, err := c.invokeOperation(ctx, "CreateVpcConnector", params, optFns, c.addOperationCreateVpcConnectorMiddlewares) + if err != nil { + return nil, err + } + + out := result.(*CreateVpcConnectorOutput) + out.ResultMetadata = metadata + return out, nil +} + +type CreateVpcConnectorInput struct { + + // A list of IDs of subnets that App Runner should use when it associates your + // service with a custom Amazon VPC. Specify IDs of subnets of a single Amazon VPC. + // App Runner determines the Amazon VPC from the subnets you specify. + // + // This member is required. + Subnets []string + + // A name for the VPC connector. + // + // This member is required. + VpcConnectorName *string + + // A list of IDs of security groups that App Runner should use for access to Amazon + // Web Services resources under the specified subnets. If not specified, App Runner + // uses the default security group of the Amazon VPC. The default security group + // allows all outbound traffic. + SecurityGroups []string + + // A list of metadata items that you can associate with your VPC connector + // resource. A tag is a key-value pair. + Tags []types.Tag + + noSmithyDocumentSerde +} + +type CreateVpcConnectorOutput struct { + + // A description of the App Runner VPC connector that's created by this request. + // + // This member is required. + VpcConnector *types.VpcConnector + + // Metadata pertaining to the operation's result. + ResultMetadata middleware.Metadata + + noSmithyDocumentSerde +} + +func (c *Client) addOperationCreateVpcConnectorMiddlewares(stack *middleware.Stack, options Options) (err error) { + err = stack.Serialize.Add(&awsAwsjson10_serializeOpCreateVpcConnector{}, middleware.After) + if err != nil { + return err + } + err = stack.Deserialize.Add(&awsAwsjson10_deserializeOpCreateVpcConnector{}, middleware.After) + if err != nil { + return err + } + if err = addSetLoggerMiddleware(stack, options); err != nil { + return err + } + if err = awsmiddleware.AddClientRequestIDMiddleware(stack); err != nil { + return err + } + if err = smithyhttp.AddComputeContentLengthMiddleware(stack); err != nil { + return err + } + if err = addResolveEndpointMiddleware(stack, options); err != nil { + return err + } + if err = v4.AddComputePayloadSHA256Middleware(stack); err != nil { + return err + } + if err = addRetryMiddlewares(stack, options); err != nil { + return err + } + if err = addHTTPSignerV4Middleware(stack, options); err != nil { + return err + } + if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil { + return err + } + if err = awsmiddleware.AddRecordResponseTiming(stack); err != nil { + return err + } + if err = addClientUserAgent(stack); err != nil { + return err + } + if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil { + return err + } + if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { + return err + } + if err = addOpCreateVpcConnectorValidationMiddleware(stack); err != nil { + return err + } + if err = stack.Initialize.Add(newServiceMetadataMiddleware_opCreateVpcConnector(options.Region), middleware.Before); err != nil { + return err + } + if err = addRequestIDRetrieverMiddleware(stack); err != nil { + return err + } + if err = addResponseErrorMiddleware(stack); err != nil { + return err + } + if err = addRequestResponseLogging(stack, options); err != nil { + return err + } + return nil +} + +func newServiceMetadataMiddleware_opCreateVpcConnector(region string) *awsmiddleware.RegisterServiceMetadata { + return &awsmiddleware.RegisterServiceMetadata{ + Region: region, + ServiceID: ServiceID, + SigningName: "apprunner", + OperationName: "CreateVpcConnector", + } +} diff --git a/service/apprunner/api_op_DeleteVpcConnector.go b/service/apprunner/api_op_DeleteVpcConnector.go new file mode 100644 index 00000000000..43f359ccb3e --- /dev/null +++ b/service/apprunner/api_op_DeleteVpcConnector.go @@ -0,0 +1,125 @@ +// Code generated by smithy-go-codegen DO NOT EDIT. + +package apprunner + +import ( + "context" + awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" + "github.com/aws/aws-sdk-go-v2/aws/signer/v4" + "github.com/aws/aws-sdk-go-v2/service/apprunner/types" + "github.com/aws/smithy-go/middleware" + smithyhttp "github.com/aws/smithy-go/transport/http" +) + +// Delete an App Runner VPC connector resource. You can't delete a connector that's +// used by one or more App Runner services. +func (c *Client) DeleteVpcConnector(ctx context.Context, params *DeleteVpcConnectorInput, optFns ...func(*Options)) (*DeleteVpcConnectorOutput, error) { + if params == nil { + params = &DeleteVpcConnectorInput{} + } + + result, metadata, err := c.invokeOperation(ctx, "DeleteVpcConnector", params, optFns, c.addOperationDeleteVpcConnectorMiddlewares) + if err != nil { + return nil, err + } + + out := result.(*DeleteVpcConnectorOutput) + out.ResultMetadata = metadata + return out, nil +} + +type DeleteVpcConnectorInput struct { + + // The Amazon Resource Name (ARN) of the App Runner VPC connector that you want to + // delete. The ARN must be a full VPC connector ARN. + // + // This member is required. + VpcConnectorArn *string + + noSmithyDocumentSerde +} + +type DeleteVpcConnectorOutput struct { + + // A description of the App Runner VPC connector that this request just deleted. + // + // This member is required. + VpcConnector *types.VpcConnector + + // Metadata pertaining to the operation's result. + ResultMetadata middleware.Metadata + + noSmithyDocumentSerde +} + +func (c *Client) addOperationDeleteVpcConnectorMiddlewares(stack *middleware.Stack, options Options) (err error) { + err = stack.Serialize.Add(&awsAwsjson10_serializeOpDeleteVpcConnector{}, middleware.After) + if err != nil { + return err + } + err = stack.Deserialize.Add(&awsAwsjson10_deserializeOpDeleteVpcConnector{}, middleware.After) + if err != nil { + return err + } + if err = addSetLoggerMiddleware(stack, options); err != nil { + return err + } + if err = awsmiddleware.AddClientRequestIDMiddleware(stack); err != nil { + return err + } + if err = smithyhttp.AddComputeContentLengthMiddleware(stack); err != nil { + return err + } + if err = addResolveEndpointMiddleware(stack, options); err != nil { + return err + } + if err = v4.AddComputePayloadSHA256Middleware(stack); err != nil { + return err + } + if err = addRetryMiddlewares(stack, options); err != nil { + return err + } + if err = addHTTPSignerV4Middleware(stack, options); err != nil { + return err + } + if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil { + return err + } + if err = awsmiddleware.AddRecordResponseTiming(stack); err != nil { + return err + } + if err = addClientUserAgent(stack); err != nil { + return err + } + if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil { + return err + } + if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { + return err + } + if err = addOpDeleteVpcConnectorValidationMiddleware(stack); err != nil { + return err + } + if err = stack.Initialize.Add(newServiceMetadataMiddleware_opDeleteVpcConnector(options.Region), middleware.Before); err != nil { + return err + } + if err = addRequestIDRetrieverMiddleware(stack); err != nil { + return err + } + if err = addResponseErrorMiddleware(stack); err != nil { + return err + } + if err = addRequestResponseLogging(stack, options); err != nil { + return err + } + return nil +} + +func newServiceMetadataMiddleware_opDeleteVpcConnector(region string) *awsmiddleware.RegisterServiceMetadata { + return &awsmiddleware.RegisterServiceMetadata{ + Region: region, + ServiceID: ServiceID, + SigningName: "apprunner", + OperationName: "DeleteVpcConnector", + } +} diff --git a/service/apprunner/api_op_DescribeVpcConnector.go b/service/apprunner/api_op_DescribeVpcConnector.go new file mode 100644 index 00000000000..a4fecef6ff2 --- /dev/null +++ b/service/apprunner/api_op_DescribeVpcConnector.go @@ -0,0 +1,125 @@ +// Code generated by smithy-go-codegen DO NOT EDIT. + +package apprunner + +import ( + "context" + awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" + "github.com/aws/aws-sdk-go-v2/aws/signer/v4" + "github.com/aws/aws-sdk-go-v2/service/apprunner/types" + "github.com/aws/smithy-go/middleware" + smithyhttp "github.com/aws/smithy-go/transport/http" +) + +// Return a description of an App Runner VPC connector resource. +func (c *Client) DescribeVpcConnector(ctx context.Context, params *DescribeVpcConnectorInput, optFns ...func(*Options)) (*DescribeVpcConnectorOutput, error) { + if params == nil { + params = &DescribeVpcConnectorInput{} + } + + result, metadata, err := c.invokeOperation(ctx, "DescribeVpcConnector", params, optFns, c.addOperationDescribeVpcConnectorMiddlewares) + if err != nil { + return nil, err + } + + out := result.(*DescribeVpcConnectorOutput) + out.ResultMetadata = metadata + return out, nil +} + +type DescribeVpcConnectorInput struct { + + // The Amazon Resource Name (ARN) of the App Runner VPC connector that you want a + // description for. The ARN must be a full VPC connector ARN. + // + // This member is required. + VpcConnectorArn *string + + noSmithyDocumentSerde +} + +type DescribeVpcConnectorOutput struct { + + // A description of the App Runner VPC connector that you specified in this + // request. + // + // This member is required. + VpcConnector *types.VpcConnector + + // Metadata pertaining to the operation's result. + ResultMetadata middleware.Metadata + + noSmithyDocumentSerde +} + +func (c *Client) addOperationDescribeVpcConnectorMiddlewares(stack *middleware.Stack, options Options) (err error) { + err = stack.Serialize.Add(&awsAwsjson10_serializeOpDescribeVpcConnector{}, middleware.After) + if err != nil { + return err + } + err = stack.Deserialize.Add(&awsAwsjson10_deserializeOpDescribeVpcConnector{}, middleware.After) + if err != nil { + return err + } + if err = addSetLoggerMiddleware(stack, options); err != nil { + return err + } + if err = awsmiddleware.AddClientRequestIDMiddleware(stack); err != nil { + return err + } + if err = smithyhttp.AddComputeContentLengthMiddleware(stack); err != nil { + return err + } + if err = addResolveEndpointMiddleware(stack, options); err != nil { + return err + } + if err = v4.AddComputePayloadSHA256Middleware(stack); err != nil { + return err + } + if err = addRetryMiddlewares(stack, options); err != nil { + return err + } + if err = addHTTPSignerV4Middleware(stack, options); err != nil { + return err + } + if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil { + return err + } + if err = awsmiddleware.AddRecordResponseTiming(stack); err != nil { + return err + } + if err = addClientUserAgent(stack); err != nil { + return err + } + if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil { + return err + } + if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { + return err + } + if err = addOpDescribeVpcConnectorValidationMiddleware(stack); err != nil { + return err + } + if err = stack.Initialize.Add(newServiceMetadataMiddleware_opDescribeVpcConnector(options.Region), middleware.Before); err != nil { + return err + } + if err = addRequestIDRetrieverMiddleware(stack); err != nil { + return err + } + if err = addResponseErrorMiddleware(stack); err != nil { + return err + } + if err = addRequestResponseLogging(stack, options); err != nil { + return err + } + return nil +} + +func newServiceMetadataMiddleware_opDescribeVpcConnector(region string) *awsmiddleware.RegisterServiceMetadata { + return &awsmiddleware.RegisterServiceMetadata{ + Region: region, + ServiceID: ServiceID, + SigningName: "apprunner", + OperationName: "DescribeVpcConnector", + } +} diff --git a/service/apprunner/api_op_ListVpcConnectors.go b/service/apprunner/api_op_ListVpcConnectors.go new file mode 100644 index 00000000000..480bfb571ab --- /dev/null +++ b/service/apprunner/api_op_ListVpcConnectors.go @@ -0,0 +1,224 @@ +// Code generated by smithy-go-codegen DO NOT EDIT. + +package apprunner + +import ( + "context" + "fmt" + awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" + "github.com/aws/aws-sdk-go-v2/aws/signer/v4" + "github.com/aws/aws-sdk-go-v2/service/apprunner/types" + "github.com/aws/smithy-go/middleware" + smithyhttp "github.com/aws/smithy-go/transport/http" +) + +// Returns a list of App Runner VPC connectors in your Amazon Web Services account. +func (c *Client) ListVpcConnectors(ctx context.Context, params *ListVpcConnectorsInput, optFns ...func(*Options)) (*ListVpcConnectorsOutput, error) { + if params == nil { + params = &ListVpcConnectorsInput{} + } + + result, metadata, err := c.invokeOperation(ctx, "ListVpcConnectors", params, optFns, c.addOperationListVpcConnectorsMiddlewares) + if err != nil { + return nil, err + } + + out := result.(*ListVpcConnectorsOutput) + out.ResultMetadata = metadata + return out, nil +} + +type ListVpcConnectorsInput struct { + + // The maximum number of results to include in each response (result page). It's + // used for a paginated request. If you don't specify MaxResults, the request + // retrieves all available results in a single response. + MaxResults *int32 + + // A token from a previous result page. It's used for a paginated request. The + // request retrieves the next result page. All other parameter values must be + // identical to the ones that are specified in the initial request. If you don't + // specify NextToken, the request retrieves the first result page. + NextToken *string + + noSmithyDocumentSerde +} + +type ListVpcConnectorsOutput struct { + + // A list of information records for VPC connectors. In a paginated request, the + // request returns up to MaxResults records for each call. + // + // This member is required. + VpcConnectors []types.VpcConnector + + // The token that you can pass in a subsequent request to get the next result page. + // It's returned in a paginated request. + NextToken *string + + // Metadata pertaining to the operation's result. + ResultMetadata middleware.Metadata + + noSmithyDocumentSerde +} + +func (c *Client) addOperationListVpcConnectorsMiddlewares(stack *middleware.Stack, options Options) (err error) { + err = stack.Serialize.Add(&awsAwsjson10_serializeOpListVpcConnectors{}, middleware.After) + if err != nil { + return err + } + err = stack.Deserialize.Add(&awsAwsjson10_deserializeOpListVpcConnectors{}, middleware.After) + if err != nil { + return err + } + if err = addSetLoggerMiddleware(stack, options); err != nil { + return err + } + if err = awsmiddleware.AddClientRequestIDMiddleware(stack); err != nil { + return err + } + if err = smithyhttp.AddComputeContentLengthMiddleware(stack); err != nil { + return err + } + if err = addResolveEndpointMiddleware(stack, options); err != nil { + return err + } + if err = v4.AddComputePayloadSHA256Middleware(stack); err != nil { + return err + } + if err = addRetryMiddlewares(stack, options); err != nil { + return err + } + if err = addHTTPSignerV4Middleware(stack, options); err != nil { + return err + } + if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil { + return err + } + if err = awsmiddleware.AddRecordResponseTiming(stack); err != nil { + return err + } + if err = addClientUserAgent(stack); err != nil { + return err + } + if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil { + return err + } + if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { + return err + } + if err = stack.Initialize.Add(newServiceMetadataMiddleware_opListVpcConnectors(options.Region), middleware.Before); err != nil { + return err + } + if err = addRequestIDRetrieverMiddleware(stack); err != nil { + return err + } + if err = addResponseErrorMiddleware(stack); err != nil { + return err + } + if err = addRequestResponseLogging(stack, options); err != nil { + return err + } + return nil +} + +// ListVpcConnectorsAPIClient is a client that implements the ListVpcConnectors +// operation. +type ListVpcConnectorsAPIClient interface { + ListVpcConnectors(context.Context, *ListVpcConnectorsInput, ...func(*Options)) (*ListVpcConnectorsOutput, error) +} + +var _ ListVpcConnectorsAPIClient = (*Client)(nil) + +// ListVpcConnectorsPaginatorOptions is the paginator options for ListVpcConnectors +type ListVpcConnectorsPaginatorOptions struct { + // The maximum number of results to include in each response (result page). It's + // used for a paginated request. If you don't specify MaxResults, the request + // retrieves all available results in a single response. + Limit int32 + + // Set to true if pagination should stop if the service returns a pagination token + // that matches the most recent token provided to the service. + StopOnDuplicateToken bool +} + +// ListVpcConnectorsPaginator is a paginator for ListVpcConnectors +type ListVpcConnectorsPaginator struct { + options ListVpcConnectorsPaginatorOptions + client ListVpcConnectorsAPIClient + params *ListVpcConnectorsInput + nextToken *string + firstPage bool +} + +// NewListVpcConnectorsPaginator returns a new ListVpcConnectorsPaginator +func NewListVpcConnectorsPaginator(client ListVpcConnectorsAPIClient, params *ListVpcConnectorsInput, optFns ...func(*ListVpcConnectorsPaginatorOptions)) *ListVpcConnectorsPaginator { + if params == nil { + params = &ListVpcConnectorsInput{} + } + + options := ListVpcConnectorsPaginatorOptions{} + if params.MaxResults != nil { + options.Limit = *params.MaxResults + } + + for _, fn := range optFns { + fn(&options) + } + + return &ListVpcConnectorsPaginator{ + options: options, + client: client, + params: params, + firstPage: true, + nextToken: params.NextToken, + } +} + +// HasMorePages returns a boolean indicating whether more pages are available +func (p *ListVpcConnectorsPaginator) HasMorePages() bool { + return p.firstPage || (p.nextToken != nil && len(*p.nextToken) != 0) +} + +// NextPage retrieves the next ListVpcConnectors page. +func (p *ListVpcConnectorsPaginator) NextPage(ctx context.Context, optFns ...func(*Options)) (*ListVpcConnectorsOutput, error) { + if !p.HasMorePages() { + return nil, fmt.Errorf("no more pages available") + } + + params := *p.params + params.NextToken = p.nextToken + + var limit *int32 + if p.options.Limit > 0 { + limit = &p.options.Limit + } + params.MaxResults = limit + + result, err := p.client.ListVpcConnectors(ctx, ¶ms, optFns...) + if err != nil { + return nil, err + } + p.firstPage = false + + prevToken := p.nextToken + p.nextToken = result.NextToken + + if p.options.StopOnDuplicateToken && + prevToken != nil && + p.nextToken != nil && + *prevToken == *p.nextToken { + p.nextToken = nil + } + + return result, nil +} + +func newServiceMetadataMiddleware_opListVpcConnectors(region string) *awsmiddleware.RegisterServiceMetadata { + return &awsmiddleware.RegisterServiceMetadata{ + Region: region, + ServiceID: ServiceID, + SigningName: "apprunner", + OperationName: "ListVpcConnectors", + } +} diff --git a/service/apprunner/api_op_UpdateService.go b/service/apprunner/api_op_UpdateService.go index 8f895a222e4..f2847c14832 100644 --- a/service/apprunner/api_op_UpdateService.go +++ b/service/apprunner/api_op_UpdateService.go @@ -43,17 +43,21 @@ type UpdateServiceInput struct { ServiceArn *string // The Amazon Resource Name (ARN) of an App Runner automatic scaling configuration - // resource that you want to associate with your service. + // resource that you want to associate with the App Runner service. AutoScalingConfigurationArn *string // The settings for the health check that App Runner performs to monitor the health - // of your service. + // of the App Runner service. HealthCheckConfiguration *types.HealthCheckConfiguration // The runtime configuration to apply to instances (scaling units) of the App // Runner service. InstanceConfiguration *types.InstanceConfiguration + // Configuration settings related to network traffic of the web application that + // the App Runner service runs. + NetworkConfiguration *types.NetworkConfiguration + // The source configuration to apply to the App Runner service. You can change the // configuration of the code or image repository that the service uses. However, // you can't switch from code to image or the other way around. This means that you diff --git a/service/apprunner/deserializers.go b/service/apprunner/deserializers.go index 61492890cbe..9da9842a37b 100644 --- a/service/apprunner/deserializers.go +++ b/service/apprunner/deserializers.go @@ -487,14 +487,14 @@ func awsAwsjson10_deserializeOpErrorCreateService(response *smithyhttp.Response, } } -type awsAwsjson10_deserializeOpDeleteAutoScalingConfiguration struct { +type awsAwsjson10_deserializeOpCreateVpcConnector struct { } -func (*awsAwsjson10_deserializeOpDeleteAutoScalingConfiguration) ID() string { +func (*awsAwsjson10_deserializeOpCreateVpcConnector) ID() string { return "OperationDeserializer" } -func (m *awsAwsjson10_deserializeOpDeleteAutoScalingConfiguration) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsAwsjson10_deserializeOpCreateVpcConnector) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -508,9 +508,9 @@ func (m *awsAwsjson10_deserializeOpDeleteAutoScalingConfiguration) HandleDeseria } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson10_deserializeOpErrorDeleteAutoScalingConfiguration(response, &metadata) + return out, metadata, awsAwsjson10_deserializeOpErrorCreateVpcConnector(response, &metadata) } - output := &DeleteAutoScalingConfigurationOutput{} + output := &CreateVpcConnectorOutput{} out.Result = output var buff [1024]byte @@ -530,7 +530,7 @@ func (m *awsAwsjson10_deserializeOpDeleteAutoScalingConfiguration) HandleDeseria return out, metadata, err } - err = awsAwsjson10_deserializeOpDocumentDeleteAutoScalingConfigurationOutput(&output, shape) + err = awsAwsjson10_deserializeOpDocumentCreateVpcConnectorOutput(&output, shape) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -544,7 +544,7 @@ func (m *awsAwsjson10_deserializeOpDeleteAutoScalingConfiguration) HandleDeseria return out, metadata, err } -func awsAwsjson10_deserializeOpErrorDeleteAutoScalingConfiguration(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsAwsjson10_deserializeOpErrorCreateVpcConnector(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -591,8 +591,8 @@ func awsAwsjson10_deserializeOpErrorDeleteAutoScalingConfiguration(response *smi case strings.EqualFold("InvalidRequestException", errorCode): return awsAwsjson10_deserializeErrorInvalidRequestException(response, errorBody) - case strings.EqualFold("ResourceNotFoundException", errorCode): - return awsAwsjson10_deserializeErrorResourceNotFoundException(response, errorBody) + case strings.EqualFold("ServiceQuotaExceededException", errorCode): + return awsAwsjson10_deserializeErrorServiceQuotaExceededException(response, errorBody) default: genericError := &smithy.GenericAPIError{ @@ -604,14 +604,14 @@ func awsAwsjson10_deserializeOpErrorDeleteAutoScalingConfiguration(response *smi } } -type awsAwsjson10_deserializeOpDeleteConnection struct { +type awsAwsjson10_deserializeOpDeleteAutoScalingConfiguration struct { } -func (*awsAwsjson10_deserializeOpDeleteConnection) ID() string { +func (*awsAwsjson10_deserializeOpDeleteAutoScalingConfiguration) ID() string { return "OperationDeserializer" } -func (m *awsAwsjson10_deserializeOpDeleteConnection) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsAwsjson10_deserializeOpDeleteAutoScalingConfiguration) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -625,9 +625,9 @@ func (m *awsAwsjson10_deserializeOpDeleteConnection) HandleDeserialize(ctx conte } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson10_deserializeOpErrorDeleteConnection(response, &metadata) + return out, metadata, awsAwsjson10_deserializeOpErrorDeleteAutoScalingConfiguration(response, &metadata) } - output := &DeleteConnectionOutput{} + output := &DeleteAutoScalingConfigurationOutput{} out.Result = output var buff [1024]byte @@ -647,7 +647,7 @@ func (m *awsAwsjson10_deserializeOpDeleteConnection) HandleDeserialize(ctx conte return out, metadata, err } - err = awsAwsjson10_deserializeOpDocumentDeleteConnectionOutput(&output, shape) + err = awsAwsjson10_deserializeOpDocumentDeleteAutoScalingConfigurationOutput(&output, shape) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -661,7 +661,7 @@ func (m *awsAwsjson10_deserializeOpDeleteConnection) HandleDeserialize(ctx conte return out, metadata, err } -func awsAwsjson10_deserializeOpErrorDeleteConnection(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsAwsjson10_deserializeOpErrorDeleteAutoScalingConfiguration(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -721,14 +721,14 @@ func awsAwsjson10_deserializeOpErrorDeleteConnection(response *smithyhttp.Respon } } -type awsAwsjson10_deserializeOpDeleteService struct { +type awsAwsjson10_deserializeOpDeleteConnection struct { } -func (*awsAwsjson10_deserializeOpDeleteService) ID() string { +func (*awsAwsjson10_deserializeOpDeleteConnection) ID() string { return "OperationDeserializer" } -func (m *awsAwsjson10_deserializeOpDeleteService) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsAwsjson10_deserializeOpDeleteConnection) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -742,9 +742,9 @@ func (m *awsAwsjson10_deserializeOpDeleteService) HandleDeserialize(ctx context. } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson10_deserializeOpErrorDeleteService(response, &metadata) + return out, metadata, awsAwsjson10_deserializeOpErrorDeleteConnection(response, &metadata) } - output := &DeleteServiceOutput{} + output := &DeleteConnectionOutput{} out.Result = output var buff [1024]byte @@ -764,7 +764,7 @@ func (m *awsAwsjson10_deserializeOpDeleteService) HandleDeserialize(ctx context. return out, metadata, err } - err = awsAwsjson10_deserializeOpDocumentDeleteServiceOutput(&output, shape) + err = awsAwsjson10_deserializeOpDocumentDeleteConnectionOutput(&output, shape) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -778,7 +778,7 @@ func (m *awsAwsjson10_deserializeOpDeleteService) HandleDeserialize(ctx context. return out, metadata, err } -func awsAwsjson10_deserializeOpErrorDeleteService(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsAwsjson10_deserializeOpErrorDeleteConnection(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -825,9 +825,6 @@ func awsAwsjson10_deserializeOpErrorDeleteService(response *smithyhttp.Response, case strings.EqualFold("InvalidRequestException", errorCode): return awsAwsjson10_deserializeErrorInvalidRequestException(response, errorBody) - case strings.EqualFold("InvalidStateException", errorCode): - return awsAwsjson10_deserializeErrorInvalidStateException(response, errorBody) - case strings.EqualFold("ResourceNotFoundException", errorCode): return awsAwsjson10_deserializeErrorResourceNotFoundException(response, errorBody) @@ -841,14 +838,14 @@ func awsAwsjson10_deserializeOpErrorDeleteService(response *smithyhttp.Response, } } -type awsAwsjson10_deserializeOpDescribeAutoScalingConfiguration struct { +type awsAwsjson10_deserializeOpDeleteService struct { } -func (*awsAwsjson10_deserializeOpDescribeAutoScalingConfiguration) ID() string { +func (*awsAwsjson10_deserializeOpDeleteService) ID() string { return "OperationDeserializer" } -func (m *awsAwsjson10_deserializeOpDescribeAutoScalingConfiguration) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsAwsjson10_deserializeOpDeleteService) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -862,9 +859,9 @@ func (m *awsAwsjson10_deserializeOpDescribeAutoScalingConfiguration) HandleDeser } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson10_deserializeOpErrorDescribeAutoScalingConfiguration(response, &metadata) + return out, metadata, awsAwsjson10_deserializeOpErrorDeleteService(response, &metadata) } - output := &DescribeAutoScalingConfigurationOutput{} + output := &DeleteServiceOutput{} out.Result = output var buff [1024]byte @@ -884,7 +881,7 @@ func (m *awsAwsjson10_deserializeOpDescribeAutoScalingConfiguration) HandleDeser return out, metadata, err } - err = awsAwsjson10_deserializeOpDocumentDescribeAutoScalingConfigurationOutput(&output, shape) + err = awsAwsjson10_deserializeOpDocumentDeleteServiceOutput(&output, shape) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -898,7 +895,7 @@ func (m *awsAwsjson10_deserializeOpDescribeAutoScalingConfiguration) HandleDeser return out, metadata, err } -func awsAwsjson10_deserializeOpErrorDescribeAutoScalingConfiguration(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsAwsjson10_deserializeOpErrorDeleteService(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -945,6 +942,9 @@ func awsAwsjson10_deserializeOpErrorDescribeAutoScalingConfiguration(response *s case strings.EqualFold("InvalidRequestException", errorCode): return awsAwsjson10_deserializeErrorInvalidRequestException(response, errorBody) + case strings.EqualFold("InvalidStateException", errorCode): + return awsAwsjson10_deserializeErrorInvalidStateException(response, errorBody) + case strings.EqualFold("ResourceNotFoundException", errorCode): return awsAwsjson10_deserializeErrorResourceNotFoundException(response, errorBody) @@ -958,14 +958,14 @@ func awsAwsjson10_deserializeOpErrorDescribeAutoScalingConfiguration(response *s } } -type awsAwsjson10_deserializeOpDescribeCustomDomains struct { +type awsAwsjson10_deserializeOpDeleteVpcConnector struct { } -func (*awsAwsjson10_deserializeOpDescribeCustomDomains) ID() string { +func (*awsAwsjson10_deserializeOpDeleteVpcConnector) ID() string { return "OperationDeserializer" } -func (m *awsAwsjson10_deserializeOpDescribeCustomDomains) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsAwsjson10_deserializeOpDeleteVpcConnector) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -979,9 +979,9 @@ func (m *awsAwsjson10_deserializeOpDescribeCustomDomains) HandleDeserialize(ctx } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson10_deserializeOpErrorDescribeCustomDomains(response, &metadata) + return out, metadata, awsAwsjson10_deserializeOpErrorDeleteVpcConnector(response, &metadata) } - output := &DescribeCustomDomainsOutput{} + output := &DeleteVpcConnectorOutput{} out.Result = output var buff [1024]byte @@ -1001,7 +1001,7 @@ func (m *awsAwsjson10_deserializeOpDescribeCustomDomains) HandleDeserialize(ctx return out, metadata, err } - err = awsAwsjson10_deserializeOpDocumentDescribeCustomDomainsOutput(&output, shape) + err = awsAwsjson10_deserializeOpDocumentDeleteVpcConnectorOutput(&output, shape) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -1015,7 +1015,7 @@ func (m *awsAwsjson10_deserializeOpDescribeCustomDomains) HandleDeserialize(ctx return out, metadata, err } -func awsAwsjson10_deserializeOpErrorDescribeCustomDomains(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsAwsjson10_deserializeOpErrorDeleteVpcConnector(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -1075,14 +1075,14 @@ func awsAwsjson10_deserializeOpErrorDescribeCustomDomains(response *smithyhttp.R } } -type awsAwsjson10_deserializeOpDescribeService struct { +type awsAwsjson10_deserializeOpDescribeAutoScalingConfiguration struct { } -func (*awsAwsjson10_deserializeOpDescribeService) ID() string { +func (*awsAwsjson10_deserializeOpDescribeAutoScalingConfiguration) ID() string { return "OperationDeserializer" } -func (m *awsAwsjson10_deserializeOpDescribeService) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsAwsjson10_deserializeOpDescribeAutoScalingConfiguration) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -1096,9 +1096,9 @@ func (m *awsAwsjson10_deserializeOpDescribeService) HandleDeserialize(ctx contex } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson10_deserializeOpErrorDescribeService(response, &metadata) + return out, metadata, awsAwsjson10_deserializeOpErrorDescribeAutoScalingConfiguration(response, &metadata) } - output := &DescribeServiceOutput{} + output := &DescribeAutoScalingConfigurationOutput{} out.Result = output var buff [1024]byte @@ -1118,7 +1118,7 @@ func (m *awsAwsjson10_deserializeOpDescribeService) HandleDeserialize(ctx contex return out, metadata, err } - err = awsAwsjson10_deserializeOpDocumentDescribeServiceOutput(&output, shape) + err = awsAwsjson10_deserializeOpDocumentDescribeAutoScalingConfigurationOutput(&output, shape) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -1132,7 +1132,7 @@ func (m *awsAwsjson10_deserializeOpDescribeService) HandleDeserialize(ctx contex return out, metadata, err } -func awsAwsjson10_deserializeOpErrorDescribeService(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsAwsjson10_deserializeOpErrorDescribeAutoScalingConfiguration(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -1192,14 +1192,14 @@ func awsAwsjson10_deserializeOpErrorDescribeService(response *smithyhttp.Respons } } -type awsAwsjson10_deserializeOpDisassociateCustomDomain struct { +type awsAwsjson10_deserializeOpDescribeCustomDomains struct { } -func (*awsAwsjson10_deserializeOpDisassociateCustomDomain) ID() string { +func (*awsAwsjson10_deserializeOpDescribeCustomDomains) ID() string { return "OperationDeserializer" } -func (m *awsAwsjson10_deserializeOpDisassociateCustomDomain) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsAwsjson10_deserializeOpDescribeCustomDomains) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -1213,9 +1213,9 @@ func (m *awsAwsjson10_deserializeOpDisassociateCustomDomain) HandleDeserialize(c } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson10_deserializeOpErrorDisassociateCustomDomain(response, &metadata) + return out, metadata, awsAwsjson10_deserializeOpErrorDescribeCustomDomains(response, &metadata) } - output := &DisassociateCustomDomainOutput{} + output := &DescribeCustomDomainsOutput{} out.Result = output var buff [1024]byte @@ -1235,7 +1235,7 @@ func (m *awsAwsjson10_deserializeOpDisassociateCustomDomain) HandleDeserialize(c return out, metadata, err } - err = awsAwsjson10_deserializeOpDocumentDisassociateCustomDomainOutput(&output, shape) + err = awsAwsjson10_deserializeOpDocumentDescribeCustomDomainsOutput(&output, shape) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -1249,7 +1249,7 @@ func (m *awsAwsjson10_deserializeOpDisassociateCustomDomain) HandleDeserialize(c return out, metadata, err } -func awsAwsjson10_deserializeOpErrorDisassociateCustomDomain(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsAwsjson10_deserializeOpErrorDescribeCustomDomains(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -1296,9 +1296,6 @@ func awsAwsjson10_deserializeOpErrorDisassociateCustomDomain(response *smithyhtt case strings.EqualFold("InvalidRequestException", errorCode): return awsAwsjson10_deserializeErrorInvalidRequestException(response, errorBody) - case strings.EqualFold("InvalidStateException", errorCode): - return awsAwsjson10_deserializeErrorInvalidStateException(response, errorBody) - case strings.EqualFold("ResourceNotFoundException", errorCode): return awsAwsjson10_deserializeErrorResourceNotFoundException(response, errorBody) @@ -1312,14 +1309,14 @@ func awsAwsjson10_deserializeOpErrorDisassociateCustomDomain(response *smithyhtt } } -type awsAwsjson10_deserializeOpListAutoScalingConfigurations struct { +type awsAwsjson10_deserializeOpDescribeService struct { } -func (*awsAwsjson10_deserializeOpListAutoScalingConfigurations) ID() string { +func (*awsAwsjson10_deserializeOpDescribeService) ID() string { return "OperationDeserializer" } -func (m *awsAwsjson10_deserializeOpListAutoScalingConfigurations) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsAwsjson10_deserializeOpDescribeService) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -1333,9 +1330,9 @@ func (m *awsAwsjson10_deserializeOpListAutoScalingConfigurations) HandleDeserial } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson10_deserializeOpErrorListAutoScalingConfigurations(response, &metadata) + return out, metadata, awsAwsjson10_deserializeOpErrorDescribeService(response, &metadata) } - output := &ListAutoScalingConfigurationsOutput{} + output := &DescribeServiceOutput{} out.Result = output var buff [1024]byte @@ -1355,7 +1352,7 @@ func (m *awsAwsjson10_deserializeOpListAutoScalingConfigurations) HandleDeserial return out, metadata, err } - err = awsAwsjson10_deserializeOpDocumentListAutoScalingConfigurationsOutput(&output, shape) + err = awsAwsjson10_deserializeOpDocumentDescribeServiceOutput(&output, shape) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -1369,7 +1366,7 @@ func (m *awsAwsjson10_deserializeOpListAutoScalingConfigurations) HandleDeserial return out, metadata, err } -func awsAwsjson10_deserializeOpErrorListAutoScalingConfigurations(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsAwsjson10_deserializeOpErrorDescribeService(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -1416,6 +1413,9 @@ func awsAwsjson10_deserializeOpErrorListAutoScalingConfigurations(response *smit case strings.EqualFold("InvalidRequestException", errorCode): return awsAwsjson10_deserializeErrorInvalidRequestException(response, errorBody) + case strings.EqualFold("ResourceNotFoundException", errorCode): + return awsAwsjson10_deserializeErrorResourceNotFoundException(response, errorBody) + default: genericError := &smithy.GenericAPIError{ Code: errorCode, @@ -1426,14 +1426,14 @@ func awsAwsjson10_deserializeOpErrorListAutoScalingConfigurations(response *smit } } -type awsAwsjson10_deserializeOpListConnections struct { +type awsAwsjson10_deserializeOpDescribeVpcConnector struct { } -func (*awsAwsjson10_deserializeOpListConnections) ID() string { +func (*awsAwsjson10_deserializeOpDescribeVpcConnector) ID() string { return "OperationDeserializer" } -func (m *awsAwsjson10_deserializeOpListConnections) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsAwsjson10_deserializeOpDescribeVpcConnector) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -1447,9 +1447,9 @@ func (m *awsAwsjson10_deserializeOpListConnections) HandleDeserialize(ctx contex } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson10_deserializeOpErrorListConnections(response, &metadata) + return out, metadata, awsAwsjson10_deserializeOpErrorDescribeVpcConnector(response, &metadata) } - output := &ListConnectionsOutput{} + output := &DescribeVpcConnectorOutput{} out.Result = output var buff [1024]byte @@ -1469,7 +1469,7 @@ func (m *awsAwsjson10_deserializeOpListConnections) HandleDeserialize(ctx contex return out, metadata, err } - err = awsAwsjson10_deserializeOpDocumentListConnectionsOutput(&output, shape) + err = awsAwsjson10_deserializeOpDocumentDescribeVpcConnectorOutput(&output, shape) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -1483,7 +1483,7 @@ func (m *awsAwsjson10_deserializeOpListConnections) HandleDeserialize(ctx contex return out, metadata, err } -func awsAwsjson10_deserializeOpErrorListConnections(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsAwsjson10_deserializeOpErrorDescribeVpcConnector(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -1530,6 +1530,9 @@ func awsAwsjson10_deserializeOpErrorListConnections(response *smithyhttp.Respons case strings.EqualFold("InvalidRequestException", errorCode): return awsAwsjson10_deserializeErrorInvalidRequestException(response, errorBody) + case strings.EqualFold("ResourceNotFoundException", errorCode): + return awsAwsjson10_deserializeErrorResourceNotFoundException(response, errorBody) + default: genericError := &smithy.GenericAPIError{ Code: errorCode, @@ -1540,14 +1543,14 @@ func awsAwsjson10_deserializeOpErrorListConnections(response *smithyhttp.Respons } } -type awsAwsjson10_deserializeOpListOperations struct { +type awsAwsjson10_deserializeOpDisassociateCustomDomain struct { } -func (*awsAwsjson10_deserializeOpListOperations) ID() string { +func (*awsAwsjson10_deserializeOpDisassociateCustomDomain) ID() string { return "OperationDeserializer" } -func (m *awsAwsjson10_deserializeOpListOperations) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsAwsjson10_deserializeOpDisassociateCustomDomain) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -1561,9 +1564,9 @@ func (m *awsAwsjson10_deserializeOpListOperations) HandleDeserialize(ctx context } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson10_deserializeOpErrorListOperations(response, &metadata) + return out, metadata, awsAwsjson10_deserializeOpErrorDisassociateCustomDomain(response, &metadata) } - output := &ListOperationsOutput{} + output := &DisassociateCustomDomainOutput{} out.Result = output var buff [1024]byte @@ -1583,7 +1586,7 @@ func (m *awsAwsjson10_deserializeOpListOperations) HandleDeserialize(ctx context return out, metadata, err } - err = awsAwsjson10_deserializeOpDocumentListOperationsOutput(&output, shape) + err = awsAwsjson10_deserializeOpDocumentDisassociateCustomDomainOutput(&output, shape) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -1597,7 +1600,7 @@ func (m *awsAwsjson10_deserializeOpListOperations) HandleDeserialize(ctx context return out, metadata, err } -func awsAwsjson10_deserializeOpErrorListOperations(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsAwsjson10_deserializeOpErrorDisassociateCustomDomain(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -1644,6 +1647,9 @@ func awsAwsjson10_deserializeOpErrorListOperations(response *smithyhttp.Response case strings.EqualFold("InvalidRequestException", errorCode): return awsAwsjson10_deserializeErrorInvalidRequestException(response, errorBody) + case strings.EqualFold("InvalidStateException", errorCode): + return awsAwsjson10_deserializeErrorInvalidStateException(response, errorBody) + case strings.EqualFold("ResourceNotFoundException", errorCode): return awsAwsjson10_deserializeErrorResourceNotFoundException(response, errorBody) @@ -1657,14 +1663,14 @@ func awsAwsjson10_deserializeOpErrorListOperations(response *smithyhttp.Response } } -type awsAwsjson10_deserializeOpListServices struct { +type awsAwsjson10_deserializeOpListAutoScalingConfigurations struct { } -func (*awsAwsjson10_deserializeOpListServices) ID() string { +func (*awsAwsjson10_deserializeOpListAutoScalingConfigurations) ID() string { return "OperationDeserializer" } -func (m *awsAwsjson10_deserializeOpListServices) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsAwsjson10_deserializeOpListAutoScalingConfigurations) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -1678,9 +1684,9 @@ func (m *awsAwsjson10_deserializeOpListServices) HandleDeserialize(ctx context.C } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson10_deserializeOpErrorListServices(response, &metadata) + return out, metadata, awsAwsjson10_deserializeOpErrorListAutoScalingConfigurations(response, &metadata) } - output := &ListServicesOutput{} + output := &ListAutoScalingConfigurationsOutput{} out.Result = output var buff [1024]byte @@ -1700,7 +1706,7 @@ func (m *awsAwsjson10_deserializeOpListServices) HandleDeserialize(ctx context.C return out, metadata, err } - err = awsAwsjson10_deserializeOpDocumentListServicesOutput(&output, shape) + err = awsAwsjson10_deserializeOpDocumentListAutoScalingConfigurationsOutput(&output, shape) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -1714,7 +1720,7 @@ func (m *awsAwsjson10_deserializeOpListServices) HandleDeserialize(ctx context.C return out, metadata, err } -func awsAwsjson10_deserializeOpErrorListServices(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsAwsjson10_deserializeOpErrorListAutoScalingConfigurations(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -1771,14 +1777,14 @@ func awsAwsjson10_deserializeOpErrorListServices(response *smithyhttp.Response, } } -type awsAwsjson10_deserializeOpListTagsForResource struct { +type awsAwsjson10_deserializeOpListConnections struct { } -func (*awsAwsjson10_deserializeOpListTagsForResource) ID() string { +func (*awsAwsjson10_deserializeOpListConnections) ID() string { return "OperationDeserializer" } -func (m *awsAwsjson10_deserializeOpListTagsForResource) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsAwsjson10_deserializeOpListConnections) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -1792,9 +1798,9 @@ func (m *awsAwsjson10_deserializeOpListTagsForResource) HandleDeserialize(ctx co } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson10_deserializeOpErrorListTagsForResource(response, &metadata) + return out, metadata, awsAwsjson10_deserializeOpErrorListConnections(response, &metadata) } - output := &ListTagsForResourceOutput{} + output := &ListConnectionsOutput{} out.Result = output var buff [1024]byte @@ -1814,7 +1820,7 @@ func (m *awsAwsjson10_deserializeOpListTagsForResource) HandleDeserialize(ctx co return out, metadata, err } - err = awsAwsjson10_deserializeOpDocumentListTagsForResourceOutput(&output, shape) + err = awsAwsjson10_deserializeOpDocumentListConnectionsOutput(&output, shape) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -1828,7 +1834,7 @@ func (m *awsAwsjson10_deserializeOpListTagsForResource) HandleDeserialize(ctx co return out, metadata, err } -func awsAwsjson10_deserializeOpErrorListTagsForResource(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsAwsjson10_deserializeOpErrorListConnections(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -1875,12 +1881,6 @@ func awsAwsjson10_deserializeOpErrorListTagsForResource(response *smithyhttp.Res case strings.EqualFold("InvalidRequestException", errorCode): return awsAwsjson10_deserializeErrorInvalidRequestException(response, errorBody) - case strings.EqualFold("InvalidStateException", errorCode): - return awsAwsjson10_deserializeErrorInvalidStateException(response, errorBody) - - case strings.EqualFold("ResourceNotFoundException", errorCode): - return awsAwsjson10_deserializeErrorResourceNotFoundException(response, errorBody) - default: genericError := &smithy.GenericAPIError{ Code: errorCode, @@ -1891,14 +1891,14 @@ func awsAwsjson10_deserializeOpErrorListTagsForResource(response *smithyhttp.Res } } -type awsAwsjson10_deserializeOpPauseService struct { +type awsAwsjson10_deserializeOpListOperations struct { } -func (*awsAwsjson10_deserializeOpPauseService) ID() string { +func (*awsAwsjson10_deserializeOpListOperations) ID() string { return "OperationDeserializer" } -func (m *awsAwsjson10_deserializeOpPauseService) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsAwsjson10_deserializeOpListOperations) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -1912,9 +1912,9 @@ func (m *awsAwsjson10_deserializeOpPauseService) HandleDeserialize(ctx context.C } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson10_deserializeOpErrorPauseService(response, &metadata) + return out, metadata, awsAwsjson10_deserializeOpErrorListOperations(response, &metadata) } - output := &PauseServiceOutput{} + output := &ListOperationsOutput{} out.Result = output var buff [1024]byte @@ -1934,7 +1934,7 @@ func (m *awsAwsjson10_deserializeOpPauseService) HandleDeserialize(ctx context.C return out, metadata, err } - err = awsAwsjson10_deserializeOpDocumentPauseServiceOutput(&output, shape) + err = awsAwsjson10_deserializeOpDocumentListOperationsOutput(&output, shape) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -1948,7 +1948,7 @@ func (m *awsAwsjson10_deserializeOpPauseService) HandleDeserialize(ctx context.C return out, metadata, err } -func awsAwsjson10_deserializeOpErrorPauseService(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsAwsjson10_deserializeOpErrorListOperations(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -1995,9 +1995,6 @@ func awsAwsjson10_deserializeOpErrorPauseService(response *smithyhttp.Response, case strings.EqualFold("InvalidRequestException", errorCode): return awsAwsjson10_deserializeErrorInvalidRequestException(response, errorBody) - case strings.EqualFold("InvalidStateException", errorCode): - return awsAwsjson10_deserializeErrorInvalidStateException(response, errorBody) - case strings.EqualFold("ResourceNotFoundException", errorCode): return awsAwsjson10_deserializeErrorResourceNotFoundException(response, errorBody) @@ -2011,14 +2008,14 @@ func awsAwsjson10_deserializeOpErrorPauseService(response *smithyhttp.Response, } } -type awsAwsjson10_deserializeOpResumeService struct { +type awsAwsjson10_deserializeOpListServices struct { } -func (*awsAwsjson10_deserializeOpResumeService) ID() string { +func (*awsAwsjson10_deserializeOpListServices) ID() string { return "OperationDeserializer" } -func (m *awsAwsjson10_deserializeOpResumeService) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsAwsjson10_deserializeOpListServices) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -2032,9 +2029,9 @@ func (m *awsAwsjson10_deserializeOpResumeService) HandleDeserialize(ctx context. } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson10_deserializeOpErrorResumeService(response, &metadata) + return out, metadata, awsAwsjson10_deserializeOpErrorListServices(response, &metadata) } - output := &ResumeServiceOutput{} + output := &ListServicesOutput{} out.Result = output var buff [1024]byte @@ -2054,7 +2051,7 @@ func (m *awsAwsjson10_deserializeOpResumeService) HandleDeserialize(ctx context. return out, metadata, err } - err = awsAwsjson10_deserializeOpDocumentResumeServiceOutput(&output, shape) + err = awsAwsjson10_deserializeOpDocumentListServicesOutput(&output, shape) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -2068,7 +2065,7 @@ func (m *awsAwsjson10_deserializeOpResumeService) HandleDeserialize(ctx context. return out, metadata, err } -func awsAwsjson10_deserializeOpErrorResumeService(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsAwsjson10_deserializeOpErrorListServices(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -2115,12 +2112,6 @@ func awsAwsjson10_deserializeOpErrorResumeService(response *smithyhttp.Response, case strings.EqualFold("InvalidRequestException", errorCode): return awsAwsjson10_deserializeErrorInvalidRequestException(response, errorBody) - case strings.EqualFold("InvalidStateException", errorCode): - return awsAwsjson10_deserializeErrorInvalidStateException(response, errorBody) - - case strings.EqualFold("ResourceNotFoundException", errorCode): - return awsAwsjson10_deserializeErrorResourceNotFoundException(response, errorBody) - default: genericError := &smithy.GenericAPIError{ Code: errorCode, @@ -2131,14 +2122,14 @@ func awsAwsjson10_deserializeOpErrorResumeService(response *smithyhttp.Response, } } -type awsAwsjson10_deserializeOpStartDeployment struct { +type awsAwsjson10_deserializeOpListTagsForResource struct { } -func (*awsAwsjson10_deserializeOpStartDeployment) ID() string { +func (*awsAwsjson10_deserializeOpListTagsForResource) ID() string { return "OperationDeserializer" } -func (m *awsAwsjson10_deserializeOpStartDeployment) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsAwsjson10_deserializeOpListTagsForResource) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -2152,9 +2143,9 @@ func (m *awsAwsjson10_deserializeOpStartDeployment) HandleDeserialize(ctx contex } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson10_deserializeOpErrorStartDeployment(response, &metadata) + return out, metadata, awsAwsjson10_deserializeOpErrorListTagsForResource(response, &metadata) } - output := &StartDeploymentOutput{} + output := &ListTagsForResourceOutput{} out.Result = output var buff [1024]byte @@ -2174,7 +2165,7 @@ func (m *awsAwsjson10_deserializeOpStartDeployment) HandleDeserialize(ctx contex return out, metadata, err } - err = awsAwsjson10_deserializeOpDocumentStartDeploymentOutput(&output, shape) + err = awsAwsjson10_deserializeOpDocumentListTagsForResourceOutput(&output, shape) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -2188,7 +2179,7 @@ func (m *awsAwsjson10_deserializeOpStartDeployment) HandleDeserialize(ctx contex return out, metadata, err } -func awsAwsjson10_deserializeOpErrorStartDeployment(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsAwsjson10_deserializeOpErrorListTagsForResource(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -2235,6 +2226,9 @@ func awsAwsjson10_deserializeOpErrorStartDeployment(response *smithyhttp.Respons case strings.EqualFold("InvalidRequestException", errorCode): return awsAwsjson10_deserializeErrorInvalidRequestException(response, errorBody) + case strings.EqualFold("InvalidStateException", errorCode): + return awsAwsjson10_deserializeErrorInvalidStateException(response, errorBody) + case strings.EqualFold("ResourceNotFoundException", errorCode): return awsAwsjson10_deserializeErrorResourceNotFoundException(response, errorBody) @@ -2248,14 +2242,14 @@ func awsAwsjson10_deserializeOpErrorStartDeployment(response *smithyhttp.Respons } } -type awsAwsjson10_deserializeOpTagResource struct { +type awsAwsjson10_deserializeOpListVpcConnectors struct { } -func (*awsAwsjson10_deserializeOpTagResource) ID() string { +func (*awsAwsjson10_deserializeOpListVpcConnectors) ID() string { return "OperationDeserializer" } -func (m *awsAwsjson10_deserializeOpTagResource) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsAwsjson10_deserializeOpListVpcConnectors) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -2269,9 +2263,9 @@ func (m *awsAwsjson10_deserializeOpTagResource) HandleDeserialize(ctx context.Co } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson10_deserializeOpErrorTagResource(response, &metadata) + return out, metadata, awsAwsjson10_deserializeOpErrorListVpcConnectors(response, &metadata) } - output := &TagResourceOutput{} + output := &ListVpcConnectorsOutput{} out.Result = output var buff [1024]byte @@ -2291,7 +2285,7 @@ func (m *awsAwsjson10_deserializeOpTagResource) HandleDeserialize(ctx context.Co return out, metadata, err } - err = awsAwsjson10_deserializeOpDocumentTagResourceOutput(&output, shape) + err = awsAwsjson10_deserializeOpDocumentListVpcConnectorsOutput(&output, shape) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -2305,7 +2299,7 @@ func (m *awsAwsjson10_deserializeOpTagResource) HandleDeserialize(ctx context.Co return out, metadata, err } -func awsAwsjson10_deserializeOpErrorTagResource(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsAwsjson10_deserializeOpErrorListVpcConnectors(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -2352,12 +2346,6 @@ func awsAwsjson10_deserializeOpErrorTagResource(response *smithyhttp.Response, m case strings.EqualFold("InvalidRequestException", errorCode): return awsAwsjson10_deserializeErrorInvalidRequestException(response, errorBody) - case strings.EqualFold("InvalidStateException", errorCode): - return awsAwsjson10_deserializeErrorInvalidStateException(response, errorBody) - - case strings.EqualFold("ResourceNotFoundException", errorCode): - return awsAwsjson10_deserializeErrorResourceNotFoundException(response, errorBody) - default: genericError := &smithy.GenericAPIError{ Code: errorCode, @@ -2368,14 +2356,14 @@ func awsAwsjson10_deserializeOpErrorTagResource(response *smithyhttp.Response, m } } -type awsAwsjson10_deserializeOpUntagResource struct { +type awsAwsjson10_deserializeOpPauseService struct { } -func (*awsAwsjson10_deserializeOpUntagResource) ID() string { +func (*awsAwsjson10_deserializeOpPauseService) ID() string { return "OperationDeserializer" } -func (m *awsAwsjson10_deserializeOpUntagResource) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsAwsjson10_deserializeOpPauseService) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -2389,9 +2377,9 @@ func (m *awsAwsjson10_deserializeOpUntagResource) HandleDeserialize(ctx context. } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson10_deserializeOpErrorUntagResource(response, &metadata) + return out, metadata, awsAwsjson10_deserializeOpErrorPauseService(response, &metadata) } - output := &UntagResourceOutput{} + output := &PauseServiceOutput{} out.Result = output var buff [1024]byte @@ -2411,7 +2399,7 @@ func (m *awsAwsjson10_deserializeOpUntagResource) HandleDeserialize(ctx context. return out, metadata, err } - err = awsAwsjson10_deserializeOpDocumentUntagResourceOutput(&output, shape) + err = awsAwsjson10_deserializeOpDocumentPauseServiceOutput(&output, shape) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -2425,7 +2413,484 @@ func (m *awsAwsjson10_deserializeOpUntagResource) HandleDeserialize(ctx context. return out, metadata, err } -func awsAwsjson10_deserializeOpErrorUntagResource(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsAwsjson10_deserializeOpErrorPauseService(response *smithyhttp.Response, metadata *middleware.Metadata) error { + var errorBuffer bytes.Buffer + if _, err := io.Copy(&errorBuffer, response.Body); err != nil { + return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} + } + errorBody := bytes.NewReader(errorBuffer.Bytes()) + + errorCode := "UnknownError" + errorMessage := errorCode + + code := response.Header.Get("X-Amzn-ErrorType") + if len(code) != 0 { + errorCode = restjson.SanitizeErrorCode(code) + } + + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + + body := io.TeeReader(errorBody, ringBuffer) + decoder := json.NewDecoder(body) + decoder.UseNumber() + code, message, err := restjson.GetErrorInfo(decoder) + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return err + } + + errorBody.Seek(0, io.SeekStart) + if len(code) != 0 { + errorCode = restjson.SanitizeErrorCode(code) + } + if len(message) != 0 { + errorMessage = message + } + + switch { + case strings.EqualFold("InternalServiceErrorException", errorCode): + return awsAwsjson10_deserializeErrorInternalServiceErrorException(response, errorBody) + + case strings.EqualFold("InvalidRequestException", errorCode): + return awsAwsjson10_deserializeErrorInvalidRequestException(response, errorBody) + + case strings.EqualFold("InvalidStateException", errorCode): + return awsAwsjson10_deserializeErrorInvalidStateException(response, errorBody) + + case strings.EqualFold("ResourceNotFoundException", errorCode): + return awsAwsjson10_deserializeErrorResourceNotFoundException(response, errorBody) + + default: + genericError := &smithy.GenericAPIError{ + Code: errorCode, + Message: errorMessage, + } + return genericError + + } +} + +type awsAwsjson10_deserializeOpResumeService struct { +} + +func (*awsAwsjson10_deserializeOpResumeService) ID() string { + return "OperationDeserializer" +} + +func (m *awsAwsjson10_deserializeOpResumeService) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( + out middleware.DeserializeOutput, metadata middleware.Metadata, err error, +) { + out, metadata, err = next.HandleDeserialize(ctx, in) + if err != nil { + return out, metadata, err + } + + response, ok := out.RawResponse.(*smithyhttp.Response) + if !ok { + return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} + } + + if response.StatusCode < 200 || response.StatusCode >= 300 { + return out, metadata, awsAwsjson10_deserializeOpErrorResumeService(response, &metadata) + } + output := &ResumeServiceOutput{} + out.Result = output + + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + + body := io.TeeReader(response.Body, ringBuffer) + decoder := json.NewDecoder(body) + decoder.UseNumber() + var shape interface{} + if err := decoder.Decode(&shape); err != nil && err != io.EOF { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return out, metadata, err + } + + err = awsAwsjson10_deserializeOpDocumentResumeServiceOutput(&output, shape) + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return out, metadata, err + } + + return out, metadata, err +} + +func awsAwsjson10_deserializeOpErrorResumeService(response *smithyhttp.Response, metadata *middleware.Metadata) error { + var errorBuffer bytes.Buffer + if _, err := io.Copy(&errorBuffer, response.Body); err != nil { + return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} + } + errorBody := bytes.NewReader(errorBuffer.Bytes()) + + errorCode := "UnknownError" + errorMessage := errorCode + + code := response.Header.Get("X-Amzn-ErrorType") + if len(code) != 0 { + errorCode = restjson.SanitizeErrorCode(code) + } + + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + + body := io.TeeReader(errorBody, ringBuffer) + decoder := json.NewDecoder(body) + decoder.UseNumber() + code, message, err := restjson.GetErrorInfo(decoder) + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return err + } + + errorBody.Seek(0, io.SeekStart) + if len(code) != 0 { + errorCode = restjson.SanitizeErrorCode(code) + } + if len(message) != 0 { + errorMessage = message + } + + switch { + case strings.EqualFold("InternalServiceErrorException", errorCode): + return awsAwsjson10_deserializeErrorInternalServiceErrorException(response, errorBody) + + case strings.EqualFold("InvalidRequestException", errorCode): + return awsAwsjson10_deserializeErrorInvalidRequestException(response, errorBody) + + case strings.EqualFold("InvalidStateException", errorCode): + return awsAwsjson10_deserializeErrorInvalidStateException(response, errorBody) + + case strings.EqualFold("ResourceNotFoundException", errorCode): + return awsAwsjson10_deserializeErrorResourceNotFoundException(response, errorBody) + + default: + genericError := &smithy.GenericAPIError{ + Code: errorCode, + Message: errorMessage, + } + return genericError + + } +} + +type awsAwsjson10_deserializeOpStartDeployment struct { +} + +func (*awsAwsjson10_deserializeOpStartDeployment) ID() string { + return "OperationDeserializer" +} + +func (m *awsAwsjson10_deserializeOpStartDeployment) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( + out middleware.DeserializeOutput, metadata middleware.Metadata, err error, +) { + out, metadata, err = next.HandleDeserialize(ctx, in) + if err != nil { + return out, metadata, err + } + + response, ok := out.RawResponse.(*smithyhttp.Response) + if !ok { + return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} + } + + if response.StatusCode < 200 || response.StatusCode >= 300 { + return out, metadata, awsAwsjson10_deserializeOpErrorStartDeployment(response, &metadata) + } + output := &StartDeploymentOutput{} + out.Result = output + + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + + body := io.TeeReader(response.Body, ringBuffer) + decoder := json.NewDecoder(body) + decoder.UseNumber() + var shape interface{} + if err := decoder.Decode(&shape); err != nil && err != io.EOF { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return out, metadata, err + } + + err = awsAwsjson10_deserializeOpDocumentStartDeploymentOutput(&output, shape) + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return out, metadata, err + } + + return out, metadata, err +} + +func awsAwsjson10_deserializeOpErrorStartDeployment(response *smithyhttp.Response, metadata *middleware.Metadata) error { + var errorBuffer bytes.Buffer + if _, err := io.Copy(&errorBuffer, response.Body); err != nil { + return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} + } + errorBody := bytes.NewReader(errorBuffer.Bytes()) + + errorCode := "UnknownError" + errorMessage := errorCode + + code := response.Header.Get("X-Amzn-ErrorType") + if len(code) != 0 { + errorCode = restjson.SanitizeErrorCode(code) + } + + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + + body := io.TeeReader(errorBody, ringBuffer) + decoder := json.NewDecoder(body) + decoder.UseNumber() + code, message, err := restjson.GetErrorInfo(decoder) + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return err + } + + errorBody.Seek(0, io.SeekStart) + if len(code) != 0 { + errorCode = restjson.SanitizeErrorCode(code) + } + if len(message) != 0 { + errorMessage = message + } + + switch { + case strings.EqualFold("InternalServiceErrorException", errorCode): + return awsAwsjson10_deserializeErrorInternalServiceErrorException(response, errorBody) + + case strings.EqualFold("InvalidRequestException", errorCode): + return awsAwsjson10_deserializeErrorInvalidRequestException(response, errorBody) + + case strings.EqualFold("ResourceNotFoundException", errorCode): + return awsAwsjson10_deserializeErrorResourceNotFoundException(response, errorBody) + + default: + genericError := &smithy.GenericAPIError{ + Code: errorCode, + Message: errorMessage, + } + return genericError + + } +} + +type awsAwsjson10_deserializeOpTagResource struct { +} + +func (*awsAwsjson10_deserializeOpTagResource) ID() string { + return "OperationDeserializer" +} + +func (m *awsAwsjson10_deserializeOpTagResource) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( + out middleware.DeserializeOutput, metadata middleware.Metadata, err error, +) { + out, metadata, err = next.HandleDeserialize(ctx, in) + if err != nil { + return out, metadata, err + } + + response, ok := out.RawResponse.(*smithyhttp.Response) + if !ok { + return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} + } + + if response.StatusCode < 200 || response.StatusCode >= 300 { + return out, metadata, awsAwsjson10_deserializeOpErrorTagResource(response, &metadata) + } + output := &TagResourceOutput{} + out.Result = output + + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + + body := io.TeeReader(response.Body, ringBuffer) + decoder := json.NewDecoder(body) + decoder.UseNumber() + var shape interface{} + if err := decoder.Decode(&shape); err != nil && err != io.EOF { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return out, metadata, err + } + + err = awsAwsjson10_deserializeOpDocumentTagResourceOutput(&output, shape) + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return out, metadata, err + } + + return out, metadata, err +} + +func awsAwsjson10_deserializeOpErrorTagResource(response *smithyhttp.Response, metadata *middleware.Metadata) error { + var errorBuffer bytes.Buffer + if _, err := io.Copy(&errorBuffer, response.Body); err != nil { + return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} + } + errorBody := bytes.NewReader(errorBuffer.Bytes()) + + errorCode := "UnknownError" + errorMessage := errorCode + + code := response.Header.Get("X-Amzn-ErrorType") + if len(code) != 0 { + errorCode = restjson.SanitizeErrorCode(code) + } + + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + + body := io.TeeReader(errorBody, ringBuffer) + decoder := json.NewDecoder(body) + decoder.UseNumber() + code, message, err := restjson.GetErrorInfo(decoder) + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return err + } + + errorBody.Seek(0, io.SeekStart) + if len(code) != 0 { + errorCode = restjson.SanitizeErrorCode(code) + } + if len(message) != 0 { + errorMessage = message + } + + switch { + case strings.EqualFold("InternalServiceErrorException", errorCode): + return awsAwsjson10_deserializeErrorInternalServiceErrorException(response, errorBody) + + case strings.EqualFold("InvalidRequestException", errorCode): + return awsAwsjson10_deserializeErrorInvalidRequestException(response, errorBody) + + case strings.EqualFold("InvalidStateException", errorCode): + return awsAwsjson10_deserializeErrorInvalidStateException(response, errorBody) + + case strings.EqualFold("ResourceNotFoundException", errorCode): + return awsAwsjson10_deserializeErrorResourceNotFoundException(response, errorBody) + + default: + genericError := &smithy.GenericAPIError{ + Code: errorCode, + Message: errorMessage, + } + return genericError + + } +} + +type awsAwsjson10_deserializeOpUntagResource struct { +} + +func (*awsAwsjson10_deserializeOpUntagResource) ID() string { + return "OperationDeserializer" +} + +func (m *awsAwsjson10_deserializeOpUntagResource) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( + out middleware.DeserializeOutput, metadata middleware.Metadata, err error, +) { + out, metadata, err = next.HandleDeserialize(ctx, in) + if err != nil { + return out, metadata, err + } + + response, ok := out.RawResponse.(*smithyhttp.Response) + if !ok { + return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} + } + + if response.StatusCode < 200 || response.StatusCode >= 300 { + return out, metadata, awsAwsjson10_deserializeOpErrorUntagResource(response, &metadata) + } + output := &UntagResourceOutput{} + out.Result = output + + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + + body := io.TeeReader(response.Body, ringBuffer) + decoder := json.NewDecoder(body) + decoder.UseNumber() + var shape interface{} + if err := decoder.Decode(&shape); err != nil && err != io.EOF { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return out, metadata, err + } + + err = awsAwsjson10_deserializeOpDocumentUntagResourceOutput(&output, shape) + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return out, metadata, err + } + + return out, metadata, err +} + +func awsAwsjson10_deserializeOpErrorUntagResource(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -3644,6 +4109,55 @@ func awsAwsjson10_deserializeDocumentCustomDomainList(v *[]types.CustomDomain, v return nil } +func awsAwsjson10_deserializeDocumentEgressConfiguration(v **types.EgressConfiguration, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.(map[string]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var sv *types.EgressConfiguration + if *v == nil { + sv = &types.EgressConfiguration{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "EgressType": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected EgressType to be of type string, got %T instead", value) + } + sv.EgressType = types.EgressType(jtv) + } + + case "VpcConnectorArn": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected AppRunnerResourceArn to be of type string, got %T instead", value) + } + sv.VpcConnectorArn = ptr.String(jtv) + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + func awsAwsjson10_deserializeDocumentEncryptionConfiguration(v **types.EncryptionConfiguration, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) @@ -3825,7 +4339,7 @@ func awsAwsjson10_deserializeDocumentImageConfiguration(v **types.ImageConfigura if value != nil { jtv, ok := value.(string) if !ok { - return fmt.Errorf("expected String to be of type string, got %T instead", value) + return fmt.Errorf("expected StartCommand to be of type string, got %T instead", value) } sv.StartCommand = ptr.String(jtv) } @@ -4071,6 +4585,42 @@ func awsAwsjson10_deserializeDocumentInvalidStateException(v **types.InvalidStat return nil } +func awsAwsjson10_deserializeDocumentNetworkConfiguration(v **types.NetworkConfiguration, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.(map[string]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var sv *types.NetworkConfiguration + if *v == nil { + sv = &types.NetworkConfiguration{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "EgressConfiguration": + if err := awsAwsjson10_deserializeDocumentEgressConfiguration(&sv.EgressConfiguration, value); err != nil { + return err + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + func awsAwsjson10_deserializeDocumentOperationSummary(v **types.OperationSummary, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) @@ -4370,6 +4920,11 @@ func awsAwsjson10_deserializeDocumentService(v **types.Service, value interface{ return err } + case "NetworkConfiguration": + if err := awsAwsjson10_deserializeDocumentNetworkConfiguration(&sv.NetworkConfiguration, value); err != nil { + return err + } + case "ServiceArn": if value != nil { jtv, ok := value.(string) @@ -4662,7 +5217,147 @@ func awsAwsjson10_deserializeDocumentSourceCodeVersion(v **types.SourceCodeVersi if value != nil { jtv, ok := value.(string) if !ok { - return fmt.Errorf("expected String to be of type string, got %T instead", value) + return fmt.Errorf("expected String to be of type string, got %T instead", value) + } + sv.Value = ptr.String(jtv) + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + +func awsAwsjson10_deserializeDocumentSourceConfiguration(v **types.SourceConfiguration, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.(map[string]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var sv *types.SourceConfiguration + if *v == nil { + sv = &types.SourceConfiguration{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "AuthenticationConfiguration": + if err := awsAwsjson10_deserializeDocumentAuthenticationConfiguration(&sv.AuthenticationConfiguration, value); err != nil { + return err + } + + case "AutoDeploymentsEnabled": + if value != nil { + jtv, ok := value.(bool) + if !ok { + return fmt.Errorf("expected NullableBoolean to be of type *bool, got %T instead", value) + } + sv.AutoDeploymentsEnabled = ptr.Bool(jtv) + } + + case "CodeRepository": + if err := awsAwsjson10_deserializeDocumentCodeRepository(&sv.CodeRepository, value); err != nil { + return err + } + + case "ImageRepository": + if err := awsAwsjson10_deserializeDocumentImageRepository(&sv.ImageRepository, value); err != nil { + return err + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + +func awsAwsjson10_deserializeDocumentStringList(v *[]string, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.([]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var cv []string + if *v == nil { + cv = []string{} + } else { + cv = *v + } + + for _, value := range shape { + var col string + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected String to be of type string, got %T instead", value) + } + col = jtv + } + cv = append(cv, col) + + } + *v = cv + return nil +} + +func awsAwsjson10_deserializeDocumentTag(v **types.Tag, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.(map[string]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var sv *types.Tag + if *v == nil { + sv = &types.Tag{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "Key": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected TagKey to be of type string, got %T instead", value) + } + sv.Key = ptr.String(jtv) + } + + case "Value": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected TagValue to be of type string, got %T instead", value) } sv.Value = ptr.String(jtv) } @@ -4676,7 +5371,7 @@ func awsAwsjson10_deserializeDocumentSourceCodeVersion(v **types.SourceCodeVersi return nil } -func awsAwsjson10_deserializeDocumentSourceConfiguration(v **types.SourceConfiguration, value interface{}) error { +func awsAwsjson10_deserializeDocumentTagList(v *[]types.Tag, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) } @@ -4684,54 +5379,33 @@ func awsAwsjson10_deserializeDocumentSourceConfiguration(v **types.SourceConfigu return nil } - shape, ok := value.(map[string]interface{}) + shape, ok := value.([]interface{}) if !ok { return fmt.Errorf("unexpected JSON type %v", value) } - var sv *types.SourceConfiguration + var cv []types.Tag if *v == nil { - sv = &types.SourceConfiguration{} + cv = []types.Tag{} } else { - sv = *v + cv = *v } - for key, value := range shape { - switch key { - case "AuthenticationConfiguration": - if err := awsAwsjson10_deserializeDocumentAuthenticationConfiguration(&sv.AuthenticationConfiguration, value); err != nil { - return err - } - - case "AutoDeploymentsEnabled": - if value != nil { - jtv, ok := value.(bool) - if !ok { - return fmt.Errorf("expected NullableBoolean to be of type *bool, got %T instead", value) - } - sv.AutoDeploymentsEnabled = ptr.Bool(jtv) - } - - case "CodeRepository": - if err := awsAwsjson10_deserializeDocumentCodeRepository(&sv.CodeRepository, value); err != nil { - return err - } - - case "ImageRepository": - if err := awsAwsjson10_deserializeDocumentImageRepository(&sv.ImageRepository, value); err != nil { - return err - } - - default: - _, _ = key, value - + for _, value := range shape { + var col types.Tag + destAddr := &col + if err := awsAwsjson10_deserializeDocumentTag(&destAddr, value); err != nil { + return err } + col = *destAddr + cv = append(cv, col) + } - *v = sv + *v = cv return nil } -func awsAwsjson10_deserializeDocumentTag(v **types.Tag, value interface{}) error { +func awsAwsjson10_deserializeDocumentVpcConnector(v **types.VpcConnector, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) } @@ -4744,31 +5418,95 @@ func awsAwsjson10_deserializeDocumentTag(v **types.Tag, value interface{}) error return fmt.Errorf("unexpected JSON type %v", value) } - var sv *types.Tag + var sv *types.VpcConnector if *v == nil { - sv = &types.Tag{} + sv = &types.VpcConnector{} } else { sv = *v } for key, value := range shape { switch key { - case "Key": + case "CreatedAt": + if value != nil { + switch jtv := value.(type) { + case json.Number: + f64, err := jtv.Float64() + if err != nil { + return err + } + sv.CreatedAt = ptr.Time(smithytime.ParseEpochSeconds(f64)) + + default: + return fmt.Errorf("expected Timestamp to be a JSON Number, got %T instead", value) + + } + } + + case "DeletedAt": + if value != nil { + switch jtv := value.(type) { + case json.Number: + f64, err := jtv.Float64() + if err != nil { + return err + } + sv.DeletedAt = ptr.Time(smithytime.ParseEpochSeconds(f64)) + + default: + return fmt.Errorf("expected Timestamp to be a JSON Number, got %T instead", value) + + } + } + + case "SecurityGroups": + if err := awsAwsjson10_deserializeDocumentStringList(&sv.SecurityGroups, value); err != nil { + return err + } + + case "Status": if value != nil { jtv, ok := value.(string) if !ok { - return fmt.Errorf("expected TagKey to be of type string, got %T instead", value) + return fmt.Errorf("expected VpcConnectorStatus to be of type string, got %T instead", value) } - sv.Key = ptr.String(jtv) + sv.Status = types.VpcConnectorStatus(jtv) } - case "Value": + case "Subnets": + if err := awsAwsjson10_deserializeDocumentStringList(&sv.Subnets, value); err != nil { + return err + } + + case "VpcConnectorArn": if value != nil { jtv, ok := value.(string) if !ok { - return fmt.Errorf("expected TagValue to be of type string, got %T instead", value) + return fmt.Errorf("expected AppRunnerResourceArn to be of type string, got %T instead", value) } - sv.Value = ptr.String(jtv) + sv.VpcConnectorArn = ptr.String(jtv) + } + + case "VpcConnectorName": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected VpcConnectorName to be of type string, got %T instead", value) + } + sv.VpcConnectorName = ptr.String(jtv) + } + + case "VpcConnectorRevision": + if value != nil { + jtv, ok := value.(json.Number) + if !ok { + return fmt.Errorf("expected Integer to be json.Number, got %T instead", value) + } + i64, err := jtv.Int64() + if err != nil { + return err + } + sv.VpcConnectorRevision = int32(i64) } default: @@ -4780,7 +5518,7 @@ func awsAwsjson10_deserializeDocumentTag(v **types.Tag, value interface{}) error return nil } -func awsAwsjson10_deserializeDocumentTagList(v *[]types.Tag, value interface{}) error { +func awsAwsjson10_deserializeDocumentVpcConnectors(v *[]types.VpcConnector, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) } @@ -4793,17 +5531,17 @@ func awsAwsjson10_deserializeDocumentTagList(v *[]types.Tag, value interface{}) return fmt.Errorf("unexpected JSON type %v", value) } - var cv []types.Tag + var cv []types.VpcConnector if *v == nil { - cv = []types.Tag{} + cv = []types.VpcConnector{} } else { cv = *v } for _, value := range shape { - var col types.Tag + var col types.VpcConnector destAddr := &col - if err := awsAwsjson10_deserializeDocumentTag(&destAddr, value); err != nil { + if err := awsAwsjson10_deserializeDocumentVpcConnector(&destAddr, value); err != nil { return err } col = *destAddr @@ -4985,6 +5723,42 @@ func awsAwsjson10_deserializeOpDocumentCreateServiceOutput(v **CreateServiceOutp return nil } +func awsAwsjson10_deserializeOpDocumentCreateVpcConnectorOutput(v **CreateVpcConnectorOutput, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.(map[string]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var sv *CreateVpcConnectorOutput + if *v == nil { + sv = &CreateVpcConnectorOutput{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "VpcConnector": + if err := awsAwsjson10_deserializeDocumentVpcConnector(&sv.VpcConnector, value); err != nil { + return err + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + func awsAwsjson10_deserializeOpDocumentDeleteAutoScalingConfigurationOutput(v **DeleteAutoScalingConfigurationOutput, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) @@ -5102,6 +5876,42 @@ func awsAwsjson10_deserializeOpDocumentDeleteServiceOutput(v **DeleteServiceOutp return nil } +func awsAwsjson10_deserializeOpDocumentDeleteVpcConnectorOutput(v **DeleteVpcConnectorOutput, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.(map[string]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var sv *DeleteVpcConnectorOutput + if *v == nil { + sv = &DeleteVpcConnectorOutput{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "VpcConnector": + if err := awsAwsjson10_deserializeDocumentVpcConnector(&sv.VpcConnector, value); err != nil { + return err + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + func awsAwsjson10_deserializeOpDocumentDescribeAutoScalingConfigurationOutput(v **DescribeAutoScalingConfigurationOutput, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) @@ -5237,6 +6047,42 @@ func awsAwsjson10_deserializeOpDocumentDescribeServiceOutput(v **DescribeService return nil } +func awsAwsjson10_deserializeOpDocumentDescribeVpcConnectorOutput(v **DescribeVpcConnectorOutput, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.(map[string]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var sv *DescribeVpcConnectorOutput + if *v == nil { + sv = &DescribeVpcConnectorOutput{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "VpcConnector": + if err := awsAwsjson10_deserializeDocumentVpcConnector(&sv.VpcConnector, value); err != nil { + return err + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + func awsAwsjson10_deserializeOpDocumentDisassociateCustomDomainOutput(v **DisassociateCustomDomainOutput, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) @@ -5507,6 +6353,51 @@ func awsAwsjson10_deserializeOpDocumentListTagsForResourceOutput(v **ListTagsFor return nil } +func awsAwsjson10_deserializeOpDocumentListVpcConnectorsOutput(v **ListVpcConnectorsOutput, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.(map[string]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var sv *ListVpcConnectorsOutput + if *v == nil { + sv = &ListVpcConnectorsOutput{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "NextToken": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected NextToken to be of type string, got %T instead", value) + } + sv.NextToken = ptr.String(jtv) + } + + case "VpcConnectors": + if err := awsAwsjson10_deserializeDocumentVpcConnectors(&sv.VpcConnectors, value); err != nil { + return err + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + func awsAwsjson10_deserializeOpDocumentPauseServiceOutput(v **PauseServiceOutput, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) diff --git a/service/apprunner/generated.json b/service/apprunner/generated.json index 489e774a3e8..b833a7c4a02 100644 --- a/service/apprunner/generated.json +++ b/service/apprunner/generated.json @@ -12,18 +12,22 @@ "api_op_CreateAutoScalingConfiguration.go", "api_op_CreateConnection.go", "api_op_CreateService.go", + "api_op_CreateVpcConnector.go", "api_op_DeleteAutoScalingConfiguration.go", "api_op_DeleteConnection.go", "api_op_DeleteService.go", + "api_op_DeleteVpcConnector.go", "api_op_DescribeAutoScalingConfiguration.go", "api_op_DescribeCustomDomains.go", "api_op_DescribeService.go", + "api_op_DescribeVpcConnector.go", "api_op_DisassociateCustomDomain.go", "api_op_ListAutoScalingConfigurations.go", "api_op_ListConnections.go", "api_op_ListOperations.go", "api_op_ListServices.go", "api_op_ListTagsForResource.go", + "api_op_ListVpcConnectors.go", "api_op_PauseService.go", "api_op_ResumeService.go", "api_op_StartDeployment.go", diff --git a/service/apprunner/serializers.go b/service/apprunner/serializers.go index 96e8d71cc2d..b13067cdf42 100644 --- a/service/apprunner/serializers.go +++ b/service/apprunner/serializers.go @@ -235,6 +235,61 @@ func (m *awsAwsjson10_serializeOpCreateService) HandleSerialize(ctx context.Cont return next.HandleSerialize(ctx, in) } +type awsAwsjson10_serializeOpCreateVpcConnector struct { +} + +func (*awsAwsjson10_serializeOpCreateVpcConnector) ID() string { + return "OperationSerializer" +} + +func (m *awsAwsjson10_serializeOpCreateVpcConnector) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( + out middleware.SerializeOutput, metadata middleware.Metadata, err error, +) { + request, ok := in.Request.(*smithyhttp.Request) + if !ok { + return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} + } + + input, ok := in.Parameters.(*CreateVpcConnectorInput) + _ = input + if !ok { + return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} + } + + operationPath := "/" + if len(request.Request.URL.Path) == 0 { + request.Request.URL.Path = operationPath + } else { + request.Request.URL.Path = path.Join(request.Request.URL.Path, operationPath) + if request.Request.URL.Path != "/" && operationPath[len(operationPath)-1] == '/' { + request.Request.URL.Path += "/" + } + } + request.Request.Method = "POST" + httpBindingEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header) + if err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + httpBindingEncoder.SetHeader("Content-Type").String("application/x-amz-json-1.0") + httpBindingEncoder.SetHeader("X-Amz-Target").String("AppRunner.CreateVpcConnector") + + jsonEncoder := smithyjson.NewEncoder() + if err := awsAwsjson10_serializeOpDocumentCreateVpcConnectorInput(input, jsonEncoder.Value); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + if request, err = request.SetStream(bytes.NewReader(jsonEncoder.Bytes())); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + if request.Request, err = httpBindingEncoder.Encode(request.Request); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + in.Request = request + + return next.HandleSerialize(ctx, in) +} + type awsAwsjson10_serializeOpDeleteAutoScalingConfiguration struct { } @@ -400,6 +455,61 @@ func (m *awsAwsjson10_serializeOpDeleteService) HandleSerialize(ctx context.Cont return next.HandleSerialize(ctx, in) } +type awsAwsjson10_serializeOpDeleteVpcConnector struct { +} + +func (*awsAwsjson10_serializeOpDeleteVpcConnector) ID() string { + return "OperationSerializer" +} + +func (m *awsAwsjson10_serializeOpDeleteVpcConnector) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( + out middleware.SerializeOutput, metadata middleware.Metadata, err error, +) { + request, ok := in.Request.(*smithyhttp.Request) + if !ok { + return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} + } + + input, ok := in.Parameters.(*DeleteVpcConnectorInput) + _ = input + if !ok { + return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} + } + + operationPath := "/" + if len(request.Request.URL.Path) == 0 { + request.Request.URL.Path = operationPath + } else { + request.Request.URL.Path = path.Join(request.Request.URL.Path, operationPath) + if request.Request.URL.Path != "/" && operationPath[len(operationPath)-1] == '/' { + request.Request.URL.Path += "/" + } + } + request.Request.Method = "POST" + httpBindingEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header) + if err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + httpBindingEncoder.SetHeader("Content-Type").String("application/x-amz-json-1.0") + httpBindingEncoder.SetHeader("X-Amz-Target").String("AppRunner.DeleteVpcConnector") + + jsonEncoder := smithyjson.NewEncoder() + if err := awsAwsjson10_serializeOpDocumentDeleteVpcConnectorInput(input, jsonEncoder.Value); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + if request, err = request.SetStream(bytes.NewReader(jsonEncoder.Bytes())); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + if request.Request, err = httpBindingEncoder.Encode(request.Request); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + in.Request = request + + return next.HandleSerialize(ctx, in) +} + type awsAwsjson10_serializeOpDescribeAutoScalingConfiguration struct { } @@ -565,6 +675,61 @@ func (m *awsAwsjson10_serializeOpDescribeService) HandleSerialize(ctx context.Co return next.HandleSerialize(ctx, in) } +type awsAwsjson10_serializeOpDescribeVpcConnector struct { +} + +func (*awsAwsjson10_serializeOpDescribeVpcConnector) ID() string { + return "OperationSerializer" +} + +func (m *awsAwsjson10_serializeOpDescribeVpcConnector) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( + out middleware.SerializeOutput, metadata middleware.Metadata, err error, +) { + request, ok := in.Request.(*smithyhttp.Request) + if !ok { + return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} + } + + input, ok := in.Parameters.(*DescribeVpcConnectorInput) + _ = input + if !ok { + return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} + } + + operationPath := "/" + if len(request.Request.URL.Path) == 0 { + request.Request.URL.Path = operationPath + } else { + request.Request.URL.Path = path.Join(request.Request.URL.Path, operationPath) + if request.Request.URL.Path != "/" && operationPath[len(operationPath)-1] == '/' { + request.Request.URL.Path += "/" + } + } + request.Request.Method = "POST" + httpBindingEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header) + if err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + httpBindingEncoder.SetHeader("Content-Type").String("application/x-amz-json-1.0") + httpBindingEncoder.SetHeader("X-Amz-Target").String("AppRunner.DescribeVpcConnector") + + jsonEncoder := smithyjson.NewEncoder() + if err := awsAwsjson10_serializeOpDocumentDescribeVpcConnectorInput(input, jsonEncoder.Value); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + if request, err = request.SetStream(bytes.NewReader(jsonEncoder.Bytes())); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + if request.Request, err = httpBindingEncoder.Encode(request.Request); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + in.Request = request + + return next.HandleSerialize(ctx, in) +} + type awsAwsjson10_serializeOpDisassociateCustomDomain struct { } @@ -895,6 +1060,61 @@ func (m *awsAwsjson10_serializeOpListTagsForResource) HandleSerialize(ctx contex return next.HandleSerialize(ctx, in) } +type awsAwsjson10_serializeOpListVpcConnectors struct { +} + +func (*awsAwsjson10_serializeOpListVpcConnectors) ID() string { + return "OperationSerializer" +} + +func (m *awsAwsjson10_serializeOpListVpcConnectors) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( + out middleware.SerializeOutput, metadata middleware.Metadata, err error, +) { + request, ok := in.Request.(*smithyhttp.Request) + if !ok { + return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} + } + + input, ok := in.Parameters.(*ListVpcConnectorsInput) + _ = input + if !ok { + return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} + } + + operationPath := "/" + if len(request.Request.URL.Path) == 0 { + request.Request.URL.Path = operationPath + } else { + request.Request.URL.Path = path.Join(request.Request.URL.Path, operationPath) + if request.Request.URL.Path != "/" && operationPath[len(operationPath)-1] == '/' { + request.Request.URL.Path += "/" + } + } + request.Request.Method = "POST" + httpBindingEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header) + if err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + httpBindingEncoder.SetHeader("Content-Type").String("application/x-amz-json-1.0") + httpBindingEncoder.SetHeader("X-Amz-Target").String("AppRunner.ListVpcConnectors") + + jsonEncoder := smithyjson.NewEncoder() + if err := awsAwsjson10_serializeOpDocumentListVpcConnectorsInput(input, jsonEncoder.Value); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + if request, err = request.SetStream(bytes.NewReader(jsonEncoder.Bytes())); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + if request.Request, err = httpBindingEncoder.Encode(request.Request); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + in.Request = request + + return next.HandleSerialize(ctx, in) +} + type awsAwsjson10_serializeOpPauseService struct { } @@ -1320,6 +1540,23 @@ func awsAwsjson10_serializeDocumentCodeRepository(v *types.CodeRepository, value return nil } +func awsAwsjson10_serializeDocumentEgressConfiguration(v *types.EgressConfiguration, value smithyjson.Value) error { + object := value.Object() + defer object.Close() + + if len(v.EgressType) > 0 { + ok := object.Key("EgressType") + ok.String(string(v.EgressType)) + } + + if v.VpcConnectorArn != nil { + ok := object.Key("VpcConnectorArn") + ok.String(*v.VpcConnectorArn) + } + + return nil +} + func awsAwsjson10_serializeDocumentEncryptionConfiguration(v *types.EncryptionConfiguration, value smithyjson.Value) error { object := value.Object() defer object.Close() @@ -1439,6 +1676,20 @@ func awsAwsjson10_serializeDocumentInstanceConfiguration(v *types.InstanceConfig return nil } +func awsAwsjson10_serializeDocumentNetworkConfiguration(v *types.NetworkConfiguration, value smithyjson.Value) error { + object := value.Object() + defer object.Close() + + if v.EgressConfiguration != nil { + ok := object.Key("EgressConfiguration") + if err := awsAwsjson10_serializeDocumentEgressConfiguration(v.EgressConfiguration, ok); err != nil { + return err + } + } + + return nil +} + func awsAwsjson10_serializeDocumentRuntimeEnvironmentVariables(v map[string]string, value smithyjson.Value) error { object := value.Object() defer object.Close() @@ -1500,6 +1751,17 @@ func awsAwsjson10_serializeDocumentSourceConfiguration(v *types.SourceConfigurat return nil } +func awsAwsjson10_serializeDocumentStringList(v []string, value smithyjson.Value) error { + array := value.Array() + defer array.Close() + + for i := range v { + av := array.Value() + av.String(v[i]) + } + return nil +} + func awsAwsjson10_serializeDocumentTag(v *types.Tag, value smithyjson.Value) error { object := value.Object() defer object.Close() @@ -1651,6 +1913,13 @@ func awsAwsjson10_serializeOpDocumentCreateServiceInput(v *CreateServiceInput, v } } + if v.NetworkConfiguration != nil { + ok := object.Key("NetworkConfiguration") + if err := awsAwsjson10_serializeDocumentNetworkConfiguration(v.NetworkConfiguration, ok); err != nil { + return err + } + } + if v.ServiceName != nil { ok := object.Key("ServiceName") ok.String(*v.ServiceName) @@ -1673,6 +1942,39 @@ func awsAwsjson10_serializeOpDocumentCreateServiceInput(v *CreateServiceInput, v return nil } +func awsAwsjson10_serializeOpDocumentCreateVpcConnectorInput(v *CreateVpcConnectorInput, value smithyjson.Value) error { + object := value.Object() + defer object.Close() + + if v.SecurityGroups != nil { + ok := object.Key("SecurityGroups") + if err := awsAwsjson10_serializeDocumentStringList(v.SecurityGroups, ok); err != nil { + return err + } + } + + if v.Subnets != nil { + ok := object.Key("Subnets") + if err := awsAwsjson10_serializeDocumentStringList(v.Subnets, ok); err != nil { + return err + } + } + + if v.Tags != nil { + ok := object.Key("Tags") + if err := awsAwsjson10_serializeDocumentTagList(v.Tags, ok); err != nil { + return err + } + } + + if v.VpcConnectorName != nil { + ok := object.Key("VpcConnectorName") + ok.String(*v.VpcConnectorName) + } + + return nil +} + func awsAwsjson10_serializeOpDocumentDeleteAutoScalingConfigurationInput(v *DeleteAutoScalingConfigurationInput, value smithyjson.Value) error { object := value.Object() defer object.Close() @@ -1709,6 +2011,18 @@ func awsAwsjson10_serializeOpDocumentDeleteServiceInput(v *DeleteServiceInput, v return nil } +func awsAwsjson10_serializeOpDocumentDeleteVpcConnectorInput(v *DeleteVpcConnectorInput, value smithyjson.Value) error { + object := value.Object() + defer object.Close() + + if v.VpcConnectorArn != nil { + ok := object.Key("VpcConnectorArn") + ok.String(*v.VpcConnectorArn) + } + + return nil +} + func awsAwsjson10_serializeOpDocumentDescribeAutoScalingConfigurationInput(v *DescribeAutoScalingConfigurationInput, value smithyjson.Value) error { object := value.Object() defer object.Close() @@ -1755,6 +2069,18 @@ func awsAwsjson10_serializeOpDocumentDescribeServiceInput(v *DescribeServiceInpu return nil } +func awsAwsjson10_serializeOpDocumentDescribeVpcConnectorInput(v *DescribeVpcConnectorInput, value smithyjson.Value) error { + object := value.Object() + defer object.Close() + + if v.VpcConnectorArn != nil { + ok := object.Key("VpcConnectorArn") + ok.String(*v.VpcConnectorArn) + } + + return nil +} + func awsAwsjson10_serializeOpDocumentDisassociateCustomDomainInput(v *DisassociateCustomDomainInput, value smithyjson.Value) error { object := value.Object() defer object.Close() @@ -1872,6 +2198,23 @@ func awsAwsjson10_serializeOpDocumentListTagsForResourceInput(v *ListTagsForReso return nil } +func awsAwsjson10_serializeOpDocumentListVpcConnectorsInput(v *ListVpcConnectorsInput, value smithyjson.Value) error { + object := value.Object() + defer object.Close() + + if v.MaxResults != nil { + ok := object.Key("MaxResults") + ok.Integer(*v.MaxResults) + } + + if v.NextToken != nil { + ok := object.Key("NextToken") + ok.String(*v.NextToken) + } + + return nil +} + func awsAwsjson10_serializeOpDocumentPauseServiceInput(v *PauseServiceInput, value smithyjson.Value) error { object := value.Object() defer object.Close() @@ -1969,6 +2312,13 @@ func awsAwsjson10_serializeOpDocumentUpdateServiceInput(v *UpdateServiceInput, v } } + if v.NetworkConfiguration != nil { + ok := object.Key("NetworkConfiguration") + if err := awsAwsjson10_serializeDocumentNetworkConfiguration(v.NetworkConfiguration, ok); err != nil { + return err + } + } + if v.ServiceArn != nil { ok := object.Key("ServiceArn") ok.String(*v.ServiceArn) diff --git a/service/apprunner/types/enums.go b/service/apprunner/types/enums.go index 2f80ecfebb1..a2778fe78bb 100644 --- a/service/apprunner/types/enums.go +++ b/service/apprunner/types/enums.go @@ -111,6 +111,24 @@ func (CustomDomainAssociationStatus) Values() []CustomDomainAssociationStatus { } } +type EgressType string + +// Enum values for EgressType +const ( + EgressTypeDefault EgressType = "DEFAULT" + EgressTypeVpc EgressType = "VPC" +) + +// Values returns all known values for EgressType. Note that this can be expanded +// in the future, and so it is only as up to date as the client. The ordering of +// this slice is not guaranteed to be stable across updates. +func (EgressType) Values() []EgressType { + return []EgressType{ + "DEFAULT", + "VPC", + } +} + type HealthCheckProtocol string // Enum values for HealthCheckProtocol @@ -219,8 +237,11 @@ type Runtime string // Enum values for Runtime const ( - RuntimePython3 Runtime = "PYTHON_3" - RuntimeNodejs12 Runtime = "NODEJS_12" + RuntimePython3 Runtime = "PYTHON_3" + RuntimeNodejs12 Runtime = "NODEJS_12" + RuntimeNodejs14 Runtime = "NODEJS_14" + RuntimeCorretto8 Runtime = "CORRETTO_8" + RuntimeCorretto11 Runtime = "CORRETTO_11" ) // Values returns all known values for Runtime. Note that this can be expanded in @@ -230,6 +251,9 @@ func (Runtime) Values() []Runtime { return []Runtime{ "PYTHON_3", "NODEJS_12", + "NODEJS_14", + "CORRETTO_8", + "CORRETTO_11", } } @@ -274,3 +298,21 @@ func (SourceCodeVersionType) Values() []SourceCodeVersionType { "BRANCH", } } + +type VpcConnectorStatus string + +// Enum values for VpcConnectorStatus +const ( + VpcConnectorStatusActive VpcConnectorStatus = "ACTIVE" + VpcConnectorStatusInactive VpcConnectorStatus = "INACTIVE" +) + +// Values returns all known values for VpcConnectorStatus. Note that this can be +// expanded in the future, and so it is only as up to date as the client. The +// ordering of this slice is not guaranteed to be stable across updates. +func (VpcConnectorStatus) Values() []VpcConnectorStatus { + return []VpcConnectorStatus{ + "ACTIVE", + "INACTIVE", + } +} diff --git a/service/apprunner/types/types.go b/service/apprunner/types/types.go index 0295970f387..965dcf767c0 100644 --- a/service/apprunner/types/types.go +++ b/service/apprunner/types/types.go @@ -24,12 +24,13 @@ type AuthenticationConfiguration struct { noSmithyDocumentSerde } -// Describes an App Runner automatic scaling configuration resource. Multiple -// revisions of a configuration have the same AutoScalingConfigurationName and -// different AutoScalingConfigurationRevision values. A higher MinSize increases -// the spread of your App Runner service over more Availability Zones in the Amazon -// Web Services Region. The tradeoff is a higher minimal cost. A lower MaxSize -// controls your cost. The tradeoff is lower responsiveness during peak demand. +// Describes an App Runner automatic scaling configuration resource. A higher +// MinSize increases the spread of your App Runner service over more Availability +// Zones in the Amazon Web Services Region. The tradeoff is a higher minimal cost. +// A lower MaxSize controls your cost. The tradeoff is lower responsiveness during +// peak demand. Multiple revisions of a configuration might have the same +// AutoScalingConfigurationName and different AutoScalingConfigurationRevision +// values. type AutoScalingConfiguration struct { // The Amazon Resource Name (ARN) of this auto scaling configuration. @@ -275,6 +276,22 @@ type CustomDomain struct { noSmithyDocumentSerde } +// Describes configuration settings related to outbound network traffic of an App +// Runner service. +type EgressConfiguration struct { + + // The type of egress configuration. Set to DEFAULT for access to resources hosted + // on public networks. Set to VPC to associate your service to a custom VPC + // specified by VpcConnectorArn. + EgressType EgressType + + // The Amazon Resource Name (ARN) of the App Runner VPC connector that you want to + // associate with your App Runner service. Only valid when EgressType = VPC. + VpcConnectorArn *string + + noSmithyDocumentSerde +} + // Describes a custom encryption key that App Runner uses to encrypt copies of the // source repository and service logs. type EncryptionConfiguration struct { @@ -382,6 +399,16 @@ type InstanceConfiguration struct { noSmithyDocumentSerde } +// Describes configuration settings related to network traffic of an App Runner +// service. Consists of embedded objects for each configurable network feature. +type NetworkConfiguration struct { + + // Network configuration settings for outbound message traffic. + EgressConfiguration *EgressConfiguration + + noSmithyDocumentSerde +} + // Provides summary information for an operation that occurred on an App Runner // service. type OperationSummary struct { @@ -444,6 +471,12 @@ type Service struct { // This member is required. InstanceConfiguration *InstanceConfiguration + // Configuration settings related to network traffic of the web application that + // this service runs. + // + // This member is required. + NetworkConfiguration *NetworkConfiguration + // The Amazon Resource Name (ARN) of this service. // // This member is required. @@ -500,7 +533,7 @@ type Service struct { // The encryption key that App Runner uses to encrypt the service logs and the copy // of the source repository that App Runner maintains for the service. It can be - // either a customer-provided encryption key or an Amazon Web Services managed CMK. + // either a customer-provided encryption key or an Amazon Web Services managed key. EncryptionConfiguration *EncryptionConfiguration // The settings for the health check that App Runner performs to monitor the health @@ -623,4 +656,46 @@ type Tag struct { noSmithyDocumentSerde } +// Describes an App Runner VPC connector resource. A VPC connector describes the +// Amazon Virtual Private Cloud (Amazon VPC) that an App Runner service is +// associated with, and the subnets and security group that are used. Multiple +// revisions of a connector might have the same Name and different Revision values. +// At this time, App Runner supports only one revision per name. +type VpcConnector struct { + + // The time when the VPC connector was created. It's in Unix time stamp format. + CreatedAt *time.Time + + // The time when the VPC connector was deleted. It's in Unix time stamp format. + DeletedAt *time.Time + + // A list of IDs of security groups that App Runner uses for access to Amazon Web + // Services resources under the specified subnets. If not specified, App Runner + // uses the default security group of the Amazon VPC. The default security group + // allows all outbound traffic. + SecurityGroups []string + + // The current state of the VPC connector. If the status of a connector revision is + // INACTIVE, it was deleted and can't be used. Inactive connector revisions are + // permanently removed some time after they are deleted. + Status VpcConnectorStatus + + // A list of IDs of subnets that App Runner uses for your service. All IDs are of + // subnets of a single Amazon VPC. + Subnets []string + + // The Amazon Resource Name (ARN) of this VPC connector. + VpcConnectorArn *string + + // The customer-provided VPC connector name. + VpcConnectorName *string + + // The revision of this VPC connector. It's unique among all the active connectors + // ("Status": "ACTIVE") that share the same Name. At this time, App Runner supports + // only one revision per name. + VpcConnectorRevision int32 + + noSmithyDocumentSerde +} + type noSmithyDocumentSerde = smithydocument.NoSerde diff --git a/service/apprunner/validators.go b/service/apprunner/validators.go index 8bbe037e2f9..8159d30daa5 100644 --- a/service/apprunner/validators.go +++ b/service/apprunner/validators.go @@ -90,6 +90,26 @@ func (m *validateOpCreateService) HandleInitialize(ctx context.Context, in middl return next.HandleInitialize(ctx, in) } +type validateOpCreateVpcConnector struct { +} + +func (*validateOpCreateVpcConnector) ID() string { + return "OperationInputValidation" +} + +func (m *validateOpCreateVpcConnector) HandleInitialize(ctx context.Context, in middleware.InitializeInput, next middleware.InitializeHandler) ( + out middleware.InitializeOutput, metadata middleware.Metadata, err error, +) { + input, ok := in.Parameters.(*CreateVpcConnectorInput) + if !ok { + return out, metadata, fmt.Errorf("unknown input parameters type %T", in.Parameters) + } + if err := validateOpCreateVpcConnectorInput(input); err != nil { + return out, metadata, err + } + return next.HandleInitialize(ctx, in) +} + type validateOpDeleteAutoScalingConfiguration struct { } @@ -150,6 +170,26 @@ func (m *validateOpDeleteService) HandleInitialize(ctx context.Context, in middl return next.HandleInitialize(ctx, in) } +type validateOpDeleteVpcConnector struct { +} + +func (*validateOpDeleteVpcConnector) ID() string { + return "OperationInputValidation" +} + +func (m *validateOpDeleteVpcConnector) HandleInitialize(ctx context.Context, in middleware.InitializeInput, next middleware.InitializeHandler) ( + out middleware.InitializeOutput, metadata middleware.Metadata, err error, +) { + input, ok := in.Parameters.(*DeleteVpcConnectorInput) + if !ok { + return out, metadata, fmt.Errorf("unknown input parameters type %T", in.Parameters) + } + if err := validateOpDeleteVpcConnectorInput(input); err != nil { + return out, metadata, err + } + return next.HandleInitialize(ctx, in) +} + type validateOpDescribeAutoScalingConfiguration struct { } @@ -210,6 +250,26 @@ func (m *validateOpDescribeService) HandleInitialize(ctx context.Context, in mid return next.HandleInitialize(ctx, in) } +type validateOpDescribeVpcConnector struct { +} + +func (*validateOpDescribeVpcConnector) ID() string { + return "OperationInputValidation" +} + +func (m *validateOpDescribeVpcConnector) HandleInitialize(ctx context.Context, in middleware.InitializeInput, next middleware.InitializeHandler) ( + out middleware.InitializeOutput, metadata middleware.Metadata, err error, +) { + input, ok := in.Parameters.(*DescribeVpcConnectorInput) + if !ok { + return out, metadata, fmt.Errorf("unknown input parameters type %T", in.Parameters) + } + if err := validateOpDescribeVpcConnectorInput(input); err != nil { + return out, metadata, err + } + return next.HandleInitialize(ctx, in) +} + type validateOpDisassociateCustomDomain struct { } @@ -406,6 +466,10 @@ func addOpCreateServiceValidationMiddleware(stack *middleware.Stack) error { return stack.Initialize.Add(&validateOpCreateService{}, middleware.After) } +func addOpCreateVpcConnectorValidationMiddleware(stack *middleware.Stack) error { + return stack.Initialize.Add(&validateOpCreateVpcConnector{}, middleware.After) +} + func addOpDeleteAutoScalingConfigurationValidationMiddleware(stack *middleware.Stack) error { return stack.Initialize.Add(&validateOpDeleteAutoScalingConfiguration{}, middleware.After) } @@ -418,6 +482,10 @@ func addOpDeleteServiceValidationMiddleware(stack *middleware.Stack) error { return stack.Initialize.Add(&validateOpDeleteService{}, middleware.After) } +func addOpDeleteVpcConnectorValidationMiddleware(stack *middleware.Stack) error { + return stack.Initialize.Add(&validateOpDeleteVpcConnector{}, middleware.After) +} + func addOpDescribeAutoScalingConfigurationValidationMiddleware(stack *middleware.Stack) error { return stack.Initialize.Add(&validateOpDescribeAutoScalingConfiguration{}, middleware.After) } @@ -430,6 +498,10 @@ func addOpDescribeServiceValidationMiddleware(stack *middleware.Stack) error { return stack.Initialize.Add(&validateOpDescribeService{}, middleware.After) } +func addOpDescribeVpcConnectorValidationMiddleware(stack *middleware.Stack) error { + return stack.Initialize.Add(&validateOpDescribeVpcConnector{}, middleware.After) +} + func addOpDisassociateCustomDomainValidationMiddleware(stack *middleware.Stack) error { return stack.Initialize.Add(&validateOpDisassociateCustomDomain{}, middleware.After) } @@ -679,6 +751,24 @@ func validateOpCreateServiceInput(v *CreateServiceInput) error { } } +func validateOpCreateVpcConnectorInput(v *CreateVpcConnectorInput) error { + if v == nil { + return nil + } + invalidParams := smithy.InvalidParamsError{Context: "CreateVpcConnectorInput"} + if v.VpcConnectorName == nil { + invalidParams.Add(smithy.NewErrParamRequired("VpcConnectorName")) + } + if v.Subnets == nil { + invalidParams.Add(smithy.NewErrParamRequired("Subnets")) + } + if invalidParams.Len() > 0 { + return invalidParams + } else { + return nil + } +} + func validateOpDeleteAutoScalingConfigurationInput(v *DeleteAutoScalingConfigurationInput) error { if v == nil { return nil @@ -724,6 +814,21 @@ func validateOpDeleteServiceInput(v *DeleteServiceInput) error { } } +func validateOpDeleteVpcConnectorInput(v *DeleteVpcConnectorInput) error { + if v == nil { + return nil + } + invalidParams := smithy.InvalidParamsError{Context: "DeleteVpcConnectorInput"} + if v.VpcConnectorArn == nil { + invalidParams.Add(smithy.NewErrParamRequired("VpcConnectorArn")) + } + if invalidParams.Len() > 0 { + return invalidParams + } else { + return nil + } +} + func validateOpDescribeAutoScalingConfigurationInput(v *DescribeAutoScalingConfigurationInput) error { if v == nil { return nil @@ -769,6 +874,21 @@ func validateOpDescribeServiceInput(v *DescribeServiceInput) error { } } +func validateOpDescribeVpcConnectorInput(v *DescribeVpcConnectorInput) error { + if v == nil { + return nil + } + invalidParams := smithy.InvalidParamsError{Context: "DescribeVpcConnectorInput"} + if v.VpcConnectorArn == nil { + invalidParams.Add(smithy.NewErrParamRequired("VpcConnectorArn")) + } + if invalidParams.Len() > 0 { + return invalidParams + } else { + return nil + } +} + func validateOpDisassociateCustomDomainInput(v *DisassociateCustomDomainInput) error { if v == nil { return nil diff --git a/service/athena/api_op_CreateDataCatalog.go b/service/athena/api_op_CreateDataCatalog.go index 410d224ecb3..0a4832c1d49 100644 --- a/service/athena/api_op_CreateDataCatalog.go +++ b/service/athena/api_op_CreateDataCatalog.go @@ -32,8 +32,9 @@ func (c *Client) CreateDataCatalog(ctx context.Context, params *CreateDataCatalo type CreateDataCatalogInput struct { // The name of the data catalog to create. The catalog name must be unique for the - // Amazon Web Services account and can use a maximum of 128 alphanumeric, - // underscore, at sign, or hyphen characters. + // Amazon Web Services account and can use a maximum of 127 alphanumeric, + // underscore, at sign, or hyphen characters. The remainder of the length + // constraint of 256 is reserved for use by Athena. // // This member is required. Name *string diff --git a/service/athena/api_op_UpdateDataCatalog.go b/service/athena/api_op_UpdateDataCatalog.go index 5f756e38583..e9791ab09d5 100644 --- a/service/athena/api_op_UpdateDataCatalog.go +++ b/service/athena/api_op_UpdateDataCatalog.go @@ -30,8 +30,9 @@ func (c *Client) UpdateDataCatalog(ctx context.Context, params *UpdateDataCatalo type UpdateDataCatalogInput struct { // The name of the data catalog to update. The catalog name must be unique for the - // Amazon Web Services account and can use a maximum of 128 alphanumeric, - // underscore, at sign, or hyphen characters. + // Amazon Web Services account and can use a maximum of 127 alphanumeric, + // underscore, at sign, or hyphen characters. The remainder of the length + // constraint of 256 is reserved for use by Athena. // // This member is required. Name *string diff --git a/service/athena/deserializers.go b/service/athena/deserializers.go index 6f5abd3a8a1..e2c73eeec3c 100644 --- a/service/athena/deserializers.go +++ b/service/athena/deserializers.go @@ -4103,6 +4103,63 @@ func awsAwsjson11_deserializeErrorTooManyRequestsException(response *smithyhttp. return output } +func awsAwsjson11_deserializeDocumentAthenaError(v **types.AthenaError, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.(map[string]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var sv *types.AthenaError + if *v == nil { + sv = &types.AthenaError{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "ErrorCategory": + if value != nil { + jtv, ok := value.(json.Number) + if !ok { + return fmt.Errorf("expected ErrorCategory to be json.Number, got %T instead", value) + } + i64, err := jtv.Int64() + if err != nil { + return err + } + sv.ErrorCategory = ptr.Int32(int32(i64)) + } + + case "ErrorType": + if value != nil { + jtv, ok := value.(json.Number) + if !ok { + return fmt.Errorf("expected ErrorType to be json.Number, got %T instead", value) + } + i64, err := jtv.Int64() + if err != nil { + return err + } + sv.ErrorType = ptr.Int32(int32(i64)) + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + func awsAwsjson11_deserializeDocumentColumn(v **types.Column, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) @@ -5642,6 +5699,11 @@ func awsAwsjson11_deserializeDocumentQueryExecutionStatus(v **types.QueryExecuti for key, value := range shape { switch key { + case "AthenaError": + if err := awsAwsjson11_deserializeDocumentAthenaError(&sv.AthenaError, value); err != nil { + return err + } + case "CompletionDateTime": if value != nil { switch jtv := value.(type) { @@ -5777,6 +5839,15 @@ func awsAwsjson11_deserializeDocumentResultConfiguration(v **types.ResultConfigu return err } + case "ExpectedBucketOwner": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected String to be of type string, got %T instead", value) + } + sv.ExpectedBucketOwner = ptr.String(jtv) + } + case "OutputLocation": if value != nil { jtv, ok := value.(string) diff --git a/service/athena/serializers.go b/service/athena/serializers.go index 07fb7c92af2..9bfd5bd1595 100644 --- a/service/athena/serializers.go +++ b/service/athena/serializers.go @@ -1979,6 +1979,11 @@ func awsAwsjson11_serializeDocumentResultConfiguration(v *types.ResultConfigurat } } + if v.ExpectedBucketOwner != nil { + ok := object.Key("ExpectedBucketOwner") + ok.String(*v.ExpectedBucketOwner) + } + if v.OutputLocation != nil { ok := object.Key("OutputLocation") ok.String(*v.OutputLocation) @@ -1998,6 +2003,11 @@ func awsAwsjson11_serializeDocumentResultConfigurationUpdates(v *types.ResultCon } } + if v.ExpectedBucketOwner != nil { + ok := object.Key("ExpectedBucketOwner") + ok.String(*v.ExpectedBucketOwner) + } + if v.OutputLocation != nil { ok := object.Key("OutputLocation") ok.String(*v.OutputLocation) @@ -2008,6 +2018,11 @@ func awsAwsjson11_serializeDocumentResultConfigurationUpdates(v *types.ResultCon ok.Boolean(*v.RemoveEncryptionConfiguration) } + if v.RemoveExpectedBucketOwner != nil { + ok := object.Key("RemoveExpectedBucketOwner") + ok.Boolean(*v.RemoveExpectedBucketOwner) + } + if v.RemoveOutputLocation != nil { ok := object.Key("RemoveOutputLocation") ok.Boolean(*v.RemoveOutputLocation) diff --git a/service/athena/types/types.go b/service/athena/types/types.go index 41922fec07b..067dc36b2b3 100644 --- a/service/athena/types/types.go +++ b/service/athena/types/types.go @@ -7,6 +7,27 @@ import ( "time" ) +// Provides information about an Athena query error. The AthenaError feature +// provides standardized error information to help you understand failed queries +// and take steps after a query failure occurs. AthenaError includes an +// ErrorCategory field that specifies whether the cause of the failed query is due +// to system error, user error, or unknown error. +type AthenaError struct { + + // An integer value that specifies the category of a query failure error. The + // following list shows the category for each integer value. 1 - System 2 - User 3 + // - Unknown + ErrorCategory *int32 + + // An integer value that provides specific information about an Athena query error. + // For the meaning of specific values, see the Error Type Reference + // (https://docs.aws.amazon.com/athena/latest/ug/error-reference.html#error-reference-error-type-reference) + // in the Amazon Athena User Guide. + ErrorType *int32 + + noSmithyDocumentSerde +} + // Contains metadata for a column in a table. type Column struct { @@ -87,8 +108,9 @@ type Database struct { type DataCatalog struct { // The name of the data catalog. The catalog name must be unique for the Amazon Web - // Services account and can use a maximum of 128 alphanumeric, underscore, at sign, - // or hyphen characters. + // Services account and can use a maximum of 127 alphanumeric, underscore, at sign, + // or hyphen characters. The remainder of the length constraint of 256 is reserved + // for use by Athena. // // This member is required. Name *string @@ -141,7 +163,10 @@ type DataCatalog struct { // The summary information for the data catalog, which includes its name and type. type DataCatalogSummary struct { - // The name of the data catalog. + // The name of the data catalog. The catalog name is unique for the Amazon Web + // Services account and can use a maximum of 127 alphanumeric, underscore, at sign, + // or hyphen characters. The remainder of the length constraint of 256 is reserved + // for use by Athena. CatalogName *string // The data catalog type. @@ -361,6 +386,9 @@ type QueryExecutionStatistics struct { // applicable) for the query execution. type QueryExecutionStatus struct { + // Provides information about an Athena query error. + AthenaError *AthenaError + // The date and time that the query completed. CompletionDateTime *time.Time @@ -399,6 +427,20 @@ type ResultConfiguration struct { // (https://docs.aws.amazon.com/athena/latest/ug/workgroups-settings-override.html). EncryptionConfiguration *EncryptionConfiguration + // The Amazon Web Services account ID that you expect to be the owner of the Amazon + // S3 bucket specified by ResultConfiguration$OutputLocation. If set, Athena uses + // the value for ExpectedBucketOwner when it makes Amazon S3 calls to your + // specified output location. If the ExpectedBucketOwner Amazon Web Services + // account ID does not match the actual owner of the Amazon S3 bucket, the call + // fails with a permissions error. This is a client-side setting. If workgroup + // settings override client-side settings, then the query uses the + // ExpectedBucketOwner setting that is specified for the workgroup, and also uses + // the location for storing query results specified in the workgroup. See + // WorkGroupConfiguration$EnforceWorkGroupConfiguration and Workgroup Settings + // Override Client-Side Settings + // (https://docs.aws.amazon.com/athena/latest/ug/workgroups-settings-override.html). + ExpectedBucketOwner *string + // The location in Amazon S3 where your query results are stored, such as // s3://path/to/query/bucket/. To run the query, you must specify the query results // location using one of the ways: either for individual queries using either this @@ -421,6 +463,20 @@ type ResultConfigurationUpdates struct { // The encryption configuration for the query results. EncryptionConfiguration *EncryptionConfiguration + // The Amazon Web Services account ID that you expect to be the owner of the Amazon + // S3 bucket specified by ResultConfiguration$OutputLocation. If set, Athena uses + // the value for ExpectedBucketOwner when it makes Amazon S3 calls to your + // specified output location. If the ExpectedBucketOwner Amazon Web Services + // account ID does not match the actual owner of the Amazon S3 bucket, the call + // fails with a permissions error. If workgroup settings override client-side + // settings, then the query uses the ExpectedBucketOwner setting that is specified + // for the workgroup, and also uses the location for storing query results + // specified in the workgroup. See + // WorkGroupConfiguration$EnforceWorkGroupConfiguration and Workgroup Settings + // Override Client-Side Settings + // (https://docs.aws.amazon.com/athena/latest/ug/workgroups-settings-override.html). + ExpectedBucketOwner *string + // The location in Amazon S3 where your query results are stored, such as // s3://path/to/query/bucket/. For more information, see Query Results // (https://docs.aws.amazon.com/athena/latest/ug/querying.html) If workgroup @@ -441,6 +497,15 @@ type ResultConfigurationUpdates struct { // (https://docs.aws.amazon.com/athena/latest/ug/workgroups-settings-override.html). RemoveEncryptionConfiguration *bool + // If set to "true", removes the Amazon Web Services account ID previously + // specified for ResultConfiguration$ExpectedBucketOwner. If set to "false" or not + // set, and a value is present in the ExpectedBucketOwner in + // ResultConfigurationUpdates (the client-side setting), the ExpectedBucketOwner in + // the workgroup's ResultConfiguration is updated with the new value. For more + // information, see Workgroup Settings Override Client-Side Settings + // (https://docs.aws.amazon.com/athena/latest/ug/workgroups-settings-override.html). + RemoveExpectedBucketOwner *bool + // If set to "true", indicates that the previously-specified query results location // (also known as a client-side setting) for queries in this workgroup should be // ignored and set to null. If set to "false" or not set, and a value is present in diff --git a/service/auditmanager/types/types.go b/service/auditmanager/types/types.go index 61fb7bbdd32..d214323c384 100644 --- a/service/auditmanager/types/types.go +++ b/service/auditmanager/types/types.go @@ -758,6 +758,8 @@ type ControlSet struct { type CreateAssessmentFrameworkControl struct { // The unique identifier of the control. + // + // This member is required. Id *string noSmithyDocumentSerde @@ -1304,14 +1306,16 @@ type SourceKeyword struct { // This doesn't contain the control set ID. type UpdateAssessmentFrameworkControlSet struct { + // The list of controls that are contained within the control set. + // + // This member is required. + Controls []CreateAssessmentFrameworkControl + // The name of the control set. // // This member is required. Name *string - // The list of controls that are contained within the control set. - Controls []CreateAssessmentFrameworkControl - // The unique identifier for the control set. Id *string diff --git a/service/auditmanager/validators.go b/service/auditmanager/validators.go index 201d9081692..4abcb34d15b 100644 --- a/service/auditmanager/validators.go +++ b/service/auditmanager/validators.go @@ -1162,6 +1162,38 @@ func addOpValidateAssessmentReportIntegrityValidationMiddleware(stack *middlewar return stack.Initialize.Add(&validateOpValidateAssessmentReportIntegrity{}, middleware.After) } +func validateCreateAssessmentFrameworkControl(v *types.CreateAssessmentFrameworkControl) error { + if v == nil { + return nil + } + invalidParams := smithy.InvalidParamsError{Context: "CreateAssessmentFrameworkControl"} + if v.Id == nil { + invalidParams.Add(smithy.NewErrParamRequired("Id")) + } + if invalidParams.Len() > 0 { + return invalidParams + } else { + return nil + } +} + +func validateCreateAssessmentFrameworkControls(v []types.CreateAssessmentFrameworkControl) error { + if v == nil { + return nil + } + invalidParams := smithy.InvalidParamsError{Context: "CreateAssessmentFrameworkControls"} + for i := range v { + if err := validateCreateAssessmentFrameworkControl(&v[i]); err != nil { + invalidParams.AddNested(fmt.Sprintf("[%d]", i), err.(smithy.InvalidParamsError)) + } + } + if invalidParams.Len() > 0 { + return invalidParams + } else { + return nil + } +} + func validateCreateAssessmentFrameworkControlSet(v *types.CreateAssessmentFrameworkControlSet) error { if v == nil { return nil @@ -1170,6 +1202,11 @@ func validateCreateAssessmentFrameworkControlSet(v *types.CreateAssessmentFramew if v.Name == nil { invalidParams.Add(smithy.NewErrParamRequired("Name")) } + if v.Controls != nil { + if err := validateCreateAssessmentFrameworkControls(v.Controls); err != nil { + invalidParams.AddNested("Controls", err.(smithy.InvalidParamsError)) + } + } if invalidParams.Len() > 0 { return invalidParams } else { @@ -1202,6 +1239,13 @@ func validateUpdateAssessmentFrameworkControlSet(v *types.UpdateAssessmentFramew if v.Name == nil { invalidParams.Add(smithy.NewErrParamRequired("Name")) } + if v.Controls == nil { + invalidParams.Add(smithy.NewErrParamRequired("Controls")) + } else if v.Controls != nil { + if err := validateCreateAssessmentFrameworkControls(v.Controls); err != nil { + invalidParams.AddNested("Controls", err.(smithy.InvalidParamsError)) + } + } if invalidParams.Len() > 0 { return invalidParams } else { diff --git a/service/backup/api_op_CreateBackupSelection.go b/service/backup/api_op_CreateBackupSelection.go index 33f65c6cae6..32bdf6173f9 100644 --- a/service/backup/api_op_CreateBackupSelection.go +++ b/service/backup/api_op_CreateBackupSelection.go @@ -14,7 +14,7 @@ import ( // Creates a JSON document that specifies a set of resources to assign to a backup // plan. For examples, see Assigning resources programmatically -// (https://docs.aws.amazon.com/assigning-resources.html#assigning-resources-json). +// (https://docs.aws.amazon.com/aws-backup/latest/devguide/assigning-resources.html#assigning-resources-json). func (c *Client) CreateBackupSelection(ctx context.Context, params *CreateBackupSelectionInput, optFns ...func(*Options)) (*CreateBackupSelectionOutput, error) { if params == nil { params = &CreateBackupSelectionInput{} diff --git a/service/backup/api_op_DescribeRecoveryPoint.go b/service/backup/api_op_DescribeRecoveryPoint.go index 0af7f231edc..aa8df7e8916 100644 --- a/service/backup/api_op_DescribeRecoveryPoint.go +++ b/service/backup/api_op_DescribeRecoveryPoint.go @@ -107,10 +107,14 @@ type DescribeRecoveryPointOutput struct { // and when it expires. Backup transitions and expires backups automatically // according to the lifecycle that you define. Backups that are transitioned to // cold storage must be stored in cold storage for a minimum of 90 days. Therefore, - // the “expire after days” setting must be 90 days greater than the “transition to - // cold after days” setting. The “transition to cold after days” setting cannot be - // changed after a backup has been transitioned to cold. Only Amazon EFS file - // system backups can be transitioned to cold storage. + // the “retention” setting must be 90 days greater than the “transition to cold + // after days” setting. The “transition to cold after days” setting cannot be + // changed after a backup has been transitioned to cold. Only resource types that + // support full Backup management can transition their backups to cold storage. + // Those resource types are listed in the "Full Backup management" section of the + // Feature availability by resource + // (https://docs.aws.amazon.com/aws-backup/latest/devguide/whatisbackup.html#features-by-resource) + // table. Backup ignores this expression for other resource types. Lifecycle *types.Lifecycle // An ARN that uniquely identifies a recovery point; for example, diff --git a/service/backup/api_op_DescribeRegionSettings.go b/service/backup/api_op_DescribeRegionSettings.go index f095413438a..87a80b5db69 100644 --- a/service/backup/api_op_DescribeRegionSettings.go +++ b/service/backup/api_op_DescribeRegionSettings.go @@ -36,9 +36,15 @@ type DescribeRegionSettingsInput struct { type DescribeRegionSettingsOutput struct { - // Returns whether a DynamoDB recovery point was taken using Backup's advanced - // DynamoDB backup features - // (https://docs.aws.amazon.com/aws-backup/latest/devguide/advanced-ddb-backup.html). + // Returns whether Backup fully manages the backups for a resource type. For the + // benefits of full Backup management, see Full Backup management + // (https://docs.aws.amazon.com/aws-backup/latest/devguide/whatisbackup.html#full-management). + // For a list of resource types and whether each supports full Backup management, + // see the Feature availability by resource + // (https://docs.aws.amazon.com/aws-backup/latest/devguide/whatisbackup.html#features-by-resource) + // table. If "DynamoDB":false, you can enable full Backup management for DynamoDB + // backup by enabling Backup's advanced DynamoDB backup features + // (https://docs.aws.amazon.com/aws-backup/latest/devguide/advanced-ddb-backup.html#advanced-ddb-backup-enable-cli). ResourceTypeManagementPreference map[string]bool // Returns a list of all services along with the opt-in preferences in the Region. diff --git a/service/backup/api_op_GetSupportedResourceTypes.go b/service/backup/api_op_GetSupportedResourceTypes.go index b403744eb9f..88b952ecf75 100644 --- a/service/backup/api_op_GetSupportedResourceTypes.go +++ b/service/backup/api_op_GetSupportedResourceTypes.go @@ -53,6 +53,11 @@ type GetSupportedResourceTypesOutput struct { // Service // // * Storage Gateway for Storage Gateway + // + // * DocDB for Amazon DocumentDB + // (with MongoDB compatibility) + // + // * Neptune for Amazon Neptune ResourceTypes []string // Metadata pertaining to the operation's result. diff --git a/service/backup/api_op_ListBackupJobs.go b/service/backup/api_op_ListBackupJobs.go index 8c5512c06e6..6eaa5f1a038 100644 --- a/service/backup/api_op_ListBackupJobs.go +++ b/service/backup/api_op_ListBackupJobs.go @@ -56,23 +56,35 @@ type ListBackupJobsInput struct { // Returns only backup jobs for the specified resources: // - // * DynamoDB for Amazon - // DynamoDB + // * Aurora for Amazon + // Aurora + // + // * DocumentDB for Amazon DocumentDB (with MongoDB compatibility) + // + // * + // DynamoDB for Amazon DynamoDB // // * EBS for Amazon Elastic Block Store // - // * EC2 for Amazon Elastic Compute - // Cloud + // * EC2 for + // Amazon Elastic Compute Cloud // // * EFS for Amazon Elastic File System // - // * RDS for Amazon Relational - // Database Service + // * FSx for + // Amazon FSx + // + // * Neptune for Amazon Neptune + // + // * RDS for Amazon Relational Database + // Service + // + // * Storage Gateway for Storage Gateway // - // * Aurora for Amazon Aurora + // * S3 for Amazon S3 // - // * Storage Gateway for Storage - // Gateway + // * + // VirtualMachine for virtual machines ByResourceType *string // Returns only backup jobs that are in the specified state. diff --git a/service/backup/api_op_ListCopyJobs.go b/service/backup/api_op_ListCopyJobs.go index 73f444384d0..41925984b51 100644 --- a/service/backup/api_op_ListCopyJobs.go +++ b/service/backup/api_op_ListCopyJobs.go @@ -52,23 +52,35 @@ type ListCopyJobsInput struct { // Returns only backup jobs for the specified resources: // - // * DynamoDB for Amazon - // DynamoDB + // * Aurora for Amazon + // Aurora + // + // * DocumentDB for Amazon DocumentDB (with MongoDB compatibility) + // + // * + // DynamoDB for Amazon DynamoDB // // * EBS for Amazon Elastic Block Store // - // * EC2 for Amazon Elastic Compute - // Cloud + // * EC2 for + // Amazon Elastic Compute Cloud // // * EFS for Amazon Elastic File System // - // * RDS for Amazon Relational - // Database Service + // * FSx for + // Amazon FSx + // + // * Neptune for Amazon Neptune + // + // * RDS for Amazon Relational Database + // Service + // + // * Storage Gateway for Storage Gateway // - // * Aurora for Amazon Aurora + // * S3 for Amazon S3 // - // * Storage Gateway for Storage - // Gateway + // * + // VirtualMachine for virtual machines ByResourceType *string // Returns only copy jobs that are in the specified state. diff --git a/service/backup/api_op_ListTags.go b/service/backup/api_op_ListTags.go index 37f2d34fbc3..6508b80f1fc 100644 --- a/service/backup/api_op_ListTags.go +++ b/service/backup/api_op_ListTags.go @@ -12,8 +12,11 @@ import ( ) // Returns a list of key-value pairs assigned to a target recovery point, backup -// plan, or backup vault. ListTags are currently only supported with Amazon EFS -// backups. +// plan, or backup vault. ListTags only works for resource types that support full +// Backup management of their backups. Those resource types are listed in the "Full +// Backup management" section of the Feature availability by resource +// (https://docs.aws.amazon.com/aws-backup/latest/devguide/whatisbackup.html#features-by-resource) +// table. func (c *Client) ListTags(ctx context.Context, params *ListTagsInput, optFns ...func(*Options)) (*ListTagsOutput, error) { if params == nil { params = &ListTagsInput{} diff --git a/service/backup/api_op_PutBackupVaultLockConfiguration.go b/service/backup/api_op_PutBackupVaultLockConfiguration.go index 1fcf88de601..59c685f0f25 100644 --- a/service/backup/api_op_PutBackupVaultLockConfiguration.go +++ b/service/backup/api_op_PutBackupVaultLockConfiguration.go @@ -65,8 +65,9 @@ type PutBackupVaultLockConfigurationInput struct { // equal to or shorter than the maximum retention period. If the job's retention // period is longer than that maximum retention period, then the vault fails the // backup or copy job, and you should either modify your lifecycle settings or use - // a different vault. Recovery points already saved in the vault prior to Vault - // Lock are not affected. + // a different vault. The longest maximum retention period you can specify is 36500 + // days (approximately 100 years). Recovery points already saved in the vault prior + // to Vault Lock are not affected. MaxRetentionDays *int64 // The Backup Vault Lock configuration that specifies the minimum retention period @@ -78,8 +79,9 @@ type PutBackupVaultLockConfigurationInput struct { // period equal to or longer than the minimum retention period. If the job's // retention period is shorter than that minimum retention period, then the vault // fails that backup or copy job, and you should either modify your lifecycle - // settings or use a different vault. Recovery points already saved in the vault - // prior to Vault Lock are not affected. + // settings or use a different vault. The shortest minimum retention period you can + // specify is 1 day. Recovery points already saved in the vault prior to Vault Lock + // are not affected. MinRetentionDays *int64 noSmithyDocumentSerde diff --git a/service/backup/api_op_PutBackupVaultNotifications.go b/service/backup/api_op_PutBackupVaultNotifications.go index 329f67da773..6f935a92621 100644 --- a/service/backup/api_op_PutBackupVaultNotifications.go +++ b/service/backup/api_op_PutBackupVaultNotifications.go @@ -44,6 +44,9 @@ type PutBackupVaultNotificationsInput struct { // * RESTORE_JOB_STARTED | RESTORE_JOB_COMPLETED | // RECOVERY_POINT_MODIFIED // + // * S3_BACKUP_OBJECT_FAILED | + // S3_RESTORE_OBJECT_FAILED + // // Ignore the list below because it includes deprecated // events. Refer to the list above. // diff --git a/service/backup/api_op_StartBackupJob.go b/service/backup/api_op_StartBackupJob.go index c103669c94b..2533440ac17 100644 --- a/service/backup/api_op_StartBackupJob.go +++ b/service/backup/api_op_StartBackupJob.go @@ -58,7 +58,7 @@ type StartBackupJobInput struct { BackupOptions map[string]string // A value in minutes during which a successfully started backup must complete, or - // else AWS Backup will cancel the job. This value is optional. This value begins + // else Backup will cancel the job. This value is optional. This value begins // counting down from when the backup was scheduled. It does not add additional // time for StartWindowMinutes, or if the backup started later than scheduled. CompleteWindowMinutes *int64 @@ -71,11 +71,15 @@ type StartBackupJobInput struct { // The lifecycle defines when a protected resource is transitioned to cold storage // and when it expires. Backup will transition and expire backups automatically // according to the lifecycle that you define. Backups transitioned to cold storage - // must be stored in cold storage for a minimum of 90 days. Therefore, the “expire - // after days” setting must be 90 days greater than the “transition to cold after + // must be stored in cold storage for a minimum of 90 days. Therefore, the + // “retention” setting must be 90 days greater than the “transition to cold after // days” setting. The “transition to cold after days” setting cannot be changed - // after a backup has been transitioned to cold. Only Amazon EFS file system - // backups can be transitioned to cold storage. + // after a backup has been transitioned to cold. Only resource types that support + // full Backup management can transition their backups to cold storage. Those + // resource types are listed in the "Full Backup management" section of the + // Feature availability by resource + // (https://docs.aws.amazon.com/aws-backup/latest/devguide/whatisbackup.html#features-by-resource) + // table. Backup ignores this expression for other resource types. Lifecycle *types.Lifecycle // To help organize your resources, you can assign your own metadata to the diff --git a/service/backup/api_op_StartCopyJob.go b/service/backup/api_op_StartCopyJob.go index 9d9b2ad6358..afae72df3f0 100644 --- a/service/backup/api_op_StartCopyJob.go +++ b/service/backup/api_op_StartCopyJob.go @@ -67,11 +67,14 @@ type StartCopyJobInput struct { // Contains an array of Transition objects specifying how long in days before a // recovery point transitions to cold storage or is deleted. Backups transitioned // to cold storage must be stored in cold storage for a minimum of 90 days. - // Therefore, on the console, the “expire after days” setting must be 90 days - // greater than the “transition to cold after days” setting. The “transition to - // cold after days” setting cannot be changed after a backup has been transitioned - // to cold. Only Amazon EFS file system backups can be transitioned to cold - // storage. + // Therefore, on the console, the “retention” setting must be 90 days greater than + // the “transition to cold after days” setting. The “transition to cold after days” + // setting cannot be changed after a backup has been transitioned to cold. Only + // resource types that support full Backup management can transition their backups + // to cold storage. Those resource types are listed in the "Full Backup management" + // section of the Feature availability by resource + // (https://docs.aws.amazon.com/aws-backup/latest/devguide/whatisbackup.html#features-by-resource) + // table. Backup ignores this expression for other resource types. Lifecycle *types.Lifecycle noSmithyDocumentSerde diff --git a/service/backup/api_op_StartRestoreJob.go b/service/backup/api_op_StartRestoreJob.go index dc9c0b687fc..7f8437a95f7 100644 --- a/service/backup/api_op_StartRestoreJob.go +++ b/service/backup/api_op_StartRestoreJob.go @@ -88,22 +88,34 @@ type StartRestoreJobInput struct { // Starts a job to restore a recovery point for one of the following resources: // // * - // DynamoDB for Amazon DynamoDB + // Aurora for Amazon Aurora // - // * EBS for Amazon Elastic Block Store + // * DocumentDB for Amazon DocumentDB (with MongoDB + // compatibility) // - // * EC2 for - // Amazon Elastic Compute Cloud + // * DynamoDB for Amazon DynamoDB // - // * EFS for Amazon Elastic File System + // * EBS for Amazon Elastic Block + // Store // - // * RDS for - // Amazon Relational Database Service + // * EC2 for Amazon Elastic Compute Cloud // - // * Aurora for Amazon Aurora + // * EFS for Amazon Elastic File + // System // - // * Storage - // Gateway for Storage Gateway + // * FSx for Amazon FSx + // + // * Neptune for Amazon Neptune + // + // * RDS for Amazon + // Relational Database Service + // + // * Storage Gateway for Storage Gateway + // + // * S3 for + // Amazon S3 + // + // * VirtualMachine for virtual machines ResourceType *string noSmithyDocumentSerde diff --git a/service/backup/api_op_UpdateRecoveryPointLifecycle.go b/service/backup/api_op_UpdateRecoveryPointLifecycle.go index 7575fa97f75..cb1156d7e15 100644 --- a/service/backup/api_op_UpdateRecoveryPointLifecycle.go +++ b/service/backup/api_op_UpdateRecoveryPointLifecycle.go @@ -15,11 +15,15 @@ import ( // protected resource is transitioned to cold storage and when it expires. Backup // transitions and expires backups automatically according to the lifecycle that // you define. Backups transitioned to cold storage must be stored in cold storage -// for a minimum of 90 days. Therefore, the “expire after days” setting must be 90 -// days greater than the “transition to cold after days” setting. The “transition -// to cold after days” setting cannot be changed after a backup has been -// transitioned to cold. Only Amazon EFS file system backups can be transitioned to -// cold storage. Does not support continuous backups. +// for a minimum of 90 days. Therefore, the “retention” setting must be 90 days +// greater than the “transition to cold after days” setting. The “transition to +// cold after days” setting cannot be changed after a backup has been transitioned +// to cold. Only resource types that support full Backup management can transition +// their backups to cold storage. Those resource types are listed in the "Full +// Backup management" section of the Feature availability by resource +// (https://docs.aws.amazon.com/aws-backup/latest/devguide/whatisbackup.html#features-by-resource) +// table. Backup ignores this expression for other resource types. This operation +// does not support continuous backups. func (c *Client) UpdateRecoveryPointLifecycle(ctx context.Context, params *UpdateRecoveryPointLifecycleInput, optFns ...func(*Options)) (*UpdateRecoveryPointLifecycleOutput, error) { if params == nil { params = &UpdateRecoveryPointLifecycleInput{} @@ -55,8 +59,8 @@ type UpdateRecoveryPointLifecycleInput struct { // The lifecycle defines when a protected resource is transitioned to cold storage // and when it expires. Backup transitions and expires backups automatically // according to the lifecycle that you define. Backups transitioned to cold storage - // must be stored in cold storage for a minimum of 90 days. Therefore, the “expire - // after days” setting must be 90 days greater than the “transition to cold after + // must be stored in cold storage for a minimum of 90 days. Therefore, the + // “retention” setting must be 90 days greater than the “transition to cold after // days” setting. The “transition to cold after days” setting cannot be changed // after a backup has been transitioned to cold. Lifecycle *types.Lifecycle @@ -77,11 +81,15 @@ type UpdateRecoveryPointLifecycleOutput struct { // The lifecycle defines when a protected resource is transitioned to cold storage // and when it expires. Backup transitions and expires backups automatically // according to the lifecycle that you define. Backups transitioned to cold storage - // must be stored in cold storage for a minimum of 90 days. Therefore, the “expire - // after days” setting must be 90 days greater than the “transition to cold after + // must be stored in cold storage for a minimum of 90 days. Therefore, the + // “retention” setting must be 90 days greater than the “transition to cold after // days” setting. The “transition to cold after days” setting cannot be changed - // after a backup has been transitioned to cold. Only Amazon EFS file system - // backups can be transitioned to cold storage. + // after a backup has been transitioned to cold. Only resource types that support + // full Backup management can transition their backups to cold storage. Those + // resource types are listed in the "Full Backup management" section of the + // Feature availability by resource + // (https://docs.aws.amazon.com/aws-backup/latest/devguide/whatisbackup.html#features-by-resource) + // table. Backup ignores this expression for other resource types. Lifecycle *types.Lifecycle // An Amazon Resource Name (ARN) that uniquely identifies a recovery point; for diff --git a/service/backup/api_op_UpdateRegionSettings.go b/service/backup/api_op_UpdateRegionSettings.go index d1ab1d92af2..8982f649d0b 100644 --- a/service/backup/api_op_UpdateRegionSettings.go +++ b/service/backup/api_op_UpdateRegionSettings.go @@ -33,9 +33,12 @@ func (c *Client) UpdateRegionSettings(ctx context.Context, params *UpdateRegionS type UpdateRegionSettingsInput struct { - // Enables or disables Backup's advanced DynamoDB backup features - // (https://docs.aws.amazon.com/aws-backup/latest/devguide/advanced-ddb-backup.html) - // for the Region. + // Enables or disables full Backup management of backups for a resource type. To + // enable full Backup management for DynamoDB along with Backup's advanced + // DynamoDB backup features + // (https://docs.aws.amazon.com/aws-backup/latest/devguide/advanced-ddb-backup.html), + // follow the procedure to enable advanced DynamoDB backup programmatically + // (https://docs.aws.amazon.com/aws-backup/latest/devguide/advanced-ddb-backup.html#advanced-ddb-backup-enable-cli). ResourceTypeManagementPreference map[string]bool // Updates the list of services along with the opt-in preferences for the Region. diff --git a/service/backup/types/enums.go b/service/backup/types/enums.go index cbafee9720e..cd83527ca52 100644 --- a/service/backup/types/enums.go +++ b/service/backup/types/enums.go @@ -51,6 +51,8 @@ const ( BackupVaultEventRecoveryPointModified BackupVaultEvent = "RECOVERY_POINT_MODIFIED" BackupVaultEventBackupPlanCreated BackupVaultEvent = "BACKUP_PLAN_CREATED" BackupVaultEventBackupPlanModified BackupVaultEvent = "BACKUP_PLAN_MODIFIED" + BackupVaultEventS3BackupObjectFailed BackupVaultEvent = "S3_BACKUP_OBJECT_FAILED" + BackupVaultEventS3RestoreObjectFailed BackupVaultEvent = "S3_RESTORE_OBJECT_FAILED" ) // Values returns all known values for BackupVaultEvent. Note that this can be @@ -73,6 +75,8 @@ func (BackupVaultEvent) Values() []BackupVaultEvent { "RECOVERY_POINT_MODIFIED", "BACKUP_PLAN_CREATED", "BACKUP_PLAN_MODIFIED", + "S3_BACKUP_OBJECT_FAILED", + "S3_RESTORE_OBJECT_FAILED", } } diff --git a/service/backup/types/types.go b/service/backup/types/types.go index 90048a6e8c0..d456abad901 100644 --- a/service/backup/types/types.go +++ b/service/backup/types/types.go @@ -274,11 +274,15 @@ type BackupRule struct { // The lifecycle defines when a protected resource is transitioned to cold storage // and when it expires. Backup transitions and expires backups automatically // according to the lifecycle that you define. Backups transitioned to cold storage - // must be stored in cold storage for a minimum of 90 days. Therefore, the “expire - // after days” setting must be 90 days greater than the “transition to cold after + // must be stored in cold storage for a minimum of 90 days. Therefore, the + // “retention” setting must be 90 days greater than the “transition to cold after // days” setting. The “transition to cold after days” setting cannot be changed - // after a backup has been transitioned to cold. Only Amazon EFS file system - // backups can be transitioned to cold storage. + // after a backup has been transitioned to cold. Only resource types that support + // full Backup management can transition their backups to cold storage. Those + // resource types are listed in the "Full Backup management" section of the + // Feature availability by resource + // (https://docs.aws.amazon.com/aws-backup/latest/devguide/whatisbackup.html#features-by-resource) + // table. Backup ignores this expression for other resource types. Lifecycle *Lifecycle // An array of key-value pair strings that are assigned to resources that are @@ -339,11 +343,15 @@ type BackupRuleInput struct { // The lifecycle defines when a protected resource is transitioned to cold storage // and when it expires. Backup will transition and expire backups automatically // according to the lifecycle that you define. Backups transitioned to cold storage - // must be stored in cold storage for a minimum of 90 days. Therefore, the “expire - // after days” setting must be 90 days greater than the “transition to cold after + // must be stored in cold storage for a minimum of 90 days. Therefore, the + // “retention” setting must be 90 days greater than the “transition to cold after // days” setting. The “transition to cold after days” setting cannot be changed - // after a backup has been transitioned to cold. Only Amazon EFS file system - // backups can be transitioned to cold storage. + // after a backup has been transitioned to cold. Only resource types that support + // full Backup management can transition their backups to cold storage. Those + // resource types are listed in the "Full Backup management" section of the + // Feature availability by resource + // (https://docs.aws.amazon.com/aws-backup/latest/devguide/whatisbackup.html#features-by-resource) + // table. Backup ignores this expression for other resource types. Lifecycle *Lifecycle // To help organize your resources, you can assign your own metadata to the @@ -474,9 +482,15 @@ type BackupVaultListMember struct { // characters. CreatorRequestId *string - // The server-side encryption key that is used to protect your backups; for - // example, - // arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab. + // A server-side encryption key you can specify to encrypt your backups from + // services that support full Backup management; for example, + // arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab. If + // you specify a key, you must specify its ARN, not its alias. If you do not + // specify a key, Backup creates a KMS key for you by default. To learn which + // Backup services support full Backup management and how Backup handles encryption + // for backups from services that do not yet support full Backup, see Encryption + // for backups in Backup + // (https://docs.aws.amazon.com/aws-backup/latest/devguide/encryption.html) EncryptionKeyArn *string // The date and time when Backup Vault Lock configuration becomes immutable, @@ -527,11 +541,14 @@ type BackupVaultListMember struct { // resource is transitioned to cold storage and when it expires. Backup transitions // and expires backups automatically according to the lifecycle that you define. // Backups transitioned to cold storage must be stored in cold storage for a -// minimum of 90 days. Therefore, the “expire after days” setting must be 90 days -// greater than the “transition to cold after days” setting. The “transition to -// cold after days” setting cannot be changed after a backup has been transitioned -// to cold. Only Amazon EFS file system backups can be transitioned to cold -// storage. +// minimum of 90 days. Therefore, the “retention” setting must be 90 days greater +// than the “transition to cold after days” setting. The “transition to cold after +// days” setting cannot be changed after a backup has been transitioned to cold. +// Only resource types that support full Backup management can transition their +// backups to cold storage. Those resource types are listed in the "Full Backup +// management" section of the Feature availability by resource +// (https://docs.aws.amazon.com/aws-backup/latest/devguide/whatisbackup.html#features-by-resource) +// table. Backup ignores this expression for other resource types. type CalculatedLifecycle struct { // A timestamp that specifies when to delete a recovery point. @@ -556,7 +573,7 @@ type Condition struct { // An operation applied to a key-value pair used to assign resources to your backup // plan. Condition only supports StringEquals. For more flexible assignment - // options, incluidng StringLike and the ability to exclude resources from your + // options, including StringLike and the ability to exclude resources from your // backup plan, use Conditions (with an "s" on the end) for your BackupSelection // (https://docs.aws.amazon.com/aws-backup/latest/devguide/API_BackupSelection.html). // @@ -665,11 +682,14 @@ type CopyAction struct { // Contains an array of Transition objects specifying how long in days before a // recovery point transitions to cold storage or is deleted. Backups transitioned // to cold storage must be stored in cold storage for a minimum of 90 days. - // Therefore, on the console, the “expire after days” setting must be 90 days - // greater than the “transition to cold after days” setting. The “transition to - // cold after days” setting cannot be changed after a backup has been transitioned - // to cold. Only Amazon EFS file system backups can be transitioned to cold - // storage. + // Therefore, on the console, the “retention” setting must be 90 days greater than + // the “transition to cold after days” setting. The “transition to cold after days” + // setting cannot be changed after a backup has been transitioned to cold. Only + // resource types that support full Backup management can transition their backups + // to cold storage. Those resource types are listed in the "Full Backup management" + // section of the Feature availability by resource + // (https://docs.aws.amazon.com/aws-backup/latest/devguide/whatisbackup.html#features-by-resource) + // table. Backup ignores this expression for other resource types. Lifecycle *Lifecycle noSmithyDocumentSerde @@ -799,11 +819,14 @@ type FrameworkControl struct { // Contains an array of Transition objects specifying how long in days before a // recovery point transitions to cold storage or is deleted. Backups transitioned // to cold storage must be stored in cold storage for a minimum of 90 days. -// Therefore, on the console, the “expire after days” setting must be 90 days -// greater than the “transition to cold after days” setting. The “transition to -// cold after days” setting cannot be changed after a backup has been transitioned -// to cold. Only Amazon EFS file system backups can be transitioned to cold -// storage. +// Therefore, on the console, the “retention” setting must be 90 days greater than +// the “transition to cold after days” setting. The “transition to cold after days” +// setting cannot be changed after a backup has been transitioned to cold. Only +// resource types that support full Backup management can transition their backups +// to cold storage. Those resource types are listed in the "Full Backup management" +// section of the Feature availability by resource +// (https://docs.aws.amazon.com/aws-backup/latest/devguide/whatisbackup.html#features-by-resource) +// table. Backup ignores this expression for other resource types. type Lifecycle struct { // Specifies the number of days after creation that a recovery point is deleted. @@ -899,11 +922,15 @@ type RecoveryPointByBackupVault struct { // The lifecycle defines when a protected resource is transitioned to cold storage // and when it expires. Backup transitions and expires backups automatically // according to the lifecycle that you define. Backups transitioned to cold storage - // must be stored in cold storage for a minimum of 90 days. Therefore, the “expire - // after days” setting must be 90 days greater than the “transition to cold after + // must be stored in cold storage for a minimum of 90 days. Therefore, the + // “retention” setting must be 90 days greater than the “transition to cold after // days” setting. The “transition to cold after days” setting cannot be changed - // after a backup has been transitioned to cold. Only Amazon EFS file system - // backups can be transitioned to cold storage. + // after a backup has been transitioned to cold. Only resource types that support + // full Backup management can transition their backups to cold storage. Those + // resource types are listed in the "Full Backup management" section of the + // Feature availability by resource + // (https://docs.aws.amazon.com/aws-backup/latest/devguide/whatisbackup.html#features-by-resource) + // table. Backup ignores this expression for other resource types. Lifecycle *Lifecycle // An Amazon Resource Name (ARN) that uniquely identifies a recovery point; for diff --git a/service/budgets/api_op_CreateBudget.go b/service/budgets/api_op_CreateBudget.go index 2019d6e12b5..f1a81ef8f56 100644 --- a/service/budgets/api_op_CreateBudget.go +++ b/service/budgets/api_op_CreateBudget.go @@ -48,7 +48,8 @@ type CreateBudgetInput struct { // A notification that you want to associate with a budget. A budget can have up to // five notifications, and each notification can have one SNS subscriber and up to // 10 email subscribers. If you include notifications and subscribers in your - // CreateBudget call, AWS creates the notifications and subscribers for you. + // CreateBudget call, Amazon Web Services creates the notifications and subscribers + // for you. NotificationsWithSubscribers []types.NotificationWithSubscribers noSmithyDocumentSerde diff --git a/service/budgets/api_op_CreateBudgetAction.go b/service/budgets/api_op_CreateBudgetAction.go index 8f3a0460a22..d2e6f667d17 100644 --- a/service/budgets/api_op_CreateBudgetAction.go +++ b/service/budgets/api_op_CreateBudgetAction.go @@ -29,7 +29,7 @@ func (c *Client) CreateBudgetAction(ctx context.Context, params *CreateBudgetAct type CreateBudgetActionInput struct { - // The account ID of the user. It should be a 12-digit number. + // The account ID of the user. It's a 12-digit number. // // This member is required. AccountId *string @@ -82,7 +82,7 @@ type CreateBudgetActionInput struct { type CreateBudgetActionOutput struct { - // The account ID of the user. It should be a 12-digit number. + // The account ID of the user. It's a 12-digit number. // // This member is required. AccountId *string diff --git a/service/budgets/api_op_CreateNotification.go b/service/budgets/api_op_CreateNotification.go index 4fd7212fbac..892a149adb7 100644 --- a/service/budgets/api_op_CreateNotification.go +++ b/service/budgets/api_op_CreateNotification.go @@ -37,8 +37,8 @@ type CreateNotificationInput struct { // This member is required. AccountId *string - // The name of the budget that you want AWS to notify you about. Budget names must - // be unique within an account. + // The name of the budget that you want Amazon Web Services to notify you about. + // Budget names must be unique within an account. // // This member is required. BudgetName *string diff --git a/service/budgets/api_op_DeleteBudgetAction.go b/service/budgets/api_op_DeleteBudgetAction.go index 0f0c8d18d87..01b5b3553a2 100644 --- a/service/budgets/api_op_DeleteBudgetAction.go +++ b/service/budgets/api_op_DeleteBudgetAction.go @@ -29,7 +29,7 @@ func (c *Client) DeleteBudgetAction(ctx context.Context, params *DeleteBudgetAct type DeleteBudgetActionInput struct { - // The account ID of the user. It should be a 12-digit number. + // The account ID of the user. It's a 12-digit number. // // This member is required. AccountId *string @@ -50,7 +50,7 @@ type DeleteBudgetActionInput struct { type DeleteBudgetActionOutput struct { - // The account ID of the user. It should be a 12-digit number. + // The account ID of the user. It's a 12-digit number. // // This member is required. AccountId *string diff --git a/service/budgets/api_op_DescribeBudgetAction.go b/service/budgets/api_op_DescribeBudgetAction.go index f64440cf657..23f709ac21b 100644 --- a/service/budgets/api_op_DescribeBudgetAction.go +++ b/service/budgets/api_op_DescribeBudgetAction.go @@ -29,7 +29,7 @@ func (c *Client) DescribeBudgetAction(ctx context.Context, params *DescribeBudge type DescribeBudgetActionInput struct { - // The account ID of the user. It should be a 12-digit number. + // The account ID of the user. It's a 12-digit number. // // This member is required. AccountId *string @@ -50,7 +50,7 @@ type DescribeBudgetActionInput struct { type DescribeBudgetActionOutput struct { - // The account ID of the user. It should be a 12-digit number. + // The account ID of the user. It's a 12-digit number. // // This member is required. AccountId *string diff --git a/service/budgets/api_op_DescribeBudgetActionHistories.go b/service/budgets/api_op_DescribeBudgetActionHistories.go index cf3337d4c90..85ae6d66476 100644 --- a/service/budgets/api_op_DescribeBudgetActionHistories.go +++ b/service/budgets/api_op_DescribeBudgetActionHistories.go @@ -30,7 +30,7 @@ func (c *Client) DescribeBudgetActionHistories(ctx context.Context, params *Desc type DescribeBudgetActionHistoriesInput struct { - // The account ID of the user. It should be a 12-digit number. + // The account ID of the user. It's a 12-digit number. // // This member is required. AccountId *string @@ -53,7 +53,7 @@ type DescribeBudgetActionHistoriesInput struct { // A generic string. NextToken *string - // The period of time that is covered by a budget. The period has a start date and + // The period of time that's covered by a budget. The period has a start date and // an end date. The start date must come before the end date. There are no // restrictions on the end date. TimePeriod *types.TimePeriod diff --git a/service/budgets/api_op_DescribeBudgetActionsForAccount.go b/service/budgets/api_op_DescribeBudgetActionsForAccount.go index c76aec9d88e..a988d6e9c97 100644 --- a/service/budgets/api_op_DescribeBudgetActionsForAccount.go +++ b/service/budgets/api_op_DescribeBudgetActionsForAccount.go @@ -30,7 +30,7 @@ func (c *Client) DescribeBudgetActionsForAccount(ctx context.Context, params *De type DescribeBudgetActionsForAccountInput struct { - // The account ID of the user. It should be a 12-digit number. + // The account ID of the user. It's a 12-digit number. // // This member is required. AccountId *string diff --git a/service/budgets/api_op_DescribeBudgetActionsForBudget.go b/service/budgets/api_op_DescribeBudgetActionsForBudget.go index 2ac6e95d5df..bc635176f55 100644 --- a/service/budgets/api_op_DescribeBudgetActionsForBudget.go +++ b/service/budgets/api_op_DescribeBudgetActionsForBudget.go @@ -30,7 +30,7 @@ func (c *Client) DescribeBudgetActionsForBudget(ctx context.Context, params *Des type DescribeBudgetActionsForBudgetInput struct { - // The account ID of the user. It should be a 12-digit number. + // The account ID of the user. It's a 12-digit number. // // This member is required. AccountId *string diff --git a/service/budgets/api_op_DescribeBudgetNotificationsForAccount.go b/service/budgets/api_op_DescribeBudgetNotificationsForAccount.go new file mode 100644 index 00000000000..80ea0ad961d --- /dev/null +++ b/service/budgets/api_op_DescribeBudgetNotificationsForAccount.go @@ -0,0 +1,226 @@ +// Code generated by smithy-go-codegen DO NOT EDIT. + +package budgets + +import ( + "context" + "fmt" + awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" + "github.com/aws/aws-sdk-go-v2/aws/signer/v4" + "github.com/aws/aws-sdk-go-v2/service/budgets/types" + "github.com/aws/smithy-go/middleware" + smithyhttp "github.com/aws/smithy-go/transport/http" +) + +// Lists the budget names and notifications that are associated with an account. +func (c *Client) DescribeBudgetNotificationsForAccount(ctx context.Context, params *DescribeBudgetNotificationsForAccountInput, optFns ...func(*Options)) (*DescribeBudgetNotificationsForAccountOutput, error) { + if params == nil { + params = &DescribeBudgetNotificationsForAccountInput{} + } + + result, metadata, err := c.invokeOperation(ctx, "DescribeBudgetNotificationsForAccount", params, optFns, c.addOperationDescribeBudgetNotificationsForAccountMiddlewares) + if err != nil { + return nil, err + } + + out := result.(*DescribeBudgetNotificationsForAccountOutput) + out.ResultMetadata = metadata + return out, nil +} + +type DescribeBudgetNotificationsForAccountInput struct { + + // The account ID of the user. It's a 12-digit number. + // + // This member is required. + AccountId *string + + // An integer that shows how many budget name entries a paginated response + // contains. + MaxResults *int32 + + // A generic string. + NextToken *string + + noSmithyDocumentSerde +} + +type DescribeBudgetNotificationsForAccountOutput struct { + + // A list of budget names and associated notifications for an account. + BudgetNotificationsForAccount []types.BudgetNotificationsForAccount + + // A generic string. + NextToken *string + + // Metadata pertaining to the operation's result. + ResultMetadata middleware.Metadata + + noSmithyDocumentSerde +} + +func (c *Client) addOperationDescribeBudgetNotificationsForAccountMiddlewares(stack *middleware.Stack, options Options) (err error) { + err = stack.Serialize.Add(&awsAwsjson11_serializeOpDescribeBudgetNotificationsForAccount{}, middleware.After) + if err != nil { + return err + } + err = stack.Deserialize.Add(&awsAwsjson11_deserializeOpDescribeBudgetNotificationsForAccount{}, middleware.After) + if err != nil { + return err + } + if err = addSetLoggerMiddleware(stack, options); err != nil { + return err + } + if err = awsmiddleware.AddClientRequestIDMiddleware(stack); err != nil { + return err + } + if err = smithyhttp.AddComputeContentLengthMiddleware(stack); err != nil { + return err + } + if err = addResolveEndpointMiddleware(stack, options); err != nil { + return err + } + if err = v4.AddComputePayloadSHA256Middleware(stack); err != nil { + return err + } + if err = addRetryMiddlewares(stack, options); err != nil { + return err + } + if err = addHTTPSignerV4Middleware(stack, options); err != nil { + return err + } + if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil { + return err + } + if err = awsmiddleware.AddRecordResponseTiming(stack); err != nil { + return err + } + if err = addClientUserAgent(stack); err != nil { + return err + } + if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil { + return err + } + if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { + return err + } + if err = addOpDescribeBudgetNotificationsForAccountValidationMiddleware(stack); err != nil { + return err + } + if err = stack.Initialize.Add(newServiceMetadataMiddleware_opDescribeBudgetNotificationsForAccount(options.Region), middleware.Before); err != nil { + return err + } + if err = addRequestIDRetrieverMiddleware(stack); err != nil { + return err + } + if err = addResponseErrorMiddleware(stack); err != nil { + return err + } + if err = addRequestResponseLogging(stack, options); err != nil { + return err + } + return nil +} + +// DescribeBudgetNotificationsForAccountAPIClient is a client that implements the +// DescribeBudgetNotificationsForAccount operation. +type DescribeBudgetNotificationsForAccountAPIClient interface { + DescribeBudgetNotificationsForAccount(context.Context, *DescribeBudgetNotificationsForAccountInput, ...func(*Options)) (*DescribeBudgetNotificationsForAccountOutput, error) +} + +var _ DescribeBudgetNotificationsForAccountAPIClient = (*Client)(nil) + +// DescribeBudgetNotificationsForAccountPaginatorOptions is the paginator options +// for DescribeBudgetNotificationsForAccount +type DescribeBudgetNotificationsForAccountPaginatorOptions struct { + // An integer that shows how many budget name entries a paginated response + // contains. + Limit int32 + + // Set to true if pagination should stop if the service returns a pagination token + // that matches the most recent token provided to the service. + StopOnDuplicateToken bool +} + +// DescribeBudgetNotificationsForAccountPaginator is a paginator for +// DescribeBudgetNotificationsForAccount +type DescribeBudgetNotificationsForAccountPaginator struct { + options DescribeBudgetNotificationsForAccountPaginatorOptions + client DescribeBudgetNotificationsForAccountAPIClient + params *DescribeBudgetNotificationsForAccountInput + nextToken *string + firstPage bool +} + +// NewDescribeBudgetNotificationsForAccountPaginator returns a new +// DescribeBudgetNotificationsForAccountPaginator +func NewDescribeBudgetNotificationsForAccountPaginator(client DescribeBudgetNotificationsForAccountAPIClient, params *DescribeBudgetNotificationsForAccountInput, optFns ...func(*DescribeBudgetNotificationsForAccountPaginatorOptions)) *DescribeBudgetNotificationsForAccountPaginator { + if params == nil { + params = &DescribeBudgetNotificationsForAccountInput{} + } + + options := DescribeBudgetNotificationsForAccountPaginatorOptions{} + if params.MaxResults != nil { + options.Limit = *params.MaxResults + } + + for _, fn := range optFns { + fn(&options) + } + + return &DescribeBudgetNotificationsForAccountPaginator{ + options: options, + client: client, + params: params, + firstPage: true, + nextToken: params.NextToken, + } +} + +// HasMorePages returns a boolean indicating whether more pages are available +func (p *DescribeBudgetNotificationsForAccountPaginator) HasMorePages() bool { + return p.firstPage || (p.nextToken != nil && len(*p.nextToken) != 0) +} + +// NextPage retrieves the next DescribeBudgetNotificationsForAccount page. +func (p *DescribeBudgetNotificationsForAccountPaginator) NextPage(ctx context.Context, optFns ...func(*Options)) (*DescribeBudgetNotificationsForAccountOutput, error) { + if !p.HasMorePages() { + return nil, fmt.Errorf("no more pages available") + } + + params := *p.params + params.NextToken = p.nextToken + + var limit *int32 + if p.options.Limit > 0 { + limit = &p.options.Limit + } + params.MaxResults = limit + + result, err := p.client.DescribeBudgetNotificationsForAccount(ctx, ¶ms, optFns...) + if err != nil { + return nil, err + } + p.firstPage = false + + prevToken := p.nextToken + p.nextToken = result.NextToken + + if p.options.StopOnDuplicateToken && + prevToken != nil && + p.nextToken != nil && + *prevToken == *p.nextToken { + p.nextToken = nil + } + + return result, nil +} + +func newServiceMetadataMiddleware_opDescribeBudgetNotificationsForAccount(region string) *awsmiddleware.RegisterServiceMetadata { + return &awsmiddleware.RegisterServiceMetadata{ + Region: region, + ServiceID: ServiceID, + SigningName: "budgets", + OperationName: "DescribeBudgetNotificationsForAccount", + } +} diff --git a/service/budgets/api_op_DescribeBudgetPerformanceHistory.go b/service/budgets/api_op_DescribeBudgetPerformanceHistory.go index 320900679e5..44e70605a04 100644 --- a/service/budgets/api_op_DescribeBudgetPerformanceHistory.go +++ b/service/budgets/api_op_DescribeBudgetPerformanceHistory.go @@ -31,7 +31,7 @@ func (c *Client) DescribeBudgetPerformanceHistory(ctx context.Context, params *D type DescribeBudgetPerformanceHistoryInput struct { - // The account ID of the user. It should be a 12-digit number. + // The account ID of the user. It's a 12-digit number. // // This member is required. AccountId *string diff --git a/service/budgets/api_op_ExecuteBudgetAction.go b/service/budgets/api_op_ExecuteBudgetAction.go index b68486ad50e..1a31eb06da8 100644 --- a/service/budgets/api_op_ExecuteBudgetAction.go +++ b/service/budgets/api_op_ExecuteBudgetAction.go @@ -29,7 +29,7 @@ func (c *Client) ExecuteBudgetAction(ctx context.Context, params *ExecuteBudgetA type ExecuteBudgetActionInput struct { - // The account ID of the user. It should be a 12-digit number. + // The account ID of the user. It's a 12-digit number. // // This member is required. AccountId *string @@ -55,7 +55,7 @@ type ExecuteBudgetActionInput struct { type ExecuteBudgetActionOutput struct { - // The account ID of the user. It should be a 12-digit number. + // The account ID of the user. It's a 12-digit number. // // This member is required. AccountId *string diff --git a/service/budgets/api_op_UpdateBudget.go b/service/budgets/api_op_UpdateBudget.go index 4dc1ef36e77..62b76ca9efa 100644 --- a/service/budgets/api_op_UpdateBudget.go +++ b/service/budgets/api_op_UpdateBudget.go @@ -13,11 +13,11 @@ import ( // Updates a budget. You can change every part of a budget except for the // budgetName and the calculatedSpend. When you modify a budget, the -// calculatedSpend drops to zero until AWS has new usage data to use for -// forecasting. Only one of BudgetLimit or PlannedBudgetLimits can be present in -// the syntax at one time. Use the syntax that matches your case. The Request -// Syntax section shows the BudgetLimit syntax. For PlannedBudgetLimits, see the -// Examples +// calculatedSpend drops to zero until Amazon Web Services has new usage data to +// use for forecasting. Only one of BudgetLimit or PlannedBudgetLimits can be +// present in the syntax at one time. Use the syntax that matches your case. The +// Request Syntax section shows the BudgetLimit syntax. For PlannedBudgetLimits, +// see the Examples // (https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_budgets_UpdateBudget.html#API_UpdateBudget_Examples) // section. func (c *Client) UpdateBudget(ctx context.Context, params *UpdateBudgetInput, optFns ...func(*Options)) (*UpdateBudgetOutput, error) { diff --git a/service/budgets/api_op_UpdateBudgetAction.go b/service/budgets/api_op_UpdateBudgetAction.go index 88b623f7461..94908cb3537 100644 --- a/service/budgets/api_op_UpdateBudgetAction.go +++ b/service/budgets/api_op_UpdateBudgetAction.go @@ -29,7 +29,7 @@ func (c *Client) UpdateBudgetAction(ctx context.Context, params *UpdateBudgetAct type UpdateBudgetActionInput struct { - // The account ID of the user. It should be a 12-digit number. + // The account ID of the user. It's a 12-digit number. // // This member is required. AccountId *string @@ -69,7 +69,7 @@ type UpdateBudgetActionInput struct { type UpdateBudgetActionOutput struct { - // The account ID of the user. It should be a 12-digit number. + // The account ID of the user. It's a 12-digit number. // // This member is required. AccountId *string diff --git a/service/budgets/deserializers.go b/service/budgets/deserializers.go index 232e50849f5..a0f1a0defd7 100644 --- a/service/budgets/deserializers.go +++ b/service/budgets/deserializers.go @@ -1610,6 +1610,132 @@ func awsAwsjson11_deserializeOpErrorDescribeBudgetActionsForBudget(response *smi } } +type awsAwsjson11_deserializeOpDescribeBudgetNotificationsForAccount struct { +} + +func (*awsAwsjson11_deserializeOpDescribeBudgetNotificationsForAccount) ID() string { + return "OperationDeserializer" +} + +func (m *awsAwsjson11_deserializeOpDescribeBudgetNotificationsForAccount) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( + out middleware.DeserializeOutput, metadata middleware.Metadata, err error, +) { + out, metadata, err = next.HandleDeserialize(ctx, in) + if err != nil { + return out, metadata, err + } + + response, ok := out.RawResponse.(*smithyhttp.Response) + if !ok { + return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} + } + + if response.StatusCode < 200 || response.StatusCode >= 300 { + return out, metadata, awsAwsjson11_deserializeOpErrorDescribeBudgetNotificationsForAccount(response, &metadata) + } + output := &DescribeBudgetNotificationsForAccountOutput{} + out.Result = output + + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + + body := io.TeeReader(response.Body, ringBuffer) + decoder := json.NewDecoder(body) + decoder.UseNumber() + var shape interface{} + if err := decoder.Decode(&shape); err != nil && err != io.EOF { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return out, metadata, err + } + + err = awsAwsjson11_deserializeOpDocumentDescribeBudgetNotificationsForAccountOutput(&output, shape) + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return out, metadata, err + } + + return out, metadata, err +} + +func awsAwsjson11_deserializeOpErrorDescribeBudgetNotificationsForAccount(response *smithyhttp.Response, metadata *middleware.Metadata) error { + var errorBuffer bytes.Buffer + if _, err := io.Copy(&errorBuffer, response.Body); err != nil { + return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} + } + errorBody := bytes.NewReader(errorBuffer.Bytes()) + + errorCode := "UnknownError" + errorMessage := errorCode + + code := response.Header.Get("X-Amzn-ErrorType") + if len(code) != 0 { + errorCode = restjson.SanitizeErrorCode(code) + } + + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + + body := io.TeeReader(errorBody, ringBuffer) + decoder := json.NewDecoder(body) + decoder.UseNumber() + code, message, err := restjson.GetErrorInfo(decoder) + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return err + } + + errorBody.Seek(0, io.SeekStart) + if len(code) != 0 { + errorCode = restjson.SanitizeErrorCode(code) + } + if len(message) != 0 { + errorMessage = message + } + + switch { + case strings.EqualFold("AccessDeniedException", errorCode): + return awsAwsjson11_deserializeErrorAccessDeniedException(response, errorBody) + + case strings.EqualFold("ExpiredNextTokenException", errorCode): + return awsAwsjson11_deserializeErrorExpiredNextTokenException(response, errorBody) + + case strings.EqualFold("InternalErrorException", errorCode): + return awsAwsjson11_deserializeErrorInternalErrorException(response, errorBody) + + case strings.EqualFold("InvalidNextTokenException", errorCode): + return awsAwsjson11_deserializeErrorInvalidNextTokenException(response, errorBody) + + case strings.EqualFold("InvalidParameterException", errorCode): + return awsAwsjson11_deserializeErrorInvalidParameterException(response, errorBody) + + case strings.EqualFold("NotFoundException", errorCode): + return awsAwsjson11_deserializeErrorNotFoundException(response, errorBody) + + default: + genericError := &smithy.GenericAPIError{ + Code: errorCode, + Message: errorMessage, + } + return genericError + + } +} + type awsAwsjson11_deserializeOpDescribeBudgetPerformanceHistory struct { } @@ -3447,6 +3573,67 @@ func awsAwsjson11_deserializeDocumentActionThreshold(v **types.ActionThreshold, return nil } +func awsAwsjson11_deserializeDocumentAutoAdjustData(v **types.AutoAdjustData, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.(map[string]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var sv *types.AutoAdjustData + if *v == nil { + sv = &types.AutoAdjustData{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "AutoAdjustType": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected AutoAdjustType to be of type string, got %T instead", value) + } + sv.AutoAdjustType = types.AutoAdjustType(jtv) + } + + case "HistoricalOptions": + if err := awsAwsjson11_deserializeDocumentHistoricalOptions(&sv.HistoricalOptions, value); err != nil { + return err + } + + case "LastAutoAdjustTime": + if value != nil { + switch jtv := value.(type) { + case json.Number: + f64, err := jtv.Float64() + if err != nil { + return err + } + sv.LastAutoAdjustTime = ptr.Time(smithytime.ParseEpochSeconds(f64)) + + default: + return fmt.Errorf("expected GenericTimestamp to be a JSON Number, got %T instead", value) + + } + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + func awsAwsjson11_deserializeDocumentBudget(v **types.Budget, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) @@ -3469,6 +3656,11 @@ func awsAwsjson11_deserializeDocumentBudget(v **types.Budget, value interface{}) for key, value := range shape { switch key { + case "AutoAdjustData": + if err := awsAwsjson11_deserializeDocumentAutoAdjustData(&sv.AutoAdjustData, value); err != nil { + return err + } + case "BudgetLimit": if err := awsAwsjson11_deserializeDocumentSpend(&sv.BudgetLimit, value); err != nil { return err @@ -3631,6 +3823,85 @@ func awsAwsjson11_deserializeDocumentBudgetedAndActualAmountsList(v *[]types.Bud return nil } +func awsAwsjson11_deserializeDocumentBudgetNotificationsForAccount(v **types.BudgetNotificationsForAccount, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.(map[string]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var sv *types.BudgetNotificationsForAccount + if *v == nil { + sv = &types.BudgetNotificationsForAccount{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "BudgetName": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected BudgetName to be of type string, got %T instead", value) + } + sv.BudgetName = ptr.String(jtv) + } + + case "Notifications": + if err := awsAwsjson11_deserializeDocumentNotifications(&sv.Notifications, value); err != nil { + return err + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + +func awsAwsjson11_deserializeDocumentBudgetNotificationsForAccountList(v *[]types.BudgetNotificationsForAccount, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.([]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var cv []types.BudgetNotificationsForAccount + if *v == nil { + cv = []types.BudgetNotificationsForAccount{} + } else { + cv = *v + } + + for _, value := range shape { + var col types.BudgetNotificationsForAccount + destAddr := &col + if err := awsAwsjson11_deserializeDocumentBudgetNotificationsForAccount(&destAddr, value); err != nil { + return err + } + col = *destAddr + cv = append(cv, col) + + } + *v = cv + return nil +} + func awsAwsjson11_deserializeDocumentBudgetPerformanceHistory(v **types.BudgetPerformanceHistory, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) @@ -4181,6 +4452,63 @@ func awsAwsjson11_deserializeDocumentGroups(v *[]string, value interface{}) erro return nil } +func awsAwsjson11_deserializeDocumentHistoricalOptions(v **types.HistoricalOptions, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.(map[string]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var sv *types.HistoricalOptions + if *v == nil { + sv = &types.HistoricalOptions{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "BudgetAdjustmentPeriod": + if value != nil { + jtv, ok := value.(json.Number) + if !ok { + return fmt.Errorf("expected AdjustmentPeriod to be json.Number, got %T instead", value) + } + i64, err := jtv.Int64() + if err != nil { + return err + } + sv.BudgetAdjustmentPeriod = ptr.Int32(int32(i64)) + } + + case "LookBackAvailablePeriods": + if value != nil { + jtv, ok := value.(json.Number) + if !ok { + return fmt.Errorf("expected AdjustmentPeriod to be json.Number, got %T instead", value) + } + i64, err := jtv.Int64() + if err != nil { + return err + } + sv.LookBackAvailablePeriods = ptr.Int32(int32(i64)) + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + func awsAwsjson11_deserializeDocumentIamActionDefinition(v **types.IamActionDefinition, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) @@ -5531,6 +5859,51 @@ func awsAwsjson11_deserializeOpDocumentDescribeBudgetActionsForBudgetOutput(v ** return nil } +func awsAwsjson11_deserializeOpDocumentDescribeBudgetNotificationsForAccountOutput(v **DescribeBudgetNotificationsForAccountOutput, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.(map[string]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var sv *DescribeBudgetNotificationsForAccountOutput + if *v == nil { + sv = &DescribeBudgetNotificationsForAccountOutput{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "BudgetNotificationsForAccount": + if err := awsAwsjson11_deserializeDocumentBudgetNotificationsForAccountList(&sv.BudgetNotificationsForAccount, value); err != nil { + return err + } + + case "NextToken": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected GenericString to be of type string, got %T instead", value) + } + sv.NextToken = ptr.String(jtv) + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + func awsAwsjson11_deserializeOpDocumentDescribeBudgetOutput(v **DescribeBudgetOutput, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) diff --git a/service/budgets/doc.go b/service/budgets/doc.go index 5ba53fdb5af..ed473264cdd 100644 --- a/service/budgets/doc.go +++ b/service/budgets/doc.go @@ -3,50 +3,51 @@ // Package budgets provides the API client, operations, and parameter types for AWS // Budgets. // -// The AWS Budgets API enables you to use AWS Budgets to plan your service usage, -// service costs, and instance reservations. The API reference provides -// descriptions, syntax, and usage examples for each of the actions and data types -// for AWS Budgets. Budgets provide you with a way to see the following -// information: +// The Amazon Web Services Budgets API enables you to use Amazon Web Services +// Budgets to plan your service usage, service costs, and instance reservations. +// The API reference provides descriptions, syntax, and usage examples for each of +// the actions and data types for Amazon Web Services Budgets. Budgets provide you +// with a way to see the following information: // -// * How close your plan is to your budgeted amount or to the free -// tier limits +// * How close your plan is to your +// budgeted amount or to the free tier limits // -// * Your usage-to-date, including how much you've used of your -// Reserved Instances (RIs) +// * Your usage-to-date, including how +// much you've used of your Reserved Instances (RIs) // -// * Your current estimated charges from AWS, and how -// much your predicted usage will accrue in charges by the end of the month +// * Your current estimated +// charges from Amazon Web Services, and how much your predicted usage will accrue +// in charges by the end of the month // -// * How -// much of your budget has been used +// * How much of your budget has been +// used // -// AWS updates your budget status several times -// a day. Budgets track your unblended costs, subscriptions, refunds, and RIs. You -// can create the following types of budgets: +// Amazon Web Services updates your budget status several times a day. +// Budgets track your unblended costs, subscriptions, refunds, and RIs. You can +// create the following types of budgets: // -// * Cost budgets - Plan how much you -// want to spend on a service. +// * Cost budgets - Plan how much you want +// to spend on a service. // -// * Usage budgets - Plan how much you want to use one -// or more services. +// * Usage budgets - Plan how much you want to use one or +// more services. // -// * RI utilization budgets - Define a utilization threshold, -// and receive alerts when your RI usage falls below that threshold. This lets you -// see if your RIs are unused or under-utilized. +// * RI utilization budgets - Define a utilization threshold, and +// receive alerts when your RI usage falls below that threshold. This lets you see +// if your RIs are unused or under-utilized. // // * RI coverage budgets - Define a // coverage threshold, and receive alerts when the number of your instance hours // that are covered by RIs fall below that threshold. This lets you see how much of // your instance usage is covered by a reservation. // -// Service Endpoint The AWS -// Budgets API provides the following endpoint: +// Service Endpoint The Amazon +// Web Services Budgets API provides the following endpoint: // // * // https://budgets.amazonaws.com // // For information about costs that are associated -// with the AWS Budgets API, see AWS Cost Management Pricing -// (https://aws.amazon.com/aws-cost-management/pricing/). +// with the Amazon Web Services Budgets API, see Amazon Web Services Cost +// Management Pricing (https://aws.amazon.com/aws-cost-management/pricing/). package budgets diff --git a/service/budgets/generated.json b/service/budgets/generated.json index aea730ccc43..ce6c3c498e4 100644 --- a/service/budgets/generated.json +++ b/service/budgets/generated.json @@ -21,6 +21,7 @@ "api_op_DescribeBudgetActionHistories.go", "api_op_DescribeBudgetActionsForAccount.go", "api_op_DescribeBudgetActionsForBudget.go", + "api_op_DescribeBudgetNotificationsForAccount.go", "api_op_DescribeBudgetPerformanceHistory.go", "api_op_DescribeBudgets.go", "api_op_DescribeNotificationsForBudget.go", diff --git a/service/budgets/serializers.go b/service/budgets/serializers.go index 0c601c943f0..302bf7707ad 100644 --- a/service/budgets/serializers.go +++ b/service/budgets/serializers.go @@ -732,6 +732,61 @@ func (m *awsAwsjson11_serializeOpDescribeBudgetActionsForBudget) HandleSerialize return next.HandleSerialize(ctx, in) } +type awsAwsjson11_serializeOpDescribeBudgetNotificationsForAccount struct { +} + +func (*awsAwsjson11_serializeOpDescribeBudgetNotificationsForAccount) ID() string { + return "OperationSerializer" +} + +func (m *awsAwsjson11_serializeOpDescribeBudgetNotificationsForAccount) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( + out middleware.SerializeOutput, metadata middleware.Metadata, err error, +) { + request, ok := in.Request.(*smithyhttp.Request) + if !ok { + return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} + } + + input, ok := in.Parameters.(*DescribeBudgetNotificationsForAccountInput) + _ = input + if !ok { + return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} + } + + operationPath := "/" + if len(request.Request.URL.Path) == 0 { + request.Request.URL.Path = operationPath + } else { + request.Request.URL.Path = path.Join(request.Request.URL.Path, operationPath) + if request.Request.URL.Path != "/" && operationPath[len(operationPath)-1] == '/' { + request.Request.URL.Path += "/" + } + } + request.Request.Method = "POST" + httpBindingEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header) + if err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + httpBindingEncoder.SetHeader("Content-Type").String("application/x-amz-json-1.1") + httpBindingEncoder.SetHeader("X-Amz-Target").String("AWSBudgetServiceGateway.DescribeBudgetNotificationsForAccount") + + jsonEncoder := smithyjson.NewEncoder() + if err := awsAwsjson11_serializeOpDocumentDescribeBudgetNotificationsForAccountInput(input, jsonEncoder.Value); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + if request, err = request.SetStream(bytes.NewReader(jsonEncoder.Bytes())); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + if request.Request, err = httpBindingEncoder.Encode(request.Request); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + in.Request = request + + return next.HandleSerialize(ctx, in) +} + type awsAwsjson11_serializeOpDescribeBudgetPerformanceHistory struct { } @@ -1256,10 +1311,41 @@ func awsAwsjson11_serializeDocumentActionThreshold(v *types.ActionThreshold, val return nil } +func awsAwsjson11_serializeDocumentAutoAdjustData(v *types.AutoAdjustData, value smithyjson.Value) error { + object := value.Object() + defer object.Close() + + if len(v.AutoAdjustType) > 0 { + ok := object.Key("AutoAdjustType") + ok.String(string(v.AutoAdjustType)) + } + + if v.HistoricalOptions != nil { + ok := object.Key("HistoricalOptions") + if err := awsAwsjson11_serializeDocumentHistoricalOptions(v.HistoricalOptions, ok); err != nil { + return err + } + } + + if v.LastAutoAdjustTime != nil { + ok := object.Key("LastAutoAdjustTime") + ok.Double(smithytime.FormatEpochSeconds(*v.LastAutoAdjustTime)) + } + + return nil +} + func awsAwsjson11_serializeDocumentBudget(v *types.Budget, value smithyjson.Value) error { object := value.Object() defer object.Close() + if v.AutoAdjustData != nil { + ok := object.Key("AutoAdjustData") + if err := awsAwsjson11_serializeDocumentAutoAdjustData(v.AutoAdjustData, ok); err != nil { + return err + } + } + if v.BudgetLimit != nil { ok := object.Key("BudgetLimit") if err := awsAwsjson11_serializeDocumentSpend(v.BudgetLimit, ok); err != nil { @@ -1474,6 +1560,23 @@ func awsAwsjson11_serializeDocumentGroups(v []string, value smithyjson.Value) er return nil } +func awsAwsjson11_serializeDocumentHistoricalOptions(v *types.HistoricalOptions, value smithyjson.Value) error { + object := value.Object() + defer object.Close() + + if v.BudgetAdjustmentPeriod != nil { + ok := object.Key("BudgetAdjustmentPeriod") + ok.Integer(*v.BudgetAdjustmentPeriod) + } + + if v.LookBackAvailablePeriods != nil { + ok := object.Key("LookBackAvailablePeriods") + ok.Integer(*v.LookBackAvailablePeriods) + } + + return nil +} + func awsAwsjson11_serializeDocumentIamActionDefinition(v *types.IamActionDefinition, value smithyjson.Value) error { object := value.Object() defer object.Close() @@ -2118,6 +2221,28 @@ func awsAwsjson11_serializeOpDocumentDescribeBudgetInput(v *DescribeBudgetInput, return nil } +func awsAwsjson11_serializeOpDocumentDescribeBudgetNotificationsForAccountInput(v *DescribeBudgetNotificationsForAccountInput, value smithyjson.Value) error { + object := value.Object() + defer object.Close() + + if v.AccountId != nil { + ok := object.Key("AccountId") + ok.String(*v.AccountId) + } + + if v.MaxResults != nil { + ok := object.Key("MaxResults") + ok.Integer(*v.MaxResults) + } + + if v.NextToken != nil { + ok := object.Key("NextToken") + ok.String(*v.NextToken) + } + + return nil +} + func awsAwsjson11_serializeOpDocumentDescribeBudgetPerformanceHistoryInput(v *DescribeBudgetPerformanceHistoryInput, value smithyjson.Value) error { object := value.Object() defer object.Close() diff --git a/service/budgets/types/enums.go b/service/budgets/types/enums.go index d4207c56b9d..c7ee9d78edd 100644 --- a/service/budgets/types/enums.go +++ b/service/budgets/types/enums.go @@ -92,6 +92,24 @@ func (ApprovalModel) Values() []ApprovalModel { } } +type AutoAdjustType string + +// Enum values for AutoAdjustType +const ( + AutoAdjustTypeHistorical AutoAdjustType = "HISTORICAL" + AutoAdjustTypeForecast AutoAdjustType = "FORECAST" +) + +// Values returns all known values for AutoAdjustType. Note that this can be +// expanded in the future, and so it is only as up to date as the client. The +// ordering of this slice is not guaranteed to be stable across updates. +func (AutoAdjustType) Values() []AutoAdjustType { + return []AutoAdjustType{ + "HISTORICAL", + "FORECAST", + } +} + type BudgetType string // Enum values for BudgetType diff --git a/service/budgets/types/types.go b/service/budgets/types/types.go index 43769a7365b..5e592787a20 100644 --- a/service/budgets/types/types.go +++ b/service/budgets/types/types.go @@ -53,7 +53,7 @@ type Action struct { // This member is required. NotificationType NotificationType - // The status of action. + // The status of the action. // // This member is required. Status ActionStatus @@ -69,12 +69,12 @@ type Action struct { // The historical records for a budget action. type ActionHistory struct { - // The description of details of the event. + // The description of the details for the event. // // This member is required. ActionHistoryDetails *ActionHistoryDetails - // This distinguishes between whether the events are triggered by the user or + // This distinguishes between whether the events are triggered by the user or are // generated by the system. // // This member is required. @@ -85,7 +85,7 @@ type ActionHistory struct { // This member is required. Status ActionStatus - // A generic time stamp. In Java, it is transformed to a Date object. + // A generic time stamp. In Java, it's transformed to a Date object. // // This member is required. Timestamp *time.Time @@ -93,7 +93,7 @@ type ActionHistory struct { noSmithyDocumentSerde } -// The description of details of the event. +// The description of the details for the event. type ActionHistoryDetails struct { // The budget action resource. @@ -125,9 +125,28 @@ type ActionThreshold struct { noSmithyDocumentSerde } +// The parameters that determine the budget amount for an auto-adjusting budget. +type AutoAdjustData struct { + + // The string that defines whether your budget auto-adjusts based on historical or + // forecasted data. + // + // This member is required. + AutoAdjustType AutoAdjustType + + // The parameters that define or describe the historical data that your + // auto-adjusting budget is based on. + HistoricalOptions *HistoricalOptions + + // The last time that your budget was auto-adjusted. + LastAutoAdjustTime *time.Time + + noSmithyDocumentSerde +} + // Represents the output of the CreateBudget operation. The content consists of the // detailed metadata and data file information, and the current status of the -// budget object. This is the ARN pattern for a budget: +// budget object. This is the Amazon Resource Name (ARN) pattern for a budget: // arn:aws:budgets::AccountId:budget/budgetName type Budget struct { @@ -137,8 +156,8 @@ type Budget struct { // This member is required. BudgetName *string - // Whether this budget tracks costs, usage, RI utilization, RI coverage, Savings - // Plans utilization, or Savings Plans coverage. + // Specifies whether this budget tracks costs, usage, RI utilization, RI coverage, + // Savings Plans utilization, or Savings Plans coverage. // // This member is required. BudgetType BudgetType @@ -148,11 +167,14 @@ type Budget struct { // This member is required. TimeUnit TimeUnit + // The parameters that determine the budget amount for an auto-adjusting budget. + AutoAdjustData *AutoAdjustData + // The total amount of cost, usage, RI utilization, RI coverage, Savings Plans // utilization, or Savings Plans coverage that you want to track with your budget. // BudgetLimit is required for cost or usage budgets, but optional for RI or // Savings Plans utilization or coverage budgets. RI and Savings Plans utilization - // or coverage budgets default to 100, which is the only valid value for RI or + // or coverage budgets default to 100. This is the only valid value for RI or // Savings Plans utilization or coverage budgets. You can't use BudgetLimit with // PlannedBudgetLimits for CreateBudget and UpdateBudget actions. BudgetLimit *Spend @@ -160,20 +182,21 @@ type Budget struct { // The actual and forecasted cost or usage that the budget tracks. CalculatedSpend *CalculatedSpend - // The cost filters, such as service or tag, that are applied to a budget. AWS - // Budgets supports the following services as a filter for RI budgets: + // The cost filters, such as Region, Service, member account, Tag, or Cost + // Category, that are applied to a budget. Amazon Web Services Budgets supports the + // following services as a Service filter for RI budgets: // - // * Amazon - // Elastic Compute Cloud - Compute + // * Amazon EC2 // - // * Amazon Redshift + // * Amazon + // Redshift // - // * Amazon Relational Database - // Service + // * Amazon Relational Database Service // // * Amazon ElastiCache // - // * Amazon Elasticsearch Service + // * Amazon + // OpenSearch Service CostFilters map[string][]string // The types of costs that are included in this COST budget. USAGE, RI_UTILIZATION, @@ -185,39 +208,40 @@ type Budget struct { LastUpdatedTime *time.Time // A map containing multiple BudgetLimit, including current or future limits. - // PlannedBudgetLimits is available for cost or usage budget and supports monthly - // and quarterly TimeUnit. For monthly budgets, provide 12 months of + // PlannedBudgetLimits is available for cost or usage budget and supports both + // monthly and quarterly TimeUnit. For monthly budgets, provide 12 months of // PlannedBudgetLimits values. This must start from the current month and include // the next 11 months. The key is the start of the month, UTC in epoch seconds. For - // quarterly budgets, provide 4 quarters of PlannedBudgetLimits value entries in + // quarterly budgets, provide four quarters of PlannedBudgetLimits value entries in // standard calendar quarter increments. This must start from the current quarter - // and include the next 3 quarters. The key is the start of the quarter, UTC in - // epoch seconds. If the planned budget expires before 12 months for monthly or 4 - // quarters for quarterly, provide the PlannedBudgetLimits values only for the + // and include the next three quarters. The key is the start of the quarter, UTC in + // epoch seconds. If the planned budget expires before 12 months for monthly or + // four quarters for quarterly, provide the PlannedBudgetLimits values only for the // remaining periods. If the budget begins at a date in the future, provide // PlannedBudgetLimits values from the start date of the budget. After all of the // BudgetLimit values in PlannedBudgetLimits are used, the budget continues to use // the last limit as the BudgetLimit. At that point, the planned budget provides // the same experience as a fixed budget. DescribeBudget and DescribeBudgets - // response along with PlannedBudgetLimits will also contain BudgetLimit - // representing the current month or quarter limit present in PlannedBudgetLimits. - // This only applies to budgets created with PlannedBudgetLimits. Budgets created - // without PlannedBudgetLimits will only contain BudgetLimit, and no + // response along with PlannedBudgetLimits also contain BudgetLimit representing + // the current month or quarter limit present in PlannedBudgetLimits. This only + // applies to budgets that are created with PlannedBudgetLimits. Budgets that are + // created without PlannedBudgetLimits only contain BudgetLimit. They don't contain // PlannedBudgetLimits. PlannedBudgetLimits map[string]Spend - // The period of time that is covered by a budget. The period has a start date and - // an end date. The start date must come before the end date. The end date must - // come before 06/15/87 00:00 UTC. If you create your budget and don't specify a - // start date, AWS defaults to the start of your chosen time period (DAILY, - // MONTHLY, QUARTERLY, or ANNUALLY). For example, if you created your budget on - // January 24, 2018, chose DAILY, and didn't set a start date, AWS set your start - // date to 01/24/18 00:00 UTC. If you chose MONTHLY, AWS set your start date to - // 01/01/18 00:00 UTC. If you didn't specify an end date, AWS set your end date to - // 06/15/87 00:00 UTC. The defaults are the same for the AWS Billing and Cost - // Management console and the API. You can change either date with the UpdateBudget - // operation. After the end date, AWS deletes the budget and all associated - // notifications and subscribers. + // The period of time that's covered by a budget. You setthe start date and end + // date. The start date must come before the end date. The end date must come + // before 06/15/87 00:00 UTC. If you create your budget and don't specify a start + // date, Amazon Web Services defaults to the start of your chosen time period + // (DAILY, MONTHLY, QUARTERLY, or ANNUALLY). For example, if you created your + // budget on January 24, 2018, chose DAILY, and didn't set a start date, Amazon Web + // Services set your start date to 01/24/18 00:00 UTC. If you chose MONTHLY, Amazon + // Web Services set your start date to 01/01/18 00:00 UTC. If you didn't specify an + // end date, Amazon Web Services set your end date to 06/15/87 00:00 UTC. The + // defaults are the same for the Billing and Cost Management console and the API. + // You can change either date with the UpdateBudget operation. After the end date, + // Amazon Web Services deletes the budget and all the associated notifications and + // subscribers. TimePeriod *TimePeriod noSmithyDocumentSerde @@ -233,12 +257,25 @@ type BudgetedAndActualAmounts struct { // The amount of cost or usage that you created the budget for. BudgetedAmount *Spend - // The time period covered by this budget comparison. + // The time period that's covered by this budget comparison. TimePeriod *TimePeriod noSmithyDocumentSerde } +// The budget name and associated notifications for an account. +type BudgetNotificationsForAccount struct { + + // A string that represents the budget name. The ":" and "\" characters aren't + // allowed. + BudgetName *string + + // A list of notifications. + Notifications []Notification + + noSmithyDocumentSerde +} + // A history of the state of a budget at the end of the budget's specified time // period. type BudgetPerformanceHistory struct { @@ -252,8 +289,8 @@ type BudgetPerformanceHistory struct { // SAVINGS_PLANS_COVERAGE. BudgetType BudgetType - // A list of amounts of cost or usage that you created budgets for, compared to - // your actual costs or usage. + // A list of amounts of cost or usage that you created budgets for, which are + // compared to your actual costs or usage. BudgetedAndActualAmountsList []BudgetedAndActualAmounts // The history of the cost filters for a budget during the specified time period. @@ -270,18 +307,18 @@ type BudgetPerformanceHistory struct { // The spend objects that are associated with this budget. The actualSpend tracks // how much you've used, cost, usage, RI units, or Savings Plans units and the -// forecastedSpend tracks how much you are predicted to spend based on your -// historical usage profile. For example, if it is the 20th of the month and you +// forecastedSpend tracks how much that you're predicted to spend based on your +// historical usage profile. For example, if it's the 20th of the month and you // have spent 50 dollars on Amazon EC2, your actualSpend is 50 USD, and your // forecastedSpend is 75 USD. type CalculatedSpend struct { - // The amount of cost, usage, RI units, or Savings Plans units that you have used. + // The amount of cost, usage, RI units, or Savings Plans units that you used. // // This member is required. ActualSpend *Spend - // The amount of cost, usage, RI units, or Savings Plans units that you are + // The amount of cost, usage, RI units, or Savings Plans units that you're // forecasted to use. ForecastedSpend *Spend @@ -290,7 +327,7 @@ type CalculatedSpend struct { // The types of cost that are included in a COST budget, such as tax and // subscriptions. USAGE, RI_UTILIZATION, RI_COVERAGE, SAVINGS_PLANS_UTILIZATION, -// and SAVINGS_PLANS_COVERAGE budgets do not have CostTypes. +// and SAVINGS_PLANS_COVERAGE budgets don't have CostTypes. type CostTypes struct { // Specifies whether a budget includes credits. The default value is true. @@ -335,19 +372,56 @@ type CostTypes struct { // Specifies all of the type-specific parameters. type Definition struct { - // The AWS Identity and Access Management (IAM) action definition details. + // The Identity and Access Management (IAM) action definition details. IamActionDefinition *IamActionDefinition // The service control policies (SCPs) action definition details. ScpActionDefinition *ScpActionDefinition - // The AWS Systems Manager (SSM) action definition details. + // The Amazon Web Services Systems Manager (SSM) action definition details. SsmActionDefinition *SsmActionDefinition noSmithyDocumentSerde } -// The AWS Identity and Access Management (IAM) action definition details. +// The parameters that define or describe the historical data that your +// auto-adjusting budget is based on. +type HistoricalOptions struct { + + // The number of budget periods included in the moving-average calculation that + // determines your auto-adjusted budget amount. The maximum value depends on the + // TimeUnit granularity of the budget: + // + // * For the DAILY granularity, the maximum + // value is 60. + // + // * For the MONTHLY granularity, the maximum value is 12. + // + // * For the + // QUARTERLY granularity, the maximum value is 4. + // + // * For the ANNUALLY granularity, + // the maximum value is 1. + // + // This member is required. + BudgetAdjustmentPeriod *int32 + + // The integer that describes how many budget periods in your + // BudgetAdjustmentPeriod are included in the calculation of your current + // BudgetLimit. If the first budget period in your BudgetAdjustmentPeriod has no + // cost data, then that budget period isn’t included in the average that determines + // your budget limit. For example, if you set BudgetAdjustmentPeriod as 4 quarters, + // but your account had no cost data in the first quarter, then only the last three + // quarters are included in the calculation. In this scenario, + // LookBackAvailablePeriods returns 3. You can’t set your own + // LookBackAvailablePeriods. The value is automatically calculated from the + // BudgetAdjustmentPeriod and your historical cost data. + LookBackAvailablePeriods *int32 + + noSmithyDocumentSerde +} + +// The Identity and Access Management (IAM) action definition details. type IamActionDefinition struct { // The Amazon Resource Name (ARN) of the policy to be attached. @@ -367,7 +441,7 @@ type IamActionDefinition struct { noSmithyDocumentSerde } -// A notification that is associated with a budget. A budget can have up to ten +// A notification that's associated with a budget. A budget can have up to ten // notifications. Each notification must have at least one subscriber. A // notification can have one SNS subscriber and up to 10 email subscribers, for a // total of 11 subscribers. For example, if you have a budget for 200 dollars and @@ -385,18 +459,18 @@ type IamActionDefinition struct { // of 80 type Notification struct { - // The comparison that is used for this notification. + // The comparison that's used for this notification. // // This member is required. ComparisonOperator ComparisonOperator - // Whether the notification is for how much you have spent (ACTUAL) or for how much - // you're forecasted to spend (FORECASTED). + // Specifies whether the notification is for how much you have spent (ACTUAL) or + // for how much that you're forecasted to spend (FORECASTED). // // This member is required. NotificationType NotificationType - // The threshold that is associated with a notification. Thresholds are always a + // The threshold that's associated with a notification. Thresholds are always a // percentage, and many customers find value being alerted between 50% - 200% of // the budgeted amount. The maximum limit for your threshold is 1,000,000% above // the budgeted amount. @@ -404,16 +478,17 @@ type Notification struct { // This member is required. Threshold float64 - // Whether this notification is in alarm. If a budget notification is in the ALARM - // state, you have passed the set threshold for the budget. + // Specifies whether this notification is in alarm. If a budget notification is in + // the ALARM state, you passed the set threshold for the budget. NotificationState NotificationState - // The type of threshold for a notification. For ABSOLUTE_VALUE thresholds, AWS - // notifies you when you go over or are forecasted to go over your total cost - // threshold. For PERCENTAGE thresholds, AWS notifies you when you go over or are - // forecasted to go over a certain percentage of your forecasted spend. For - // example, if you have a budget for 200 dollars and you have a PERCENTAGE - // threshold of 80%, AWS notifies you when you go over 160 dollars. + // The type of threshold for a notification. For ABSOLUTE_VALUE thresholds, Amazon + // Web Services notifies you when you go over or are forecasted to go over your + // total cost threshold. For PERCENTAGE thresholds, Amazon Web Services notifies + // you when you go over or are forecasted to go over a certain percentage of your + // forecasted spend. For example, if you have a budget for 200 dollars and you have + // a PERCENTAGE threshold of 80%, Amazon Web Services notifies you when you go over + // 160 dollars. ThresholdType ThresholdType noSmithyDocumentSerde @@ -423,7 +498,7 @@ type Notification struct { // up to 10 email subscribers, for a total of 11 subscribers. type NotificationWithSubscribers struct { - // The notification that is associated with a budget. + // The notification that's associated with a budget. // // This member is required. Notification *Notification @@ -452,23 +527,23 @@ type ScpActionDefinition struct { noSmithyDocumentSerde } -// The amount of cost or usage that is measured for a budget. For example, a Spend -// for 3 GB of S3 usage would have the following parameters: +// The amount of cost or usage that's measured for a budget. For example, a Spend +// for 3 GB of S3 usage has the following parameters: // // * An Amount of 3 // -// * A -// unit of GB +// * A unit +// of GB type Spend struct { - // The cost or usage amount that is associated with a budget forecast, actual - // spend, or budget threshold. + // The cost or usage amount that's associated with a budget forecast, actual spend, + // or budget threshold. // // This member is required. Amount *string - // The unit of measurement that is used for the budget forecast, actual spend, or - // budget threshold, such as dollars or GB. + // The unit of measurement that's used for the budget forecast, actual spend, or + // budget threshold, such as USD or GBP. // // This member is required. Unit *string @@ -476,7 +551,7 @@ type Spend struct { noSmithyDocumentSerde } -// The AWS Systems Manager (SSM) action definition details. +// The Amazon Web Services Systems Manager (SSM) action definition details. type SsmActionDefinition struct { // The action subType. @@ -499,22 +574,22 @@ type SsmActionDefinition struct { // The subscriber to a budget notification. The subscriber consists of a // subscription type and either an Amazon SNS topic or an email address. For -// example, an email subscriber would have the following parameters: +// example, an email subscriber has the following parameters: // -// * A -// subscriptionType of EMAIL +// * A subscriptionType +// of EMAIL // // * An address of example@example.com type Subscriber struct { - // The address that AWS sends budget notifications to, either an SNS topic or an - // email. When you create a subscriber, the value of Address can't contain line - // breaks. + // The address that Amazon Web Services sends budget notifications to, either an + // SNS topic or an email. When you create a subscriber, the value of Address can't + // contain line breaks. // // This member is required. Address *string - // The type of notification that AWS sends to a subscriber. + // The type of notification that Amazon Web Services sends to a subscriber. // // This member is required. SubscriptionType SubscriptionType @@ -522,26 +597,26 @@ type Subscriber struct { noSmithyDocumentSerde } -// The period of time that is covered by a budget. The period has a start date and +// The period of time that's covered by a budget. The period has a start date and // an end date. The start date must come before the end date. There are no // restrictions on the end date. type TimePeriod struct { - // The end date for a budget. If you didn't specify an end date, AWS set your end - // date to 06/15/87 00:00 UTC. The defaults are the same for the AWS Billing and - // Cost Management console and the API. After the end date, AWS deletes the budget - // and all associated notifications and subscribers. You can change your end date - // with the UpdateBudget operation. + // The end date for a budget. If you didn't specify an end date, Amazon Web + // Services set your end date to 06/15/87 00:00 UTC. The defaults are the same for + // the Billing and Cost Management console and the API. After the end date, Amazon + // Web Services deletes the budget and all the associated notifications and + // subscribers. You can change your end date with the UpdateBudget operation. End *time.Time // The start date for a budget. If you created your budget and didn't specify a - // start date, AWS defaults to the start of your chosen time period (DAILY, - // MONTHLY, QUARTERLY, or ANNUALLY). For example, if you created your budget on - // January 24, 2018, chose DAILY, and didn't set a start date, AWS set your start - // date to 01/24/18 00:00 UTC. If you chose MONTHLY, AWS set your start date to - // 01/01/18 00:00 UTC. The defaults are the same for the AWS Billing and Cost - // Management console and the API. You can change your start date with the - // UpdateBudget operation. + // start date, Amazon Web Services defaults to the start of your chosen time period + // (DAILY, MONTHLY, QUARTERLY, or ANNUALLY). For example, if you created your + // budget on January 24, 2018, chose DAILY, and didn't set a start date, Amazon Web + // Services set your start date to 01/24/18 00:00 UTC. If you chose MONTHLY, Amazon + // Web Services set your start date to 01/01/18 00:00 UTC. The defaults are the + // same for the Billing and Cost Management console and the API. You can change + // your start date with the UpdateBudget operation. Start *time.Time noSmithyDocumentSerde diff --git a/service/budgets/validators.go b/service/budgets/validators.go index 4ebd5ca6977..9c982f4c8dd 100644 --- a/service/budgets/validators.go +++ b/service/budgets/validators.go @@ -270,6 +270,26 @@ func (m *validateOpDescribeBudget) HandleInitialize(ctx context.Context, in midd return next.HandleInitialize(ctx, in) } +type validateOpDescribeBudgetNotificationsForAccount struct { +} + +func (*validateOpDescribeBudgetNotificationsForAccount) ID() string { + return "OperationInputValidation" +} + +func (m *validateOpDescribeBudgetNotificationsForAccount) HandleInitialize(ctx context.Context, in middleware.InitializeInput, next middleware.InitializeHandler) ( + out middleware.InitializeOutput, metadata middleware.Metadata, err error, +) { + input, ok := in.Parameters.(*DescribeBudgetNotificationsForAccountInput) + if !ok { + return out, metadata, fmt.Errorf("unknown input parameters type %T", in.Parameters) + } + if err := validateOpDescribeBudgetNotificationsForAccountInput(input); err != nil { + return out, metadata, err + } + return next.HandleInitialize(ctx, in) +} + type validateOpDescribeBudgetPerformanceHistory struct { } @@ -502,6 +522,10 @@ func addOpDescribeBudgetValidationMiddleware(stack *middleware.Stack) error { return stack.Initialize.Add(&validateOpDescribeBudget{}, middleware.After) } +func addOpDescribeBudgetNotificationsForAccountValidationMiddleware(stack *middleware.Stack) error { + return stack.Initialize.Add(&validateOpDescribeBudgetNotificationsForAccount{}, middleware.After) +} + func addOpDescribeBudgetPerformanceHistoryValidationMiddleware(stack *middleware.Stack) error { return stack.Initialize.Add(&validateOpDescribeBudgetPerformanceHistory{}, middleware.After) } @@ -553,6 +577,26 @@ func validateActionThreshold(v *types.ActionThreshold) error { } } +func validateAutoAdjustData(v *types.AutoAdjustData) error { + if v == nil { + return nil + } + invalidParams := smithy.InvalidParamsError{Context: "AutoAdjustData"} + if len(v.AutoAdjustType) == 0 { + invalidParams.Add(smithy.NewErrParamRequired("AutoAdjustType")) + } + if v.HistoricalOptions != nil { + if err := validateHistoricalOptions(v.HistoricalOptions); err != nil { + invalidParams.AddNested("HistoricalOptions", err.(smithy.InvalidParamsError)) + } + } + if invalidParams.Len() > 0 { + return invalidParams + } else { + return nil + } +} + func validateBudget(v *types.Budget) error { if v == nil { return nil @@ -582,6 +626,11 @@ func validateBudget(v *types.Budget) error { if len(v.BudgetType) == 0 { invalidParams.Add(smithy.NewErrParamRequired("BudgetType")) } + if v.AutoAdjustData != nil { + if err := validateAutoAdjustData(v.AutoAdjustData); err != nil { + invalidParams.AddNested("AutoAdjustData", err.(smithy.InvalidParamsError)) + } + } if invalidParams.Len() > 0 { return invalidParams } else { @@ -640,6 +689,21 @@ func validateDefinition(v *types.Definition) error { } } +func validateHistoricalOptions(v *types.HistoricalOptions) error { + if v == nil { + return nil + } + invalidParams := smithy.InvalidParamsError{Context: "HistoricalOptions"} + if v.BudgetAdjustmentPeriod == nil { + invalidParams.Add(smithy.NewErrParamRequired("BudgetAdjustmentPeriod")) + } + if invalidParams.Len() > 0 { + return invalidParams + } else { + return nil + } +} + func validateIamActionDefinition(v *types.IamActionDefinition) error { if v == nil { return nil @@ -1157,6 +1221,21 @@ func validateOpDescribeBudgetInput(v *DescribeBudgetInput) error { } } +func validateOpDescribeBudgetNotificationsForAccountInput(v *DescribeBudgetNotificationsForAccountInput) error { + if v == nil { + return nil + } + invalidParams := smithy.InvalidParamsError{Context: "DescribeBudgetNotificationsForAccountInput"} + if v.AccountId == nil { + invalidParams.Add(smithy.NewErrParamRequired("AccountId")) + } + if invalidParams.Len() > 0 { + return invalidParams + } else { + return nil + } +} + func validateOpDescribeBudgetPerformanceHistoryInput(v *DescribeBudgetPerformanceHistoryInput) error { if v == nil { return nil diff --git a/service/cloudformation/api_op_CancelUpdateStack.go b/service/cloudformation/api_op_CancelUpdateStack.go index 67631fcc8de..0e1c0e65ed2 100644 --- a/service/cloudformation/api_op_CancelUpdateStack.go +++ b/service/cloudformation/api_op_CancelUpdateStack.go @@ -31,7 +31,7 @@ func (c *Client) CancelUpdateStack(ctx context.Context, params *CancelUpdateStac // The input for the CancelUpdateStack action. type CancelUpdateStackInput struct { - // The name or the unique stack ID that is associated with the stack. + // The name or the unique stack ID that's associated with the stack. // // This member is required. StackName *string diff --git a/service/cloudformation/api_op_ContinueUpdateRollback.go b/service/cloudformation/api_op_ContinueUpdateRollback.go index 801cc336596..21facdf4125 100644 --- a/service/cloudformation/api_op_ContinueUpdateRollback.go +++ b/service/cloudformation/api_op_ContinueUpdateRollback.go @@ -10,15 +10,15 @@ import ( smithyhttp "github.com/aws/smithy-go/transport/http" ) -// For a specified stack that is in the UPDATE_ROLLBACK_FAILED state, continues +// For a specified stack that's in the UPDATE_ROLLBACK_FAILED state, continues // rolling it back to the UPDATE_ROLLBACK_COMPLETE state. Depending on the cause of // the failure, you can manually fix the error // (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/troubleshooting.html#troubleshooting-errors-update-rollback-failed) // and continue the rollback. By continuing the rollback, you can return your stack // to a working state (the UPDATE_ROLLBACK_COMPLETE state), and then try to update // the stack again. A stack goes into the UPDATE_ROLLBACK_FAILED state when -// CloudFormation cannot roll back all changes after a failed stack update. For -// example, you might have a stack that is rolling back to an old database instance +// CloudFormation can't roll back all changes after a failed stack update. For +// example, you might have a stack that's rolling back to an old database instance // that was deleted outside of CloudFormation. Because CloudFormation doesn't know // the database was deleted, it assumes that the database instance still exists and // attempts to roll back to it, causing the update rollback to fail. @@ -59,7 +59,7 @@ type ContinueUpdateRollbackInput struct { // continue update rollback operation. You can specify only resources that are in // the UPDATE_FAILED state because a rollback failed. You can't specify resources // that are in the UPDATE_FAILED state for other reasons, for example, because an - // update was cancelled. To check why a resource update failed, use the + // update was canceled. To check why a resource update failed, use the // DescribeStackResources action, and view the resource status reason. Specify this // property to skip rolling back resources that CloudFormation can't successfully // roll back. We recommend that you troubleshoot @@ -87,18 +87,18 @@ type ContinueUpdateRollbackInput struct { // The Amazon Resource Name (ARN) of an Identity and Access Management (IAM) role // that CloudFormation assumes to roll back the stack. CloudFormation uses the // role's credentials to make calls on your behalf. CloudFormation always uses this - // role for all future operations on the stack. As long as users have permission to - // operate on the stack, CloudFormation uses this role even if the users don't have - // permission to pass it. Ensure that the role grants least privilege. If you don't - // specify a value, CloudFormation uses the role that was previously associated - // with the stack. If no role is available, CloudFormation uses a temporary session - // that is generated from your user credentials. + // role for all future operations on the stack. Provided that users have permission + // to operate on the stack, CloudFormation uses this role even if the users don't + // have permission to pass it. Ensure that the role grants least permission. If you + // don't specify a value, CloudFormation uses the role that was previously + // associated with the stack. If no role is available, CloudFormation uses a + // temporary session that's generated from your user credentials. RoleARN *string noSmithyDocumentSerde } -// The output for a ContinueUpdateRollback action. +// The output for a ContinueUpdateRollback operation. type ContinueUpdateRollbackOutput struct { // Metadata pertaining to the operation's result. ResultMetadata middleware.Metadata diff --git a/service/cloudformation/api_op_CreateChangeSet.go b/service/cloudformation/api_op_CreateChangeSet.go index 7a0dd7f00e8..f51cafce7d2 100644 --- a/service/cloudformation/api_op_CreateChangeSet.go +++ b/service/cloudformation/api_op_CreateChangeSet.go @@ -29,7 +29,7 @@ import ( // When you are satisfied with the changes the change set will make, execute the // change set by using the ExecuteChangeSet action. CloudFormation doesn't make // changes until you execute the change set. To create a change set for the entire -// stack hierachy, set IncludeNestedStacks to True. +// stack hierarchy, set IncludeNestedStacks to True. func (c *Client) CreateChangeSet(ctx context.Context, params *CreateChangeSetInput, optFns ...func(*Options)) (*CreateChangeSetOutput, error) { if params == nil { params = &CreateChangeSetInput{} @@ -50,8 +50,8 @@ type CreateChangeSetInput struct { // The name of the change set. The name must be unique among all change sets that // are associated with the specified stack. A change set name can contain only - // alphanumeric, case sensitive characters and hyphens. It must start with an - // alphabetic character and cannot exceed 128 characters. + // alphanumeric, case sensitive characters, and hyphens. It must start with an + // alphabetical character and can't exceed 128 characters. // // This member is required. ChangeSetName *string @@ -117,7 +117,7 @@ type CreateChangeSetInput struct { // (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iam-addusertogroup.html) // // For - // more information, see Acknowledging IAM Resources in CloudFormation Templates + // more information, see Acknowledging IAM resources in CloudFormation templates // (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-iam-template.html#capabilities). // // * @@ -133,13 +133,13 @@ type CreateChangeSetInput struct { // (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/create-reusable-transform-function-snippets-and-add-to-your-template-with-aws-include-transform.html) // and AWS::Serverless // (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/transform-aws-serverless.html) - // transforms, which are macros hosted by CloudFormation. This capacity does not + // transforms, which are macros hosted by CloudFormation. This capacity doesn't // apply to creating change sets, and specifying it when creating change sets has // no effect. If you want to create a stack from a stack template that contains // macros and nested stacks, you must create or update the stack directly from the // template using the CreateStack or UpdateStack action, and specifying this - // capability. For more information on macros, see Using CloudFormation Macros to - // Perform Custom Processing on Templates + // capability. For more information on macros, see Using CloudFormation macros to + // perform custom processing on templates // (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-macros.html). Capabilities []types.Capability @@ -183,7 +183,7 @@ type CreateChangeSetInput struct { // resource type that you're updating, the stack update fails. By default, // CloudFormation grants permissions to all resource types. Identity and Access // Management (IAM) uses this parameter for condition keys in IAM policies for - // CloudFormation. For more information, see Controlling Access with Identity and + // CloudFormation. For more information, see Controlling access with Identity and // Access Management // (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-iam-template.html) // in the CloudFormation User Guide. @@ -195,12 +195,12 @@ type CreateChangeSetInput struct { // The Amazon Resource Name (ARN) of an Identity and Access Management (IAM) role // that CloudFormation assumes when executing the change set. CloudFormation uses // the role's credentials to make calls on your behalf. CloudFormation uses this - // role for all future operations on the stack. As long as users have permission to - // operate on the stack, CloudFormation uses this role even if the users don't have - // permission to pass it. Ensure that the role grants least privilege. If you don't - // specify a value, CloudFormation uses the role that was previously associated - // with the stack. If no role is available, CloudFormation uses a temporary session - // that is generated from your user credentials. + // role for all future operations on the stack. Provided that users have permission + // to operate on the stack, CloudFormation uses this role even if the users don't + // have permission to pass it. Ensure that the role grants least permission. If you + // don't specify a value, CloudFormation uses the role that was previously + // associated with the stack. If no role is available, CloudFormation uses a + // temporary session that is generated from your user credentials. RoleARN *string // The rollback triggers for CloudFormation to monitor during stack creation and @@ -218,13 +218,13 @@ type CreateChangeSetInput struct { TemplateBody *string // The location of the file that contains the revised template. The URL must point - // to a template (max size: 460,800 bytes) that is located in an S3 bucket or a - // Systems Manager document. CloudFormation generates the change set by comparing + // to a template (max size: 460,800 bytes) that's located in an Amazon S3 bucket or + // a Systems Manager document. CloudFormation generates the change set by comparing // this template with the stack that you specified. Conditional: You must specify // only TemplateBody or TemplateURL. TemplateURL *string - // Whether to reuse the template that is associated with the stack to create the + // Whether to reuse the template that's associated with the stack to create the // change set. UsePreviousTemplate *bool diff --git a/service/cloudformation/api_op_CreateStack.go b/service/cloudformation/api_op_CreateStack.go index c334f8b65ee..8fb1d8e0f6d 100644 --- a/service/cloudformation/api_op_CreateStack.go +++ b/service/cloudformation/api_op_CreateStack.go @@ -13,7 +13,7 @@ import ( // Creates a stack as specified in the template. After the call completes // successfully, the stack creation starts. You can check the status of the stack -// via the DescribeStacks API. +// through the DescribeStacksoperation. func (c *Client) CreateStack(ctx context.Context, params *CreateStackInput, optFns ...func(*Options)) (*CreateStackOutput, error) { if params == nil { params = &CreateStackInput{} @@ -32,10 +32,10 @@ func (c *Client) CreateStack(ctx context.Context, params *CreateStackInput, optF // The input for CreateStack action. type CreateStackInput struct { - // The name that is associated with the stack. The name must be unique in the - // Region in which you are creating the stack. A stack name can contain only - // alphanumeric characters (case sensitive) and hyphens. It must start with an - // alphabetical character and cannot be longer than 128 characters. + // The name that's associated with the stack. The name must be unique in the Region + // in which you are creating the stack. A stack name can contain only alphanumeric + // characters (case sensitive) and hyphens. It must start with an alphabetical + // character and can't be longer than 128 characters. // // This member is required. StackName *string @@ -116,15 +116,15 @@ type CreateStackInput struct { // know what processing the macro performs. Each macro relies on an underlying // Lambda service function for processing stack templates. Be aware that the Lambda // function owner can update the function operation without CloudFormation being - // notified. For more information, see Using CloudFormation Macros to Perform - // Custom Processing on Templates + // notified. For more information, see Using CloudFormation macros to perform + // custom processing on templates // (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-macros.html). Capabilities []types.Capability // A unique identifier for this CreateStack request. Specify this token if you plan // to retry requests so that CloudFormation knows that you're not attempting to // create a stack with the same name. You might retry CreateStack requests to - // ensure that CloudFormation successfully received them. All events triggered by a + // ensure that CloudFormation successfully received them. All events initiated by a // given stack operation are assigned the same client request token, which you can // use to track operations. For example, if you execute a CreateStack operation // with the token token1, then all the StackEvents generated by that operation will @@ -145,16 +145,16 @@ type CreateStackInput struct { // fails and the stack remains unchanged. For more information, see Protecting a // Stack From Being Deleted // (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-protect-stacks.html) - // in the CloudFormation User Guide. Termination protection is disabled on stacks - // by default. For nested stacks + // in the CloudFormation User Guide. Termination protection is deactivated on + // stacks by default. For nested stacks // (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-nested-stacks.html), - // termination protection is set on the root stack and cannot be changed directly - // on the nested stack. + // termination protection is set on the root stack and can't be changed directly on + // the nested stack. EnableTerminationProtection *bool - // The Simple Notification Service (SNS) topic ARNs to publish stack related - // events. You can find your SNS topic ARNs using the SNS console or your Command - // Line Interface (CLI). + // The Amazon Simple Notification Service (Amazon SNS) topic ARNs to publish stack + // related events. You can find your Amazon SNS topic ARNs using the Amazon SNS + // console or your Command Line Interface (CLI). NotificationARNs []string // Determines what action will be taken if stack creation fails. This must be one @@ -186,12 +186,12 @@ type CreateStackInput struct { // The Amazon Resource Name (ARN) of an Identity and Access Management (IAM) role // that CloudFormation assumes to create the stack. CloudFormation uses the role's // credentials to make calls on your behalf. CloudFormation always uses this role - // for all future operations on the stack. As long as users have permission to + // for all future operations on the stack. Provided that users have permission to // operate on the stack, CloudFormation uses this role even if the users don't have // permission to pass it. Ensure that the role grants least privilege. If you don't // specify a value, CloudFormation uses the role that was previously associated // with the stack. If no role is available, CloudFormation uses a temporary session - // that is generated from your user credentials. + // that's generated from your user credentials. RoleARN *string // The rollback triggers for CloudFormation to monitor during stack creation and @@ -217,15 +217,15 @@ type CreateStackInput struct { Tags []types.Tag // Structure containing the template body with a minimum length of 1 byte and a - // maximum length of 51,200 bytes. For more information, go to Template Anatomy + // maximum length of 51,200 bytes. For more information, go to Template anatomy // (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-anatomy.html) // in the CloudFormation User Guide. Conditional: You must specify either the // TemplateBody or the TemplateURL parameter, but not both. TemplateBody *string // Location of file containing the template body. The URL must point to a template - // (max size: 460,800 bytes) that is located in an Amazon S3 bucket or a Systems - // Manager document. For more information, go to the Template Anatomy + // (max size: 460,800 bytes) that's located in an Amazon S3 bucket or a Systems + // Manager document. For more information, go to the Template anatomy // (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-anatomy.html) // in the CloudFormation User Guide. Conditional: You must specify either the // TemplateBody or the TemplateURL parameter, but not both. diff --git a/service/cloudformation/api_op_CreateStackInstances.go b/service/cloudformation/api_op_CreateStackInstances.go index d244dc4ee2b..abb181af32f 100644 --- a/service/cloudformation/api_op_CreateStackInstances.go +++ b/service/cloudformation/api_op_CreateStackInstances.go @@ -12,10 +12,10 @@ import ( smithyhttp "github.com/aws/smithy-go/transport/http" ) -// Creates stack instances for the specified accounts, within the specified -// Regions. A stack instance refers to a stack in a specific account and Region. -// You must specify at least one value for either Accounts or DeploymentTargets, -// and you must specify at least one value for Regions. +// Creates stack instances for the specified accounts, within the specified Amazon +// Web Services Regions. A stack instance refers to a stack in a specific account +// and Region. You must specify at least one value for either Accounts or +// DeploymentTargets, and you must specify at least one value for Regions. func (c *Client) CreateStackInstances(ctx context.Context, params *CreateStackInstancesInput, optFns ...func(*Options)) (*CreateStackInstancesOutput, error) { if params == nil { params = &CreateStackInstancesInput{} @@ -33,8 +33,8 @@ func (c *Client) CreateStackInstances(ctx context.Context, params *CreateStackIn type CreateStackInstancesInput struct { - // The names of one or more Regions where you want to create stack instances using - // the specified Amazon Web Services accounts. + // The names of one or more Amazon Web Services Regions where you want to create + // stack instances using the specified Amazon Web Services accounts. // // This member is required. Regions []string @@ -67,8 +67,8 @@ type CreateStackInstancesInput struct { CallAs types.CallAs // [Service-managed permissions] The Organizations accounts for which to create - // stack instances in the specified Regions. You can specify Accounts or - // DeploymentTargets, but not both. + // stack instances in the specified Amazon Web Services Regions. You can specify + // Accounts or DeploymentTargets, but not both. DeploymentTargets *types.DeploymentTargets // The unique identifier for this stack set operation. The operation ID also @@ -85,29 +85,29 @@ type CreateStackInstancesInput struct { // A list of stack set parameters whose values you want to override in the selected // stack instances. Any overridden parameter values will be applied to all stack - // instances in the specified accounts and Regions. When specifying parameters and - // their values, be aware of how CloudFormation sets parameter values during stack - // instance operations: + // instances in the specified accounts and Amazon Web Services Regions. When + // specifying parameters and their values, be aware of how CloudFormation sets + // parameter values during stack instance operations: // - // * To override the current value for a parameter, include - // the parameter and specify its value. + // * To override the current + // value for a parameter, include the parameter and specify its value. // - // * To leave an overridden parameter set to - // its present value, include the parameter and specify UsePreviousValue as true. - // (You cannot specify both a value and set UsePreviousValue to true.) + // * To leave + // an overridden parameter set to its present value, include the parameter and + // specify UsePreviousValue as true. (You can't specify both a value and set + // UsePreviousValue to true.) // - // * To set an - // overridden parameter back to the value specified in the stack set, specify a - // parameter list but do not include the parameter in the list. + // * To set an overridden parameter back to the value + // specified in the stack set, specify a parameter list but don't include the + // parameter in the list. // - // * To leave all - // parameters set to their present values, do not specify this property at - // all. + // * To leave all parameters set to their present values, + // don't specify this property at all. // - // During stack set updates, any parameter values overridden for a stack - // instance are not updated, but retain their overridden value. You can only - // override the parameter values that are specified in the stack set; to add or - // delete a parameter itself, use UpdateStackSet + // During stack set updates, any parameter + // values overridden for a stack instance aren't updated, but retain their + // overridden value. You can only override the parameter values that are specified + // in the stack set; to add or delete a parameter itself, use UpdateStackSet // (https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_UpdateStackSet.html) // to update the stack set template. ParameterOverrides []types.Parameter diff --git a/service/cloudformation/api_op_CreateStackSet.go b/service/cloudformation/api_op_CreateStackSet.go index 01c1eb83660..02c01868269 100644 --- a/service/cloudformation/api_op_CreateStackSet.go +++ b/service/cloudformation/api_op_CreateStackSet.go @@ -138,7 +138,7 @@ type CreateStackSetInput struct { // capability. For more information, see Using CloudFormation Macros to Perform // Custom Processing on Templates // (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-macros.html). - // Stack sets with service-managed permissions do not currently support the use of + // Stack sets with service-managed permissions don't currently support the use of // macros in templates. (This includes the AWS::Include // (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/create-reusable-transform-function-snippets-and-add-to-your-template-with-aws-include-transform.html) // and AWS::Serverless diff --git a/service/cloudformation/api_op_DeactivateType.go b/service/cloudformation/api_op_DeactivateType.go index a3457501391..a6e16443149 100644 --- a/service/cloudformation/api_op_DeactivateType.go +++ b/service/cloudformation/api_op_DeactivateType.go @@ -12,10 +12,10 @@ import ( ) // Deactivates a public extension that was previously activated in this account and -// region. Once deactivated, an extension cannot be used in any CloudFormation +// region. Once deactivated, an extension can't be used in any CloudFormation // operation. This includes stack update operations where the stack template // includes the extension, even if no updates are being made to the extension. In -// addition, deactivated extensions are not automatically updated if a new version +// addition, deactivated extensions aren't automatically updated if a new version // of the extension is released. func (c *Client) DeactivateType(ctx context.Context, params *DeactivateTypeInput, optFns ...func(*Options)) (*DeactivateTypeOutput, error) { if params == nil { diff --git a/service/cloudformation/api_op_DeleteChangeSet.go b/service/cloudformation/api_op_DeleteChangeSet.go index 4f929717225..a27e4f7461d 100644 --- a/service/cloudformation/api_op_DeleteChangeSet.go +++ b/service/cloudformation/api_op_DeleteChangeSet.go @@ -42,7 +42,7 @@ type DeleteChangeSetInput struct { ChangeSetName *string // If you specified the name of a change set to delete, specify the stack name or - // ID (ARN) that is associated with it. + // Amazon Resource Name (ARN) that's associated with it. StackName *string noSmithyDocumentSerde diff --git a/service/cloudformation/api_op_DeleteStack.go b/service/cloudformation/api_op_DeleteStack.go index d31f44b2760..2ecfc795130 100644 --- a/service/cloudformation/api_op_DeleteStack.go +++ b/service/cloudformation/api_op_DeleteStack.go @@ -11,8 +11,8 @@ import ( ) // Deletes a specified stack. Once the call completes successfully, stack deletion -// starts. Deleted stacks do not show up in the DescribeStacks API if the deletion -// has been completed successfully. +// starts. Deleted stacks don't show up in the DescribeStacks operation if the +// deletion has been completed successfully. func (c *Client) DeleteStack(ctx context.Context, params *DeleteStackInput, optFns ...func(*Options)) (*DeleteStackOutput, error) { if params == nil { params = &DeleteStackInput{} @@ -31,7 +31,7 @@ func (c *Client) DeleteStack(ctx context.Context, params *DeleteStackInput, optF // The input for DeleteStack action. type DeleteStackInput struct { - // The name or the unique stack ID that is associated with the stack. + // The name or the unique stack ID that's associated with the stack. // // This member is required. StackName *string @@ -39,7 +39,7 @@ type DeleteStackInput struct { // A unique identifier for this DeleteStack request. Specify this token if you plan // to retry requests so that CloudFormation knows that you're not attempting to // delete a stack with the same name. You might retry DeleteStack requests to - // ensure that CloudFormation successfully received them. All events triggered by a + // ensure that CloudFormation successfully received them. All events initiated by a // given stack operation are assigned the same client request token, which you can // use to track operations. For example, if you execute a CreateStack operation // with the token token1, then all the StackEvents generated by that operation will @@ -53,8 +53,8 @@ type DeleteStackInput struct { // For stacks in the DELETE_FAILED state, a list of resource logical IDs that are // associated with the resources you want to retain. During deletion, - // CloudFormation deletes the stack but does not delete the retained resources. - // Retaining resources is useful when you cannot delete a resource, such as a + // CloudFormation deletes the stack but doesn't delete the retained resources. + // Retaining resources is useful when you can't delete a resource, such as a // non-empty S3 bucket, but you want to delete the stack. RetainResources []string @@ -62,7 +62,7 @@ type DeleteStackInput struct { // that CloudFormation assumes to delete the stack. CloudFormation uses the role's // credentials to make calls on your behalf. If you don't specify a value, // CloudFormation uses the role that was previously associated with the stack. If - // no role is available, CloudFormation uses a temporary session that is generated + // no role is available, CloudFormation uses a temporary session that's generated // from your user credentials. RoleARN *string diff --git a/service/cloudformation/api_op_DeleteStackInstances.go b/service/cloudformation/api_op_DeleteStackInstances.go index ec9f7aefa89..06f253377af 100644 --- a/service/cloudformation/api_op_DeleteStackInstances.go +++ b/service/cloudformation/api_op_DeleteStackInstances.go @@ -12,7 +12,8 @@ import ( smithyhttp "github.com/aws/smithy-go/transport/http" ) -// Deletes stack instances for the specified accounts, in the specified Regions. +// Deletes stack instances for the specified accounts, in the specified Amazon Web +// Services Regions. func (c *Client) DeleteStackInstances(ctx context.Context, params *DeleteStackInstancesInput, optFns ...func(*Options)) (*DeleteStackInstancesOutput, error) { if params == nil { params = &DeleteStackInstancesInput{} @@ -30,7 +31,7 @@ func (c *Client) DeleteStackInstances(ctx context.Context, params *DeleteStackIn type DeleteStackInstancesInput struct { - // The Regions where you want to delete stack set instances. + // The Amazon Web Services Regions where you want to delete stack set instances. // // This member is required. Regions []string diff --git a/service/cloudformation/api_op_DeregisterType.go b/service/cloudformation/api_op_DeregisterType.go index a1512dd2478..4a88c578de5 100644 --- a/service/cloudformation/api_op_DeregisterType.go +++ b/service/cloudformation/api_op_DeregisterType.go @@ -17,9 +17,9 @@ import ( // extension, you must individually deregister all active versions of that // extension. If an extension has only a single active version, deregistering that // version results in the extension itself being deregistered and marked as -// deprecated in the registry. You cannot deregister the default version of an +// deprecated in the registry. You can't deregister the default version of an // extension if there are other active version of that extension. If you do -// deregister the default version of an extension, the textensionype itself is +// deregister the default version of an extension, the extension type itself is // deregistered as well and marked as deprecated. To view the deprecation status of // an extension or extension version, use DescribeType // (https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_DescribeType.html). diff --git a/service/cloudformation/api_op_DescribeAccountLimits.go b/service/cloudformation/api_op_DescribeAccountLimits.go index ac429cb027c..fd60d5e4657 100644 --- a/service/cloudformation/api_op_DescribeAccountLimits.go +++ b/service/cloudformation/api_op_DescribeAccountLimits.go @@ -14,7 +14,7 @@ import ( // Retrieves your account's CloudFormation limits, such as the maximum number of // stacks that you can create in your account. For more information about account -// limits, see CloudFormation Limits +// limits, see CloudFormation Quotas // (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cloudformation-limits.html) // in the CloudFormation User Guide. func (c *Client) DescribeAccountLimits(ctx context.Context, params *DescribeAccountLimitsInput, optFns ...func(*Options)) (*DescribeAccountLimitsOutput, error) { diff --git a/service/cloudformation/api_op_DescribeChangeSet.go b/service/cloudformation/api_op_DescribeChangeSet.go index 4fb202b007c..7464f43bcde 100644 --- a/service/cloudformation/api_op_DescribeChangeSet.go +++ b/service/cloudformation/api_op_DescribeChangeSet.go @@ -65,7 +65,7 @@ type DescribeChangeSetOutput struct { // acknowledged when the change set was created. Capabilities []types.Capability - // The ARN of the change set. + // The Amazon Resource Name (ARN) of the change set. ChangeSetId *string // The name of the change set. @@ -82,7 +82,7 @@ type DescribeChangeSetOutput struct { Description *string // If the change set execution status is AVAILABLE, you can execute the change set. - // If you can’t execute the change set, the status indicates why. For example, a + // If you can't execute the change set, the status indicates why. For example, a // change set might be in an UNAVAILABLE state because CloudFormation is still // creating it or in an OBSOLETE state because the stack was already updated. ExecutionStatus types.ExecutionStatus @@ -116,10 +116,11 @@ type DescribeChangeSetOutput struct { // set hierarchy. RootChangeSetId *string - // The ARN of the stack that is associated with the change set. + // The Amazon Resource Name (ARN) of the stack that's associated with the change + // set. StackId *string - // The name of the stack that is associated with the change set. + // The name of the stack that's associated with the change set. StackName *string // The current status of the change set, such as CREATE_IN_PROGRESS, diff --git a/service/cloudformation/api_op_DescribeChangeSetHooks.go b/service/cloudformation/api_op_DescribeChangeSetHooks.go new file mode 100644 index 00000000000..b93d617e451 --- /dev/null +++ b/service/cloudformation/api_op_DescribeChangeSetHooks.go @@ -0,0 +1,152 @@ +// Code generated by smithy-go-codegen DO NOT EDIT. + +package cloudformation + +import ( + "context" + awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" + "github.com/aws/aws-sdk-go-v2/aws/signer/v4" + "github.com/aws/aws-sdk-go-v2/service/cloudformation/types" + "github.com/aws/smithy-go/middleware" + smithyhttp "github.com/aws/smithy-go/transport/http" +) + +// Returns hook-related information for the change set and a list of changes that +// CloudFormation makes when you run the change set. +func (c *Client) DescribeChangeSetHooks(ctx context.Context, params *DescribeChangeSetHooksInput, optFns ...func(*Options)) (*DescribeChangeSetHooksOutput, error) { + if params == nil { + params = &DescribeChangeSetHooksInput{} + } + + result, metadata, err := c.invokeOperation(ctx, "DescribeChangeSetHooks", params, optFns, c.addOperationDescribeChangeSetHooksMiddlewares) + if err != nil { + return nil, err + } + + out := result.(*DescribeChangeSetHooksOutput) + out.ResultMetadata = metadata + return out, nil +} + +type DescribeChangeSetHooksInput struct { + + // The name or Amazon Resource Name (ARN) of the change set that you want to + // describe. + // + // This member is required. + ChangeSetName *string + + // If specified, lists only the hooks related to the specified LogicalResourceId. + LogicalResourceId *string + + // A string, provided by the DescribeChangeSetHooks response output, that + // identifies the next page of information that you want to retrieve. + NextToken *string + + // If you specified the name of a change set, specify the stack name or stack ID + // (ARN) of the change set you want to describe. + StackName *string + + noSmithyDocumentSerde +} + +type DescribeChangeSetHooksOutput struct { + + // The change set identifier (stack ID). + ChangeSetId *string + + // The change set name. + ChangeSetName *string + + // List of hook objects. + Hooks []types.ChangeSetHook + + // Pagination token, null or empty if no more results. + NextToken *string + + // The stack identifier (stack ID). + StackId *string + + // The stack name. + StackName *string + + // Provides the status of the change set hook. + Status types.ChangeSetHooksStatus + + // Metadata pertaining to the operation's result. + ResultMetadata middleware.Metadata + + noSmithyDocumentSerde +} + +func (c *Client) addOperationDescribeChangeSetHooksMiddlewares(stack *middleware.Stack, options Options) (err error) { + err = stack.Serialize.Add(&awsAwsquery_serializeOpDescribeChangeSetHooks{}, middleware.After) + if err != nil { + return err + } + err = stack.Deserialize.Add(&awsAwsquery_deserializeOpDescribeChangeSetHooks{}, middleware.After) + if err != nil { + return err + } + if err = addSetLoggerMiddleware(stack, options); err != nil { + return err + } + if err = awsmiddleware.AddClientRequestIDMiddleware(stack); err != nil { + return err + } + if err = smithyhttp.AddComputeContentLengthMiddleware(stack); err != nil { + return err + } + if err = addResolveEndpointMiddleware(stack, options); err != nil { + return err + } + if err = v4.AddComputePayloadSHA256Middleware(stack); err != nil { + return err + } + if err = addRetryMiddlewares(stack, options); err != nil { + return err + } + if err = addHTTPSignerV4Middleware(stack, options); err != nil { + return err + } + if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil { + return err + } + if err = awsmiddleware.AddRecordResponseTiming(stack); err != nil { + return err + } + if err = addClientUserAgent(stack); err != nil { + return err + } + if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil { + return err + } + if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { + return err + } + if err = addOpDescribeChangeSetHooksValidationMiddleware(stack); err != nil { + return err + } + if err = stack.Initialize.Add(newServiceMetadataMiddleware_opDescribeChangeSetHooks(options.Region), middleware.Before); err != nil { + return err + } + if err = addRequestIDRetrieverMiddleware(stack); err != nil { + return err + } + if err = addResponseErrorMiddleware(stack); err != nil { + return err + } + if err = addRequestResponseLogging(stack, options); err != nil { + return err + } + return nil +} + +func newServiceMetadataMiddleware_opDescribeChangeSetHooks(region string) *awsmiddleware.RegisterServiceMetadata { + return &awsmiddleware.RegisterServiceMetadata{ + Region: region, + ServiceID: ServiceID, + SigningName: "cloudformation", + OperationName: "DescribeChangeSetHooks", + } +} diff --git a/service/cloudformation/api_op_DescribePublisher.go b/service/cloudformation/api_op_DescribePublisher.go index d32603d8362..65f369f1a89 100644 --- a/service/cloudformation/api_op_DescribePublisher.go +++ b/service/cloudformation/api_op_DescribePublisher.go @@ -11,7 +11,7 @@ import ( smithyhttp "github.com/aws/smithy-go/transport/http" ) -// Returns information about a CloudFormation extension publisher. If you do not +// Returns information about a CloudFormation extension publisher. If you don't // supply a PublisherId, and you have registered as an extension publisher, // DescribePublisher returns information about your own publisher account. For more // information on registering as a publisher, see: @@ -40,7 +40,7 @@ func (c *Client) DescribePublisher(ctx context.Context, params *DescribePublishe type DescribePublisherInput struct { - // The ID of the extension publisher. If you do not supply a PublisherId, and you + // The ID of the extension publisher. If you don't supply a PublisherId, and you // have registered as an extension publisher, DescribePublisher returns information // about your own publisher account. PublisherId *string diff --git a/service/cloudformation/api_op_DescribeStackDriftDetectionStatus.go b/service/cloudformation/api_op_DescribeStackDriftDetectionStatus.go index 25fd6b6675e..85eae69f48d 100644 --- a/service/cloudformation/api_op_DescribeStackDriftDetectionStatus.go +++ b/service/cloudformation/api_op_DescribeStackDriftDetectionStatus.go @@ -59,7 +59,7 @@ type DescribeStackDriftDetectionStatusOutput struct { // // * DETECTION_COMPLETE: The // stack drift detection operation has successfully completed for all resources in - // the stack that support drift detection. (Resources that do not currently support + // the stack that support drift detection. (Resources that don't currently support // stack detection remain unchecked.) If you specified logical resource IDs for // CloudFormation to use as a filter for the stack drift detection operation, only // the resources with those logical IDs are checked for drift. @@ -108,7 +108,7 @@ type DescribeStackDriftDetectionStatusOutput struct { // configuration. A stack is considered to have drifted if one or more of its // resources have drifted. // - // * NOT_CHECKED: CloudFormation has not checked if the + // * NOT_CHECKED: CloudFormation hasn't checked if the // stack differs from its expected template configuration. // // * IN_SYNC: The stack's diff --git a/service/cloudformation/api_op_DescribeStackEvents.go b/service/cloudformation/api_op_DescribeStackEvents.go index 6a30a0bc96c..605f9ef654c 100644 --- a/service/cloudformation/api_op_DescribeStackEvents.go +++ b/service/cloudformation/api_op_DescribeStackEvents.go @@ -39,7 +39,7 @@ type DescribeStackEventsInput struct { // A string that identifies the next page of events that you want to retrieve. NextToken *string - // The name or the unique stack ID that is associated with the stack, which are not + // The name or the unique stack ID that's associated with the stack, which aren't // always interchangeable: // // * Running stacks: You can specify either the stack's diff --git a/service/cloudformation/api_op_DescribeStackResource.go b/service/cloudformation/api_op_DescribeStackResource.go index bcfa7825d45..c1ea0d5af98 100644 --- a/service/cloudformation/api_op_DescribeStackResource.go +++ b/service/cloudformation/api_op_DescribeStackResource.go @@ -38,7 +38,7 @@ type DescribeStackResourceInput struct { // This member is required. LogicalResourceId *string - // The name or the unique stack ID that is associated with the stack, which are not + // The name or the unique stack ID that's associated with the stack, which aren't // always interchangeable: // // * Running stacks: You can specify either the stack's diff --git a/service/cloudformation/api_op_DescribeStackResourceDrifts.go b/service/cloudformation/api_op_DescribeStackResourceDrifts.go index 740708b9a0f..0df961f80eb 100644 --- a/service/cloudformation/api_op_DescribeStackResourceDrifts.go +++ b/service/cloudformation/api_op_DescribeStackResourceDrifts.go @@ -16,10 +16,10 @@ import ( // the specified stack. This includes actual and expected configuration values for // resources where CloudFormation detects configuration drift. For a given stack, // there will be one StackResourceDrift for each stack resource that has been -// checked for drift. Resources that haven't yet been checked for drift are not -// included. Resources that do not currently support drift detection are not -// checked, and so not included. For a list of resources that support drift -// detection, see Resources that Support Drift Detection +// checked for drift. Resources that haven't yet been checked for drift aren't +// included. Resources that don't currently support drift detection aren't checked, +// and so not included. For a list of resources that support drift detection, see +// Resources that Support Drift Detection // (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-stack-drift-resource-list.html). // Use DetectStackResourceDrift to detect drift on individual resources, or // DetectStackDrift to detect drift on all supported resources for a given stack. @@ -64,10 +64,10 @@ type DescribeStackResourceDriftsInput struct { // resource properties differ from their expected template values. // // * IN_SYNC: The - // resources's actual configuration matches its expected template configuration. + // resource's actual configuration matches its expected template configuration. // // * - // NOT_CHECKED: CloudFormation does not currently return this value. + // NOT_CHECKED: CloudFormation doesn't currently return this value. StackResourceDriftStatusFilters []types.StackResourceDriftStatus noSmithyDocumentSerde @@ -79,8 +79,8 @@ type DescribeStackResourceDriftsOutput struct { // specified stack. This includes actual and expected configuration values for // resources where CloudFormation detects drift. For a given stack, there will be // one StackResourceDrift for each stack resource that has been checked for drift. - // Resources that have not yet been checked for drift are not included. Resources - // that do not currently support drift detection are not checked, and so not + // Resources that haven't yet been checked for drift aren't included. Resources + // that do not currently support drift detection aren't checked, and so not // included. For a list of resources that support drift detection, see Resources // that Support Drift Detection // (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-stack-drift-resource-list.html). diff --git a/service/cloudformation/api_op_DescribeStackResources.go b/service/cloudformation/api_op_DescribeStackResources.go index a27fdf599a3..3332892eb37 100644 --- a/service/cloudformation/api_op_DescribeStackResources.go +++ b/service/cloudformation/api_op_DescribeStackResources.go @@ -52,11 +52,11 @@ type DescribeStackResourcesInput struct { // Cloud (EC2) instance, PhysicalResourceId corresponds to the InstanceId. You can // pass the EC2 InstanceId to DescribeStackResources to find which stack the // instance belongs to and what other resources are part of the stack. Required: - // Conditional. If you do not specify PhysicalResourceId, you must specify + // Conditional. If you don't specify PhysicalResourceId, you must specify // StackName. Default: There is no default value. PhysicalResourceId *string - // The name or the unique stack ID that is associated with the stack, which are not + // The name or the unique stack ID that is associated with the stack, which aren't // always interchangeable: // // * Running stacks: You can specify either the stack's @@ -65,8 +65,8 @@ type DescribeStackResourcesInput struct { // * Deleted stacks: You must specify the unique // stack ID. // - // Default: There is no default value. Required: Conditional. If you do - // not specify StackName, you must specify PhysicalResourceId. + // Default: There is no default value. Required: Conditional. If you + // don't specify StackName, you must specify PhysicalResourceId. StackName *string noSmithyDocumentSerde diff --git a/service/cloudformation/api_op_DescribeStacks.go b/service/cloudformation/api_op_DescribeStacks.go index 1348b1d5789..5cbb38fb471 100644 --- a/service/cloudformation/api_op_DescribeStacks.go +++ b/service/cloudformation/api_op_DescribeStacks.go @@ -19,8 +19,8 @@ import ( ) // Returns the description for the specified stack; if no stack name was specified, -// then it returns the description for all the stacks created. If the stack does -// not exist, an ValidationError is returned. +// then it returns the description for all the stacks created. If the stack doesn't +// exist, an ValidationError is returned. func (c *Client) DescribeStacks(ctx context.Context, params *DescribeStacksInput, optFns ...func(*Options)) (*DescribeStacksOutput, error) { if params == nil { params = &DescribeStacksInput{} @@ -42,7 +42,7 @@ type DescribeStacksInput struct { // A string that identifies the next page of stacks that you want to retrieve. NextToken *string - // The name or the unique stack ID that is associated with the stack, which are not + // The name or the unique stack ID that's associated with the stack, which aren't // always interchangeable: // // * Running stacks: You can specify either the stack's diff --git a/service/cloudformation/api_op_DescribeType.go b/service/cloudformation/api_op_DescribeType.go index 5df38018aba..46e242a42d3 100644 --- a/service/cloudformation/api_op_DescribeType.go +++ b/service/cloudformation/api_op_DescribeType.go @@ -84,7 +84,7 @@ type DescribeTypeOutput struct { ConfigurationSchema *string // The ID of the default version of the extension. The default version is used when - // the extension version is not specified. This applies only to private extensions + // the extension version isn't specified. This applies only to private extensions // you have registered in your account. For public extensions, both those provided // by Amazon and published by third parties, CloudFormation returns null. For more // information, see RegisterType @@ -149,7 +149,7 @@ type DescribeTypeOutput struct { LastUpdated *time.Time // The latest version of a public extension that is available for use. This only - // applies if you specify a public extension, and you do not specify a version. For + // applies if you specify a public extension, and you don't specify a version. For // all other requests, CloudFormation returns null. LatestPublicVersion *string @@ -183,19 +183,18 @@ type DescribeTypeOutput struct { // process updates to the type during stack update operations. // // * IMMUTABLE: The - // resource type does not include an update handler, so the type cannot be updated + // resource type doesn't include an update handler, so the type can't be updated // and must instead be replaced during stack update operations. // // * - // NON_PROVISIONABLE: The resource type does not include all of the following - // handlers, and therefore cannot actually be provisioned. + // NON_PROVISIONABLE: The resource type doesn't include all the following handlers, + // and therefore can't actually be provisioned. // // * create // // * read // - // * - // delete + // * delete ProvisioningType types.ProvisioningType // The version number of a public third-party extension. This applies only if you @@ -206,7 +205,7 @@ type DescribeTypeOutput struct { // The publisher ID of the extension publisher. This applies only to public // third-party extensions. For private registered extensions, and extensions - // provided by Amazon, CloudFormation returns null. + // provided by Amazon Web Services, CloudFormation returns null. PublisherId *string // For extensions that are modules, the public third-party extensions that must be @@ -236,14 +235,14 @@ type DescribeTypeOutput struct { TypeName *string // The contract test status of the registered extension version. To return the - // extension test status of a specifc extension version, you must specify + // extension test status of a specific extension version, you must specify // VersionId. This applies only to registered private extension versions. - // CloudFormation does not return this information for public extensions, whether - // or not they are activated in your account. + // CloudFormation doesn't return this information for public extensions, whether or + // not they are activated in your account. // - // * PASSED: The extension has passed - // all its contract tests. An extension must have a test status of PASSED before it - // can be published. For more information, see Publishing extensions to make them + // * PASSED: The extension has passed all + // its contract tests. An extension must have a test status of PASSED before it can + // be published. For more information, see Publishing extensions to make them // available for public use // (https://docs.aws.amazon.com/cloudformation-cli/latest/userguide/resource-type-publish.html) // in the CloudFormation Command Line Interface User Guide. @@ -255,12 +254,12 @@ type DescribeTypeOutput struct { // are currently being performed on the extension. // // * NOT_TESTED: Contract tests - // have not been performed on the extension. + // haven't been performed on the extension. TypeTestsStatus types.TypeTestsStatus // The description of the test status. To return the extension test status of a - // specifc extension version, you must specify VersionId. This applies only to - // registered private extension versions. CloudFormation does not return this + // specific extension version, you must specify VersionId. This applies only to + // registered private extension versions. CloudFormation doesn't return this // information for public extensions, whether or not they are activated in your // account. TypeTestsStatusDescription *string @@ -272,8 +271,8 @@ type DescribeTypeOutput struct { // usable within the account in which it is registered. CloudFormation marks any // extensions you register as PRIVATE. // - // * PUBLIC: The extension is publically - // visible and usable within any Amazon account. + // * PUBLIC: The extension is publicly visible + // and usable within any Amazon account. Visibility types.Visibility // Metadata pertaining to the operation's result. diff --git a/service/cloudformation/api_op_DetectStackDrift.go b/service/cloudformation/api_op_DetectStackDrift.go index 415e086b6cb..b3789849b5f 100644 --- a/service/cloudformation/api_op_DetectStackDrift.go +++ b/service/cloudformation/api_op_DetectStackDrift.go @@ -30,7 +30,7 @@ import ( // monitor the progress of a detect stack drift operation. Once the drift detection // operation has completed, use DescribeStackResourceDrifts to return drift // information about the stack and its resources. When detecting drift on a stack, -// CloudFormation does not detect drift on any nested stacks belonging to that +// CloudFormation doesn't detect drift on any nested stacks belonging to that // stack. Perform DetectStackDrift directly on the nested stack itself. func (c *Client) DetectStackDrift(ctx context.Context, params *DetectStackDriftInput, optFns ...func(*Options)) (*DetectStackDriftOutput, error) { if params == nil { diff --git a/service/cloudformation/api_op_DetectStackResourceDrift.go b/service/cloudformation/api_op_DetectStackResourceDrift.go index f5c91c5ae22..322a68324a0 100644 --- a/service/cloudformation/api_op_DetectStackResourceDrift.go +++ b/service/cloudformation/api_op_DetectStackResourceDrift.go @@ -21,8 +21,8 @@ import ( // (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-stack-drift.html). // Use DetectStackResourceDrift to detect drift on individual resources, or // DetectStackDrift to detect drift on all resources in a given stack that support -// drift detection. Resources that do not currently support drift detection cannot -// be checked. For a list of resources that support drift detection, see Resources +// drift detection. Resources that don't currently support drift detection can't be +// checked. For a list of resources that support drift detection, see Resources // that Support Drift Detection // (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-stack-drift-resource-list.html). func (c *Client) DetectStackResourceDrift(ctx context.Context, params *DetectStackResourceDriftInput, optFns ...func(*Options)) (*DetectStackResourceDriftOutput, error) { diff --git a/service/cloudformation/api_op_DetectStackSetDrift.go b/service/cloudformation/api_op_DetectStackSetDrift.go index f4fd986bca7..f401661fb61 100644 --- a/service/cloudformation/api_op_DetectStackSetDrift.go +++ b/service/cloudformation/api_op_DetectStackSetDrift.go @@ -14,21 +14,21 @@ import ( // Detect drift on a stack set. When CloudFormation performs drift detection on a // stack set, it performs drift detection on the stack associated with each stack -// instance in the stack set. For more information, see How CloudFormation Performs -// Drift Detection on a Stack Set +// instance in the stack set. For more information, see How CloudFormation performs +// drift detection on a stack set // (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-drift.html). // DetectStackSetDrift returns the OperationId of the stack set drift detection // operation. Use this operation id with DescribeStackSetOperation to monitor the // progress of the drift detection operation. The drift detection operation may // take some time, depending on the number of stack instances included in the stack -// set, as well as the number of resources included in each stack. Once the +// set, in addition to the number of resources included in each stack. Once the // operation has completed, use the following actions to return drift // information: // // * Use DescribeStackSet to return detailed information about the // stack set, including detailed information about the last completed drift // operation performed on the stack set. (Information about drift operations that -// are in progress is not included.) +// are in progress isn't included.) // // * Use ListStackInstances to return a list of // stack instances belonging to the stack set, including the drift status and last @@ -39,8 +39,8 @@ import ( // and last drift time checked. // // For more information on performing a drift -// detection operation on a stack set, see Detecting Unmanaged Changes in Stack -// Sets +// detection operation on a stack set, see Detecting unmanaged changes in stack +// sets // (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-drift.html). // You can only run a single drift detection operation on a given stack set at one // time. To stop a drift detection stack set operation, use StopStackSetOperation. @@ -96,7 +96,7 @@ type DetectStackSetDriftInput struct { type DetectStackSetDriftOutput struct { - // The ID of the drift detection stack set operation. you can use this operation id + // The ID of the drift detection stack set operation. You can use this operation ID // with DescribeStackSetOperation to monitor the progress of the drift detection // operation. OperationId *string diff --git a/service/cloudformation/api_op_EstimateTemplateCost.go b/service/cloudformation/api_op_EstimateTemplateCost.go index f4e5839b3ff..3dddee93c11 100644 --- a/service/cloudformation/api_op_EstimateTemplateCost.go +++ b/service/cloudformation/api_op_EstimateTemplateCost.go @@ -43,7 +43,7 @@ type EstimateTemplateCostInput struct { TemplateBody *string // Location of file containing the template body. The URL must point to a template - // that is located in an Amazon S3 bucket or a Systems Manager document. For more + // that's located in an Amazon S3 bucket or a Systems Manager document. For more // information, go to Template Anatomy // (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-anatomy.html) // in the CloudFormation User Guide. Conditional: You must pass TemplateURL or diff --git a/service/cloudformation/api_op_ExecuteChangeSet.go b/service/cloudformation/api_op_ExecuteChangeSet.go index 8e9ad793314..08f65bf9bcf 100644 --- a/service/cloudformation/api_op_ExecuteChangeSet.go +++ b/service/cloudformation/api_op_ExecuteChangeSet.go @@ -18,7 +18,7 @@ import ( // stack. If a stack policy is associated with the stack, CloudFormation enforces // the policy during the update. You can't specify a temporary stack policy that // overrides the current policy. To create a change set for the entire stack -// hierachy, IncludeNestedStacks must have been set to True. +// hierarchy, IncludeNestedStacks must have been set to True. func (c *Client) ExecuteChangeSet(ctx context.Context, params *ExecuteChangeSetInput, optFns ...func(*Options)) (*ExecuteChangeSetOutput, error) { if params == nil { params = &ExecuteChangeSetInput{} @@ -37,8 +37,8 @@ func (c *Client) ExecuteChangeSet(ctx context.Context, params *ExecuteChangeSetI // The input for the ExecuteChangeSet action. type ExecuteChangeSetInput struct { - // The name or ARN of the change set that you want use to update the specified - // stack. + // The name or Amazon Resource Name (ARN) of the change set that you want use to + // update the specified stack. // // This member is required. ChangeSetName *string @@ -54,8 +54,8 @@ type ExecuteChangeSetInput struct { // Default: True DisableRollback *bool - // If you specified the name of a change set, specify the stack name or ID (ARN) - // that is associated with the change set you want to execute. + // If you specified the name of a change set, specify the stack name or Amazon + // Resource Name (ARN) that's associated with the change set you want to execute. StackName *string noSmithyDocumentSerde diff --git a/service/cloudformation/api_op_GetStackPolicy.go b/service/cloudformation/api_op_GetStackPolicy.go index baf6d7b316d..aa2031f3540 100644 --- a/service/cloudformation/api_op_GetStackPolicy.go +++ b/service/cloudformation/api_op_GetStackPolicy.go @@ -30,7 +30,7 @@ func (c *Client) GetStackPolicy(ctx context.Context, params *GetStackPolicyInput // The input for the GetStackPolicy action. type GetStackPolicyInput struct { - // The name or unique stack ID that is associated with the stack whose policy you + // The name or unique stack ID that's associated with the stack whose policy you // want to get. // // This member is required. diff --git a/service/cloudformation/api_op_GetTemplate.go b/service/cloudformation/api_op_GetTemplate.go index 390b95c419e..0a84d284c90 100644 --- a/service/cloudformation/api_op_GetTemplate.go +++ b/service/cloudformation/api_op_GetTemplate.go @@ -13,7 +13,7 @@ import ( // Returns the template body for a specified stack. You can get the template for // running or deleted stacks. For deleted stacks, GetTemplate returns the template -// for up to 90 days after the stack has been deleted. If the template does not +// for up to 90 days after the stack has been deleted. If the template doesn't // exist, a ValidationError is returned. func (c *Client) GetTemplate(ctx context.Context, params *GetTemplateInput, optFns ...func(*Options)) (*GetTemplateOutput, error) { if params == nil { @@ -38,7 +38,7 @@ type GetTemplateInput struct { // the StackName. ChangeSetName *string - // The name or the unique stack ID that is associated with the stack, which are not + // The name or the unique stack ID that's associated with the stack, which aren't // always interchangeable: // // * Running stacks: You can specify either the stack's diff --git a/service/cloudformation/api_op_GetTemplateSummary.go b/service/cloudformation/api_op_GetTemplateSummary.go index 3919b97066a..13187e6e0fe 100644 --- a/service/cloudformation/api_op_GetTemplateSummary.go +++ b/service/cloudformation/api_op_GetTemplateSummary.go @@ -17,7 +17,7 @@ import ( // You can use the GetTemplateSummary action when you submit a template, or you can // get template information for a stack set, or a running or deleted stack. For // deleted stacks, GetTemplateSummary returns the template information for up to 90 -// days after the stack has been deleted. If the template does not exist, a +// days after the stack has been deleted. If the template doesn't exist, a // ValidationError is returned. func (c *Client) GetTemplateSummary(ctx context.Context, params *GetTemplateSummaryInput, optFns ...func(*Options)) (*GetTemplateSummaryOutput, error) { if params == nil { @@ -53,7 +53,7 @@ type GetTemplateSummaryInput struct { // in the CloudFormation User Guide. CallAs types.CallAs - // The name or the stack ID that is associated with the stack, which are not always + // The name or the stack ID that's associated with the stack, which aren't always // interchangeable. For running stacks, you can specify either the stack's name or // its unique stack ID. For deleted stack, you must specify the unique stack ID. // Conditional: You must specify only one of the following parameters: StackName, @@ -67,15 +67,15 @@ type GetTemplateSummaryInput struct { // Structure containing the template body with a minimum length of 1 byte and a // maximum length of 51,200 bytes. For more information about templates, see - // Template Anatomy + // Template anatomy // (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-anatomy.html) // in the CloudFormation User Guide. Conditional: You must specify only one of the // following parameters: StackName, StackSetName, TemplateBody, or TemplateURL. TemplateBody *string // Location of file containing the template body. The URL must point to a template - // (max size: 460,800 bytes) that is located in an Amazon S3 bucket or a Systems - // Manager document. For more information about templates, see Template Anatomy + // (max size: 460,800 bytes) that's located in an Amazon S3 bucket or a Systems + // Manager document. For more information about templates, see Template anatomy // (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-anatomy.html) // in the CloudFormation User Guide. Conditional: You must specify only one of the // following parameters: StackName, StackSetName, TemplateBody, or TemplateURL. @@ -102,10 +102,10 @@ type GetTemplateSummaryOutput struct { // A list of the transforms that are declared in the template. DeclaredTransforms []string - // The value that is defined in the Description property of the template. + // The value that's defined in the Description property of the template. Description *string - // The value that is defined for the Metadata property of the template. + // The value that's defined for the Metadata property of the template. Metadata *string // A list of parameter declarations that describe various properties for each diff --git a/service/cloudformation/api_op_ImportStacksToStackSet.go b/service/cloudformation/api_op_ImportStacksToStackSet.go index 37d53d30db3..df7b791ea80 100644 --- a/service/cloudformation/api_op_ImportStacksToStackSet.go +++ b/service/cloudformation/api_op_ImportStacksToStackSet.go @@ -12,13 +12,11 @@ import ( smithyhttp "github.com/aws/smithy-go/transport/http" ) -// Use the stack import operations for self-managed or service-managed StackSets. -// For self-managed StackSets, the import operation can import stacks in the -// administrator account or in different target accounts and Amazon Web Services -// Regions. For service-managed StackSets, the import operation can import any -// stack in the same AWS Organizations as the management account. The import -// operation can import up to 10 stacks using inline stack IDs or up to 10,000 -// stacks using an Amazon S3 object. +// Import existing stacks into a new stack sets. Use the stack import operation to +// import up to 10 stacks into a new stack set in the same account as the source +// stack or in a different administrator account and Region, by specifying the +// stack ID of the stack you intend to import. ImportStacksToStackSet is only +// supported by self-managed permissions. func (c *Client) ImportStacksToStackSet(ctx context.Context, params *ImportStacksToStackSetInput, optFns ...func(*Options)) (*ImportStacksToStackSetOutput, error) { if params == nil { params = &ImportStacksToStackSetInput{} @@ -60,7 +58,7 @@ type ImportStacksToStackSetInput struct { // (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-concepts.html#stackset-ops-options). OperationPreferences *types.StackSetOperationPreferences - // The list of OU ID’s to which the stacks being imported has to be mapped as + // The list of OU ID's to which the stacks being imported has to be mapped as // deployment target. OrganizationalUnitIds []string diff --git a/service/cloudformation/api_op_ListExports.go b/service/cloudformation/api_op_ListExports.go index 5a4d3baa21c..c27f9ccac8f 100644 --- a/service/cloudformation/api_op_ListExports.go +++ b/service/cloudformation/api_op_ListExports.go @@ -16,7 +16,7 @@ import ( // this action. Use this action to see the exported output values that you can // import into other stacks. To import values, use the Fn::ImportValue // (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-importvalue.html) -// function. For more information, see CloudFormation Export Stack Output Values +// function. For more information, see CloudFormation export stack output values // (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-stack-exports.html). func (c *Client) ListExports(ctx context.Context, params *ListExportsInput, optFns ...func(*Options)) (*ListExportsOutput, error) { if params == nil { diff --git a/service/cloudformation/api_op_ListStackInstances.go b/service/cloudformation/api_op_ListStackInstances.go index 86f8e78d7ef..fb4df69cb8c 100644 --- a/service/cloudformation/api_op_ListStackInstances.go +++ b/service/cloudformation/api_op_ListStackInstances.go @@ -83,8 +83,8 @@ type ListStackInstancesInput struct { type ListStackInstancesOutput struct { - // If the request doesn't return all of the remaining results, NextToken is set to - // a token. To retrieve the next set of results, call ListStackInstances again and + // If the request doesn't return all the remaining results, NextToken is set to a + // token. To retrieve the next set of results, call ListStackInstances again and // assign that token to the request object's NextToken parameter. If the request // returns all results, NextToken is set to null. NextToken *string diff --git a/service/cloudformation/api_op_ListStackResources.go b/service/cloudformation/api_op_ListStackResources.go index 9defa6f216d..c4ee7036c6b 100644 --- a/service/cloudformation/api_op_ListStackResources.go +++ b/service/cloudformation/api_op_ListStackResources.go @@ -33,7 +33,7 @@ func (c *Client) ListStackResources(ctx context.Context, params *ListStackResour // The input for the ListStackResource action. type ListStackResourcesInput struct { - // The name or the unique stack ID that is associated with the stack, which are not + // The name or the unique stack ID that is associated with the stack, which aren't // always interchangeable: // // * Running stacks: You can specify either the stack's diff --git a/service/cloudformation/api_op_ListStackSetOperationResults.go b/service/cloudformation/api_op_ListStackSetOperationResults.go index b25d09b60fa..ed793ee995c 100644 --- a/service/cloudformation/api_op_ListStackSetOperationResults.go +++ b/service/cloudformation/api_op_ListStackSetOperationResults.go @@ -82,8 +82,8 @@ type ListStackSetOperationResultsOutput struct { NextToken *string // A list of StackSetOperationResultSummary structures that contain information - // about the specified operation results, for accounts and Regions that are - // included in the operation. + // about the specified operation results, for accounts and Amazon Web Services + // Regions that are included in the operation. Summaries []types.StackSetOperationResultSummary // Metadata pertaining to the operation's result. diff --git a/service/cloudformation/api_op_ListStackSets.go b/service/cloudformation/api_op_ListStackSets.go index 389c164b2a4..16175001964 100644 --- a/service/cloudformation/api_op_ListStackSets.go +++ b/service/cloudformation/api_op_ListStackSets.go @@ -67,9 +67,9 @@ type ListStackSetsInput struct { // of results. MaxResults *int32 - // If the previous paginated request didn't return all of the remaining results, - // the response object's NextToken parameter value is set to a token. To retrieve - // the next set of results, call ListStackSets again and assign that token to the + // If the previous paginated request didn't return all the remaining results, the + // response object's NextToken parameter value is set to a token. To retrieve the + // next set of results, call ListStackSets again and assign that token to the // request object's NextToken parameter. If there are no remaining results, the // previous response object's NextToken parameter is set to null. NextToken *string diff --git a/service/cloudformation/api_op_ListTypeRegistrations.go b/service/cloudformation/api_op_ListTypeRegistrations.go index 6428bda4e76..cd0e6fdd0a0 100644 --- a/service/cloudformation/api_op_ListTypeRegistrations.go +++ b/service/cloudformation/api_op_ListTypeRegistrations.go @@ -36,11 +36,11 @@ type ListTypeRegistrationsInput struct { // of results. MaxResults *int32 - // If the previous paginated request didn't return all of the remaining results, - // the response object's NextToken parameter value is set to a token. To retrieve - // the next set of results, call this action again and assign that token to the - // request object's NextToken parameter. If there are no remaining results, the - // previous response object's NextToken parameter is set to null. + // If the previous paginated request didn't return all the remaining results, the + // response object's NextToken parameter value is set to a token. To retrieve the + // next set of results, call this action again and assign that token to the request + // object's NextToken parameter. If there are no remaining results, the previous + // response object's NextToken parameter is set to null. NextToken *string // The current status of the extension registration request. The default is diff --git a/service/cloudformation/api_op_ListTypeVersions.go b/service/cloudformation/api_op_ListTypeVersions.go index 04036966764..cabc7560a6c 100644 --- a/service/cloudformation/api_op_ListTypeVersions.go +++ b/service/cloudformation/api_op_ListTypeVersions.go @@ -62,8 +62,8 @@ type ListTypeVersionsInput struct { // previous response object's NextToken parameter is set to null. NextToken *string - // The publisher ID of the extension publisher. Extensions published by Amazon are - // not assigned a publisher ID. + // The publisher ID of the extension publisher. Extensions published by Amazon + // aren't assigned a publisher ID. PublisherId *string // The kind of the extension. Conditional: You must specify either TypeName and diff --git a/service/cloudformation/api_op_ListTypes.go b/service/cloudformation/api_op_ListTypes.go index d69e7129e6f..3cb9e25414a 100644 --- a/service/cloudformation/api_op_ListTypes.go +++ b/service/cloudformation/api_op_ListTypes.go @@ -69,12 +69,12 @@ type ListTypesInput struct { // process updates to the type during stack update operations. // // * IMMUTABLE: The - // resource type does not include an update handler, so the type cannot be updated + // resource type doesn't include an update handler, so the type can't be updated // and must instead be replaced during stack update operations. // // * - // NON_PROVISIONABLE: The resource type does not include create, read, and delete - // handlers, and therefore cannot actually be provisioned. + // NON_PROVISIONABLE: The resource type doesn't include create, read, and delete + // handlers, and therefore can't actually be provisioned. // // The default is // FULLY_MUTABLE. @@ -108,8 +108,8 @@ type ListTypesInput struct { type ListTypesOutput struct { - // If the request doesn't return all of the remaining results, NextToken is set to - // a token. To retrieve the next set of results, call this action again and assign + // If the request doesn't return all the remaining results, NextToken is set to a + // token. To retrieve the next set of results, call this action again and assign // that token to the request object's NextToken parameter. If the request returns // all results, NextToken is set to null. NextToken *string diff --git a/service/cloudformation/api_op_PublishType.go b/service/cloudformation/api_op_PublishType.go index df707ec6c5a..719bab69182 100644 --- a/service/cloudformation/api_op_PublishType.go +++ b/service/cloudformation/api_op_PublishType.go @@ -44,7 +44,7 @@ type PublishTypeInput struct { // The version number to assign to this version of the extension. Use the following // format, and adhere to semantic versioning when assigning a version number to // your extension: MAJOR.MINOR.PATCH For more information, see Semantic Versioning - // 2.0.0 (https://semver.org/). If you do not specify a version number, + // 2.0.0 (https://semver.org/). If you don't specify a version number, // CloudFormation increments the version number by one minor version release. You // cannot specify a version number the first time you publish a type. // CloudFormation automatically sets the first version number to be 1.0.0. diff --git a/service/cloudformation/api_op_RecordHandlerProgress.go b/service/cloudformation/api_op_RecordHandlerProgress.go index 4dfe4c0da70..d94c3b65076 100644 --- a/service/cloudformation/api_op_RecordHandlerProgress.go +++ b/service/cloudformation/api_op_RecordHandlerProgress.go @@ -14,7 +14,7 @@ import ( // Reports progress of a resource handler to CloudFormation. Reserved for use by // the CloudFormation CLI // (https://docs.aws.amazon.com/cloudformation-cli/latest/userguide/what-is-cloudformation-cli.html). -// Do not use this API in your code. +// Don't use this API in your code. func (c *Client) RecordHandlerProgress(ctx context.Context, params *RecordHandlerProgressInput, optFns ...func(*Options)) (*RecordHandlerProgressOutput, error) { if params == nil { params = &RecordHandlerProgressInput{} diff --git a/service/cloudformation/api_op_RegisterType.go b/service/cloudformation/api_op_RegisterType.go index 892576cd45c..ddc105b830f 100644 --- a/service/cloudformation/api_op_RegisterType.go +++ b/service/cloudformation/api_op_RegisterType.go @@ -15,17 +15,17 @@ import ( // makes it available for use in CloudFormation templates in your Amazon Web // Services account, and includes: // -// * Validating the extension schema +// * Validating the extension schema. // // * -// Determining which handlers, if any, have been specified for the extension +// Determining which handlers, if any, have been specified for the extension. // // * -// Making the extension available for use in your account +// Making the extension available for use in your account. // // For more information on -// how to develop extensions and ready them for registeration, see Creating -// Resource Providers +// how to develop extensions and ready them for registration, see Creating Resource +// Providers // (https://docs.aws.amazon.com/cloudformation-cli/latest/userguide/resource-types.html) // in the CloudFormation CLI User Guide. You can have a maximum of 50 resource // extension versions registered at a time. This maximum is per account and per @@ -54,13 +54,13 @@ func (c *Client) RegisterType(ctx context.Context, params *RegisterTypeInput, op type RegisterTypeInput struct { - // A url to the S3 bucket containing the extension project package that contains - // the neccessary files for the extension you want to register. For information on + // A URL to the S3 bucket containing the extension project package that contains + // the necessary files for the extension you want to register. For information on // generating a schema handler package for the extension you want to register, see // submit // (https://docs.aws.amazon.com/cloudformation-cli/latest/userguide/resource-type-cli-submit.html) // in the CloudFormation CLI User Guide. The user registering the extension must be - // able to access the package in the S3 bucket. That is, the user needs to have + // able to access the package in the S3 bucket. That's, the user needs to have // GetObject (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html) // permissions for the schema handler package. For more information, see Actions, // Resources, and Condition Keys for Amazon S3 @@ -80,7 +80,7 @@ type RegisterTypeInput struct { // company_or_organization::service::type::MODULE. // // The following organization - // namespaces are reserved and cannot be used in your extension names: + // namespaces are reserved and can't be used in your extension names: // // * Alexa // @@ -100,7 +100,7 @@ type RegisterTypeInput struct { // A unique identifier that acts as an idempotency key for this registration // request. Specifying a client request token prevents CloudFormation from - // generating more than one version of an extension from the same registeration + // generating more than one version of an extension from the same registration // request, even if the request is submitted multiple times. ClientRequestToken *string diff --git a/service/cloudformation/api_op_RollbackStack.go b/service/cloudformation/api_op_RollbackStack.go index fc1811297db..861f397204f 100644 --- a/service/cloudformation/api_op_RollbackStack.go +++ b/service/cloudformation/api_op_RollbackStack.go @@ -12,11 +12,11 @@ import ( // When specifying RollbackStack, you preserve the state of previously provisioned // resources when an operation fails. You can check the status of the stack through -// the DescribeStacks API. Rolls back the specified stack to the last known stable -// state from CREATE_FAILED or UPDATE_FAILED stack statuses. This operation will -// delete a stack if it doesn't contain a last known stable state. A last known -// stable state includes any status in a *_COMPLETE. This includes the following -// stack statuses. +// the DescribeStacks operation. Rolls back the specified stack to the last known +// stable state from CREATE_FAILED or UPDATE_FAILED stack statuses. This operation +// will delete a stack if it doesn't contain a last known stable state. A last +// known stable state includes any status in a *_COMPLETE. This includes the +// following stack statuses. // // * CREATE_COMPLETE // @@ -45,7 +45,7 @@ func (c *Client) RollbackStack(ctx context.Context, params *RollbackStackInput, type RollbackStackInput struct { - // The name that is associated with the stack. + // The name that's associated with the stack. // // This member is required. StackName *string diff --git a/service/cloudformation/api_op_SetStackPolicy.go b/service/cloudformation/api_op_SetStackPolicy.go index 4e9f3eb039f..e8f5ccef016 100644 --- a/service/cloudformation/api_op_SetStackPolicy.go +++ b/service/cloudformation/api_op_SetStackPolicy.go @@ -35,16 +35,16 @@ type SetStackPolicyInput struct { StackName *string // Structure containing the stack policy body. For more information, go to Prevent - // Updates to Stack Resources + // updates to stack resources // (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/protect-stack-resources.html) // in the CloudFormation User Guide. You can specify either the StackPolicyBody or // the StackPolicyURL parameter, but not both. StackPolicyBody *string // Location of a file containing the stack policy. The URL must point to a policy - // (maximum size: 16 KB) located in an S3 bucket in the same Region as the stack. - // You can specify either the StackPolicyBody or the StackPolicyURL parameter, but - // not both. + // (maximum size: 16 KB) located in an Amazon S3 bucket in the same Amazon Web + // Services Region as the stack. You can specify either the StackPolicyBody or the + // StackPolicyURL parameter, but not both. StackPolicyURL *string noSmithyDocumentSerde diff --git a/service/cloudformation/api_op_SetTypeConfiguration.go b/service/cloudformation/api_op_SetTypeConfiguration.go index 4a82aae576d..fb6ba5748e3 100644 --- a/service/cloudformation/api_op_SetTypeConfiguration.go +++ b/service/cloudformation/api_op_SetTypeConfiguration.go @@ -16,11 +16,11 @@ import ( // extension, refer to the ConfigurationSchema element of DescribeType. For more // information, see Configuring extensions at the account level // (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/registry-register.html#registry-set-configuration) -// in the CloudFormation User Guide. It is strongly recommended that you use -// dynamic references to restrict sensitive configuration definitions, such as -// third-party credentials. For more details on dynamic references, see Using -// dynamic references to specify template values (https://docs.aws.amazon.com/) in -// the CloudFormation User Guide. +// in the CloudFormation User Guide. It's strongly recommended that you use dynamic +// references to restrict sensitive configuration definitions, such as third-party +// credentials. For more details on dynamic references, see Using dynamic +// references to specify template values (https://docs.aws.amazon.com/) in the +// CloudFormation User Guide. func (c *Client) SetTypeConfiguration(ctx context.Context, params *SetTypeConfigurationInput, optFns ...func(*Options)) (*SetTypeConfigurationOutput, error) { if params == nil { params = &SetTypeConfigurationInput{} diff --git a/service/cloudformation/api_op_SignalResource.go b/service/cloudformation/api_op_SignalResource.go index 6ae03608087..c724280bcbf 100644 --- a/service/cloudformation/api_op_SignalResource.go +++ b/service/cloudformation/api_op_SignalResource.go @@ -12,10 +12,10 @@ import ( ) // Sends a signal to the specified resource with a success or failure status. You -// can use the SignalResource API in conjunction with a creation policy or update -// policy. CloudFormation doesn't proceed with a stack creation or update until -// resources receive the required number of signals or the timeout period is -// exceeded. The SignalResource API is useful in cases where you want to send +// can use the SignalResource operation in conjunction with a creation policy or +// update policy. CloudFormation doesn't proceed with a stack creation or update +// until resources receive the required number of signals or the timeout period is +// exceeded. The SignalResource operation is useful in cases where you want to send // signals from anywhere other than an Amazon EC2 instance. func (c *Client) SignalResource(ctx context.Context, params *SignalResourceInput, optFns ...func(*Options)) (*SignalResourceOutput, error) { if params == nil { diff --git a/service/cloudformation/api_op_StopStackSetOperation.go b/service/cloudformation/api_op_StopStackSetOperation.go index 173ae07547e..a4494de0642 100644 --- a/service/cloudformation/api_op_StopStackSetOperation.go +++ b/service/cloudformation/api_op_StopStackSetOperation.go @@ -12,7 +12,8 @@ import ( ) // Stops an in-progress operation on a stack set and its associated stack -// instances. +// instances. StackSets will cancel all the unstarted stack instance deployments +// and wait for those are in-progress to complete. func (c *Client) StopStackSetOperation(ctx context.Context, params *StopStackSetOperationInput, optFns ...func(*Options)) (*StopStackSetOperationOutput, error) { if params == nil { params = &StopStackSetOperationInput{} diff --git a/service/cloudformation/api_op_TestType.go b/service/cloudformation/api_op_TestType.go index 8a1d72dbbc8..c48ed4c4d6c 100644 --- a/service/cloudformation/api_op_TestType.go +++ b/service/cloudformation/api_op_TestType.go @@ -24,7 +24,7 @@ import ( // For more information, see Testing your public extension prior to // publishing // (https://docs.aws.amazon.com/cloudformation-cli/latest/userguide/publish-extension.html#publish-extension-testing) -// in the CloudFormation CLI User Guide. If you do not specify a version, +// in the CloudFormation CLI User Guide. If you don't specify a version, // CloudFormation uses the default version of the extension in your account and // region for testing. To perform testing, CloudFormation assumes the execution // role specified when the type was registered. For more information, see @@ -54,7 +54,7 @@ func (c *Client) TestType(ctx context.Context, params *TestTypeInput, optFns ... type TestTypeInput struct { - // The Amazon Resource Number (ARN) of the extension. Conditional: You must specify + // The Amazon Resource Name (ARN) of the extension. Conditional: You must specify // Arn, or TypeName and Type. Arn *string @@ -84,7 +84,7 @@ type TestTypeInput struct { TypeName *string // The version of the extension to test. You can specify the version id with either - // Arn, or with TypeName and Type. If you do not specify a version, CloudFormation + // Arn, or with TypeName and Type. If you don't specify a version, CloudFormation // uses the default version of the extension in this account and region for // testing. VersionId *string @@ -94,7 +94,7 @@ type TestTypeInput struct { type TestTypeOutput struct { - // The Amazon Resource Number (ARN) of the extension. + // The Amazon Resource Name (ARN) of the extension. TypeVersionArn *string // Metadata pertaining to the operation's result. diff --git a/service/cloudformation/api_op_UpdateStack.go b/service/cloudformation/api_op_UpdateStack.go index 2d04307ddac..43bc41e462d 100644 --- a/service/cloudformation/api_op_UpdateStack.go +++ b/service/cloudformation/api_op_UpdateStack.go @@ -12,10 +12,10 @@ import ( ) // Updates a stack as specified in the template. After the call completes -// successfully, the stack update starts. You can check the status of the stack via -// the DescribeStacks action. To get a copy of the template for an existing stack, -// you can use the GetTemplate action. For more information about creating an -// update template, updating a stack, and monitoring the progress of the update, +// successfully, the stack update starts. You can check the status of the stack +// through the DescribeStacks action. To get a copy of the template for an existing +// stack, you can use the GetTemplate action. For more information about creating +// an update template, updating a stack, and monitoring the progress of the update, // see Updating a Stack // (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks.html). func (c *Client) UpdateStack(ctx context.Context, params *UpdateStackInput, optFns ...func(*Options)) (*UpdateStackOutput, error) { @@ -166,7 +166,7 @@ type UpdateStackInput struct { // The Amazon Resource Name (ARN) of an Identity and Access Management (IAM) role // that CloudFormation assumes to update the stack. CloudFormation uses the role's // credentials to make calls on your behalf. CloudFormation always uses this role - // for all future operations on the stack. As long as users have permission to + // for all future operations on the stack. Provided that users have permission to // operate on the stack, CloudFormation uses this role even if the users don't have // permission to pass it. Ensure that the role grants least privilege. If you don't // specify a value, CloudFormation uses the role that was previously associated @@ -181,7 +181,7 @@ type UpdateStackInput struct { // Structure containing a new stack policy body. You can specify either the // StackPolicyBody or the StackPolicyURL parameter, but not both. You might update // the stack policy, for example, in order to protect a new resource that you - // created during a stack update. If you do not specify a stack policy, the current + // created during a stack update. If you don't specify a stack policy, the current // policy that is associated with the stack is unchanged. StackPolicyBody *string @@ -205,7 +205,7 @@ type UpdateStackInput struct { // policy (max size: 16KB) located in an S3 bucket in the same Region as the stack. // You can specify either the StackPolicyBody or the StackPolicyURL parameter, but // not both. You might update the stack policy, for example, in order to protect a - // new resource that you created during a stack update. If you do not specify a + // new resource that you created during a stack update. If you don't specify a // stack policy, the current policy that is associated with the stack is unchanged. StackPolicyURL *string @@ -225,7 +225,7 @@ type UpdateStackInput struct { TemplateBody *string // Location of file containing the template body. The URL must point to a template - // that is located in an Amazon S3 bucket or a Systems Manager document. For more + // that's located in an Amazon S3 bucket or a Systems Manager document. For more // information, go to Template Anatomy // (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/template-anatomy.html) // in the CloudFormation User Guide. Conditional: You must specify only one of the diff --git a/service/cloudformation/api_op_UpdateStackInstances.go b/service/cloudformation/api_op_UpdateStackInstances.go index 50ca43b3449..f265f9cbeee 100644 --- a/service/cloudformation/api_op_UpdateStackInstances.go +++ b/service/cloudformation/api_op_UpdateStackInstances.go @@ -13,12 +13,12 @@ import ( ) // Updates the parameter values for stack instances for the specified accounts, -// within the specified Regions. A stack instance refers to a stack in a specific -// account and Region. You can only update stack instances in Regions and accounts -// where they already exist; to create additional stack instances, use -// CreateStackInstances +// within the specified Amazon Web Services Regions. A stack instance refers to a +// stack in a specific account and Region. You can only update stack instances in +// Amazon Web Services Regions and accounts where they already exist; to create +// additional stack instances, use CreateStackInstances // (https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_CreateStackInstances.html). -// During stack set updates, any parameters overridden for a stack instance are not +// During stack set updates, any parameters overridden for a stack instance aren't // updated, but retain their overridden value. You can only update the parameter // values that are specified in the stack set; to add or delete a parameter itself, // use UpdateStackSet @@ -47,9 +47,10 @@ func (c *Client) UpdateStackInstances(ctx context.Context, params *UpdateStackIn type UpdateStackInstancesInput struct { - // The names of one or more Regions in which you want to update parameter values - // for stack instances. The overridden parameter values will be applied to all - // stack instances in the specified accounts and Regions. + // The names of one or more Amazon Web Services Regions in which you want to update + // parameter values for stack instances. The overridden parameter values will be + // applied to all stack instances in the specified accounts and Amazon Web Services + // Regions. // // This member is required. Regions []string @@ -62,8 +63,8 @@ type UpdateStackInstancesInput struct { // [Self-managed permissions] The names of one or more Amazon Web Services accounts // for which you want to update parameter values for stack instances. The // overridden parameter values will be applied to all stack instances in the - // specified accounts and Regions. You can specify Accounts or DeploymentTargets, - // but not both. + // specified accounts and Amazon Web Services Regions. You can specify Accounts or + // DeploymentTargets, but not both. Accounts []string // [Service-managed permissions] Specifies whether you are acting as an account @@ -103,31 +104,32 @@ type UpdateStackInstancesInput struct { // A list of input parameters whose values you want to update for the specified // stack instances. Any overridden parameter values will be applied to all stack - // instances in the specified accounts and Regions. When specifying parameters and - // their values, be aware of how CloudFormation sets parameter values during stack - // instance update operations: + // instances in the specified accounts and Amazon Web Services Regions. When + // specifying parameters and their values, be aware of how CloudFormation sets + // parameter values during stack instance update operations: // - // * To override the current value for a parameter, - // include the parameter and specify its value. + // * To override the + // current value for a parameter, include the parameter and specify its value. // - // * To leave an overridden parameter - // set to its present value, include the parameter and specify UsePreviousValue as - // true. (You cannot specify both a value and set UsePreviousValue to true.) + // * + // To leave an overridden parameter set to its present value, include the parameter + // and specify UsePreviousValue as true. (You can't specify both a value and set + // UsePreviousValue to true.) // - // * To - // set an overridden parameter back to the value specified in the stack set, - // specify a parameter list but do not include the parameter in the list. + // * To set an overridden parameter back to the value + // specified in the stack set, specify a parameter list but don't include the + // parameter in the list. // - // * To - // leave all parameters set to their present values, do not specify this property - // at all. + // * To leave all parameters set to their present values, + // don't specify this property at all. // - // During stack set updates, any parameter values overridden for a stack - // instance are not updated, but retain their overridden value. You can only - // override the parameter values that are specified in the stack set; to add or - // delete a parameter itself, use UpdateStackSet to update the stack set template. - // If you add a parameter to a template, before you can override the parameter - // value specified in the stack set you must first use UpdateStackSet + // During stack set updates, any parameter + // values overridden for a stack instance aren't updated, but retain their + // overridden value. You can only override the parameter values that are specified + // in the stack set; to add or delete a parameter itself, use UpdateStackSet to + // update the stack set template. If you add a parameter to a template, before you + // can override the parameter value specified in the stack set you must first use + // UpdateStackSet // (https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_UpdateStackSet.html) // to update all stack instances with the updated template and parameter value // specified in the stack set. Once a stack instance has been updated with the new diff --git a/service/cloudformation/api_op_UpdateStackSet.go b/service/cloudformation/api_op_UpdateStackSet.go index 52fe94544ca..b7820b19441 100644 --- a/service/cloudformation/api_op_UpdateStackSet.go +++ b/service/cloudformation/api_op_UpdateStackSet.go @@ -13,10 +13,11 @@ import ( ) // Updates the stack set, and associated stack instances in the specified accounts -// and Regions. Even if the stack set operation created by updating the stack set -// fails (completely or partially, below or above a specified failure tolerance), -// the stack set is updated with your changes. Subsequent CreateStackInstances -// calls on the specified stack set use the updated stack set. +// and Amazon Web Services Regions. Even if the stack set operation created by +// updating the stack set fails (completely or partially, below or above a +// specified failure tolerance), the stack set is updated with your changes. +// Subsequent CreateStackInstances calls on the specified stack set use the updated +// stack set. func (c *Client) UpdateStackSet(ctx context.Context, params *UpdateStackSetInput, optFns ...func(*Options)) (*UpdateStackSetOutput, error) { if params == nil { params = &UpdateStackSetInput{} @@ -40,17 +41,17 @@ type UpdateStackSetInput struct { StackSetName *string // [Self-managed permissions] The accounts in which to update associated stack - // instances. If you specify accounts, you must also specify the Regions in which - // to update stack set instances. To update all the stack instances associated with - // this stack set, do not specify the Accounts or Regions properties. If the stack - // set update includes changes to the template (that is, if the TemplateBody or - // TemplateURL properties are specified), or the Parameters property, - // CloudFormation marks all stack instances with a status of OUTDATED prior to - // updating the stack instances in the specified accounts and Regions. If the stack - // set update does not include changes to the template or parameters, - // CloudFormation updates the stack instances in the specified accounts and - // Regions, while leaving all other stack instances with their existing stack - // instance status. + // instances. If you specify accounts, you must also specify the Amazon Web + // Services Regions in which to update stack set instances. To update all the stack + // instances associated with this stack set, don't specify the Accounts or Regions + // properties. If the stack set update includes changes to the template (that is, + // if the TemplateBody or TemplateURL properties are specified), or the Parameters + // property, CloudFormation marks all stack instances with a status of OUTDATED + // prior to updating the stack instances in the specified accounts and Amazon Web + // Services Regions. If the stack set update does not include changes to the + // template or parameters, CloudFormation updates the stack instances in the + // specified accounts and Amazon Web Services Regions, while leaving all other + // stack instances with their existing stack instance status. Accounts []string // The Amazon Resource Number (ARN) of the IAM role to use to update this stack @@ -67,7 +68,7 @@ type UpdateStackSetInput struct { // [Service-managed permissions] Describes whether StackSets automatically deploys // to Organizations accounts that are added to a target organization or - // organizational unit (OU). If you specify AutoDeployment, do not specify + // organizational unit (OU). If you specify AutoDeployment, don't specify // DeploymentTargets or Regions. AutoDeployment *types.AutoDeployment @@ -168,10 +169,10 @@ type UpdateStackSetInput struct { // update includes changes to the template (that is, if TemplateBody or TemplateURL // is specified), or the Parameters, CloudFormation marks all stack instances with // a status of OUTDATED prior to updating the stack instances in the specified - // accounts and Regions. If the stack set update does not include changes to the - // template or parameters, CloudFormation updates the stack instances in the - // specified accounts and Regions, while leaving all other stack instances with - // their existing stack instance status. + // accounts and Amazon Web Services Regions. If the stack set update doesn't + // include changes to the template or parameters, CloudFormation updates the stack + // instances in the specified accounts and Regions, while leaving all other stack + // instances with their existing stack instance status. DeploymentTargets *types.DeploymentTargets // A brief description of updates that you are making. @@ -223,17 +224,17 @@ type UpdateStackSetInput struct { // (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-prereqs-service-managed.html). PermissionModel types.PermissionModels - // The Regions in which to update associated stack instances. If you specify - // Regions, you must also specify accounts in which to update stack set instances. - // To update all the stack instances associated with this stack set, do not specify - // the Accounts or Regions properties. If the stack set update includes changes to - // the template (that is, if the TemplateBody or TemplateURL properties are - // specified), or the Parameters property, CloudFormation marks all stack instances - // with a status of OUTDATED prior to updating the stack instances in the specified - // accounts and Regions. If the stack set update does not include changes to the - // template or parameters, CloudFormation updates the stack instances in the - // specified accounts and Regions, while leaving all other stack instances with - // their existing stack instance status. + // The Amazon Web Services Regions in which to update associated stack instances. + // If you specify Regions, you must also specify accounts in which to update stack + // set instances. To update all the stack instances associated with this stack set, + // do not specify the Accounts or Regions properties. If the stack set update + // includes changes to the template (that is, if the TemplateBody or TemplateURL + // properties are specified), or the Parameters property, CloudFormation marks all + // stack instances with a status of OUTDATED prior to updating the stack instances + // in the specified accounts and Regions. If the stack set update does not include + // changes to the template or parameters, CloudFormation updates the stack + // instances in the specified accounts and Regions, while leaving all other stack + // instances with their existing stack instance status. Regions []string // The key-value pairs to associate with this stack set and the stacks created from @@ -247,7 +248,7 @@ type UpdateStackSetInput struct { // // * If you // specify any tags using this parameter, you must specify all the tags that you - // want associated with this stack set, even tags you've specifed before (for + // want associated with this stack set, even tags you've specified before (for // example, when creating the stack set or during a previous update of the stack // set.). Any tags that you don't include in the updated list of tags are removed // from the stack set, and therefore from the stacks and resources as well. diff --git a/service/cloudformation/api_op_UpdateTerminationProtection.go b/service/cloudformation/api_op_UpdateTerminationProtection.go index 85d38ed2971..b59a1927948 100644 --- a/service/cloudformation/api_op_UpdateTerminationProtection.go +++ b/service/cloudformation/api_op_UpdateTerminationProtection.go @@ -17,8 +17,8 @@ import ( // (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-protect-stacks.html) // in the CloudFormation User Guide. For nested stacks // (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-nested-stacks.html), -// termination protection is set on the root stack and cannot be changed directly -// on the nested stack. +// termination protection is set on the root stack and can't be changed directly on +// the nested stack. func (c *Client) UpdateTerminationProtection(ctx context.Context, params *UpdateTerminationProtectionInput, optFns ...func(*Options)) (*UpdateTerminationProtectionOutput, error) { if params == nil { params = &UpdateTerminationProtectionInput{} diff --git a/service/cloudformation/deserializers.go b/service/cloudformation/deserializers.go index 39a66348f42..0423b6e730f 100644 --- a/service/cloudformation/deserializers.go +++ b/service/cloudformation/deserializers.go @@ -1741,6 +1741,114 @@ func awsAwsquery_deserializeOpErrorDescribeChangeSet(response *smithyhttp.Respon } } +type awsAwsquery_deserializeOpDescribeChangeSetHooks struct { +} + +func (*awsAwsquery_deserializeOpDescribeChangeSetHooks) ID() string { + return "OperationDeserializer" +} + +func (m *awsAwsquery_deserializeOpDescribeChangeSetHooks) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( + out middleware.DeserializeOutput, metadata middleware.Metadata, err error, +) { + out, metadata, err = next.HandleDeserialize(ctx, in) + if err != nil { + return out, metadata, err + } + + response, ok := out.RawResponse.(*smithyhttp.Response) + if !ok { + return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} + } + + if response.StatusCode < 200 || response.StatusCode >= 300 { + return out, metadata, awsAwsquery_deserializeOpErrorDescribeChangeSetHooks(response, &metadata) + } + output := &DescribeChangeSetHooksOutput{} + out.Result = output + + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + body := io.TeeReader(response.Body, ringBuffer) + rootDecoder := xml.NewDecoder(body) + t, err := smithyxml.FetchRootElement(rootDecoder) + if err == io.EOF { + return out, metadata, nil + } + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + return out, metadata, &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + } + + decoder := smithyxml.WrapNodeDecoder(rootDecoder, t) + t, err = decoder.GetElement("DescribeChangeSetHooksResult") + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return out, metadata, err + } + + decoder = smithyxml.WrapNodeDecoder(decoder.Decoder, t) + err = awsAwsquery_deserializeOpDocumentDescribeChangeSetHooksOutput(&output, decoder) + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return out, metadata, err + } + + return out, metadata, err +} + +func awsAwsquery_deserializeOpErrorDescribeChangeSetHooks(response *smithyhttp.Response, metadata *middleware.Metadata) error { + var errorBuffer bytes.Buffer + if _, err := io.Copy(&errorBuffer, response.Body); err != nil { + return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} + } + errorBody := bytes.NewReader(errorBuffer.Bytes()) + + errorCode := "UnknownError" + errorMessage := errorCode + + errorComponents, err := awsxml.GetErrorResponseComponents(errorBody, false) + if err != nil { + return err + } + if reqID := errorComponents.RequestID; len(reqID) != 0 { + awsmiddleware.SetRequestIDMetadata(metadata, reqID) + } + if len(errorComponents.Code) != 0 { + errorCode = errorComponents.Code + } + if len(errorComponents.Message) != 0 { + errorMessage = errorComponents.Message + } + errorBody.Seek(0, io.SeekStart) + switch { + case strings.EqualFold("ChangeSetNotFound", errorCode): + return awsAwsquery_deserializeErrorChangeSetNotFoundException(response, errorBody) + + default: + genericError := &smithy.GenericAPIError{ + Code: errorCode, + Message: errorMessage, + } + return genericError + + } +} + type awsAwsquery_deserializeOpDescribePublisher struct { } @@ -8714,7 +8822,254 @@ func awsAwsquery_deserializeDocumentChange(v **types.Change, decoder smithyxml.N } var sv *types.Change if *v == nil { - sv = &types.Change{} + sv = &types.Change{} + } else { + sv = *v + } + + for { + t, done, err := decoder.Token() + if err != nil { + return err + } + if done { + break + } + originalDecoder := decoder + decoder = smithyxml.WrapNodeDecoder(originalDecoder.Decoder, t) + switch { + case strings.EqualFold("HookInvocationCount", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + i64, err := strconv.ParseInt(xtv, 10, 64) + if err != nil { + return err + } + sv.HookInvocationCount = ptr.Int32(int32(i64)) + } + + case strings.EqualFold("ResourceChange", t.Name.Local): + nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) + if err := awsAwsquery_deserializeDocumentResourceChange(&sv.ResourceChange, nodeDecoder); err != nil { + return err + } + + case strings.EqualFold("Type", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + sv.Type = types.ChangeType(xtv) + } + + default: + // Do nothing and ignore the unexpected tag element + err = decoder.Decoder.Skip() + if err != nil { + return err + } + + } + decoder = originalDecoder + } + *v = sv + return nil +} + +func awsAwsquery_deserializeDocumentChanges(v *[]types.Change, decoder smithyxml.NodeDecoder) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + var sv []types.Change + if *v == nil { + sv = make([]types.Change, 0) + } else { + sv = *v + } + + originalDecoder := decoder + for { + t, done, err := decoder.Token() + if err != nil { + return err + } + if done { + break + } + switch { + case strings.EqualFold("member", t.Name.Local): + var col types.Change + nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) + destAddr := &col + if err := awsAwsquery_deserializeDocumentChange(&destAddr, nodeDecoder); err != nil { + return err + } + col = *destAddr + sv = append(sv, col) + + default: + err = decoder.Decoder.Skip() + if err != nil { + return err + } + + } + decoder = originalDecoder + } + *v = sv + return nil +} + +func awsAwsquery_deserializeDocumentChangesUnwrapped(v *[]types.Change, decoder smithyxml.NodeDecoder) error { + var sv []types.Change + if *v == nil { + sv = make([]types.Change, 0) + } else { + sv = *v + } + + switch { + default: + var mv types.Change + t := decoder.StartEl + _ = t + nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) + destAddr := &mv + if err := awsAwsquery_deserializeDocumentChange(&destAddr, nodeDecoder); err != nil { + return err + } + mv = *destAddr + sv = append(sv, mv) + } + *v = sv + return nil +} +func awsAwsquery_deserializeDocumentChangeSetHook(v **types.ChangeSetHook, decoder smithyxml.NodeDecoder) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + var sv *types.ChangeSetHook + if *v == nil { + sv = &types.ChangeSetHook{} + } else { + sv = *v + } + + for { + t, done, err := decoder.Token() + if err != nil { + return err + } + if done { + break + } + originalDecoder := decoder + decoder = smithyxml.WrapNodeDecoder(originalDecoder.Decoder, t) + switch { + case strings.EqualFold("FailureMode", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + sv.FailureMode = types.HookFailureMode(xtv) + } + + case strings.EqualFold("InvocationPoint", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + sv.InvocationPoint = types.HookInvocationPoint(xtv) + } + + case strings.EqualFold("TargetDetails", t.Name.Local): + nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) + if err := awsAwsquery_deserializeDocumentChangeSetHookTargetDetails(&sv.TargetDetails, nodeDecoder); err != nil { + return err + } + + case strings.EqualFold("TypeConfigurationVersionId", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + sv.TypeConfigurationVersionId = ptr.String(xtv) + } + + case strings.EqualFold("TypeName", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + sv.TypeName = ptr.String(xtv) + } + + case strings.EqualFold("TypeVersionId", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + sv.TypeVersionId = ptr.String(xtv) + } + + default: + // Do nothing and ignore the unexpected tag element + err = decoder.Decoder.Skip() + if err != nil { + return err + } + + } + decoder = originalDecoder + } + *v = sv + return nil +} + +func awsAwsquery_deserializeDocumentChangeSetHookResourceTargetDetails(v **types.ChangeSetHookResourceTargetDetails, decoder smithyxml.NodeDecoder) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + var sv *types.ChangeSetHookResourceTargetDetails + if *v == nil { + sv = &types.ChangeSetHookResourceTargetDetails{} } else { sv = *v } @@ -8730,13 +9085,20 @@ func awsAwsquery_deserializeDocumentChange(v **types.Change, decoder smithyxml.N originalDecoder := decoder decoder = smithyxml.WrapNodeDecoder(originalDecoder.Decoder, t) switch { - case strings.EqualFold("ResourceChange", t.Name.Local): - nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) - if err := awsAwsquery_deserializeDocumentResourceChange(&sv.ResourceChange, nodeDecoder); err != nil { + case strings.EqualFold("LogicalResourceId", t.Name.Local): + val, err := decoder.Value() + if err != nil { return err } + if val == nil { + break + } + { + xtv := string(val) + sv.LogicalResourceId = ptr.String(xtv) + } - case strings.EqualFold("Type", t.Name.Local): + case strings.EqualFold("ResourceAction", t.Name.Local): val, err := decoder.Value() if err != nil { return err @@ -8746,7 +9108,20 @@ func awsAwsquery_deserializeDocumentChange(v **types.Change, decoder smithyxml.N } { xtv := string(val) - sv.Type = types.ChangeType(xtv) + sv.ResourceAction = types.ChangeAction(xtv) + } + + case strings.EqualFold("ResourceType", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + sv.ResourceType = ptr.String(xtv) } default: @@ -8763,13 +9138,13 @@ func awsAwsquery_deserializeDocumentChange(v **types.Change, decoder smithyxml.N return nil } -func awsAwsquery_deserializeDocumentChanges(v *[]types.Change, decoder smithyxml.NodeDecoder) error { +func awsAwsquery_deserializeDocumentChangeSetHooks(v *[]types.ChangeSetHook, decoder smithyxml.NodeDecoder) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) } - var sv []types.Change + var sv []types.ChangeSetHook if *v == nil { - sv = make([]types.Change, 0) + sv = make([]types.ChangeSetHook, 0) } else { sv = *v } @@ -8785,10 +9160,10 @@ func awsAwsquery_deserializeDocumentChanges(v *[]types.Change, decoder smithyxml } switch { case strings.EqualFold("member", t.Name.Local): - var col types.Change + var col types.ChangeSetHook nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) destAddr := &col - if err := awsAwsquery_deserializeDocumentChange(&destAddr, nodeDecoder); err != nil { + if err := awsAwsquery_deserializeDocumentChangeSetHook(&destAddr, nodeDecoder); err != nil { return err } col = *destAddr @@ -8807,22 +9182,22 @@ func awsAwsquery_deserializeDocumentChanges(v *[]types.Change, decoder smithyxml return nil } -func awsAwsquery_deserializeDocumentChangesUnwrapped(v *[]types.Change, decoder smithyxml.NodeDecoder) error { - var sv []types.Change +func awsAwsquery_deserializeDocumentChangeSetHooksUnwrapped(v *[]types.ChangeSetHook, decoder smithyxml.NodeDecoder) error { + var sv []types.ChangeSetHook if *v == nil { - sv = make([]types.Change, 0) + sv = make([]types.ChangeSetHook, 0) } else { sv = *v } switch { default: - var mv types.Change + var mv types.ChangeSetHook t := decoder.StartEl _ = t nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) destAddr := &mv - if err := awsAwsquery_deserializeDocumentChange(&destAddr, nodeDecoder); err != nil { + if err := awsAwsquery_deserializeDocumentChangeSetHook(&destAddr, nodeDecoder); err != nil { return err } mv = *destAddr @@ -8831,6 +9206,61 @@ func awsAwsquery_deserializeDocumentChangesUnwrapped(v *[]types.Change, decoder *v = sv return nil } +func awsAwsquery_deserializeDocumentChangeSetHookTargetDetails(v **types.ChangeSetHookTargetDetails, decoder smithyxml.NodeDecoder) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + var sv *types.ChangeSetHookTargetDetails + if *v == nil { + sv = &types.ChangeSetHookTargetDetails{} + } else { + sv = *v + } + + for { + t, done, err := decoder.Token() + if err != nil { + return err + } + if done { + break + } + originalDecoder := decoder + decoder = smithyxml.WrapNodeDecoder(originalDecoder.Decoder, t) + switch { + case strings.EqualFold("ResourceTargetDetails", t.Name.Local): + nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) + if err := awsAwsquery_deserializeDocumentChangeSetHookResourceTargetDetails(&sv.ResourceTargetDetails, nodeDecoder); err != nil { + return err + } + + case strings.EqualFold("TargetType", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + sv.TargetType = types.HookTargetType(xtv) + } + + default: + // Do nothing and ignore the unexpected tag element + err = decoder.Decoder.Skip() + if err != nil { + return err + } + + } + decoder = originalDecoder + } + *v = sv + return nil +} + func awsAwsquery_deserializeDocumentChangeSetNotFoundException(v **types.ChangeSetNotFoundException, decoder smithyxml.NodeDecoder) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) @@ -12905,6 +13335,71 @@ func awsAwsquery_deserializeDocumentStackEvent(v **types.StackEvent, decoder smi sv.EventId = ptr.String(xtv) } + case strings.EqualFold("HookFailureMode", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + sv.HookFailureMode = types.HookFailureMode(xtv) + } + + case strings.EqualFold("HookInvocationPoint", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + sv.HookInvocationPoint = types.HookInvocationPoint(xtv) + } + + case strings.EqualFold("HookStatus", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + sv.HookStatus = types.HookStatus(xtv) + } + + case strings.EqualFold("HookStatusReason", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + sv.HookStatusReason = ptr.String(xtv) + } + + case strings.EqualFold("HookType", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + sv.HookType = ptr.String(xtv) + } + case strings.EqualFold("LogicalResourceId", t.Name.Local): val, err := decoder.Value() if err != nil { @@ -18474,6 +18969,126 @@ func awsAwsquery_deserializeOpDocumentDescribeAccountLimitsOutput(v **DescribeAc return nil } +func awsAwsquery_deserializeOpDocumentDescribeChangeSetHooksOutput(v **DescribeChangeSetHooksOutput, decoder smithyxml.NodeDecoder) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + var sv *DescribeChangeSetHooksOutput + if *v == nil { + sv = &DescribeChangeSetHooksOutput{} + } else { + sv = *v + } + + for { + t, done, err := decoder.Token() + if err != nil { + return err + } + if done { + break + } + originalDecoder := decoder + decoder = smithyxml.WrapNodeDecoder(originalDecoder.Decoder, t) + switch { + case strings.EqualFold("ChangeSetId", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + sv.ChangeSetId = ptr.String(xtv) + } + + case strings.EqualFold("ChangeSetName", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + sv.ChangeSetName = ptr.String(xtv) + } + + case strings.EqualFold("Hooks", t.Name.Local): + nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) + if err := awsAwsquery_deserializeDocumentChangeSetHooks(&sv.Hooks, nodeDecoder); err != nil { + return err + } + + case strings.EqualFold("NextToken", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + sv.NextToken = ptr.String(xtv) + } + + case strings.EqualFold("StackId", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + sv.StackId = ptr.String(xtv) + } + + case strings.EqualFold("StackName", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + sv.StackName = ptr.String(xtv) + } + + case strings.EqualFold("Status", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + sv.Status = types.ChangeSetHooksStatus(xtv) + } + + default: + // Do nothing and ignore the unexpected tag element + err = decoder.Decoder.Skip() + if err != nil { + return err + } + + } + decoder = originalDecoder + } + *v = sv + return nil +} + func awsAwsquery_deserializeOpDocumentDescribeChangeSetOutput(v **DescribeChangeSetOutput, decoder smithyxml.NodeDecoder) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) diff --git a/service/cloudformation/doc.go b/service/cloudformation/doc.go index c2a2ee047cd..361ec87e6ab 100644 --- a/service/cloudformation/doc.go +++ b/service/cloudformation/doc.go @@ -3,18 +3,18 @@ // Package cloudformation provides the API client, operations, and parameter types // for AWS CloudFormation. // -// AWS CloudFormation CloudFormation allows you to create and manage Amazon Web +// CloudFormation CloudFormation allows you to create and manage Amazon Web // Services infrastructure deployments predictably and repeatedly. You can use // CloudFormation to leverage Amazon Web Services products, such as Amazon Elastic // Compute Cloud, Amazon Elastic Block Store, Amazon Simple Notification Service, -// Elastic Load Balancing, and Auto Scaling to build highly-reliable, highly +// Elastic Load Balancing, and Auto Scaling to build highly reliable, highly // scalable, cost-effective applications without creating or configuring the // underlying Amazon Web Services infrastructure. With CloudFormation, you declare -// all of your resources and dependencies in a template file. The template defines -// a collection of resources as a single unit called a stack. CloudFormation -// creates and deletes all member resources of the stack together and manages all +// all your resources and dependencies in a template file. The template defines a +// collection of resources as a single unit called a stack. CloudFormation creates +// and deletes all member resources of the stack together and manages all // dependencies between the resources for you. For more information about -// CloudFormation, see the CloudFormation Product Page +// CloudFormation, see the CloudFormation product page // (http://aws.amazon.com/cloudformation/). CloudFormation makes use of other // Amazon Web Services products. If you need additional technical information about // a specific Amazon Web Services product, you can find the product's technical diff --git a/service/cloudformation/generated.json b/service/cloudformation/generated.json index 42444553ea4..9f75c77a2e5 100644 --- a/service/cloudformation/generated.json +++ b/service/cloudformation/generated.json @@ -25,6 +25,7 @@ "api_op_DeregisterType.go", "api_op_DescribeAccountLimits.go", "api_op_DescribeChangeSet.go", + "api_op_DescribeChangeSetHooks.go", "api_op_DescribePublisher.go", "api_op_DescribeStackDriftDetectionStatus.go", "api_op_DescribeStackEvents.go", diff --git a/service/cloudformation/serializers.go b/service/cloudformation/serializers.go index bc3db4efdbc..e072c9824a4 100644 --- a/service/cloudformation/serializers.go +++ b/service/cloudformation/serializers.go @@ -1040,6 +1040,70 @@ func (m *awsAwsquery_serializeOpDescribeChangeSet) HandleSerialize(ctx context.C return next.HandleSerialize(ctx, in) } +type awsAwsquery_serializeOpDescribeChangeSetHooks struct { +} + +func (*awsAwsquery_serializeOpDescribeChangeSetHooks) ID() string { + return "OperationSerializer" +} + +func (m *awsAwsquery_serializeOpDescribeChangeSetHooks) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( + out middleware.SerializeOutput, metadata middleware.Metadata, err error, +) { + request, ok := in.Request.(*smithyhttp.Request) + if !ok { + return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} + } + + input, ok := in.Parameters.(*DescribeChangeSetHooksInput) + _ = input + if !ok { + return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} + } + + operationPath := "/" + if len(request.Request.URL.Path) == 0 { + request.Request.URL.Path = operationPath + } else { + request.Request.URL.Path = path.Join(request.Request.URL.Path, operationPath) + if request.Request.URL.Path != "/" && operationPath[len(operationPath)-1] == '/' { + request.Request.URL.Path += "/" + } + } + request.Request.Method = "POST" + httpBindingEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header) + if err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + httpBindingEncoder.SetHeader("Content-Type").String("application/x-www-form-urlencoded") + + bodyWriter := bytes.NewBuffer(nil) + bodyEncoder := query.NewEncoder(bodyWriter) + body := bodyEncoder.Object() + body.Key("Action").String("DescribeChangeSetHooks") + body.Key("Version").String("2010-05-15") + + if err := awsAwsquery_serializeOpDocumentDescribeChangeSetHooksInput(input, bodyEncoder.Value); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + err = bodyEncoder.Encode() + if err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + if request, err = request.SetStream(bytes.NewReader(bodyWriter.Bytes())); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + if request.Request, err = httpBindingEncoder.Encode(request.Request); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + in.Request = request + + return next.HandleSerialize(ctx, in) +} + type awsAwsquery_serializeOpDescribePublisher struct { } @@ -5383,6 +5447,33 @@ func awsAwsquery_serializeOpDocumentDescribeAccountLimitsInput(v *DescribeAccoun return nil } +func awsAwsquery_serializeOpDocumentDescribeChangeSetHooksInput(v *DescribeChangeSetHooksInput, value query.Value) error { + object := value.Object() + _ = object + + if v.ChangeSetName != nil { + objectKey := object.Key("ChangeSetName") + objectKey.String(*v.ChangeSetName) + } + + if v.LogicalResourceId != nil { + objectKey := object.Key("LogicalResourceId") + objectKey.String(*v.LogicalResourceId) + } + + if v.NextToken != nil { + objectKey := object.Key("NextToken") + objectKey.String(*v.NextToken) + } + + if v.StackName != nil { + objectKey := object.Key("StackName") + objectKey.String(*v.StackName) + } + + return nil +} + func awsAwsquery_serializeOpDocumentDescribeChangeSetInput(v *DescribeChangeSetInput, value query.Value) error { object := value.Object() _ = object diff --git a/service/cloudformation/types/enums.go b/service/cloudformation/types/enums.go index a15d65d9dcf..00de6de193e 100644 --- a/service/cloudformation/types/enums.go +++ b/service/cloudformation/types/enums.go @@ -106,6 +106,26 @@ func (ChangeAction) Values() []ChangeAction { } } +type ChangeSetHooksStatus string + +// Enum values for ChangeSetHooksStatus +const ( + ChangeSetHooksStatusPlanning ChangeSetHooksStatus = "PLANNING" + ChangeSetHooksStatusPlanned ChangeSetHooksStatus = "PLANNED" + ChangeSetHooksStatusUnavailable ChangeSetHooksStatus = "UNAVAILABLE" +) + +// Values returns all known values for ChangeSetHooksStatus. Note that this can be +// expanded in the future, and so it is only as up to date as the client. The +// ordering of this slice is not guaranteed to be stable across updates. +func (ChangeSetHooksStatus) Values() []ChangeSetHooksStatus { + return []ChangeSetHooksStatus{ + "PLANNING", + "PLANNED", + "UNAVAILABLE", + } +} + type ChangeSetStatus string // Enum values for ChangeSetStatus @@ -297,6 +317,9 @@ const ( HandlerErrorCodeNetworkFailure HandlerErrorCode = "NetworkFailure" HandlerErrorCodeInternalFailure HandlerErrorCode = "InternalFailure" HandlerErrorCodeInvalidTypeConfiguration HandlerErrorCode = "InvalidTypeConfiguration" + HandlerErrorCodeHandlerInternalFailure HandlerErrorCode = "HandlerInternalFailure" + HandlerErrorCodeNonCompliant HandlerErrorCode = "NonCompliant" + HandlerErrorCodeUnknown HandlerErrorCode = "Unknown" ) // Values returns all known values for HandlerErrorCode. Note that this can be @@ -319,6 +342,81 @@ func (HandlerErrorCode) Values() []HandlerErrorCode { "NetworkFailure", "InternalFailure", "InvalidTypeConfiguration", + "HandlerInternalFailure", + "NonCompliant", + "Unknown", + } +} + +type HookFailureMode string + +// Enum values for HookFailureMode +const ( + HookFailureModeFail HookFailureMode = "FAIL" + HookFailureModeWarn HookFailureMode = "WARN" +) + +// Values returns all known values for HookFailureMode. Note that this can be +// expanded in the future, and so it is only as up to date as the client. The +// ordering of this slice is not guaranteed to be stable across updates. +func (HookFailureMode) Values() []HookFailureMode { + return []HookFailureMode{ + "FAIL", + "WARN", + } +} + +type HookInvocationPoint string + +// Enum values for HookInvocationPoint +const ( + HookInvocationPointPreProvision HookInvocationPoint = "PRE_PROVISION" +) + +// Values returns all known values for HookInvocationPoint. Note that this can be +// expanded in the future, and so it is only as up to date as the client. The +// ordering of this slice is not guaranteed to be stable across updates. +func (HookInvocationPoint) Values() []HookInvocationPoint { + return []HookInvocationPoint{ + "PRE_PROVISION", + } +} + +type HookStatus string + +// Enum values for HookStatus +const ( + HookStatusHookInProgress HookStatus = "HOOK_IN_PROGRESS" + HookStatusHookCompleteSucceeded HookStatus = "HOOK_COMPLETE_SUCCEEDED" + HookStatusHookCompleteFailed HookStatus = "HOOK_COMPLETE_FAILED" + HookStatusHookFailed HookStatus = "HOOK_FAILED" +) + +// Values returns all known values for HookStatus. Note that this can be expanded +// in the future, and so it is only as up to date as the client. The ordering of +// this slice is not guaranteed to be stable across updates. +func (HookStatus) Values() []HookStatus { + return []HookStatus{ + "HOOK_IN_PROGRESS", + "HOOK_COMPLETE_SUCCEEDED", + "HOOK_COMPLETE_FAILED", + "HOOK_FAILED", + } +} + +type HookTargetType string + +// Enum values for HookTargetType +const ( + HookTargetTypeResource HookTargetType = "RESOURCE" +) + +// Values returns all known values for HookTargetType. Note that this can be +// expanded in the future, and so it is only as up to date as the client. The +// ordering of this slice is not guaranteed to be stable across updates. +func (HookTargetType) Values() []HookTargetType { + return []HookTargetType{ + "RESOURCE", } } @@ -484,6 +582,7 @@ type RegistryType string const ( RegistryTypeResource RegistryType = "RESOURCE" RegistryTypeModule RegistryType = "MODULE" + RegistryTypeHook RegistryType = "HOOK" ) // Values returns all known values for RegistryType. Note that this can be expanded @@ -493,6 +592,7 @@ func (RegistryType) Values() []RegistryType { return []RegistryType{ "RESOURCE", "MODULE", + "HOOK", } } @@ -983,6 +1083,7 @@ type ThirdPartyType string const ( ThirdPartyTypeResource ThirdPartyType = "RESOURCE" ThirdPartyTypeModule ThirdPartyType = "MODULE" + ThirdPartyTypeHook ThirdPartyType = "HOOK" ) // Values returns all known values for ThirdPartyType. Note that this can be @@ -992,6 +1093,7 @@ func (ThirdPartyType) Values() []ThirdPartyType { return []ThirdPartyType{ "RESOURCE", "MODULE", + "HOOK", } } diff --git a/service/cloudformation/types/errors.go b/service/cloudformation/types/errors.go index e4dc6c63467..7fb0287d103 100644 --- a/service/cloudformation/types/errors.go +++ b/service/cloudformation/types/errors.go @@ -46,7 +46,7 @@ func (e *CFNRegistryException) ErrorCode() string { return "CFNRegis func (e *CFNRegistryException) ErrorFault() smithy.ErrorFault { return smithy.FaultClient } // The specified change set name or ID doesn't exit. To view valid change sets for -// a stack, use the ListChangeSets action. +// a stack, use the ListChangeSets operation. type ChangeSetNotFoundException struct { Message *string @@ -148,7 +148,7 @@ func (e *InvalidOperationException) ErrorFault() smithy.ErrorFault { return smit // Error reserved for use by the CloudFormation CLI // (https://docs.aws.amazon.com/cloudformation-cli/latest/userguide/what-is-cloudformation-cli.html). -// CloudFormation does not return this error to users. +// CloudFormation doesn't return this error to users. type InvalidStateTransitionException struct { Message *string @@ -168,7 +168,7 @@ func (e *InvalidStateTransitionException) ErrorCode() string { retur func (e *InvalidStateTransitionException) ErrorFault() smithy.ErrorFault { return smithy.FaultClient } // The quota for the resource has already been reached. For information on resource -// and stack limitations, see Limits +// and stack limitations, see CloudFormation quotas // (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cloudformation-limits.html) // in the CloudFormation User Guide. type LimitExceededException struct { @@ -270,7 +270,7 @@ func (e *OperationNotFoundException) ErrorFault() smithy.ErrorFault { return smi // Error reserved for use by the CloudFormation CLI // (https://docs.aws.amazon.com/cloudformation-cli/latest/userguide/what-is-cloudformation-cli.html). -// CloudFormation does not return this error to users. +// CloudFormation doesn't return this error to users. type OperationStatusCheckFailedException struct { Message *string @@ -310,7 +310,7 @@ func (e *StackInstanceNotFoundException) ErrorMessage() string { func (e *StackInstanceNotFoundException) ErrorCode() string { return "StackInstanceNotFoundException" } func (e *StackInstanceNotFoundException) ErrorFault() smithy.ErrorFault { return smithy.FaultClient } -// The specified stack ARN doesn’t exist or stack doesn’t exist corresponding to +// The specified stack ARN doesn't exist or stack doesn't exist corresponding to // the ARN in input. type StackNotFoundException struct { Message *string @@ -409,7 +409,7 @@ func (e *TokenAlreadyExistsException) ErrorMessage() string { func (e *TokenAlreadyExistsException) ErrorCode() string { return "TokenAlreadyExistsException" } func (e *TokenAlreadyExistsException) ErrorFault() smithy.ErrorFault { return smithy.FaultClient } -// The specified extension configuration cannot be found. +// The specified extension configuration can't be found. type TypeConfigurationNotFoundException struct { Message *string @@ -432,7 +432,7 @@ func (e *TypeConfigurationNotFoundException) ErrorFault() smithy.ErrorFault { return smithy.FaultClient } -// The specified extension does not exist in the CloudFormation registry. +// The specified extension doesn't exist in the CloudFormation registry. type TypeNotFoundException struct { Message *string diff --git a/service/cloudformation/types/types.go b/service/cloudformation/types/types.go index e343e81de27..5b735be404c 100644 --- a/service/cloudformation/types/types.go +++ b/service/cloudformation/types/types.go @@ -28,8 +28,8 @@ type AccountGateResult struct { // account and Region. // // * FAILED: The account gate function has determined that the - // account and Region does not meet the requirements for a stack set operation to - // occur. AWS CloudFormation cancels the stack set operation in that account and + // account and Region doesn't meet the requirements for a stack set operation to + // occur. CloudFormation cancels the stack set operation in that account and // Region, and sets the stack set operation result status for that account and // Region to FAILED. // @@ -37,12 +37,12 @@ type AccountGateResult struct { // gate function for this account and Region, for one of the following reasons: // // * - // An account gate function has not been specified for the account and Region. + // An account gate function hasn't been specified for the account and Region. // CloudFormation proceeds with the stack set operation in this account and // Region. // // * The AWSCloudFormationStackSetExecutionRole of the stack set - // adminstration account lacks permissions to invoke the function. CloudFormation + // administration account lacks permissions to invoke the function. CloudFormation // proceeds with the stack set operation in this account and Region. // // * Either no @@ -68,7 +68,7 @@ type AccountGateResult struct { // stack outputs // // For more information about these account limits, and other -// CloudFormation limits, see CloudFormation Limits +// CloudFormation limits, see CloudFormation quotas // (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/cloudformation-limits.html) // in the CloudFormation User Guide. type AccountLimit struct { @@ -77,7 +77,7 @@ type AccountLimit struct { // StackOutputsLimit Name *string - // The value that is associated with the account limit name. + // The value that's associated with the account limit name. Value *int32 noSmithyDocumentSerde @@ -123,6 +123,10 @@ type BatchDescribeTypeConfigurationsError struct { // execute the change set. type Change struct { + // Is either null, if no hooks invoke for the resource, or contains the number of + // hooks that will invoke for the resource. + HookInvocationCount *int32 + // A ResourceChange structure that describes the resource and action that // CloudFormation will perform. ResourceChange *ResourceChange @@ -134,6 +138,80 @@ type Change struct { noSmithyDocumentSerde } +// Specifies the resource, the hook, and the hook version to be invoked. +type ChangeSetHook struct { + + // Specify the hook failure mode for non-compliant resources in the followings + // ways. + // + // * FAIL Stops provisioning resources. + // + // * WARN Allows provisioning to + // continue with a warning message. + FailureMode HookFailureMode + + // Specifies the points in provisioning logic where a hook is invoked. + InvocationPoint HookInvocationPoint + + // Specifies details about the target that the hook will run against. + TargetDetails *ChangeSetHookTargetDetails + + // The version ID of the type configuration. + TypeConfigurationVersionId *string + + // The unique name for your hook. Specifies a three-part namespace for your hook, + // with a recommended pattern of Organization::Service::Hook. The following + // organization namespaces are reserved and can't be used in your hook type + // names: + // + // * Alexa + // + // * AMZN + // + // * Amazon + // + // * ASK + // + // * AWS + // + // * Custom + // + // * Dev + TypeName *string + + // The version ID of the type specified. + TypeVersionId *string + + noSmithyDocumentSerde +} + +// Specifies RESOURCE type target details for activated hooks. +type ChangeSetHookResourceTargetDetails struct { + + // The resource's logical ID, which is defined in the stack's template. + LogicalResourceId *string + + // Specifies the action of the resource. + ResourceAction ChangeAction + + // The type of CloudFormation resource, such as AWS::S3::Bucket. + ResourceType *string + + noSmithyDocumentSerde +} + +// Specifies target details for an activated hook. +type ChangeSetHookTargetDetails struct { + + // Required if TargetType is RESOURCE. + ResourceTargetDetails *ChangeSetHookResourceTargetDetails + + // The name of the type. + TargetType HookTargetType + + noSmithyDocumentSerde +} + // The ChangeSetSummary structure describes a change set, its status, and the stack // with which it's associated. type ChangeSetSummary struct { @@ -151,7 +229,7 @@ type ChangeSetSummary struct { Description *string // If the change set execution status is AVAILABLE, you can execute the change set. - // If you can’t execute the change set, the status indicates why. For example, a + // If you can't execute the change set, the status indicates why. For example, a // change set might be in an UNAVAILABLE state because CloudFormation is still // creating it or in an OBSOLETE state because the stack was already updated. ExecutionStatus ExecutionStatus @@ -183,11 +261,11 @@ type ChangeSetSummary struct { } // [Service-managed permissions] The Organizations accounts to which StackSets -// deploys. StackSets does not deploy stack instances to the organization -// management account, even if the organization management account is in your -// organization or in an OU in your organization. For update operations, you can -// specify either Accounts or OrganizationalUnitIds. For create and delete -// operations, specify OrganizationalUnitIds. +// deploys. StackSets doesn't deploy stack instances to the organization management +// account, even if the organization management account is in your organization or +// in an OU in your organization. For update operations, you can specify either +// Accounts or OrganizationalUnitIds. For create and delete operations, specify +// OrganizationalUnitIds. type DeploymentTargets struct { // The names of one or more Amazon Web Services accounts for which you want to @@ -225,14 +303,14 @@ type Export struct { // Contains logging configuration information for an extension. type LoggingConfig struct { - // The Amazon CloudWatch log group to which CloudFormation sends error logging + // The Amazon CloudWatch Logs group to which CloudFormation sends error logging // information when invoking the extension's handlers. // // This member is required. LogGroupName *string - // The ARN of the role that CloudFormation should assume when sending log entries - // to CloudWatch logs. + // The Amazon Resource Name (ARN) of the role that CloudFormation should assume + // when sending log entries to CloudWatch Logs. // // This member is required. LogRoleArn *string @@ -262,19 +340,19 @@ type ManagedExecution struct { // configurations in the CloudFormation User Guide. type ModuleInfo struct { - // A concantenated list of the logical IDs of the module or modules containing the + // A concatenated list of the logical IDs of the module or modules containing the // resource. Modules are listed starting with the inner-most nested module, and // separated by /. In the following example, the resource was created from a - // module, moduleA, that is nested inside a parent module, moduleB. moduleA/moduleB + // module, moduleA, that's nested inside a parent module, moduleB. moduleA/moduleB // For more information, see Referencing resources in a module in the // CloudFormation User Guide. LogicalIdHierarchy *string - // A concantenated list of the the module type or types containing the resource. - // Module types are listed starting with the inner-most nested module, and - // separated by /. In the following example, the resource was created from a module - // of type AWS::First::Example::MODULE, that is nested inside a parent module of - // type AWS::Second::Example::MODULE. + // A concatenated list of the module type or types containing the resource. Module + // types are listed starting with the inner-most nested module, and separated by /. + // In the following example, the resource was created from a module of type + // AWS::First::Example::MODULE, that's nested inside a parent module of type + // AWS::Second::Example::MODULE. // AWS::First::Example::MODULE/AWS::Second::Example::MODULE TypeHierarchy *string @@ -303,15 +381,15 @@ type Output struct { type Parameter struct { // The key associated with the parameter. If you don't specify a key and value for - // a particular parameter, CloudFormation uses the default value that is specified + // a particular parameter, CloudFormation uses the default value that's specified // in your template. ParameterKey *string // The input value associated with the parameter. ParameterValue *string - // Read-only. Read-only. The value that corresponds to a SSM parameter key. This - // field is returned only for SSM + // Read-only. The value that corresponds to a SSM parameter key. This field is + // returned only for SSM // (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/parameters-section-structure.html#aws-ssm-parameter-types) // parameter types in the template. ResolvedValue *string @@ -341,7 +419,7 @@ type ParameterDeclaration struct { // The default value of the parameter. DefaultValue *string - // The description that is associate with the parameter. + // The description that's associate with the parameter. Description *string // Flag that indicates whether the parameter value is shown as plain text in logs @@ -351,7 +429,7 @@ type ParameterDeclaration struct { // The criteria that CloudFormation uses to validate parameter values. ParameterConstraints *ParameterConstraints - // The name that is associated with the parameter. + // The name that's associated with the parameter. ParameterKey *string // The type of parameter. @@ -362,7 +440,7 @@ type ParameterDeclaration struct { // Context information that enables CloudFormation to uniquely identify a resource. // CloudFormation uses context key-value pairs in cases where a resource's logical -// and physical IDs are not enough to uniquely identify that resource. Each context +// and physical IDs aren't enough to uniquely identify that resource. Each context // key-value pair specifies a resource that contains the targeted resource. type PhysicalResourceIdContextKeyValuePair struct { @@ -395,7 +473,7 @@ type PropertyDifference struct { // The type of property difference. // // * ADD: A value has been added to a resource - // property that is an array or list data type. + // property that's an array or list data type. // // * REMOVE: The property has been // removed from the current resource configuration. @@ -458,7 +536,7 @@ type ResourceChange struct { // The action that CloudFormation takes on the resource, such as Add (adds a new // resource), Modify (changes a resource), Remove (deletes a resource), Import - // (imports a resource), or Dynamic (exact action for the resource cannot be + // (imports a resource), or Dynamic (exact action for the resource can't be // determined). Action ChangeAction @@ -508,7 +586,7 @@ type ResourceChange struct { type ResourceChangeDetail struct { // The identity of the entity that triggered this change. This entity is a member - // of the group that is specified by the ChangeSource field. For example, if you + // of the group that's specified by the ChangeSource field. For example, if you // modified the value of the KeyPairName parameter, the CausingEntity is the name // of the parameter (KeyPairName). If the ChangeSource value is DirectModification, // no value is given for CausingEntity. @@ -545,10 +623,10 @@ type ResourceChangeDetail struct { // evaluations, CloudFormation can determine that the target value will change, and // its value. For example, if you directly modify the InstanceType property of an // EC2 instance, CloudFormation knows that this property value will change, and its - // value, so this is a Static evaluation. For Dynamic evaluations, cannot determine + // value, so this is a Static evaluation. For Dynamic evaluations, can't determine // the target value because it depends on the result of an intrinsic function, such // as a Ref or Fn::GetAtt intrinsic function, when the stack is updated. For - // example, if your template includes a reference to a resource that is + // example, if your template includes a reference to a resource that's // conditionally recreated, the value of the reference (the physical ID of the // resource) might change, depending on if the resource is recreated. If the // resource is recreated, it will have a new physical ID, so all references to that @@ -644,7 +722,7 @@ type RollbackConfiguration struct { // The amount of time, in minutes, during which CloudFormation should monitor all // the rollback triggers after the stack creation or update operation deploys all // necessary resources. The default is 0 minutes. If you specify a monitoring - // period but do not specify any rollback triggers, CloudFormation still waits the + // period but don't specify any rollback triggers, CloudFormation still waits the // specified period of time before cleaning up old resources after update // operations. You can use this monitoring period to perform any manual stack // validation desired, and manually cancel the stack creation or update (using @@ -668,7 +746,7 @@ type RollbackConfiguration struct { // // * To specify new or updated rollback // triggers, you must specify all the triggers that you want used for this stack, - // even triggers you've specifed before (for example, when creating the stack or + // even triggers you've specified before (for example, when creating the stack or // during a previous stack update). Any triggers that you don't include in the // updated list of triggers are no longer applied to the stack. // @@ -740,9 +818,9 @@ type Stack struct { // Boolean to enable or disable rollback on stack creation failures: // // * true: - // disable rollback + // disable rollback. // - // * false: enable rollback + // * false: enable rollback. DisableRollback *bool // Information on whether a stack's actual configuration differs, or has drifted, @@ -765,7 +843,8 @@ type Stack struct { // stack has been updated at least once. LastUpdatedTime *time.Time - // SNS topic ARNs to which stack related events are published. + // Amazon SNS topic Amazon Resource Names (ARNs) to which stack related events are + // published. NotificationARNs []string // A list of output structures. @@ -783,7 +862,7 @@ type Stack struct { ParentId *string // The Amazon Resource Name (ARN) of an Identity and Access Management (IAM) role - // that is associated with the stack. During a stack operation, CloudFormation uses + // that's associated with the stack. During a stack operation, CloudFormation uses // this role's credentials to make calls on your behalf. RoleARN *string @@ -826,7 +905,7 @@ type StackDriftInformation struct { // configuration. A stack is considered to have drifted if one or more of its // resources have drifted. // - // * NOT_CHECKED: CloudFormation has not checked if the + // * NOT_CHECKED: CloudFormation hasn't checked if the // stack differs from its expected template configuration. // // * IN_SYNC: The stack's @@ -858,7 +937,7 @@ type StackDriftInformationSummary struct { // configuration. A stack is considered to have drifted if one or more of its // resources have drifted. // - // * NOT_CHECKED: CloudFormation has not checked if the + // * NOT_CHECKED: CloudFormation hasn't checked if the // stack differs from its expected template configuration. // // * IN_SYNC: The stack's @@ -913,6 +992,27 @@ type StackEvent struct { // Console-CreateStack-7f59c3cf-00d2-40c7-b2ff-e75db0987002. ClientRequestToken *string + // Specify the hook failure mode for non-compliant resources in the followings + // ways. + // + // * FAIL Stops provisioning resources. + // + // * WARN Allows provisioning to + // continue with a warning message. + HookFailureMode HookFailureMode + + // Invocation points are points in provisioning logic where hooks are initiated. + HookInvocationPoint HookInvocationPoint + + // Provides the status of the change set hook. + HookStatus HookStatus + + // Provides the reason for the hook status. + HookStatusReason *string + + // The name of the hook. + HookType *string + // The logical name of the resource specified in the template. LogicalResourceId *string @@ -943,7 +1043,7 @@ type StackEvent struct { // stack in a given account within a given Region. A stack instance can exist // without a stack—for example, if the stack couldn't be created for some reason. A // stack instance is associated with only one stack set. Each stack instance -// contains the ID of its associated stack set, as well as the ID of the actual +// contains the ID of its associated stack set, in addition to the ID of the actual // stack and the stack status. type StackInstance struct { @@ -960,7 +1060,7 @@ type StackInstance struct { // considered to have drifted if one or more of the resources in the associated // stack have drifted. // - // * NOT_CHECKED: CloudFormation has not checked if the stack + // * NOT_CHECKED: CloudFormation hasn't checked if the stack // instance differs from its expected stack set configuration. // // * IN_SYNC: The @@ -972,7 +1072,7 @@ type StackInstance struct { // Most recent time when CloudFormation performed a drift detection operation on // the stack instance. This value will be NULL for any stack instance on which - // drift detection has not yet been performed. + // drift detection hasn't yet been performed. LastDriftCheckTimestamp *time.Time // [Service-managed permissions] The organization root ID or organizational unit @@ -1021,7 +1121,7 @@ type StackInstance struct { // the stack set. Status StackInstanceStatus - // The explanation for the specific status code that is assigned to this stack + // The explanation for the specific status code that's assigned to this stack // instance. StatusReason *string @@ -1032,7 +1132,7 @@ type StackInstance struct { type StackInstanceComprehensiveStatus struct { // * CANCELLED: The operation in the specified account and Region has been - // cancelled. This is either because a user has stopped the stack set operation, or + // canceled. This is either because a user has stopped the stack set operation, or // because the failure tolerance of the stack set operation has been exceeded. // // * @@ -1088,7 +1188,7 @@ type StackInstanceSummary struct { // considered to have drifted if one or more of the resources in the associated // stack have drifted. // - // * NOT_CHECKED: CloudFormation has not checked if the stack + // * NOT_CHECKED: CloudFormation hasn't checked if the stack // instance differs from its expected stack set configuration. // // * IN_SYNC: The @@ -1100,7 +1200,7 @@ type StackInstanceSummary struct { // Most recent time when CloudFormation performed a drift detection operation on // the stack instance. This value will be NULL for any stack instance on which - // drift detection has not yet been performed. + // drift detection hasn't yet been performed. LastDriftCheckTimestamp *time.Time // [Service-managed permissions] The organization root ID or organizational unit @@ -1164,10 +1264,10 @@ type StackResource struct { // This member is required. ResourceStatus ResourceStatus - // Type of resource. (For more information, go to Amazon Web Services Resource - // Types Reference + // Type of resource. For more information, go to Amazon Web Services Resource Types + // Reference // (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-template-resource-type-ref.html) - // in the CloudFormation User Guide.) + // in the CloudFormation User Guide. // // This member is required. ResourceType *string @@ -1225,10 +1325,10 @@ type StackResourceDetail struct { // This member is required. ResourceStatus ResourceStatus - // Type of resource. ((For more information, go to Amazon Web Services Resource - // Types Reference + // Type of resource. For more information, go to Amazon Web Services Resource Types + // Reference // (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-template-resource-type-ref.html) - // in the CloudFormation User Guide.) + // in the CloudFormation User Guide. // // This member is required. ResourceType *string @@ -1275,7 +1375,7 @@ type StackResourceDetail struct { // in the stack template are checked for drift. For more information, see Detecting // Unregulated Configuration Changes to Stacks and Resources // (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-stack-drift.html). -// Resources that do not currently support drift detection cannot be checked. For a +// Resources that don't currently support drift detection can't be checked. For a // list of resources that support drift detection, see Resources that Support Drift // Detection // (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-stack-drift-resource-list.html). @@ -1300,7 +1400,7 @@ type StackResourceDrift struct { StackId *string // Status of the resource's actual configuration compared to its expected - // configuration + // configuration. // // * DELETED: The resource differs from its expected template // configuration because the resource has been deleted. @@ -1310,7 +1410,7 @@ type StackResourceDrift struct { // template and any values specified as template parameters). // // * IN_SYNC: The - // resources's actual configuration matches its expected template configuration. + // resource's actual configuration matches its expected template configuration. // // * // NOT_CHECKED: CloudFormation does not currently return this value. @@ -1344,7 +1444,7 @@ type StackResourceDrift struct { // Context information that enables CloudFormation to uniquely identify a resource. // CloudFormation uses context key-value pairs in cases where a resource's logical - // and physical IDs are not enough to uniquely identify that resource. Each context + // and physical IDs aren't enough to uniquely identify that resource. Each context // key-value pair specifies a unique resource that contains the targeted resource. PhysicalResourceIdContext []PhysicalResourceIdContextKeyValuePair @@ -1376,8 +1476,7 @@ type StackResourceDriftInformation struct { // (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-stack-drift-resource-list.html). // // * - // IN_SYNC: The resources's actual configuration matches its expected - // configuration. + // IN_SYNC: The resource's actual configuration matches its expected configuration. // // This member is required. StackResourceDriftStatus StackResourceDriftStatus @@ -1394,7 +1493,7 @@ type StackResourceDriftInformation struct { type StackResourceDriftInformationSummary struct { // Status of the resource's actual configuration compared to its expected - // configuration + // configuration. // // * DELETED: The resource differs from its expected configuration // in that it has been deleted. @@ -1402,8 +1501,8 @@ type StackResourceDriftInformationSummary struct { // * MODIFIED: The resource differs from its expected // configuration. // - // * NOT_CHECKED: CloudFormation has not checked if the resource - // differs from its expected configuration. Any resources that do not currently + // * NOT_CHECKED: CloudFormation hasn't checked if the resource + // differs from its expected configuration. Any resources that don't currently // support drift detection have a status of NOT_CHECKED. For more information, see // Resources that Support Drift Detection // (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-stack-drift-resource-list.html). @@ -1414,7 +1513,7 @@ type StackResourceDriftInformationSummary struct { // (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-continueupdaterollback.html) // in the CloudFormation User Guide. // - // * IN_SYNC: The resources's actual + // * IN_SYNC: The resource's actual // configuration matches its expected configuration. // // This member is required. @@ -1477,8 +1576,8 @@ type StackResourceSummary struct { // A structure that contains information about a stack set. A stack set enables you // to provision stacks into Amazon Web Services accounts and across Regions by // using a single CloudFormation template. In the stack set, you specify the -// template to use, as well as any parameters and capabilities that the template -// requires. +// template to use, in addition to any parameters and capabilities that the +// template requires. type StackSet struct { // The Amazon Resource Number (ARN) of the IAM role used to create or update the @@ -1543,7 +1642,7 @@ type StackSet struct { // Detailed information about the drift status of the stack set. For stack sets, // contains information about the last completed drift operation performed on the - // stack set. Information about drift operations currently in progress is not + // stack set. Information about drift operations currently in progress isn't // included. StackSetDriftDetectionDetails *StackSetDriftDetectionDetails @@ -1569,10 +1668,10 @@ type StackSet struct { // Detailed information about the drift status of the stack set. For stack sets, // contains information about the last completed drift operation performed on the -// stack set. Information about drift operations in-progress is not included. For +// stack set. Information about drift operations in-progress isn't included. For // stack set operations, includes information about drift operations currently -// being performed on the stack set. For more information, see Detecting Unmanaged -// Changes in Stack Sets +// being performed on the stack set. For more information, see Detecting unmanaged +// changes in stack sets // (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-drift.html) // in the CloudFormation User Guide. type StackSetDriftDetectionDetails struct { @@ -1592,7 +1691,7 @@ type StackSetDriftDetectionDetails struct { // * IN_PROGRESS: The drift detection // operation is currently being performed. // - // * STOPPED: The user has cancelled the + // * STOPPED: The user has canceled the // drift detection operation. DriftDetectionStatus StackSetDriftDetectionStatus @@ -1607,7 +1706,7 @@ type StackSetDriftDetectionDetails struct { // or more of the resources in the associated stack have drifted. // // * NOT_CHECKED: - // CloudFormation has not checked the stack set for drift. + // CloudFormation hasn't checked the stack set for drift. // // * IN_SYNC: All of the // stack instances belonging to the stack set stack match from the expected @@ -1616,7 +1715,7 @@ type StackSetDriftDetectionDetails struct { // The number of stack instances that have drifted from the expected template and // parameter configuration of the stack set. A stack instance is considered to have - // drifted if one or more of the resources in the associated stack do not match + // drifted if one or more of the resources in the associated stack don't match // their expected configuration. DriftedStackInstancesCount int32 @@ -1632,7 +1731,7 @@ type StackSetDriftDetectionDetails struct { // Most recent time when CloudFormation performed a drift detection operation on // the stack set. This value will be NULL for any stack set on which drift - // detection has not yet been performed. + // detection hasn't yet been performed. LastDriftCheckTimestamp *time.Time // The total number of stack instances belonging to this stack set. The total @@ -1659,7 +1758,7 @@ type StackSetOperation struct { // The type of stack set operation: CREATE, UPDATE, or DELETE. Create and delete // operations affect only the specified stack set instances that are associated // with the specified stack set. Update operations affect both the stack set - // itself, as well as all associated stack set instances. + // itself, in addition to all associated stack set instances. Action StackSetOperationAction // The Amazon Resource Number (ARN) of the IAM role used to perform this stack set @@ -1699,13 +1798,13 @@ type StackSetOperation struct { // For stack set operations of action type DELETE, specifies whether to remove the // stack instances from the specified stack set, but doesn't delete the stacks. You - // can't reassociate a retained stack, or add an existing, saved stack to a new + // can't re-associate a retained stack, or add an existing, saved stack to a new // stack set. RetainStacks *bool // Detailed information about the drift status of the stack set. This includes // information about drift operations currently being performed on the stack set. - // this information will only be present for stack set operations whose Action type + // This information will only be present for stack set operations whose Action type // is DETECT_DRIFT. For more information, see Detecting Unmanaged Changes in Stack // Sets // (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/stacksets-drift.html) @@ -1735,7 +1834,7 @@ type StackSetOperation struct { // * RUNNING: The operation is currently being // performed. // - // * STOPPED: The user has cancelled the operation. + // * STOPPED: The user has canceled the operation. // // * STOPPING: The // operation is in the process of stopping, at user request. @@ -1771,8 +1870,8 @@ type StackSetOperationPreferences struct { FailureTolerancePercentage *int32 // The maximum number of accounts in which to perform this operation at one time. - // This is dependent on the value of FailureToleranceCount. MaxConcurrentCount is - // at most one more than the FailureToleranceCount. Note that this setting lets you + // This is dependent on the value of FailureToleranceCount.MaxConcurrentCount is at + // most one more than the FailureToleranceCount. Note that this setting lets you // specify the maximum for operations. For large deployments, under certain // circumstances the actual number of accounts acted upon concurrently may be lower // due to service throttling. Conditional: You must specify either @@ -1810,7 +1909,7 @@ type StackSetOperationResultSummary struct { Account *string // The results of the account gate function CloudFormation invokes, if present, - // before proceeding with stack set operations in an account + // before proceeding with stack set operations in an account. AccountGateResult *AccountGateResult // [Service-managed permissions] The organization root ID or organizational unit @@ -1825,7 +1924,7 @@ type StackSetOperationResultSummary struct { // Region. // // * CANCELLED: The operation in the specified account and Region has been - // cancelled. This is either because a user has stopped the stack set operation, or + // canceled. This is either because a user has stopped the stack set operation, or // because the failure tolerance of the stack set operation has been exceeded. // // * @@ -1855,8 +1954,8 @@ type StackSetOperationSummary struct { // The type of operation: CREATE, UPDATE, or DELETE. Create and delete operations // affect only the specified stack instances that are associated with the specified - // stack set. Update operations affect both the stack set itself as well as all - // associated stack set instances. + // stack set. Update operations affect both the stack set itself and all associated + // stack set instances. Action StackSetOperationAction // The time at which the operation was initiated. Note that the creation times for @@ -1894,7 +1993,7 @@ type StackSetOperationSummary struct { // * RUNNING: The operation is currently being // performed. // - // * STOPPED: The user has cancelled the operation. + // * STOPPED: The user has canceled the operation. // // * STOPPING: The // operation is in the process of stopping, at user request. @@ -1929,19 +2028,18 @@ type StackSetSummary struct { // or more of the resources in the associated stack have drifted. // // * NOT_CHECKED: - // CloudFormation has not checked the stack set for drift. + // CloudFormation hasn't checked the stack set for drift. // - // * IN_SYNC: All of the - // stack instances belonging to the stack set stack match from the expected - // template and parameter configuration. + // * IN_SYNC: All the stack + // instances belonging to the stack set stack match from the expected template and + // parameter configuration. // - // * UNKNOWN: This value is reserved for - // future use. + // * UNKNOWN: This value is reserved for future use. DriftStatus StackDriftStatus // Most recent time when CloudFormation performed a drift detection operation on // the stack set. This value will be NULL for any stack set on which drift - // detection has not yet been performed. + // detection hasn't yet been performed. LastDriftCheckTimestamp *time.Time // Describes whether StackSets performs non-conflicting operations concurrently and @@ -2089,7 +2187,7 @@ type TypeConfigurationDetails struct { Arn *string // A JSON string specifying the configuration data for the extension, in this - // account and region. If a configuration has not been set for a specified + // account and region. If a configuration hasn't been set for a specified // extension, CloudFormation returns {}. Configuration *string @@ -2098,7 +2196,7 @@ type TypeConfigurationDetails struct { IsDefaultConfiguration *bool // When the configuration data was last updated for this extension. If a - // configuration has not been set for a specified extension, CloudFormation returns + // configuration hasn't been set for a specified extension, CloudFormation returns // null. LastUpdated *time.Time @@ -2170,8 +2268,8 @@ type TypeFilters struct { // Extensions available for use from Amazon. Category Category - // The id of the publisher of the extension. Extensions published by Amazon are not - // assigned a publisher ID. Use the AWS_TYPE category to specify a list of types + // The id of the publisher of the extension. Extensions published by Amazon aren't + // assigned a publisher ID. Use the AWS_TYPES category to specify a list of types // published by Amazon. PublisherId *string @@ -2185,7 +2283,7 @@ type TypeFilters struct { type TypeSummary struct { // The ID of the default version of the extension. The default version is used when - // the extension version is not specified. This applies only to private extensions + // the extension version isn't specified. This applies only to private extensions // you have registered in your account. For public extensions, both those provided // by Amazon and published by third parties, CloudFormation returns null. For more // information, see RegisterType @@ -2221,7 +2319,7 @@ type TypeSummary struct { // latest version of the public extension that is available. For any extensions // other than activated third-arty extensions, CloudFormation returns null. How you // specified AutoUpdate when enabling the extension affects whether CloudFormation - // automatically updates the extention in this account and region when a new + // automatically updates the extension in this account and region when a new // version is released. For more information, see Setting CloudFormation to // automatically use new versions of extensions // (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/registry-public.html#registry-public-enable-auto) @@ -2240,8 +2338,8 @@ type TypeSummary struct { // For public extensions that have been activated for this account and region, the // version of the public extension to be used for CloudFormation operations in this - // account and region. How you specified AutoUpdate when enabling the extension - // affects whether CloudFormation automatically updates the extention in this + // account and Region. How you specified AutoUpdate when enabling the extension + // affects whether CloudFormation automatically updates the extension in this // account and region when a new version is released. For more information, see // Setting CloudFormation to automatically use new versions of extensions // (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/registry-public.html#registry-public-enable-auto) @@ -2249,7 +2347,7 @@ type TypeSummary struct { PublicVersionNumber *string // The ID of the extension publisher, if the extension is published by a third - // party. Extensions published by Amazon do not return a publisher ID. + // party. Extensions published by Amazon don't return a publisher ID. PublisherId *string // The service used to verify the publisher identity. For more information, see @@ -2290,8 +2388,8 @@ type TypeVersionSummary struct { // Whether the specified extension version is set as the default version. This // applies only to private extensions you have registered in your account, and - // extensions published by Amazon. For public third-party extensions, whether or - // not they are activated in your account, CloudFormation returns null. + // extensions published by Amazon. For public third-party extensions, + // CloudFormation returns null. IsDefaultVersion *bool // For public extensions that have been activated for this account and region, the @@ -2299,7 +2397,7 @@ type TypeVersionSummary struct { // account and region. For any extensions other than activated third-arty // extensions, CloudFormation returns null. How you specified AutoUpdate when // enabling the extension affects whether CloudFormation automatically updates the - // extention in this account and region when a new version is released. For more + // extension in this account and region when a new version is released. For more // information, see Setting CloudFormation to automatically use new versions of // extensions // (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/registry-public.html#registry-public-enable-auto) @@ -2317,7 +2415,7 @@ type TypeVersionSummary struct { // The ID of a specific version of the extension. The version ID is the value at // the end of the Amazon Resource Name (ARN) assigned to the extension version when - // it is registered. + // it's registered. VersionId *string noSmithyDocumentSerde diff --git a/service/cloudformation/validators.go b/service/cloudformation/validators.go index 618b1b123f2..74b1605f696 100644 --- a/service/cloudformation/validators.go +++ b/service/cloudformation/validators.go @@ -250,6 +250,26 @@ func (m *validateOpDeleteStackSet) HandleInitialize(ctx context.Context, in midd return next.HandleInitialize(ctx, in) } +type validateOpDescribeChangeSetHooks struct { +} + +func (*validateOpDescribeChangeSetHooks) ID() string { + return "OperationInputValidation" +} + +func (m *validateOpDescribeChangeSetHooks) HandleInitialize(ctx context.Context, in middleware.InitializeInput, next middleware.InitializeHandler) ( + out middleware.InitializeOutput, metadata middleware.Metadata, err error, +) { + input, ok := in.Parameters.(*DescribeChangeSetHooksInput) + if !ok { + return out, metadata, fmt.Errorf("unknown input parameters type %T", in.Parameters) + } + if err := validateOpDescribeChangeSetHooksInput(input); err != nil { + return out, metadata, err + } + return next.HandleInitialize(ctx, in) +} + type validateOpDescribeChangeSet struct { } @@ -918,6 +938,10 @@ func addOpDeleteStackSetValidationMiddleware(stack *middleware.Stack) error { return stack.Initialize.Add(&validateOpDeleteStackSet{}, middleware.After) } +func addOpDescribeChangeSetHooksValidationMiddleware(stack *middleware.Stack) error { + return stack.Initialize.Add(&validateOpDescribeChangeSetHooks{}, middleware.After) +} + func addOpDescribeChangeSetValidationMiddleware(stack *middleware.Stack) error { return stack.Initialize.Add(&validateOpDescribeChangeSet{}, middleware.After) } @@ -1406,6 +1430,21 @@ func validateOpDeleteStackSetInput(v *DeleteStackSetInput) error { } } +func validateOpDescribeChangeSetHooksInput(v *DescribeChangeSetHooksInput) error { + if v == nil { + return nil + } + invalidParams := smithy.InvalidParamsError{Context: "DescribeChangeSetHooksInput"} + if v.ChangeSetName == nil { + invalidParams.Add(smithy.NewErrParamRequired("ChangeSetName")) + } + if invalidParams.Len() > 0 { + return invalidParams + } else { + return nil + } +} + func validateOpDescribeChangeSetInput(v *DescribeChangeSetInput) error { if v == nil { return nil diff --git a/service/codepipeline/internal/endpoints/endpoints.go b/service/codepipeline/internal/endpoints/endpoints.go index a22c4948bcd..b5c3756391c 100644 --- a/service/codepipeline/internal/endpoints/endpoints.go +++ b/service/codepipeline/internal/endpoints/endpoints.go @@ -300,6 +300,14 @@ var defaultPartitions = endpoints.Partitions{ }, RegionRegex: partitionRegexp.AwsCn, IsRegionalized: true, + Endpoints: endpoints.Endpoints{ + endpoints.EndpointKey{ + Region: "cn-north-1", + }: endpoints.Endpoint{}, + endpoints.EndpointKey{ + Region: "cn-northwest-1", + }: endpoints.Endpoint{}, + }, }, { ID: "aws-iso", diff --git a/service/cognitoidentityprovider/api_op_AdminConfirmSignUp.go b/service/cognitoidentityprovider/api_op_AdminConfirmSignUp.go index 4267df2a11f..f98ec09a23c 100644 --- a/service/cognitoidentityprovider/api_op_AdminConfirmSignUp.go +++ b/service/cognitoidentityprovider/api_op_AdminConfirmSignUp.go @@ -51,20 +51,19 @@ type AdminConfirmSignUpInput struct { // your workflow for your specific needs. For more information, see Customizing // User Pool Workflows with Lambda Triggers // (https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-identity-pools-working-with-aws-lambda-triggers.html) - // in the Amazon Cognito Developer Guide. Take the following limitations into - // consideration when you use the ClientMetadata parameter: + // in the Amazon Cognito Developer Guide. When you use the ClientMetadata + // parameter, remember that Amazon Cognito won't do the following: // - // * Amazon Cognito does - // not store the ClientMetadata value. This data is available only to Lambda - // triggers that are assigned to a user pool to support custom workflows. If your - // user pool configuration does not include triggers, the ClientMetadata parameter - // serves no purpose. + // * Store the + // ClientMetadata value. This data is available only to Lambda triggers that are + // assigned to a user pool to support custom workflows. If your user pool + // configuration doesn't include triggers, the ClientMetadata parameter serves no + // purpose. // - // * Amazon Cognito does not validate the ClientMetadata - // value. + // * Validate the ClientMetadata value. // - // * Amazon Cognito does not encrypt the the ClientMetadata value, so don't - // use it to provide sensitive information. + // * Encrypt the ClientMetadata + // value. Don't use Amazon Cognito to provide sensitive information. ClientMetadata map[string]string noSmithyDocumentSerde diff --git a/service/cognitoidentityprovider/api_op_AdminCreateUser.go b/service/cognitoidentityprovider/api_op_AdminCreateUser.go index 767d4da3a5f..ff765f17a88 100644 --- a/service/cognitoidentityprovider/api_op_AdminCreateUser.go +++ b/service/cognitoidentityprovider/api_op_AdminCreateUser.go @@ -11,28 +11,29 @@ import ( smithyhttp "github.com/aws/smithy-go/transport/http" ) -// Creates a new user in the specified user pool. If MessageAction is not set, the +// Creates a new user in the specified user pool. If MessageAction isn't set, the // default is to send a welcome message via email or phone (SMS). This action might -// generate an SMS text message. Starting June 1, 2021, U.S. telecom carriers -// require that you register an origination phone number before you can send SMS -// messages to U.S. phone numbers. If you use SMS text messages in Amazon Cognito, -// you must register a phone number with Amazon Pinpoint -// (https://console.aws.amazon.com/pinpoint/home/). Cognito will use the the -// registered number automatically. Otherwise, Cognito users that must receive SMS -// messages might be unable to sign up, activate their accounts, or sign in. If you -// have never used SMS text messages with Amazon Cognito or any other Amazon Web -// Service, Amazon SNS might place your account in SMS sandbox. In sandbox mode -// (https://docs.aws.amazon.com/sns/latest/dg/sns-sms-sandbox.html) , you’ll have -// limitations, such as sending messages to only verified phone numbers. After +// generate an SMS text message. Starting June 1, 2021, US telecom carriers require +// you to register an origination phone number before you can send SMS messages to +// U.S. phone numbers. If you use SMS text messages in Amazon Cognito, you must +// register a phone number with Amazon Pinpoint +// (https://console.aws.amazon.com/pinpoint/home/). Amazon Cognito will use the +// registered number automatically. Otherwise, Amazon Cognito users that must +// receive SMS messages might be unable to sign up, activate their accounts, or +// sign in. If you have never used SMS text messages with Amazon Cognito or any +// other Amazon Web Service, Amazon Simple Notification Service might place your +// account in SMS sandbox. In sandbox mode +// (https://docs.aws.amazon.com/sns/latest/dg/sns-sms-sandbox.html) , you will have +// limitations, such as sending messages only to verified phone numbers. After // testing in the sandbox environment, you can move out of the SMS sandbox and into -// production. For more information, see SMS message settings for Cognito User -// Pools +// production. For more information, see SMS message settings for Amazon Cognito +// User Pools // (https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-identity-pools-sms-userpool-settings.html) // in the Amazon Cognito Developer Guide. This message is based on a template that // you configured in your call to create or update a user pool. This template // includes your custom sign-up instructions and placeholders for user name and -// temporary password. Alternatively, you can call AdminCreateUser with “SUPPRESS” -// for the MessageAction parameter, and Amazon Cognito will not send any email. In +// temporary password. Alternatively, you can call AdminCreateUser with SUPPRESS +// for the MessageAction parameter, and Amazon Cognito won't send any email. In // either case, the user will be in the FORCE_CHANGE_PASSWORD state until they sign // in and change their password. AdminCreateUser requires developer credentials. func (c *Client) AdminCreateUser(ctx context.Context, params *AdminCreateUserInput, optFns ...func(*Options)) (*AdminCreateUserOutput, error) { @@ -60,7 +61,7 @@ type AdminCreateUserInput struct { // The username for the user. Must be unique within the user pool. Must be a UTF-8 // string between 1 and 128 characters. After the user is created, the username - // cannot be changed. + // can't be changed. // // This member is required. Username *string @@ -77,28 +78,27 @@ type AdminCreateUserInput struct { // needs. For more information, see Customizing User Pool Workflows with Lambda // Triggers // (https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-identity-pools-working-with-aws-lambda-triggers.html) - // in the Amazon Cognito Developer Guide. Take the following limitations into - // consideration when you use the ClientMetadata parameter: + // in the Amazon Cognito Developer Guide. When you use the ClientMetadata + // parameter, remember that Amazon Cognito won't do the following: // - // * Amazon Cognito does - // not store the ClientMetadata value. This data is available only to Lambda - // triggers that are assigned to a user pool to support custom workflows. If your - // user pool configuration does not include triggers, the ClientMetadata parameter - // serves no purpose. + // * Store the + // ClientMetadata value. This data is available only to Lambda triggers that are + // assigned to a user pool to support custom workflows. If your user pool + // configuration doesn't include triggers, the ClientMetadata parameter serves no + // purpose. // - // * Amazon Cognito does not validate the ClientMetadata - // value. + // * Validate the ClientMetadata value. // - // * Amazon Cognito does not encrypt the the ClientMetadata value, so don't - // use it to provide sensitive information. + // * Encrypt the ClientMetadata + // value. Don't use Amazon Cognito to provide sensitive information. ClientMetadata map[string]string // Specify "EMAIL" if email will be used to send the welcome message. Specify "SMS" - // if the phone number will be used. The default value is "SMS". More than one - // value can be specified. + // if the phone number will be used. The default value is "SMS". You can specify + // more than one value. DesiredDeliveryMediums []types.DeliveryMediumType - // This parameter is only used if the phone_number_verified or email_verified + // This parameter is used only if the phone_number_verified or email_verified // attribute is set to True. Otherwise, it is ignored. If this parameter is set to // True and the phone number or email address specified in the UserAttributes // parameter already exists as an alias with a different user, the API call will @@ -108,16 +108,16 @@ type AdminCreateUserInput struct { // exists. The default value is False. ForceAliasCreation bool - // Set to "RESEND" to resend the invitation message to a user that already exists - // and reset the expiration limit on the user's account. Set to "SUPPRESS" to - // suppress sending the message. Only one value can be specified. + // Set to RESEND to resend the invitation message to a user that already exists and + // reset the expiration limit on the user's account. Set to SUPPRESS to suppress + // sending the message. You can specify only one value. MessageAction types.MessageActionType // The user's temporary password. This password must conform to the password policy // that you specified when you created the user pool. The temporary password is // valid only once. To complete the Admin Create User flow, the user must enter the - // temporary password in the sign-in page along with a new password to be used in - // all future sign-ins. This parameter is not required. If you do not specify a + // temporary password in the sign-in page, along with a new password to be used in + // all future sign-ins. This parameter isn't required. If you don't specify a // value, Amazon Cognito generates one for you. The temporary password can only be // used until the user account expiration limit that you specified when you created // the user pool. To reset the account after that time limit, you must call @@ -128,16 +128,16 @@ type AdminCreateUserInput struct { // to be set for the user to be created. You can create a user without specifying // any attributes other than Username. However, any attributes that you specify as // required (when creating a user pool or in the Attributes tab of the console) - // must be supplied either by you (in your call to AdminCreateUser) or by the user - // (when he or she signs up in response to your welcome message). For custom + // either you should supply (in your call to AdminCreateUser) or the user should + // supply (when they sign up in response to your welcome message). For custom // attributes, you must prepend the custom: prefix to the attribute name. To send a // message inviting the user to sign up, you must specify the user's email address - // or phone number. This can be done in your call to AdminCreateUser or in the - // Users tab of the Amazon Cognito console for managing your user pools. In your - // call to AdminCreateUser, you can set the email_verified attribute to True, and - // you can set the phone_number_verified attribute to True. (You can also do this - // by calling AdminUpdateUserAttributes - // (https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_AdminUpdateUserAttributes.html).) + // or phone number. You can do this in your call to AdminCreateUser or in the Users + // tab of the Amazon Cognito console for managing your user pools. In your call to + // AdminCreateUser, you can set the email_verified attribute to True, and you can + // set the phone_number_verified attribute to True. You can also do this by calling + // AdminUpdateUserAttributes + // (https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_AdminUpdateUserAttributes.html). // // * // email: The email address of the user to whom the message that contains the code @@ -158,7 +158,7 @@ type AdminCreateUserInput struct { // domain. To configure custom validation, you must create a Pre Sign-up Lambda // trigger for the user pool as described in the Amazon Cognito Developer Guide. // The Lambda trigger receives the validation data and uses it in the validation - // process. The user's validation data is not persisted. + // process. The user's validation data isn't persisted. ValidationData []types.AttributeType noSmithyDocumentSerde diff --git a/service/cognitoidentityprovider/api_op_AdminDeleteUser.go b/service/cognitoidentityprovider/api_op_AdminDeleteUser.go index af041632ca9..f0ec9037685 100644 --- a/service/cognitoidentityprovider/api_op_AdminDeleteUser.go +++ b/service/cognitoidentityprovider/api_op_AdminDeleteUser.go @@ -35,7 +35,7 @@ type AdminDeleteUserInput struct { // This member is required. UserPoolId *string - // The user name of the user you wish to delete. + // The user name of the user you want to delete. // // This member is required. Username *string diff --git a/service/cognitoidentityprovider/api_op_AdminDeleteUserAttributes.go b/service/cognitoidentityprovider/api_op_AdminDeleteUserAttributes.go index 872700e4e58..e46f6896086 100644 --- a/service/cognitoidentityprovider/api_op_AdminDeleteUserAttributes.go +++ b/service/cognitoidentityprovider/api_op_AdminDeleteUserAttributes.go @@ -30,7 +30,7 @@ func (c *Client) AdminDeleteUserAttributes(ctx context.Context, params *AdminDel // Represents the request to delete user attributes as an administrator. type AdminDeleteUserAttributesInput struct { - // An array of strings representing the user attribute names you wish to delete. + // An array of strings representing the user attribute names you want to delete. // For custom attributes, you must prepend the custom: prefix to the attribute // name. // diff --git a/service/cognitoidentityprovider/api_op_AdminDisableProviderForUser.go b/service/cognitoidentityprovider/api_op_AdminDisableProviderForUser.go index 91022a69580..87d5032f49f 100644 --- a/service/cognitoidentityprovider/api_op_AdminDisableProviderForUser.go +++ b/service/cognitoidentityprovider/api_op_AdminDisableProviderForUser.go @@ -12,23 +12,23 @@ import ( ) // Disables the user from signing in with the specified external (SAML or social) -// identity provider. If the user to disable is a Cognito User Pools native -// username + password user, they are not permitted to use their password to -// sign-in. If the user to disable is a linked external IdP user, any link between -// that user and an existing user is removed. The next time the external user (no -// longer attached to the previously linked DestinationUser) signs in, they must -// create a new user account. See AdminLinkProviderForUser +// identity provider. If the user to disable is a Amazon Cognito User Pools native +// username + password user, they aren't permitted to use their password to sign +// in. If the user to deactivate is a linked external identity provider (IdP) user, +// any link between that user and an existing user is removed. The next time the +// external user (no longer attached to the previously linked DestinationUser) +// signs in, they must create a new user account. See AdminLinkProviderForUser // (https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_AdminLinkProviderForUser.html). // This action is enabled only for admin access and requires developer credentials. // The ProviderName must match the value specified when creating an IdP for the -// pool. To disable a native username + password user, the ProviderName value must -// be Cognito and the ProviderAttributeName must be Cognito_Subject, with the -// ProviderAttributeValue being the name that is used in the user pool for the +// pool. To deactivate a native username + password user, the ProviderName value +// must be Cognito and the ProviderAttributeName must be Cognito_Subject. The +// ProviderAttributeValue must be the name that is used in the user pool for the // user. The ProviderAttributeName must always be Cognito_Subject for social // identity providers. The ProviderAttributeValue must always be the exact subject // that was used when the user was originally linked as a source user. For // de-linking a SAML identity, there are two scenarios. If the linked identity has -// not yet been used to sign-in, the ProviderAttributeName and +// not yet been used to sign in, the ProviderAttributeName and // ProviderAttributeValue must be the same values that were used for the SourceUser // when the identities were originally linked using AdminLinkProviderForUser call. // (If the linking was done with ProviderAttributeName set to Cognito_Subject, the diff --git a/service/cognitoidentityprovider/api_op_AdminDisableUser.go b/service/cognitoidentityprovider/api_op_AdminDisableUser.go index 99f8663b8b6..f6dc5ed143e 100644 --- a/service/cognitoidentityprovider/api_op_AdminDisableUser.go +++ b/service/cognitoidentityprovider/api_op_AdminDisableUser.go @@ -34,7 +34,7 @@ type AdminDisableUserInput struct { // This member is required. UserPoolId *string - // The user name of the user you wish to disable. + // The user name of the user you want to disable. // // This member is required. Username *string diff --git a/service/cognitoidentityprovider/api_op_AdminEnableUser.go b/service/cognitoidentityprovider/api_op_AdminEnableUser.go index 0a669bce5fc..8253340ab2f 100644 --- a/service/cognitoidentityprovider/api_op_AdminEnableUser.go +++ b/service/cognitoidentityprovider/api_op_AdminEnableUser.go @@ -35,7 +35,7 @@ type AdminEnableUserInput struct { // This member is required. UserPoolId *string - // The user name of the user you wish to enable. + // The user name of the user you want to enable. // // This member is required. Username *string diff --git a/service/cognitoidentityprovider/api_op_AdminGetUser.go b/service/cognitoidentityprovider/api_op_AdminGetUser.go index 48dce3d76ca..0fbbe248be1 100644 --- a/service/cognitoidentityprovider/api_op_AdminGetUser.go +++ b/service/cognitoidentityprovider/api_op_AdminGetUser.go @@ -38,7 +38,7 @@ type AdminGetUserInput struct { // This member is required. UserPoolId *string - // The user name of the user you wish to retrieve. + // The user name of the user you want to retrieve. // // This member is required. Username *string @@ -50,7 +50,7 @@ type AdminGetUserInput struct { // user as an administrator. type AdminGetUserOutput struct { - // The user name of the user about whom you are receiving information. + // The user name of the user about whom you're receiving information. // // This member is required. Username *string @@ -59,9 +59,10 @@ type AdminGetUserOutput struct { Enabled bool // This response parameter is no longer supported. It provides information only - // about SMS MFA configurations. It doesn't provide information about TOTP software - // token MFA configurations. To look up information about either type of MFA - // configuration, use UserMFASettingList instead. + // about SMS MFA configurations. It doesn't provide information about time-based + // one-time password (TOTP) software token MFA configurations. To look up + // information about either type of MFA configuration, use UserMFASettingList + // instead. MFAOptions []types.MFAOptionType // The user's preferred MFA setting. @@ -76,8 +77,8 @@ type AdminGetUserOutput struct { // The date the user was last modified. UserLastModifiedDate *time.Time - // The MFA options that are enabled for the user. The possible values in this list - // are SMS_MFA and SOFTWARE_TOKEN_MFA. + // The MFA options that are activated for the user. The possible values in this + // list are SMS_MFA and SOFTWARE_TOKEN_MFA. UserMFASettingList []string // The user status. Can be one of the following: @@ -93,15 +94,15 @@ type AdminGetUserOutput struct { // * COMPROMISED - User is disabled due to a potential // security threat. // - // * UNKNOWN - User status is not known. + // * UNKNOWN - User status isn't known. // // * RESET_REQUIRED - User - // is confirmed, but the user must request a code and reset his or her password - // before he or she can sign in. + // is confirmed, but the user must request a code and reset their password before + // they can sign in. // - // * FORCE_CHANGE_PASSWORD - The user is confirmed - // and the user can sign in using a temporary password, but on first sign-in, the - // user must change his or her password to a new value before doing anything else. + // * FORCE_CHANGE_PASSWORD - The user is confirmed and the user + // can sign in using a temporary password, but on first sign-in, the user must + // change their password to a new value before doing anything else. UserStatus types.UserStatusType // Metadata pertaining to the operation's result. diff --git a/service/cognitoidentityprovider/api_op_AdminInitiateAuth.go b/service/cognitoidentityprovider/api_op_AdminInitiateAuth.go index c3c6c49f10d..ef72fb676e9 100644 --- a/service/cognitoidentityprovider/api_op_AdminInitiateAuth.go +++ b/service/cognitoidentityprovider/api_op_AdminInitiateAuth.go @@ -12,20 +12,21 @@ import ( ) // Initiates the authentication flow, as an administrator. This action might -// generate an SMS text message. Starting June 1, 2021, U.S. telecom carriers -// require that you register an origination phone number before you can send SMS -// messages to U.S. phone numbers. If you use SMS text messages in Amazon Cognito, -// you must register a phone number with Amazon Pinpoint -// (https://console.aws.amazon.com/pinpoint/home/). Cognito will use the the -// registered number automatically. Otherwise, Cognito users that must receive SMS -// messages might be unable to sign up, activate their accounts, or sign in. If you -// have never used SMS text messages with Amazon Cognito or any other Amazon Web -// Service, Amazon SNS might place your account in SMS sandbox. In sandbox mode -// (https://docs.aws.amazon.com/sns/latest/dg/sns-sms-sandbox.html) , you’ll have -// limitations, such as sending messages to only verified phone numbers. After +// generate an SMS text message. Starting June 1, 2021, US telecom carriers require +// you to register an origination phone number before you can send SMS messages to +// U.S. phone numbers. If you use SMS text messages in Amazon Cognito, you must +// register a phone number with Amazon Pinpoint +// (https://console.aws.amazon.com/pinpoint/home/). Amazon Cognito will use the +// registered number automatically. Otherwise, Amazon Cognito users that must +// receive SMS messages might be unable to sign up, activate their accounts, or +// sign in. If you have never used SMS text messages with Amazon Cognito or any +// other Amazon Web Service, Amazon Simple Notification Service might place your +// account in SMS sandbox. In sandbox mode +// (https://docs.aws.amazon.com/sns/latest/dg/sns-sms-sandbox.html) , you will have +// limitations, such as sending messages only to verified phone numbers. After // testing in the sandbox environment, you can move out of the SMS sandbox and into -// production. For more information, see SMS message settings for Cognito User -// Pools +// production. For more information, see SMS message settings for Amazon Cognito +// User Pools // (https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-identity-pools-sms-userpool-settings.html) // in the Amazon Cognito Developer Guide. Calling this action requires developer // credentials. @@ -47,44 +48,39 @@ func (c *Client) AdminInitiateAuth(ctx context.Context, params *AdminInitiateAut // Initiates the authorization request, as an administrator. type AdminInitiateAuthInput struct { - // The authentication flow for this call to execute. The API action will depend on - // this value. For example: + // The authentication flow for this call to run. The API action will depend on this + // value. For example: // - // * REFRESH_TOKEN_AUTH will take in a valid refresh - // token and return new tokens. + // * REFRESH_TOKEN_AUTH will take in a valid refresh token and + // return new tokens. // - // * USER_SRP_AUTH will take in USERNAME and SRP_A - // and return the SRP variables to be used for next challenge execution. + // * USER_SRP_AUTH will take in USERNAME and SRP_A and return + // the Secure Remote Password (SRP) protocol variables to be used for next + // challenge execution. // - // * - // USER_PASSWORD_AUTH will take in USERNAME and PASSWORD and return the next - // challenge or tokens. + // * ADMIN_USER_PASSWORD_AUTH will take in USERNAME and + // PASSWORD and return the next challenge or tokens. // // Valid values include: // - // * USER_SRP_AUTH: Authentication - // flow for the Secure Remote Password (SRP) protocol. - // // * - // REFRESH_TOKEN_AUTH/REFRESH_TOKEN: Authentication flow for refreshing the access - // token and ID token by supplying a valid refresh token. + // USER_SRP_AUTH: Authentication flow for the Secure Remote Password (SRP) + // protocol. // - // * CUSTOM_AUTH: Custom - // authentication flow. + // * REFRESH_TOKEN_AUTH/REFRESH_TOKEN: Authentication flow for + // refreshing the access token and ID token by supplying a valid refresh token. // - // * ADMIN_NO_SRP_AUTH: Non-SRP authentication flow; you can - // pass in the USERNAME and PASSWORD directly if the flow is enabled for calling - // the app client. + // * + // CUSTOM_AUTH: Custom authentication flow. // - // * USER_PASSWORD_AUTH: Non-SRP authentication flow; USERNAME and - // PASSWORD are passed directly. If a user migration Lambda trigger is set, this - // flow will invoke the user migration Lambda if the USERNAME is not found in the - // user pool. + // * ADMIN_NO_SRP_AUTH: Non-SRP + // authentication flow; you can pass in the USERNAME and PASSWORD directly if the + // flow is enabled for calling the app client. // - // * ADMIN_USER_PASSWORD_AUTH: Admin-based user password - // authentication. This replaces the ADMIN_NO_SRP_AUTH authentication flow. In this - // flow, Cognito receives the password in the request instead of using the SRP - // process to verify passwords. + // * ADMIN_USER_PASSWORD_AUTH: + // Admin-based user password authentication. This replaces the ADMIN_NO_SRP_AUTH + // authentication flow. In this flow, Amazon Cognito receives the password in the + // request instead of using the SRP process to verify passwords. // // This member is required. AuthFlow types.AuthFlowType @@ -104,7 +100,7 @@ type AdminInitiateAuthInput struct { AnalyticsMetadata *types.AnalyticsMetadataType // The authentication parameters. These are inputs corresponding to the AuthFlow - // that you are invoking. The required values depend on the value of AuthFlow: + // that you're invoking. The required values depend on the value of AuthFlow: // // * // For USER_SRP_AUTH: USERNAME (required), SRP_A (required), SECRET_HASH (required @@ -145,7 +141,7 @@ type AdminInitiateAuthInput struct { // function code in Lambda, you can process the validationData value to enhance // your workflow for your specific needs. When you use the AdminInitiateAuth API // action, Amazon Cognito also invokes the functions for the following triggers, - // but it does not provide the ClientMetadata value as input: + // but it doesn't provide the ClientMetadata value as input: // // * Post // authentication @@ -164,20 +160,19 @@ type AdminInitiateAuthInput struct { // For more // information, see Customizing User Pool Workflows with Lambda Triggers // (https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-identity-pools-working-with-aws-lambda-triggers.html) - // in the Amazon Cognito Developer Guide. Take the following limitations into - // consideration when you use the ClientMetadata parameter: + // in the Amazon Cognito Developer Guide. When you use the ClientMetadata + // parameter, remember that Amazon Cognito won't do the following: // - // * Amazon Cognito does - // not store the ClientMetadata value. This data is available only to Lambda - // triggers that are assigned to a user pool to support custom workflows. If your - // user pool configuration does not include triggers, the ClientMetadata parameter - // serves no purpose. + // * Store the + // ClientMetadata value. This data is available only to Lambda triggers that are + // assigned to a user pool to support custom workflows. If your user pool + // configuration doesn't include triggers, the ClientMetadata parameter serves no + // purpose. // - // * Amazon Cognito does not validate the ClientMetadata - // value. + // * Validate the ClientMetadata value. // - // * Amazon Cognito does not encrypt the the ClientMetadata value, so don't - // use it to provide sensitive information. + // * Encrypt the ClientMetadata + // value. Don't use Amazon Cognito to provide sensitive information. ClientMetadata map[string]string // Contextual data such as the user's device fingerprint, IP address, or location @@ -192,45 +187,45 @@ type AdminInitiateAuthInput struct { type AdminInitiateAuthOutput struct { // The result of the authentication response. This is only returned if the caller - // does not need to pass another challenge. If the caller does need to pass another + // doesn't need to pass another challenge. If the caller does need to pass another // challenge before it gets tokens, ChallengeName, ChallengeParameters, and Session // are returned. AuthenticationResult *types.AuthenticationResultType - // The name of the challenge which you are responding to with this call. This is - // returned to you in the AdminInitiateAuth response if you need to pass another + // The name of the challenge that you're responding to with this call. This is + // returned in the AdminInitiateAuth response if you must pass another // challenge. // - // * MFA_SETUP: If MFA is required, users who do not have at least one + // * MFA_SETUP: If MFA is required, users who don't have at least one // of the MFA methods set up are presented with an MFA_SETUP challenge. The user // must set up at least one MFA type to continue to authenticate. // // * // SELECT_MFA_TYPE: Selects the MFA type. Valid MFA options are SMS_MFA for text - // SMS MFA, and SOFTWARE_TOKEN_MFA for TOTP software token MFA. + // SMS MFA, and SOFTWARE_TOKEN_MFA for time-based one-time password (TOTP) software + // token MFA. // - // * SMS_MFA: Next - // challenge is to supply an SMS_MFA_CODE, delivered via SMS. + // * SMS_MFA: Next challenge is to supply an SMS_MFA_CODE, delivered + // via SMS. // - // * PASSWORD_VERIFIER: - // Next challenge is to supply PASSWORD_CLAIM_SIGNATURE, - // PASSWORD_CLAIM_SECRET_BLOCK, and TIMESTAMP after the client-side SRP - // calculations. + // * PASSWORD_VERIFIER: Next challenge is to supply + // PASSWORD_CLAIM_SIGNATURE, PASSWORD_CLAIM_SECRET_BLOCK, and TIMESTAMP after the + // client-side SRP calculations. // - // * CUSTOM_CHALLENGE: This is returned if your custom - // authentication flow determines that the user should pass another challenge - // before tokens are issued. + // * CUSTOM_CHALLENGE: This is returned if your + // custom authentication flow determines that the user should pass another + // challenge before tokens are issued. // - // * DEVICE_SRP_AUTH: If device tracking was enabled on - // your user pool and the previous challenges were passed, this challenge is - // returned so that Amazon Cognito can start tracking this device. + // * DEVICE_SRP_AUTH: If device tracking was + // activated in your user pool and the previous challenges were passed, this + // challenge is returned so that Amazon Cognito can start tracking this device. // // * // DEVICE_PASSWORD_VERIFIER: Similar to PASSWORD_VERIFIER, but for devices only. // // * - // ADMIN_NO_SRP_AUTH: This is returned if you need to authenticate with USERNAME - // and PASSWORD directly. An app client must be enabled to use this flow. + // ADMIN_NO_SRP_AUTH: This is returned if you must authenticate with USERNAME and + // PASSWORD directly. An app client must be enabled to use this flow. // // * // NEW_PASSWORD_REQUIRED: For users who are required to change their passwords @@ -238,31 +233,31 @@ type AdminInitiateAuthOutput struct { // and any other required attributes. // // * MFA_SETUP: For users who are required to - // setup an MFA factor before they can sign-in. The MFA types enabled for the user - // pool will be listed in the challenge parameters MFA_CAN_SETUP value. To setup - // software token MFA, use the session returned here from InitiateAuth as an input - // to AssociateSoftwareToken, and use the session returned by VerifySoftwareToken - // as an input to RespondToAuthChallenge with challenge name MFA_SETUP to complete - // sign-in. To setup SMS MFA, users will need help from an administrator to add a - // phone number to their account and then call InitiateAuth again to restart - // sign-in. + // set up an MFA factor before they can sign in. The MFA types activated for the + // user pool will be listed in the challenge parameters MFA_CAN_SETUP value. To set + // up software token MFA, use the session returned here from InitiateAuth as an + // input to AssociateSoftwareToken, and use the session returned by + // VerifySoftwareToken as an input to RespondToAuthChallenge with challenge name + // MFA_SETUP to complete sign-in. To set up SMS MFA, users will need help from an + // administrator to add a phone number to their account and then call InitiateAuth + // again to restart sign-in. ChallengeName types.ChallengeNameType // The challenge parameters. These are returned to you in the AdminInitiateAuth - // response if you need to pass another challenge. The responses in this parameter + // response if you must pass another challenge. The responses in this parameter // should be used to compute inputs to the next call (AdminRespondToAuthChallenge). // All challenges require USERNAME and SECRET_HASH (if applicable). The value of - // the USER_ID_FOR_SRP attribute will be the user's actual username, not an alias - // (such as email address or phone number), even if you specified an alias in your - // call to AdminInitiateAuth. This is because, in the AdminRespondToAuthChallenge - // API ChallengeResponses, the USERNAME attribute cannot be an alias. + // the USER_ID_FOR_SRP attribute is the user's actual username, not an alias (such + // as email address or phone number), even if you specified an alias in your call + // to AdminInitiateAuth. This happens because, in the AdminRespondToAuthChallenge + // API ChallengeResponses, the USERNAME attribute can't be an alias. ChallengeParameters map[string]string - // The session which should be passed both ways in challenge-response calls to the + // The session that should be passed both ways in challenge-response calls to the // service. If AdminInitiateAuth or AdminRespondToAuthChallenge API call determines - // that the caller needs to go through another challenge, they return a session - // with other challenge parameters. This session should be passed as it is to the - // next AdminRespondToAuthChallenge API call. + // that the caller must pass another challenge, they return a session with other + // challenge parameters. This session should be passed as it is to the next + // AdminRespondToAuthChallenge API call. Session *string // Metadata pertaining to the operation's result. diff --git a/service/cognitoidentityprovider/api_op_AdminLinkProviderForUser.go b/service/cognitoidentityprovider/api_op_AdminLinkProviderForUser.go index d209d0f2715..1b527893c29 100644 --- a/service/cognitoidentityprovider/api_op_AdminLinkProviderForUser.go +++ b/service/cognitoidentityprovider/api_op_AdminLinkProviderForUser.go @@ -15,16 +15,16 @@ import ( // from an external identity provider (SourceUser) based on a specified attribute // name and value from the external identity provider. This allows you to create a // link from the existing user account to an external federated user identity that -// has not yet been used to sign in, so that the federated user identity can be -// used to sign in as the existing user account. For example, if there is an -// existing user with a username and password, this API links that user to a -// federated user identity, so that when the federated user identity is used, the -// user signs in as the existing user account. The maximum number of federated -// identities linked to a user is 5. Because this API allows a user with an -// external federated identity to sign in as an existing user in the user pool, it -// is critical that it only be used with external identity providers and provider -// attributes that have been trusted by the application owner. This action is -// enabled only for admin access and requires developer credentials. +// has not yet been used to sign in. You can then use the federated user identity +// to sign in as the existing user account. For example, if there is an existing +// user with a username and password, this API links that user to a federated user +// identity. When the user signs in with a federated user identity, they sign in as +// the existing user account. The maximum number of federated identities linked to +// a user is 5. Because this API allows a user with an external federated identity +// to sign in as an existing user in the user pool, it is critical that it only be +// used with external identity providers and provider attributes that have been +// trusted by the application owner. This action is administrative and requires +// developer credentials. func (c *Client) AdminLinkProviderForUser(ctx context.Context, params *AdminLinkProviderForUserInput, optFns ...func(*Options)) (*AdminLinkProviderForUserOutput, error) { if params == nil { params = &AdminLinkProviderForUserInput{} @@ -43,35 +43,37 @@ func (c *Client) AdminLinkProviderForUser(ctx context.Context, params *AdminLink type AdminLinkProviderForUserInput struct { // The existing user in the user pool to be linked to the external identity - // provider user account. Can be a native (Username + Password) Cognito User Pools - // user or a federated user (for example, a SAML or Facebook user). If the user - // doesn't exist, an exception is thrown. This is the user that is returned when - // the new user (with the linked identity provider attribute) signs in. For a + // provider user account. Can be a native (Username + Password) Amazon Cognito User + // Pools user or a federated user (for example, a SAML or Facebook user). If the + // user doesn't exist, an exception is thrown. This is the user that is returned + // when the new user (with the linked identity provider attribute) signs in. For a // native username + password user, the ProviderAttributeValue for the // DestinationUser should be the username in the user pool. For a federated user, // it should be the provider-specific user_id. The ProviderAttributeName of the // DestinationUser is ignored. The ProviderName should be set to Cognito for users - // in Cognito user pools. + // in Cognito user pools. All attributes in the DestinationUser profile must be + // mutable. If you have assigned the user any immutable custom attributes, the + // operation won't succeed. // // This member is required. DestinationUser *types.ProviderUserIdentifierType - // An external identity provider account for a user who does not currently exist - // yet in the user pool. This user must be a federated user (for example, a SAML or - // Facebook user), not another native user. If the SourceUser is a federated social - // identity provider user (Facebook, Google, or Login with Amazon), you must set + // An external identity provider account for a user who doesn't exist yet in the + // user pool. This user must be a federated user (for example, a SAML or Facebook + // user), not another native user. If the SourceUser is using a federated social + // identity provider, such as Facebook, Google, or Login with Amazon, you must set // the ProviderAttributeName to Cognito_Subject. For social identity providers, the - // ProviderName will be Facebook, Google, or LoginWithAmazon, and Cognito will - // automatically parse the Facebook, Google, and Login with Amazon tokens for id, - // sub, and user_id, respectively. The ProviderAttributeValue for the user must be - // the same value as the id, sub, or user_id value found in the social identity + // ProviderName will be Facebook, Google, or LoginWithAmazon, and Amazon Cognito + // will automatically parse the Facebook, Google, and Login with Amazon tokens for + // id, sub, and user_id, respectively. The ProviderAttributeValue for the user must + // be the same value as the id, sub, or user_id value found in the social identity // provider token. For SAML, the ProviderAttributeName can be any value that - // matches a claim in the SAML assertion. If you wish to link SAML users based on + // matches a claim in the SAML assertion. If you want to link SAML users based on // the subject of the SAML assertion, you should map the subject to a claim through // the SAML identity provider and submit that claim name as the // ProviderAttributeName. If you set ProviderAttributeName to Cognito_Subject, - // Cognito will automatically parse the default unique identifier found in the - // subject from the SAML token. + // Amazon Cognito will automatically parse the default unique identifier found in + // the subject from the SAML token. // // This member is required. SourceUser *types.ProviderUserIdentifierType diff --git a/service/cognitoidentityprovider/api_op_AdminListUserAuthEvents.go b/service/cognitoidentityprovider/api_op_AdminListUserAuthEvents.go index be982149565..afb71d8c98f 100644 --- a/service/cognitoidentityprovider/api_op_AdminListUserAuthEvents.go +++ b/service/cognitoidentityprovider/api_op_AdminListUserAuthEvents.go @@ -12,8 +12,8 @@ import ( smithyhttp "github.com/aws/smithy-go/transport/http" ) -// Lists a history of user activity and any risks detected as part of Amazon -// Cognito advanced security. +// A history of user activity and any risks detected as part of Amazon Cognito +// advanced security. func (c *Client) AdminListUserAuthEvents(ctx context.Context, params *AdminListUserAuthEventsInput, optFns ...func(*Options)) (*AdminListUserAuthEventsOutput, error) { if params == nil { params = &AdminListUserAuthEventsInput{} diff --git a/service/cognitoidentityprovider/api_op_AdminResetUserPassword.go b/service/cognitoidentityprovider/api_op_AdminResetUserPassword.go index 605aa658f46..8d3a4a512f8 100644 --- a/service/cognitoidentityprovider/api_op_AdminResetUserPassword.go +++ b/service/cognitoidentityprovider/api_op_AdminResetUserPassword.go @@ -20,19 +20,20 @@ import ( // verification is selected and a verified email exists for the user, calling this // API will also result in sending a message to the end user with the code to // change their password. This action might generate an SMS text message. Starting -// June 1, 2021, U.S. telecom carriers require that you register an origination -// phone number before you can send SMS messages to U.S. phone numbers. If you use -// SMS text messages in Amazon Cognito, you must register a phone number with -// Amazon Pinpoint (https://console.aws.amazon.com/pinpoint/home/). Cognito will -// use the the registered number automatically. Otherwise, Cognito users that must -// receive SMS messages might be unable to sign up, activate their accounts, or -// sign in. If you have never used SMS text messages with Amazon Cognito or any -// other Amazon Web Service, Amazon SNS might place your account in SMS sandbox. In -// sandbox mode (https://docs.aws.amazon.com/sns/latest/dg/sns-sms-sandbox.html) , -// you’ll have limitations, such as sending messages to only verified phone -// numbers. After testing in the sandbox environment, you can move out of the SMS -// sandbox and into production. For more information, see SMS message settings for -// Cognito User Pools +// June 1, 2021, US telecom carriers require you to register an origination phone +// number before you can send SMS messages to U.S. phone numbers. If you use SMS +// text messages in Amazon Cognito, you must register a phone number with Amazon +// Pinpoint (https://console.aws.amazon.com/pinpoint/home/). Amazon Cognito will +// use the registered number automatically. Otherwise, Amazon Cognito users that +// must receive SMS messages might be unable to sign up, activate their accounts, +// or sign in. If you have never used SMS text messages with Amazon Cognito or any +// other Amazon Web Service, Amazon Simple Notification Service might place your +// account in SMS sandbox. In sandbox mode +// (https://docs.aws.amazon.com/sns/latest/dg/sns-sms-sandbox.html) , you will have +// limitations, such as sending messages only to verified phone numbers. After +// testing in the sandbox environment, you can move out of the SMS sandbox and into +// production. For more information, see SMS message settings for Amazon Cognito +// User Pools // (https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-identity-pools-sms-userpool-settings.html) // in the Amazon Cognito Developer Guide. Calling this action requires developer // credentials. @@ -59,7 +60,7 @@ type AdminResetUserPasswordInput struct { // This member is required. UserPoolId *string - // The user name of the user whose password you wish to reset. + // The user name of the user whose password you want to reset. // // This member is required. Username *string @@ -76,20 +77,19 @@ type AdminResetUserPasswordInput struct { // your workflow for your specific needs. For more information, see Customizing // User Pool Workflows with Lambda Triggers // (https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-identity-pools-working-with-aws-lambda-triggers.html) - // in the Amazon Cognito Developer Guide. Take the following limitations into - // consideration when you use the ClientMetadata parameter: + // in the Amazon Cognito Developer Guide. When you use the ClientMetadata + // parameter, remember that Amazon Cognito won't do the following: // - // * Amazon Cognito does - // not store the ClientMetadata value. This data is available only to Lambda - // triggers that are assigned to a user pool to support custom workflows. If your - // user pool configuration does not include triggers, the ClientMetadata parameter - // serves no purpose. + // * Store the + // ClientMetadata value. This data is available only to Lambda triggers that are + // assigned to a user pool to support custom workflows. If your user pool + // configuration doesn't include triggers, the ClientMetadata parameter serves no + // purpose. // - // * Amazon Cognito does not validate the ClientMetadata - // value. + // * Validate the ClientMetadata value. // - // * Amazon Cognito does not encrypt the the ClientMetadata value, so don't - // use it to provide sensitive information. + // * Encrypt the ClientMetadata + // value. Don't use Amazon Cognito to provide sensitive information. ClientMetadata map[string]string noSmithyDocumentSerde diff --git a/service/cognitoidentityprovider/api_op_AdminRespondToAuthChallenge.go b/service/cognitoidentityprovider/api_op_AdminRespondToAuthChallenge.go index 6f659a39654..634dc77e1b4 100644 --- a/service/cognitoidentityprovider/api_op_AdminRespondToAuthChallenge.go +++ b/service/cognitoidentityprovider/api_op_AdminRespondToAuthChallenge.go @@ -12,20 +12,21 @@ import ( ) // Responds to an authentication challenge, as an administrator. This action might -// generate an SMS text message. Starting June 1, 2021, U.S. telecom carriers -// require that you register an origination phone number before you can send SMS -// messages to U.S. phone numbers. If you use SMS text messages in Amazon Cognito, -// you must register a phone number with Amazon Pinpoint -// (https://console.aws.amazon.com/pinpoint/home/). Cognito will use the the -// registered number automatically. Otherwise, Cognito users that must receive SMS -// messages might be unable to sign up, activate their accounts, or sign in. If you -// have never used SMS text messages with Amazon Cognito or any other Amazon Web -// Service, Amazon SNS might place your account in SMS sandbox. In sandbox mode -// (https://docs.aws.amazon.com/sns/latest/dg/sns-sms-sandbox.html) , you’ll have -// limitations, such as sending messages to only verified phone numbers. After +// generate an SMS text message. Starting June 1, 2021, US telecom carriers require +// you to register an origination phone number before you can send SMS messages to +// U.S. phone numbers. If you use SMS text messages in Amazon Cognito, you must +// register a phone number with Amazon Pinpoint +// (https://console.aws.amazon.com/pinpoint/home/). Amazon Cognito will use the +// registered number automatically. Otherwise, Amazon Cognito users that must +// receive SMS messages might be unable to sign up, activate their accounts, or +// sign in. If you have never used SMS text messages with Amazon Cognito or any +// other Amazon Web Service, Amazon Simple Notification Service might place your +// account in SMS sandbox. In sandbox mode +// (https://docs.aws.amazon.com/sns/latest/dg/sns-sms-sandbox.html) , you will have +// limitations, such as sending messages only to verified phone numbers. After // testing in the sandbox environment, you can move out of the SMS sandbox and into -// production. For more information, see SMS message settings for Cognito User -// Pools +// production. For more information, see SMS message settings for Amazon Cognito +// User Pools // (https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-identity-pools-sms-userpool-settings.html) // in the Amazon Cognito Developer Guide. Calling this action requires developer // credentials. @@ -75,7 +76,8 @@ type AdminRespondToAuthChallengeInput struct { // // * PASSWORD_VERIFIER: // PASSWORD_CLAIM_SIGNATURE, PASSWORD_CLAIM_SECRET_BLOCK, TIMESTAMP, USERNAME, - // SECRET_HASH (if app client is configured with client secret). + // SECRET_HASH (if app client is configured with client secret). PASSWORD_VERIFIER + // requires DEVICE_KEY when signing in with a remembered device. // // * // ADMIN_NO_SRP_AUTH: PASSWORD, USERNAME, SECRET_HASH (if app client is configured @@ -85,14 +87,15 @@ type AdminRespondToAuthChallengeInput struct { // attributes, USERNAME, SECRET_HASH (if app client is configured with client // secret). // - // * MFA_SETUP requires USERNAME, plus you need to use the session value + // * MFA_SETUP requires USERNAME, plus you must use the session value // returned by VerifySoftwareToken in the Session parameter. // // The value of the - // USERNAME attribute must be the user's actual username, not an alias (such as - // email address or phone number). To make this easier, the AdminInitiateAuth + // USERNAME attribute must be the user's actual username, not an alias (such as an + // email address or phone number). To make this simpler, the AdminInitiateAuth // response includes the actual username value in the USERNAMEUSER_ID_FOR_SRP - // attribute, even if you specified an alias in your call to AdminInitiateAuth. + // attribute. This happens even if you specified an alias in your call to + // AdminInitiateAuth. ChallengeResponses map[string]string // A map of custom key-value pairs that you can provide as input for any custom @@ -110,20 +113,19 @@ type AdminRespondToAuthChallengeInput struct { // needs. For more information, see Customizing User Pool Workflows with Lambda // Triggers // (https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-identity-pools-working-with-aws-lambda-triggers.html) - // in the Amazon Cognito Developer Guide. Take the following limitations into - // consideration when you use the ClientMetadata parameter: + // in the Amazon Cognito Developer Guide. When you use the ClientMetadata + // parameter, remember that Amazon Cognito won't do the following: // - // * Amazon Cognito does - // not store the ClientMetadata value. This data is available only to Lambda - // triggers that are assigned to a user pool to support custom workflows. If your - // user pool configuration does not include triggers, the ClientMetadata parameter - // serves no purpose. + // * Store the + // ClientMetadata value. This data is available only to Lambda triggers that are + // assigned to a user pool to support custom workflows. If your user pool + // configuration doesn't include triggers, the ClientMetadata parameter serves no + // purpose. // - // * Amazon Cognito does not validate the ClientMetadata - // value. + // * Validate the ClientMetadata value. // - // * Amazon Cognito does not encrypt the the ClientMetadata value, so don't - // use it to provide sensitive information. + // * Encrypt the ClientMetadata + // value. Don't use Amazon Cognito to provide sensitive information. ClientMetadata map[string]string // Contextual data such as the user's device fingerprint, IP address, or location @@ -131,9 +133,9 @@ type AdminRespondToAuthChallengeInput struct { // security. ContextData *types.ContextDataType - // The session which should be passed both ways in challenge-response calls to the - // service. If InitiateAuth or RespondToAuthChallenge API call determines that the - // caller needs to go through another challenge, they return a session with other + // The session that should be passed both ways in challenge-response calls to the + // service. If an InitiateAuth or RespondToAuthChallenge API call determines that + // the caller must pass another challenge, it returns a session with other // challenge parameters. This session should be passed as it is to the next // RespondToAuthChallenge API call. Session *string @@ -155,10 +157,10 @@ type AdminRespondToAuthChallengeOutput struct { // (https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_AdminInitiateAuth.html). ChallengeParameters map[string]string - // The session which should be passed both ways in challenge-response calls to the - // service. If the caller needs to go through another challenge, they return a - // session with other challenge parameters. This session should be passed as it is - // to the next RespondToAuthChallenge API call. + // The session that should be passed both ways in challenge-response calls to the + // service. If the caller must pass another challenge, they return a session with + // other challenge parameters. This session should be passed as it is to the next + // RespondToAuthChallenge API call. Session *string // Metadata pertaining to the operation's result. diff --git a/service/cognitoidentityprovider/api_op_AdminSetUserMFAPreference.go b/service/cognitoidentityprovider/api_op_AdminSetUserMFAPreference.go index 4873476d135..deec8735c5a 100644 --- a/service/cognitoidentityprovider/api_op_AdminSetUserMFAPreference.go +++ b/service/cognitoidentityprovider/api_op_AdminSetUserMFAPreference.go @@ -11,11 +11,12 @@ import ( smithyhttp "github.com/aws/smithy-go/transport/http" ) -// Sets the user's multi-factor authentication (MFA) preference, including which -// MFA options are enabled and if any are preferred. Only one factor can be set as +// The user's multi-factor authentication (MFA) preference, including which MFA +// options are activated, and if any are preferred. Only one factor can be set as // preferred. The preferred MFA factor will be used to authenticate a user if -// multiple factors are enabled. If multiple options are enabled and no preference -// is set, a challenge to choose an MFA option will be returned during sign in. +// multiple factors are activated. If multiple options are activated and no +// preference is set, a challenge to choose an MFA option will be returned during +// sign-in. func (c *Client) AdminSetUserMFAPreference(ctx context.Context, params *AdminSetUserMFAPreferenceInput, optFns ...func(*Options)) (*AdminSetUserMFAPreferenceOutput, error) { if params == nil { params = &AdminSetUserMFAPreferenceInput{} diff --git a/service/cognitoidentityprovider/api_op_AdminSetUserPassword.go b/service/cognitoidentityprovider/api_op_AdminSetUserPassword.go index dc1beb8c544..1157467a939 100644 --- a/service/cognitoidentityprovider/api_op_AdminSetUserPassword.go +++ b/service/cognitoidentityprovider/api_op_AdminSetUserPassword.go @@ -12,12 +12,12 @@ import ( // Sets the specified user's password in a user pool as an administrator. Works on // any user. The password can be temporary or permanent. If it is temporary, the -// user status will be placed into the FORCE_CHANGE_PASSWORD state. When the user -// next tries to sign in, the InitiateAuth/AdminInitiateAuth response will contain -// the NEW_PASSWORD_REQUIRED challenge. If the user does not sign in before it -// expires, the user will not be able to sign in and their password will need to be -// reset by an administrator. Once the user has set a new password, or the password -// is permanent, the user status will be set to Confirmed. +// user status enters the FORCE_CHANGE_PASSWORD state. When the user next tries to +// sign in, the InitiateAuth/AdminInitiateAuth response will contain the +// NEW_PASSWORD_REQUIRED challenge. If the user doesn't sign in before it expires, +// the user won't be able to sign in, and an administrator must reset their +// password. Once the user has set a new password, or the password is permanent, +// the user status is set to Confirmed. func (c *Client) AdminSetUserPassword(ctx context.Context, params *AdminSetUserPasswordInput, optFns ...func(*Options)) (*AdminSetUserPasswordOutput, error) { if params == nil { params = &AdminSetUserPasswordInput{} @@ -45,7 +45,7 @@ type AdminSetUserPasswordInput struct { // This member is required. UserPoolId *string - // The user name of the user whose password you wish to set. + // The user name of the user whose password you want to set. // // This member is required. Username *string diff --git a/service/cognitoidentityprovider/api_op_AdminSetUserSettings.go b/service/cognitoidentityprovider/api_op_AdminSetUserSettings.go index b47308e1f28..0219b6a81ab 100644 --- a/service/cognitoidentityprovider/api_op_AdminSetUserSettings.go +++ b/service/cognitoidentityprovider/api_op_AdminSetUserSettings.go @@ -12,8 +12,8 @@ import ( ) // This action is no longer supported. You can use it to configure only SMS MFA. -// You can't use it to configure TOTP software token MFA. To configure either type -// of MFA, use AdminSetUserMFAPreference +// You can't use it to configure time-based one-time password (TOTP) software token +// MFA. To configure either type of MFA, use AdminSetUserMFAPreference // (https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_AdminSetUserMFAPreference.html) // instead. func (c *Client) AdminSetUserSettings(ctx context.Context, params *AdminSetUserSettingsInput, optFns ...func(*Options)) (*AdminSetUserSettingsOutput, error) { @@ -41,12 +41,12 @@ type AdminSetUserSettingsInput struct { // This member is required. MFAOptions []types.MFAOptionType - // The ID of the user pool that contains the user that you are setting options for. + // The ID of the user pool that contains the user whose options you're setting. // // This member is required. UserPoolId *string - // The user name of the user that you are setting options for. + // The user name of the user whose options you're setting. // // This member is required. Username *string diff --git a/service/cognitoidentityprovider/api_op_AdminUpdateAuthEventFeedback.go b/service/cognitoidentityprovider/api_op_AdminUpdateAuthEventFeedback.go index 4bf2b7281d3..236784dcdc6 100644 --- a/service/cognitoidentityprovider/api_op_AdminUpdateAuthEventFeedback.go +++ b/service/cognitoidentityprovider/api_op_AdminUpdateAuthEventFeedback.go @@ -11,7 +11,7 @@ import ( smithyhttp "github.com/aws/smithy-go/transport/http" ) -// Provides feedback for an authentication event as to whether it was from a valid +// Provides feedback for an authentication event indicating if it was from a valid // user. This feedback is used for improving the risk evaluation decision for the // user pool as part of Amazon Cognito advanced security. func (c *Client) AdminUpdateAuthEventFeedback(ctx context.Context, params *AdminUpdateAuthEventFeedbackInput, optFns ...func(*Options)) (*AdminUpdateAuthEventFeedbackOutput, error) { diff --git a/service/cognitoidentityprovider/api_op_AdminUpdateDeviceStatus.go b/service/cognitoidentityprovider/api_op_AdminUpdateDeviceStatus.go index b2d8dcb0603..40e827f14e9 100644 --- a/service/cognitoidentityprovider/api_op_AdminUpdateDeviceStatus.go +++ b/service/cognitoidentityprovider/api_op_AdminUpdateDeviceStatus.go @@ -52,7 +52,7 @@ type AdminUpdateDeviceStatusInput struct { noSmithyDocumentSerde } -// The status response from the request to update the device, as an administrator. +// The status response to the request to update the device, as an administrator. type AdminUpdateDeviceStatusOutput struct { // Metadata pertaining to the operation's result. ResultMetadata middleware.Metadata diff --git a/service/cognitoidentityprovider/api_op_AdminUpdateUserAttributes.go b/service/cognitoidentityprovider/api_op_AdminUpdateUserAttributes.go index 355cfc3aa89..c9eb0a756ef 100644 --- a/service/cognitoidentityprovider/api_op_AdminUpdateUserAttributes.go +++ b/service/cognitoidentityprovider/api_op_AdminUpdateUserAttributes.go @@ -15,20 +15,21 @@ import ( // administrator. Works on any user. For custom attributes, you must prepend the // custom: prefix to the attribute name. In addition to updating user attributes, // this API can also be used to mark phone and email as verified. This action might -// generate an SMS text message. Starting June 1, 2021, U.S. telecom carriers -// require that you register an origination phone number before you can send SMS -// messages to U.S. phone numbers. If you use SMS text messages in Amazon Cognito, -// you must register a phone number with Amazon Pinpoint -// (https://console.aws.amazon.com/pinpoint/home/). Cognito will use the the -// registered number automatically. Otherwise, Cognito users that must receive SMS -// messages might be unable to sign up, activate their accounts, or sign in. If you -// have never used SMS text messages with Amazon Cognito or any other Amazon Web -// Service, Amazon SNS might place your account in SMS sandbox. In sandbox mode -// (https://docs.aws.amazon.com/sns/latest/dg/sns-sms-sandbox.html) , you’ll have -// limitations, such as sending messages to only verified phone numbers. After +// generate an SMS text message. Starting June 1, 2021, US telecom carriers require +// you to register an origination phone number before you can send SMS messages to +// U.S. phone numbers. If you use SMS text messages in Amazon Cognito, you must +// register a phone number with Amazon Pinpoint +// (https://console.aws.amazon.com/pinpoint/home/). Amazon Cognito will use the +// registered number automatically. Otherwise, Amazon Cognito users that must +// receive SMS messages might be unable to sign up, activate their accounts, or +// sign in. If you have never used SMS text messages with Amazon Cognito or any +// other Amazon Web Service, Amazon Simple Notification Service might place your +// account in SMS sandbox. In sandbox mode +// (https://docs.aws.amazon.com/sns/latest/dg/sns-sms-sandbox.html) , you will have +// limitations, such as sending messages only to verified phone numbers. After // testing in the sandbox environment, you can move out of the SMS sandbox and into -// production. For more information, see SMS message settings for Cognito User -// Pools +// production. For more information, see SMS message settings for Amazon Cognito +// User Pools // (https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-identity-pools-sms-userpool-settings.html) // in the Amazon Cognito Developer Guide. Calling this action requires developer // credentials. @@ -78,20 +79,19 @@ type AdminUpdateUserAttributesInput struct { // value to enhance your workflow for your specific needs. For more information, // see Customizing User Pool Workflows with Lambda Triggers // (https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-identity-pools-working-with-aws-lambda-triggers.html) - // in the Amazon Cognito Developer Guide. Take the following limitations into - // consideration when you use the ClientMetadata parameter: + // in the Amazon Cognito Developer Guide. When you use the ClientMetadata + // parameter, remember that Amazon Cognito won't do the following: // - // * Amazon Cognito does - // not store the ClientMetadata value. This data is available only to Lambda - // triggers that are assigned to a user pool to support custom workflows. If your - // user pool configuration does not include triggers, the ClientMetadata parameter - // serves no purpose. + // * Store the + // ClientMetadata value. This data is available only to Lambda triggers that are + // assigned to a user pool to support custom workflows. If your user pool + // configuration doesn't include triggers, the ClientMetadata parameter serves no + // purpose. // - // * Amazon Cognito does not validate the ClientMetadata - // value. + // * Validate the ClientMetadata value. // - // * Amazon Cognito does not encrypt the the ClientMetadata value, so don't - // use it to provide sensitive information. + // * Encrypt the ClientMetadata + // value. Don't use Amazon Cognito to provide sensitive information. ClientMetadata map[string]string noSmithyDocumentSerde diff --git a/service/cognitoidentityprovider/api_op_AdminUserGlobalSignOut.go b/service/cognitoidentityprovider/api_op_AdminUserGlobalSignOut.go index cf159ff5e24..3196da1b2cc 100644 --- a/service/cognitoidentityprovider/api_op_AdminUserGlobalSignOut.go +++ b/service/cognitoidentityprovider/api_op_AdminUserGlobalSignOut.go @@ -12,7 +12,7 @@ import ( // Signs out users from all devices, as an administrator. It also invalidates all // refresh tokens issued to a user. The user's current access and Id tokens remain -// valid until their expiry. Access and Id tokens expire one hour after they are +// valid until their expiry. Access and Id tokens expire one hour after they're // issued. Calling this action requires developer credentials. func (c *Client) AdminUserGlobalSignOut(ctx context.Context, params *AdminUserGlobalSignOutInput, optFns ...func(*Options)) (*AdminUserGlobalSignOutOutput, error) { if params == nil { diff --git a/service/cognitoidentityprovider/api_op_AssociateSoftwareToken.go b/service/cognitoidentityprovider/api_op_AssociateSoftwareToken.go index 207802e7cc7..5c175a3fcc0 100644 --- a/service/cognitoidentityprovider/api_op_AssociateSoftwareToken.go +++ b/service/cognitoidentityprovider/api_op_AssociateSoftwareToken.go @@ -14,10 +14,10 @@ import ( // request takes an access token or a session string, but not both. Calling // AssociateSoftwareToken immediately disassociates the existing software token // from the user account. If the user doesn't subsequently verify the software -// token, their account is essentially set up to authenticate without MFA. If MFA -// config is set to Optional at the user pool level, the user can then login -// without MFA. However, if MFA is set to Required for the user pool, the user will -// be asked to setup a new software token MFA during sign in. +// token, their account is set up to authenticate without MFA. If MFA config is set +// to Optional at the user pool level, the user can then log in without MFA. +// However, if MFA is set to Required for the user pool, the user is asked to set +// up a new software token MFA during sign-in. func (c *Client) AssociateSoftwareToken(ctx context.Context, params *AssociateSoftwareTokenInput, optFns ...func(*Options)) (*AssociateSoftwareTokenOutput, error) { if params == nil { params = &AssociateSoftwareTokenInput{} @@ -38,7 +38,7 @@ type AssociateSoftwareTokenInput struct { // The access token. AccessToken *string - // The session which should be passed both ways in challenge-response calls to the + // The session that should be passed both ways in challenge-response calls to the // service. This allows authentication of the user as part of the MFA setup // process. Session *string @@ -48,11 +48,11 @@ type AssociateSoftwareTokenInput struct { type AssociateSoftwareTokenOutput struct { - // A unique generated shared secret code that is used in the TOTP algorithm to - // generate a one time code. + // A unique generated shared secret code that is used in the time-based one-time + // password (TOTP) algorithm to generate a one-time code. SecretCode *string - // The session which should be passed both ways in challenge-response calls to the + // The session that should be passed both ways in challenge-response calls to the // service. This allows authentication of the user as part of the MFA setup // process. Session *string diff --git a/service/cognitoidentityprovider/api_op_ConfirmDevice.go b/service/cognitoidentityprovider/api_op_ConfirmDevice.go index 30185f5f465..7b1c0784cd9 100644 --- a/service/cognitoidentityprovider/api_op_ConfirmDevice.go +++ b/service/cognitoidentityprovider/api_op_ConfirmDevice.go @@ -53,8 +53,7 @@ type ConfirmDeviceInput struct { // Confirms the device response. type ConfirmDeviceOutput struct { - // Indicates whether the user confirmation is necessary to confirm the device - // response. + // Indicates whether the user confirmation must confirm the device response. UserConfirmationNecessary bool // Metadata pertaining to the operation's result. diff --git a/service/cognitoidentityprovider/api_op_ConfirmForgotPassword.go b/service/cognitoidentityprovider/api_op_ConfirmForgotPassword.go index 92b7c78c093..d16fe5b0758 100644 --- a/service/cognitoidentityprovider/api_op_ConfirmForgotPassword.go +++ b/service/cognitoidentityprovider/api_op_ConfirmForgotPassword.go @@ -68,20 +68,19 @@ type ConfirmForgotPasswordInput struct { // workflow for your specific needs. For more information, see Customizing User // Pool Workflows with Lambda Triggers // (https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-identity-pools-working-with-aws-lambda-triggers.html) - // in the Amazon Cognito Developer Guide. Take the following limitations into - // consideration when you use the ClientMetadata parameter: + // in the Amazon Cognito Developer Guide. When you use the ClientMetadata + // parameter, remember that Amazon Cognito won't do the following: // - // * Amazon Cognito does - // not store the ClientMetadata value. This data is available only to Lambda - // triggers that are assigned to a user pool to support custom workflows. If your - // user pool configuration does not include triggers, the ClientMetadata parameter - // serves no purpose. + // * Store the + // ClientMetadata value. This data is available only to Lambda triggers that are + // assigned to a user pool to support custom workflows. If your user pool + // configuration doesn't include triggers, the ClientMetadata parameter serves no + // purpose. // - // * Amazon Cognito does not validate the ClientMetadata - // value. + // * Validate the ClientMetadata value. // - // * Amazon Cognito does not encrypt the the ClientMetadata value, so don't - // use it to provide sensitive information. + // * Encrypt the ClientMetadata + // value. Don't use Amazon Cognito to provide sensitive information. ClientMetadata map[string]string // A keyed-hash message authentication code (HMAC) calculated using the secret key diff --git a/service/cognitoidentityprovider/api_op_ConfirmSignUp.go b/service/cognitoidentityprovider/api_op_ConfirmSignUp.go index 9f0f2f4d4bb..bced04c8e80 100644 --- a/service/cognitoidentityprovider/api_op_ConfirmSignUp.go +++ b/service/cognitoidentityprovider/api_op_ConfirmSignUp.go @@ -40,7 +40,7 @@ type ConfirmSignUpInput struct { // This member is required. ConfirmationCode *string - // The user name of the user whose registration you wish to confirm. + // The user name of the user whose registration you want to confirm. // // This member is required. Username *string @@ -61,20 +61,19 @@ type ConfirmSignUpInput struct { // your specific needs. For more information, see Customizing User Pool Workflows // with Lambda Triggers // (https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-identity-pools-working-with-aws-lambda-triggers.html) - // in the Amazon Cognito Developer Guide. Take the following limitations into - // consideration when you use the ClientMetadata parameter: + // in the Amazon Cognito Developer Guide. When you use the ClientMetadata + // parameter, remember that Amazon Cognito won't do the following: // - // * Amazon Cognito does - // not store the ClientMetadata value. This data is available only to Lambda - // triggers that are assigned to a user pool to support custom workflows. If your - // user pool configuration does not include triggers, the ClientMetadata parameter - // serves no purpose. + // * Store the + // ClientMetadata value. This data is available only to Lambda triggers that are + // assigned to a user pool to support custom workflows. If your user pool + // configuration doesn't include triggers, the ClientMetadata parameter serves no + // purpose. // - // * Amazon Cognito does not validate the ClientMetadata - // value. + // * Validate the ClientMetadata value. // - // * Amazon Cognito does not encrypt the the ClientMetadata value, so don't - // use it to provide sensitive information. + // * Encrypt the ClientMetadata + // value. Don't use Amazon Cognito to provide sensitive information. ClientMetadata map[string]string // Boolean to be specified to force user confirmation irrespective of existing diff --git a/service/cognitoidentityprovider/api_op_CreateGroup.go b/service/cognitoidentityprovider/api_op_CreateGroup.go index a79aa696538..8cc0b101720 100644 --- a/service/cognitoidentityprovider/api_op_CreateGroup.go +++ b/service/cognitoidentityprovider/api_op_CreateGroup.go @@ -43,21 +43,21 @@ type CreateGroupInput struct { // A string containing the description of the group. Description *string - // A nonnegative integer value that specifies the precedence of this group relative - // to the other groups that a user can belong to in the user pool. Zero is the - // highest precedence value. Groups with lower Precedence values take precedence - // over groups with higher or null Precedence values. If a user belongs to two or - // more groups, it is the group with the lowest precedence value whose role ARN - // will be used in the cognito:roles and cognito:preferred_role claims in the - // user's tokens. Two groups can have the same Precedence value. If this happens, - // neither group takes precedence over the other. If two groups with the same - // Precedence have the same role ARN, that role is used in the + // A non-negative integer value that specifies the precedence of this group + // relative to the other groups that a user can belong to in the user pool. Zero is + // the highest precedence value. Groups with lower Precedence values take + // precedence over groups with higher ornull Precedence values. If a user belongs + // to two or more groups, it is the group with the lowest precedence value whose + // role ARN is given in the user's tokens for the cognito:roles and + // cognito:preferred_role claims. Two groups can have the same Precedence value. If + // this happens, neither group takes precedence over the other. If two groups with + // the same Precedence have the same role ARN, that role is used in the // cognito:preferred_role claim in tokens for users in each group. If the two - // groups have different role ARNs, the cognito:preferred_role claim is not set in + // groups have different role ARNs, the cognito:preferred_role claim isn't set in // users' tokens. The default Precedence value is null. Precedence *int32 - // The role ARN for the group. + // The role Amazon Resource Name (ARN) for the group. RoleArn *string noSmithyDocumentSerde diff --git a/service/cognitoidentityprovider/api_op_CreateIdentityProvider.go b/service/cognitoidentityprovider/api_op_CreateIdentityProvider.go index 9be581b64a5..ae1d43a3cb3 100644 --- a/service/cognitoidentityprovider/api_op_CreateIdentityProvider.go +++ b/service/cognitoidentityprovider/api_op_CreateIdentityProvider.go @@ -65,38 +65,41 @@ type CreateIdentityProviderInput struct { // // * authorize_scopes // - // * For OIDC - // providers: + // * For OpenID + // Connect (OIDC) providers: // // * client_id // // * client_secret // - // * attributes_request_method - // // * - // oidc_issuer + // attributes_request_method + // + // * oidc_issuer // // * authorize_scopes // - // * authorize_url if not available from discovery - // URL specified by oidc_issuer key + // * authorize_url if + // not available from discovery URL specified by oidc_issuer key // - // * token_url if not available from discovery - // URL specified by oidc_issuer key + // * token_url if + // not available from discovery URL specified by oidc_issuer key // - // * attributes_url if not available from - // discovery URL specified by oidc_issuer key + // * attributes_url + // if not available from discovery URL specified by oidc_issuer key // - // * jwks_uri if not available from - // discovery URL specified by oidc_issuer key + // * jwks_uri if + // not available from discovery URL specified by oidc_issuer key // - // * For SAML providers: + // * + // attributes_url_add_attributes a read-only property that is set automatically // // * - // MetadataFile OR MetadataURL + // For SAML providers: + // + // * MetadataFile OR MetadataURL // - // * IDPSignout optional + // * IDPSignout (optional) // // This member is required. ProviderDetails map[string]string diff --git a/service/cognitoidentityprovider/api_op_CreateResourceServer.go b/service/cognitoidentityprovider/api_op_CreateResourceServer.go index ee819329470..4be9c5eb414 100644 --- a/service/cognitoidentityprovider/api_op_CreateResourceServer.go +++ b/service/cognitoidentityprovider/api_op_CreateResourceServer.go @@ -11,7 +11,7 @@ import ( smithyhttp "github.com/aws/smithy-go/transport/http" ) -// Creates a new OAuth2.0 resource server and defines custom scopes in it. +// Creates a new OAuth2.0 resource server and defines custom scopes within it. func (c *Client) CreateResourceServer(ctx context.Context, params *CreateResourceServerInput, optFns ...func(*Options)) (*CreateResourceServerOutput, error) { if params == nil { params = &CreateResourceServerInput{} @@ -30,7 +30,7 @@ func (c *Client) CreateResourceServer(ctx context.Context, params *CreateResourc type CreateResourceServerInput struct { // A unique resource server identifier for the resource server. This could be an - // HTTPS endpoint where the resource server is located. For example, + // HTTPS endpoint where the resource server is located, such as // https://my-weather-api.example.com. // // This member is required. @@ -46,7 +46,8 @@ type CreateResourceServerInput struct { // This member is required. UserPoolId *string - // A list of scopes. Each scope is map, where the keys are name and description. + // A list of scopes. Each scope is a key-value map with the keys name and + // description. Scopes []types.ResourceServerScopeType noSmithyDocumentSerde diff --git a/service/cognitoidentityprovider/api_op_CreateUserImportJob.go b/service/cognitoidentityprovider/api_op_CreateUserImportJob.go index 74c96c9a515..227669ca850 100644 --- a/service/cognitoidentityprovider/api_op_CreateUserImportJob.go +++ b/service/cognitoidentityprovider/api_op_CreateUserImportJob.go @@ -30,7 +30,8 @@ func (c *Client) CreateUserImportJob(ctx context.Context, params *CreateUserImpo // Represents the request to create the user import job. type CreateUserImportJobInput struct { - // The role ARN for the Amazon CloudWatch Logging role for the user import job. + // The role ARN for the Amazon CloudWatch Logs Logging role for the user import + // job. // // This member is required. CloudWatchLogsRoleArn *string diff --git a/service/cognitoidentityprovider/api_op_CreateUserPool.go b/service/cognitoidentityprovider/api_op_CreateUserPool.go index d4a952dac7c..6bfc7195417 100644 --- a/service/cognitoidentityprovider/api_op_CreateUserPool.go +++ b/service/cognitoidentityprovider/api_op_CreateUserPool.go @@ -12,20 +12,21 @@ import ( ) // Creates a new Amazon Cognito user pool and sets the password policy for the -// pool. This action might generate an SMS text message. Starting June 1, 2021, -// U.S. telecom carriers require that you register an origination phone number -// before you can send SMS messages to U.S. phone numbers. If you use SMS text -// messages in Amazon Cognito, you must register a phone number with Amazon -// Pinpoint (https://console.aws.amazon.com/pinpoint/home/). Cognito will use the -// the registered number automatically. Otherwise, Cognito users that must receive -// SMS messages might be unable to sign up, activate their accounts, or sign in. If -// you have never used SMS text messages with Amazon Cognito or any other Amazon -// Web Service, Amazon SNS might place your account in SMS sandbox. In sandbox mode -// (https://docs.aws.amazon.com/sns/latest/dg/sns-sms-sandbox.html) , you’ll have -// limitations, such as sending messages to only verified phone numbers. After +// pool. This action might generate an SMS text message. Starting June 1, 2021, US +// telecom carriers require you to register an origination phone number before you +// can send SMS messages to U.S. phone numbers. If you use SMS text messages in +// Amazon Cognito, you must register a phone number with Amazon Pinpoint +// (https://console.aws.amazon.com/pinpoint/home/). Amazon Cognito will use the +// registered number automatically. Otherwise, Amazon Cognito users that must +// receive SMS messages might be unable to sign up, activate their accounts, or +// sign in. If you have never used SMS text messages with Amazon Cognito or any +// other Amazon Web Service, Amazon Simple Notification Service might place your +// account in SMS sandbox. In sandbox mode +// (https://docs.aws.amazon.com/sns/latest/dg/sns-sms-sandbox.html) , you will have +// limitations, such as sending messages only to verified phone numbers. After // testing in the sandbox environment, you can move out of the SMS sandbox and into -// production. For more information, see SMS message settings for Cognito User -// Pools +// production. For more information, see SMS message settings for Amazon Cognito +// User Pools // (https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-identity-pools-sms-userpool-settings.html) // in the Amazon Cognito Developer Guide. func (c *Client) CreateUserPool(ctx context.Context, params *CreateUserPoolInput, optFns ...func(*Options)) (*CreateUserPoolOutput, error) { @@ -51,13 +52,13 @@ type CreateUserPoolInput struct { // This member is required. PoolName *string - // Use this setting to define which verified available method a user can use to - // recover their password when they call ForgotPassword. It allows you to define a - // preferred method when a user has more than one method available. With this - // setting, SMS does not qualify for a valid password recovery mechanism if the - // user also has SMS MFA enabled. In the absence of this setting, Cognito uses the - // legacy behavior to determine the recovery method where SMS is preferred over - // email. + // The available verified method a user can use to recover their password when they + // call ForgotPassword. You can use this setting to define a preferred method when + // a user has more than one method available. With this setting, SMS doesn't + // qualify for a valid password recovery mechanism if the user also has SMS + // multi-factor authentication (MFA) activated. In the absence of this setting, + // Amazon Cognito uses the legacy behavior to determine the recovery method where + // SMS is preferred through email. AccountRecoverySetting *types.AccountRecoverySettingType // The configuration for AdminCreateUser requests. @@ -90,11 +91,11 @@ type CreateUserPoolInput struct { // The Lambda trigger configuration information for the new user pool. In a push // model, event sources (such as Amazon S3 and custom applications) need permission - // to invoke a function. So you will need to make an extra call to add permission - // for these event sources to invoke your Lambda function. For more information on - // using the Lambda API to add permission, see AddPermission + // to invoke a function. So you must make an extra call to add permission for these + // event sources to invoke your Lambda function. For more information on using the + // Lambda API to add permission, see AddPermission // (https://docs.aws.amazon.com/lambda/latest/dg/API_AddPermission.html). For - // adding permission using the CLI, see add-permission + // adding permission using the CLI, see add-permission // (https://docs.aws.amazon.com/cli/latest/reference/lambda/add-permission.html). LambdaConfig *types.LambdaConfigType @@ -117,8 +118,8 @@ type CreateUserPoolInput struct { // A string representing the SMS verification message. SmsVerificationMessage *string - // Used to enable advanced security risk detection. Set the key - // AdvancedSecurityMode to the value "AUDIT". + // Enables advanced security risk detection. Set the key AdvancedSecurityMode to + // the value "AUDIT". UserPoolAddOns *types.UserPoolAddOnsType // The tag keys and values to assign to the user pool. A tag is a label that you @@ -126,14 +127,14 @@ type CreateUserPoolInput struct { // purpose, owner, environment, or other criteria. UserPoolTags map[string]string - // Specifies whether email addresses or phone numbers can be specified as usernames - // when a user signs up. + // Specifies whether a user can use an email address or phone number as a username + // when they sign up. UsernameAttributes []types.UsernameAttributeType - // You can choose to set case sensitivity on the username input for the selected - // sign-in option. For example, when this is set to False, users will be able to - // sign in using either "username" or "Username". This configuration is immutable - // once it has been set. For more information, see UsernameConfigurationType + // Case sensitivity on the username input for the selected sign-in option. For + // example, when case sensitivity is set to False, users can sign in using either + // "username" or "Username". This configuration is immutable once it has been set. + // For more information, see UsernameConfigurationType // (https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UsernameConfigurationType.html). UsernameConfiguration *types.UsernameConfigurationType diff --git a/service/cognitoidentityprovider/api_op_CreateUserPoolClient.go b/service/cognitoidentityprovider/api_op_CreateUserPoolClient.go index b7e8372ece7..d003e6cde40 100644 --- a/service/cognitoidentityprovider/api_op_CreateUserPoolClient.go +++ b/service/cognitoidentityprovider/api_op_CreateUserPoolClient.go @@ -12,8 +12,8 @@ import ( ) // Creates the user pool client. When you create a new user pool client, token -// revocation is automatically enabled. For more information about revoking tokens, -// see RevokeToken +// revocation is automatically activated. For more information about revoking +// tokens, see RevokeToken // (https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_RevokeToken.html). func (c *Client) CreateUserPoolClient(ctx context.Context, params *CreateUserPoolClientInput, optFns ...func(*Options)) (*CreateUserPoolClientOutput, error) { if params == nil { @@ -44,8 +44,8 @@ type CreateUserPoolClientInput struct { UserPoolId *string // The time limit, between 5 minutes and 1 day, after which the access token is no - // longer valid and cannot be used. This value will be overridden if you have - // entered a value in TokenValidityUnits. + // longer valid and can't be used. If you supply a TokenValidityUnits value, you + // will override the default time unit. AccessTokenValidity *int32 // The allowed OAuth flows. Set to code to initiate a code grant flow, which @@ -58,7 +58,7 @@ type CreateUserPoolClientInput struct { AllowedOAuthFlows []types.OAuthFlowType // Set to true if the client is allowed to follow the OAuth protocol when - // interacting with Cognito user pools. + // interacting with Amazon Cognito user pools. AllowedOAuthFlowsUserPoolClient bool // The allowed OAuth scopes. Possible values provided by OAuth are: phone, email, @@ -68,10 +68,10 @@ type CreateUserPoolClientInput struct { AllowedOAuthScopes []string // The Amazon Pinpoint analytics configuration for collecting metrics for this user - // pool. In regions where Pinpoint is not available, Cognito User Pools only - // supports sending events to Amazon Pinpoint projects in us-east-1. In regions - // where Pinpoint is available, Cognito User Pools will support sending events to - // Amazon Pinpoint projects within that same region. + // pool. In Amazon Web Services Regions where isn't available, User Pools only + // supports sending events to Amazon Pinpoint projects in Amazon Web Services + // Region us-east-1. In Regions where is available, User Pools will support sending + // events to Amazon Pinpoint projects within that same Region. AnalyticsConfiguration *types.AnalyticsConfigurationType // A list of allowed redirect (callback) URLs for the identity providers. A @@ -106,76 +106,71 @@ type CreateUserPoolClientInput struct { // callback URLs such as myapp://example are also supported. DefaultRedirectURI *string - // Enables or disables token revocation. For more information about revoking + // Activates or deactivates token revocation. For more information about revoking // tokens, see RevokeToken // (https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_RevokeToken.html). - // If you don't include this parameter, token revocation is automatically enabled + // If you don't include this parameter, token revocation is automatically activated // for the new user pool client. EnableTokenRevocation *bool // The authentication flows that are supported by the user pool clients. Flow names - // without the ALLOW_ prefix are deprecated in favor of new names with the ALLOW_ - // prefix. Note that values with ALLOW_ prefix cannot be used along with values - // without ALLOW_ prefix. Valid values include: + // without the ALLOW_ prefix are no longer supported, in favor of new names with + // the ALLOW_ prefix. Note that values with ALLOW_ prefix must be used only along + // with the ALLOW_ prefix. Valid values include: // // * ALLOW_ADMIN_USER_PASSWORD_AUTH: // Enable admin based user password authentication flow ADMIN_USER_PASSWORD_AUTH. // This setting replaces the ADMIN_NO_SRP_AUTH setting. With this authentication - // flow, Cognito receives the password in the request instead of using the SRP - // (Secure Remote Password protocol) protocol to verify passwords. + // flow, Amazon Cognito receives the password in the request instead of using the + // Secure Remote Password (SRP) protocol to verify passwords. // - // * - // ALLOW_CUSTOM_AUTH: Enable Lambda trigger based authentication. + // * ALLOW_CUSTOM_AUTH: + // Enable Lambda trigger based authentication. // - // * - // ALLOW_USER_PASSWORD_AUTH: Enable user password-based authentication. In this - // flow, Cognito receives the password in the request instead of using the SRP - // protocol to verify passwords. + // * ALLOW_USER_PASSWORD_AUTH: Enable + // user password-based authentication. In this flow, Amazon Cognito receives the + // password in the request instead of using the SRP protocol to verify + // passwords. // - // * ALLOW_USER_SRP_AUTH: Enable SRP based - // authentication. + // * ALLOW_USER_SRP_AUTH: Enable SRP-based authentication. // - // * ALLOW_REFRESH_TOKEN_AUTH: Enable authflow to refresh tokens. + // * + // ALLOW_REFRESH_TOKEN_AUTH: Enable authflow to refresh tokens. ExplicitAuthFlows []types.ExplicitAuthFlowsType // Boolean to specify whether you want to generate a secret for the user pool // client being created. GenerateSecret bool - // The time limit, between 5 minutes and 1 day, after which the ID token is no - // longer valid and cannot be used. This value will be overridden if you have - // entered a value in TokenValidityUnits. + // The time limit, between 5 minutes and 1 day, after which the access token is no + // longer valid and can't be used. If you supply a TokenValidityUnits value, you + // will override the default time unit. IdTokenValidity *int32 // A list of allowed logout URLs for the identity providers. LogoutURLs []string - // Use this setting to choose which errors and responses are returned by Cognito - // APIs during authentication, account confirmation, and password recovery when the - // user does not exist in the user pool. When set to ENABLED and the user does not - // exist, authentication returns an error indicating either the username or - // password was incorrect, and account confirmation and password recovery return a - // response indicating a code was sent to a simulated destination. When set to - // LEGACY, those APIs will return a UserNotFoundException exception if the user - // does not exist in the user pool. Valid values include: - // - // * ENABLED - This - // prevents user existence-related errors. + // Errors and responses that you want Amazon Cognito APIs to return during + // authentication, account confirmation, and password recovery when the user + // doesn't exist in the user pool. When set to ENABLED and the user doesn't exist, + // authentication returns an error indicating either the username or password was + // incorrect. Account confirmation and password recovery return a response + // indicating a code was sent to a simulated destination. When set to LEGACY, those + // APIs return a UserNotFoundException exception if the user doesn't exist in the + // user pool. Valid values include: // - // * LEGACY - This represents the old - // behavior of Cognito where user existence related errors are not - // prevented. + // * ENABLED - This prevents user + // existence-related errors. // - // After February 15th 2020, the value of PreventUserExistenceErrors - // will default to ENABLED for newly created user pool clients if no value is - // provided. + // * LEGACY - This represents the early behavior of + // Amazon Cognito where user existence related errors aren't prevented. PreventUserExistenceErrors types.PreventUserExistenceErrorTypes // The read attributes. ReadAttributes []string // The time limit, in days, after which the refresh token is no longer valid and - // cannot be used. + // can't be used. RefreshTokenValidity int32 // A list of provider names for the identity providers that are supported on this @@ -183,8 +178,8 @@ type CreateUserPoolClientInput struct { // LoginWithAmazon. SupportedIdentityProviders []string - // The units in which the validity times are represented in. Default for - // RefreshToken is days, and default for ID and access tokens are hours. + // The units in which the validity times are represented. Default for RefreshToken + // is days, and default for ID and access tokens are hours. TokenValidityUnits *types.TokenValidityUnitsType // The user pool attributes that the app client can write to. If your app client @@ -192,9 +187,9 @@ type CreateUserPoolClientInput struct { // all attributes that are mapped to identity provider attributes. Amazon Cognito // updates mapped attributes when users sign in to your application through an // identity provider. If your app client lacks write access to a mapped attribute, - // Amazon Cognito throws an error when it attempts to update the attribute. For - // more information, see Specifying Identity Provider Attribute Mappings for Your - // User Pool + // Amazon Cognito throws an error when it tries to update the attribute. For more + // information, see Specifying Identity Provider Attribute Mappings for Your User + // Pool // (https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pools-specifying-attribute-mapping.html). WriteAttributes []string diff --git a/service/cognitoidentityprovider/api_op_CreateUserPoolDomain.go b/service/cognitoidentityprovider/api_op_CreateUserPoolDomain.go index d7535f7d00a..36db02f829a 100644 --- a/service/cognitoidentityprovider/api_op_CreateUserPoolDomain.go +++ b/service/cognitoidentityprovider/api_op_CreateUserPoolDomain.go @@ -29,7 +29,9 @@ func (c *Client) CreateUserPoolDomain(ctx context.Context, params *CreateUserPoo type CreateUserPoolDomainInput struct { - // The domain string. + // The domain string. For custom domains, this is the fully-qualified domain name, + // such as auth.example.com. For Amazon Cognito prefix domains, this is the prefix + // alone, such as auth. // // This member is required. Domain *string diff --git a/service/cognitoidentityprovider/api_op_DeleteUserAttributes.go b/service/cognitoidentityprovider/api_op_DeleteUserAttributes.go index 9968af0eabf..35f6566f4ce 100644 --- a/service/cognitoidentityprovider/api_op_DeleteUserAttributes.go +++ b/service/cognitoidentityprovider/api_op_DeleteUserAttributes.go @@ -33,9 +33,9 @@ type DeleteUserAttributesInput struct { // This member is required. AccessToken *string - // An array of strings representing the user attribute names you wish to delete. - // For custom attributes, you must prepend the custom: prefix to the attribute - // name. + // An array of strings representing the user attribute names you want to delete. + // For custom attributes, you must prependattach the custom: prefix to the front of + // the attribute name. // // This member is required. UserAttributeNames []string diff --git a/service/cognitoidentityprovider/api_op_DeleteUserPoolDomain.go b/service/cognitoidentityprovider/api_op_DeleteUserPoolDomain.go index 0700f435b88..3150741b4f5 100644 --- a/service/cognitoidentityprovider/api_op_DeleteUserPoolDomain.go +++ b/service/cognitoidentityprovider/api_op_DeleteUserPoolDomain.go @@ -28,7 +28,9 @@ func (c *Client) DeleteUserPoolDomain(ctx context.Context, params *DeleteUserPoo type DeleteUserPoolDomainInput struct { - // The domain string. + // The domain string. For custom domains, this is the fully-qualified domain name, + // such as auth.example.com. For Amazon Cognito prefix domains, this is the prefix + // alone, such as auth. // // This member is required. Domain *string diff --git a/service/cognitoidentityprovider/api_op_DescribeUserPoolDomain.go b/service/cognitoidentityprovider/api_op_DescribeUserPoolDomain.go index 10131fae5d2..3b7ccf43821 100644 --- a/service/cognitoidentityprovider/api_op_DescribeUserPoolDomain.go +++ b/service/cognitoidentityprovider/api_op_DescribeUserPoolDomain.go @@ -29,7 +29,9 @@ func (c *Client) DescribeUserPoolDomain(ctx context.Context, params *DescribeUse type DescribeUserPoolDomainInput struct { - // The domain string. + // The domain string. For custom domains, this is the fully-qualified domain name, + // such as auth.example.com. For Amazon Cognito prefix domains, this is the prefix + // alone, such as auth. // // This member is required. Domain *string diff --git a/service/cognitoidentityprovider/api_op_ForgotPassword.go b/service/cognitoidentityprovider/api_op_ForgotPassword.go index de5ea0ab3eb..9cc0fc1a65c 100644 --- a/service/cognitoidentityprovider/api_op_ForgotPassword.go +++ b/service/cognitoidentityprovider/api_op_ForgotPassword.go @@ -20,20 +20,21 @@ import ( // verified email exists, an InvalidParameterException is thrown. To use the // confirmation code for resetting the password, call ConfirmForgotPassword // (https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_ConfirmForgotPassword.html). -// This action might generate an SMS text message. Starting June 1, 2021, U.S. -// telecom carriers require that you register an origination phone number before -// you can send SMS messages to U.S. phone numbers. If you use SMS text messages in +// This action might generate an SMS text message. Starting June 1, 2021, US +// telecom carriers require you to register an origination phone number before you +// can send SMS messages to U.S. phone numbers. If you use SMS text messages in // Amazon Cognito, you must register a phone number with Amazon Pinpoint -// (https://console.aws.amazon.com/pinpoint/home/). Cognito will use the the -// registered number automatically. Otherwise, Cognito users that must receive SMS -// messages might be unable to sign up, activate their accounts, or sign in. If you -// have never used SMS text messages with Amazon Cognito or any other Amazon Web -// Service, Amazon SNS might place your account in SMS sandbox. In sandbox mode -// (https://docs.aws.amazon.com/sns/latest/dg/sns-sms-sandbox.html) , you’ll have -// limitations, such as sending messages to only verified phone numbers. After +// (https://console.aws.amazon.com/pinpoint/home/). Amazon Cognito will use the +// registered number automatically. Otherwise, Amazon Cognito users that must +// receive SMS messages might be unable to sign up, activate their accounts, or +// sign in. If you have never used SMS text messages with Amazon Cognito or any +// other Amazon Web Service, Amazon Simple Notification Service might place your +// account in SMS sandbox. In sandbox mode +// (https://docs.aws.amazon.com/sns/latest/dg/sns-sms-sandbox.html) , you will have +// limitations, such as sending messages only to verified phone numbers. After // testing in the sandbox environment, you can move out of the SMS sandbox and into -// production. For more information, see SMS message settings for Cognito User -// Pools +// production. For more information, see SMS message settings for Amazon Cognito +// User Pools // (https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-identity-pools-sms-userpool-settings.html) // in the Amazon Cognito Developer Guide. func (c *Client) ForgotPassword(ctx context.Context, params *ForgotPasswordInput, optFns ...func(*Options)) (*ForgotPasswordOutput, error) { @@ -81,20 +82,19 @@ type ForgotPasswordInput struct { // clientMetadata value to enhance your workflow for your specific needs. For more // information, see Customizing User Pool Workflows with Lambda Triggers // (https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-identity-pools-working-with-aws-lambda-triggers.html) - // in the Amazon Cognito Developer Guide. Take the following limitations into - // consideration when you use the ClientMetadata parameter: + // in the Amazon Cognito Developer Guide. When you use the ClientMetadata + // parameter, remember that Amazon Cognito won't do the following: // - // * Amazon Cognito does - // not store the ClientMetadata value. This data is available only to Lambda - // triggers that are assigned to a user pool to support custom workflows. If your - // user pool configuration does not include triggers, the ClientMetadata parameter - // serves no purpose. + // * Store the + // ClientMetadata value. This data is available only to Lambda triggers that are + // assigned to a user pool to support custom workflows. If your user pool + // configuration doesn't include triggers, the ClientMetadata parameter serves no + // purpose. // - // * Amazon Cognito does not validate the ClientMetadata - // value. + // * Validate the ClientMetadata value. // - // * Amazon Cognito does not encrypt the the ClientMetadata value, so don't - // use it to provide sensitive information. + // * Encrypt the ClientMetadata + // value. Don't use Amazon Cognito to provide sensitive information. ClientMetadata map[string]string // A keyed-hash message authentication code (HMAC) calculated using the secret key diff --git a/service/cognitoidentityprovider/api_op_GetCSVHeader.go b/service/cognitoidentityprovider/api_op_GetCSVHeader.go index 7296699a5f5..414291df7d4 100644 --- a/service/cognitoidentityprovider/api_op_GetCSVHeader.go +++ b/service/cognitoidentityprovider/api_op_GetCSVHeader.go @@ -10,8 +10,8 @@ import ( smithyhttp "github.com/aws/smithy-go/transport/http" ) -// Gets the header information for the .csv file to be used as input for the user -// import job. +// Gets the header information for the comma-separated value (CSV) file to be used +// as input for the user import job. func (c *Client) GetCSVHeader(ctx context.Context, params *GetCSVHeaderInput, optFns ...func(*Options)) (*GetCSVHeaderOutput, error) { if params == nil { params = &GetCSVHeaderInput{} @@ -27,7 +27,7 @@ func (c *Client) GetCSVHeader(ctx context.Context, params *GetCSVHeaderInput, op return out, nil } -// Represents the request to get the header information for the .csv file for the +// Represents the request to get the header information of the CSV file for the // user import job. type GetCSVHeaderInput struct { @@ -40,10 +40,10 @@ type GetCSVHeaderInput struct { } // Represents the response from the server to the request to get the header -// information for the .csv file for the user import job. +// information of the CSV file for the user import job. type GetCSVHeaderOutput struct { - // The header information for the .csv file for the user import job. + // The header information of the CSV file for the user import job. CSVHeader []string // The user pool ID for the user pool that the users are to be imported into. diff --git a/service/cognitoidentityprovider/api_op_GetSigningCertificate.go b/service/cognitoidentityprovider/api_op_GetSigningCertificate.go index e010619cdc3..b6d3788bbde 100644 --- a/service/cognitoidentityprovider/api_op_GetSigningCertificate.go +++ b/service/cognitoidentityprovider/api_op_GetSigningCertificate.go @@ -26,7 +26,7 @@ func (c *Client) GetSigningCertificate(ctx context.Context, params *GetSigningCe return out, nil } -// Request to get a signing certificate from Cognito. +// Request to get a signing certificate from Amazon Cognito. type GetSigningCertificateInput struct { // The user pool ID. @@ -37,7 +37,7 @@ type GetSigningCertificateInput struct { noSmithyDocumentSerde } -// Response from Cognito for a signing certificate request. +// Response from Amazon Cognito for a signing certificate request. type GetSigningCertificateOutput struct { // The signing certificate. diff --git a/service/cognitoidentityprovider/api_op_GetUICustomization.go b/service/cognitoidentityprovider/api_op_GetUICustomization.go index 8e32a028680..cd95b9cddb3 100644 --- a/service/cognitoidentityprovider/api_op_GetUICustomization.go +++ b/service/cognitoidentityprovider/api_op_GetUICustomization.go @@ -11,10 +11,11 @@ import ( smithyhttp "github.com/aws/smithy-go/transport/http" ) -// Gets the UI Customization information for a particular app client's app UI, if -// there is something set. If nothing is set for the particular client, but there -// is an existing pool level customization (app clientId will be ALL), then that is -// returned. If nothing is present, then an empty shape is returned. +// Gets the user interface (UI) Customization information for a particular app +// client's app UI, if any such information exists for the client. If nothing is +// set for the particular client, but there is an existing pool level customization +// (the app clientId is ALL), then that information is returned. If nothing is +// present, then an empty shape is returned. func (c *Client) GetUICustomization(ctx context.Context, params *GetUICustomizationInput, optFns ...func(*Options)) (*GetUICustomizationOutput, error) { if params == nil { params = &GetUICustomizationInput{} diff --git a/service/cognitoidentityprovider/api_op_GetUser.go b/service/cognitoidentityprovider/api_op_GetUser.go index 4597ae172fb..7c69840d6eb 100644 --- a/service/cognitoidentityprovider/api_op_GetUser.go +++ b/service/cognitoidentityprovider/api_op_GetUser.go @@ -48,22 +48,23 @@ type GetUserOutput struct { // This member is required. UserAttributes []types.AttributeType - // The user name of the user you wish to retrieve from the get user request. + // The user name of the user you want to retrieve from the get user request. // // This member is required. Username *string // This response parameter is no longer supported. It provides information only - // about SMS MFA configurations. It doesn't provide information about TOTP software - // token MFA configurations. To look up information about either type of MFA - // configuration, use UserMFASettingList instead. + // about SMS MFA configurations. It doesn't provide information about time-based + // one-time password (TOTP) software token MFA configurations. To look up + // information about either type of MFA configuration, use UserMFASettingList + // instead. MFAOptions []types.MFAOptionType // The user's preferred MFA setting. PreferredMfaSetting *string - // The MFA options that are enabled for the user. The possible values in this list - // are SMS_MFA and SOFTWARE_TOKEN_MFA. + // The MFA options that are activated for the user. The possible values in this + // list are SMS_MFA and SOFTWARE_TOKEN_MFA. UserMFASettingList []string // Metadata pertaining to the operation's result. diff --git a/service/cognitoidentityprovider/api_op_GetUserAttributeVerificationCode.go b/service/cognitoidentityprovider/api_op_GetUserAttributeVerificationCode.go index 5f444ad0037..e3ce814683a 100644 --- a/service/cognitoidentityprovider/api_op_GetUserAttributeVerificationCode.go +++ b/service/cognitoidentityprovider/api_op_GetUserAttributeVerificationCode.go @@ -11,20 +11,21 @@ import ( ) // Gets the user attribute verification code for the specified attribute name. This -// action might generate an SMS text message. Starting June 1, 2021, U.S. telecom -// carriers require that you register an origination phone number before you can -// send SMS messages to U.S. phone numbers. If you use SMS text messages in Amazon +// action might generate an SMS text message. Starting June 1, 2021, US telecom +// carriers require you to register an origination phone number before you can send +// SMS messages to U.S. phone numbers. If you use SMS text messages in Amazon // Cognito, you must register a phone number with Amazon Pinpoint -// (https://console.aws.amazon.com/pinpoint/home/). Cognito will use the the -// registered number automatically. Otherwise, Cognito users that must receive SMS -// messages might be unable to sign up, activate their accounts, or sign in. If you -// have never used SMS text messages with Amazon Cognito or any other Amazon Web -// Service, Amazon SNS might place your account in SMS sandbox. In sandbox mode -// (https://docs.aws.amazon.com/sns/latest/dg/sns-sms-sandbox.html) , you’ll have -// limitations, such as sending messages to only verified phone numbers. After +// (https://console.aws.amazon.com/pinpoint/home/). Amazon Cognito will use the +// registered number automatically. Otherwise, Amazon Cognito users that must +// receive SMS messages might be unable to sign up, activate their accounts, or +// sign in. If you have never used SMS text messages with Amazon Cognito or any +// other Amazon Web Service, Amazon Simple Notification Service might place your +// account in SMS sandbox. In sandbox mode +// (https://docs.aws.amazon.com/sns/latest/dg/sns-sms-sandbox.html) , you will have +// limitations, such as sending messages only to verified phone numbers. After // testing in the sandbox environment, you can move out of the SMS sandbox and into -// production. For more information, see SMS message settings for Cognito User -// Pools +// production. For more information, see SMS message settings for Amazon Cognito +// User Pools // (https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-identity-pools-sms-userpool-settings.html) // in the Amazon Cognito Developer Guide. func (c *Client) GetUserAttributeVerificationCode(ctx context.Context, params *GetUserAttributeVerificationCodeInput, optFns ...func(*Options)) (*GetUserAttributeVerificationCodeOutput, error) { @@ -70,20 +71,19 @@ type GetUserAttributeVerificationCodeInput struct { // needs. For more information, see Customizing User Pool Workflows with Lambda // Triggers // (https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-identity-pools-working-with-aws-lambda-triggers.html) - // in the Amazon Cognito Developer Guide. Take the following limitations into - // consideration when you use the ClientMetadata parameter: + // in the Amazon Cognito Developer Guide. When you use the ClientMetadata + // parameter, remember that Amazon Cognito won't do the following: // - // * Amazon Cognito does - // not store the ClientMetadata value. This data is available only to Lambda - // triggers that are assigned to a user pool to support custom workflows. If your - // user pool configuration does not include triggers, the ClientMetadata parameter - // serves no purpose. + // * Store the + // ClientMetadata value. This data is available only to Lambda triggers that are + // assigned to a user pool to support custom workflows. If your user pool + // configuration doesn't include triggers, the ClientMetadata parameter serves no + // purpose. // - // * Amazon Cognito does not validate the ClientMetadata - // value. + // * Validate the ClientMetadata value. // - // * Amazon Cognito does not encrypt the the ClientMetadata value, so don't - // use it to provide sensitive information. + // * Encrypt the ClientMetadata + // value. Don't use Amazon Cognito to provide sensitive information. ClientMetadata map[string]string noSmithyDocumentSerde diff --git a/service/cognitoidentityprovider/api_op_GetUserPoolMfaConfig.go b/service/cognitoidentityprovider/api_op_GetUserPoolMfaConfig.go index c0649bf9e8c..8ebae2940dd 100644 --- a/service/cognitoidentityprovider/api_op_GetUserPoolMfaConfig.go +++ b/service/cognitoidentityprovider/api_op_GetUserPoolMfaConfig.go @@ -41,14 +41,13 @@ type GetUserPoolMfaConfigOutput struct { // The multi-factor (MFA) configuration. Valid values include: // - // * OFF MFA will not - // be used for any users. + // * OFF MFA won't be + // used for any users. // // * ON MFA is required for all users to sign in. // - // * - // OPTIONAL MFA will be required only for individual users who have an MFA factor - // enabled. + // * OPTIONAL + // MFA will be required only for individual users who have an MFA factor activated. MfaConfiguration types.UserPoolMfaType // The SMS text message multi-factor (MFA) configuration. diff --git a/service/cognitoidentityprovider/api_op_GlobalSignOut.go b/service/cognitoidentityprovider/api_op_GlobalSignOut.go index cb8864b4b25..2b773d0cf9b 100644 --- a/service/cognitoidentityprovider/api_op_GlobalSignOut.go +++ b/service/cognitoidentityprovider/api_op_GlobalSignOut.go @@ -11,8 +11,8 @@ import ( ) // Signs out users from all devices. It also invalidates all refresh tokens issued -// to a user. The user's current access and Id tokens remain valid until their -// expiry. Access and Id tokens expire one hour after they are issued. +// to a user. The user's current access and ID tokens remain valid until their +// expiry. Access and Id tokens expire one hour after they're issued. func (c *Client) GlobalSignOut(ctx context.Context, params *GlobalSignOutInput, optFns ...func(*Options)) (*GlobalSignOutOutput, error) { if params == nil { params = &GlobalSignOutInput{} diff --git a/service/cognitoidentityprovider/api_op_InitiateAuth.go b/service/cognitoidentityprovider/api_op_InitiateAuth.go index 79492c327dd..b7bf869734a 100644 --- a/service/cognitoidentityprovider/api_op_InitiateAuth.go +++ b/service/cognitoidentityprovider/api_op_InitiateAuth.go @@ -11,20 +11,20 @@ import ( ) // Initiates the authentication flow. This action might generate an SMS text -// message. Starting June 1, 2021, U.S. telecom carriers require that you register -// an origination phone number before you can send SMS messages to U.S. phone -// numbers. If you use SMS text messages in Amazon Cognito, you must register a -// phone number with Amazon Pinpoint -// (https://console.aws.amazon.com/pinpoint/home/). Cognito will use the the -// registered number automatically. Otherwise, Cognito users that must receive SMS -// messages might be unable to sign up, activate their accounts, or sign in. If you -// have never used SMS text messages with Amazon Cognito or any other Amazon Web -// Service, Amazon SNS might place your account in SMS sandbox. In sandbox mode -// (https://docs.aws.amazon.com/sns/latest/dg/sns-sms-sandbox.html) , you’ll have -// limitations, such as sending messages to only verified phone numbers. After +// message. Starting June 1, 2021, US telecom carriers require you to register an +// origination phone number before you can send SMS messages to U.S. phone numbers. +// If you use SMS text messages in Amazon Cognito, you must register a phone number +// with Amazon Pinpoint (https://console.aws.amazon.com/pinpoint/home/). Amazon +// Cognito will use the registered number automatically. Otherwise, Amazon Cognito +// users that must receive SMS messages might be unable to sign up, activate their +// accounts, or sign in. If you have never used SMS text messages with Amazon +// Cognito or any other Amazon Web Service, Amazon Simple Notification Service +// might place your account in SMS sandbox. In sandbox mode +// (https://docs.aws.amazon.com/sns/latest/dg/sns-sms-sandbox.html) , you will have +// limitations, such as sending messages only to verified phone numbers. After // testing in the sandbox environment, you can move out of the SMS sandbox and into -// production. For more information, see SMS message settings for Cognito User -// Pools +// production. For more information, see SMS message settings for Amazon Cognito +// User Pools // (https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-identity-pools-sms-userpool-settings.html) // in the Amazon Cognito Developer Guide. func (c *Client) InitiateAuth(ctx context.Context, params *InitiateAuthInput, optFns ...func(*Options)) (*InitiateAuthOutput, error) { @@ -45,42 +45,37 @@ func (c *Client) InitiateAuth(ctx context.Context, params *InitiateAuthInput, op // Initiates the authentication request. type InitiateAuthInput struct { - // The authentication flow for this call to execute. The API action will depend on - // this value. For example: + // The authentication flow for this call to run. The API action will depend on this + // value. For example: // - // * REFRESH_TOKEN_AUTH will take in a valid refresh - // token and return new tokens. + // * REFRESH_TOKEN_AUTH takes in a valid refresh token and + // returns new tokens. // - // * USER_SRP_AUTH will take in USERNAME and SRP_A - // and return the SRP variables to be used for next challenge execution. + // * USER_SRP_AUTH takes in USERNAME and SRP_A and returns the + // SRP variables to be used for next challenge execution. // - // * - // USER_PASSWORD_AUTH will take in USERNAME and PASSWORD and return the next - // challenge or tokens. - // - // Valid values include: + // * USER_PASSWORD_AUTH + // takes in USERNAME and PASSWORD and returns the next challenge or tokens. // - // * USER_SRP_AUTH: Authentication - // flow for the Secure Remote Password (SRP) protocol. + // Valid + // values include: // - // * - // REFRESH_TOKEN_AUTH/REFRESH_TOKEN: Authentication flow for refreshing the access - // token and ID token by supplying a valid refresh token. + // * USER_SRP_AUTH: Authentication flow for the Secure Remote + // Password (SRP) protocol. // - // * CUSTOM_AUTH: Custom - // authentication flow. + // * REFRESH_TOKEN_AUTH/REFRESH_TOKEN: Authentication + // flow for refreshing the access token and ID token by supplying a valid refresh + // token. // - // * USER_PASSWORD_AUTH: Non-SRP authentication flow; - // USERNAME and PASSWORD are passed directly. If a user migration Lambda trigger is - // set, this flow will invoke the user migration Lambda if the USERNAME is not - // found in the user pool. + // * CUSTOM_AUTH: Custom authentication flow. // - // * ADMIN_USER_PASSWORD_AUTH: Admin-based user password - // authentication. This replaces the ADMIN_NO_SRP_AUTH authentication flow. In this - // flow, Cognito receives the password in the request instead of using the SRP - // process to verify passwords. + // * USER_PASSWORD_AUTH: + // Non-SRP authentication flow; USERNAME and PASSWORD are passed directly. If a + // user migration Lambda trigger is set, this flow will invoke the user migration + // Lambda if it doesn't find the USERNAME in the user pool. // - // ADMIN_NO_SRP_AUTH is not a valid value. + // ADMIN_NO_SRP_AUTH + // isn't a valid value. // // This member is required. AuthFlow types.AuthFlowType @@ -95,7 +90,7 @@ type InitiateAuthInput struct { AnalyticsMetadata *types.AnalyticsMetadataType // The authentication parameters. These are inputs corresponding to the AuthFlow - // that you are invoking. The required values depend on the value of AuthFlow: + // that you're invoking. The required values depend on the value of AuthFlow: // // * // For USER_SRP_AUTH: USERNAME (required), SRP_A (required), SECRET_HASH (required @@ -132,7 +127,7 @@ type InitiateAuthInput struct { // code in Lambda, you can process the validationData value to enhance your // workflow for your specific needs. When you use the InitiateAuth API action, // Amazon Cognito also invokes the functions for the following triggers, but it - // does not provide the ClientMetadata value as input: + // doesn't provide the ClientMetadata value as input: // // * Post authentication // @@ -151,20 +146,19 @@ type InitiateAuthInput struct { // For more information, see Customizing User // Pool Workflows with Lambda Triggers // (https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-identity-pools-working-with-aws-lambda-triggers.html) - // in the Amazon Cognito Developer Guide. Take the following limitations into - // consideration when you use the ClientMetadata parameter: + // in the Amazon Cognito Developer Guide. When you use the ClientMetadata + // parameter, remember that Amazon Cognito won't do the following: // - // * Amazon Cognito does - // not store the ClientMetadata value. This data is available only to Lambda - // triggers that are assigned to a user pool to support custom workflows. If your - // user pool configuration does not include triggers, the ClientMetadata parameter - // serves no purpose. + // * Store the + // ClientMetadata value. This data is available only to Lambda triggers that are + // assigned to a user pool to support custom workflows. If your user pool + // configuration doesn't include triggers, the ClientMetadata parameter serves no + // purpose. // - // * Amazon Cognito does not validate the ClientMetadata - // value. + // * Validate the ClientMetadata value. // - // * Amazon Cognito does not encrypt the the ClientMetadata value, so don't - // use it to provide sensitive information. + // * Encrypt the ClientMetadata + // value. Don't use Amazon Cognito to provide sensitive information. ClientMetadata map[string]string // Contextual data such as the user's device fingerprint, IP address, or location @@ -178,22 +172,22 @@ type InitiateAuthInput struct { // Initiates the authentication response. type InitiateAuthOutput struct { - // The result of the authentication response. This is only returned if the caller - // does not need to pass another challenge. If the caller does need to pass another - // challenge before it gets tokens, ChallengeName, ChallengeParameters, and Session - // are returned. + // The result of the authentication response. This result is only returned if the + // caller doesn't need to pass another challenge. If the caller does need to pass + // another challenge before it gets tokens, ChallengeName, ChallengeParameters, and + // Session are returned. AuthenticationResult *types.AuthenticationResultType - // The name of the challenge which you are responding to with this call. This is - // returned to you in the AdminInitiateAuth response if you need to pass another - // challenge. Valid values include the following. Note that all of these challenges - // require USERNAME and SECRET_HASH (if applicable) in the parameters. + // The name of the challenge that you're responding to with this call. This name is + // returned in the AdminInitiateAuth response if you must pass another challenge. + // Valid values include the following. Note that all of these challenges require + // USERNAME and SECRET_HASH (if applicable) in the parameters. // - // * SMS_MFA: - // Next challenge is to supply an SMS_MFA_CODE, delivered via SMS. + // * SMS_MFA: Next + // challenge is to supply an SMS_MFA_CODE, delivered via SMS. // - // * - // PASSWORD_VERIFIER: Next challenge is to supply PASSWORD_CLAIM_SIGNATURE, + // * PASSWORD_VERIFIER: + // Next challenge is to supply PASSWORD_CLAIM_SIGNATURE, // PASSWORD_CLAIM_SECRET_BLOCK, and TIMESTAMP after the client-side SRP // calculations. // @@ -201,8 +195,8 @@ type InitiateAuthOutput struct { // authentication flow determines that the user should pass another challenge // before tokens are issued. // - // * DEVICE_SRP_AUTH: If device tracking was enabled on - // your user pool and the previous challenges were passed, this challenge is + // * DEVICE_SRP_AUTH: If device tracking was activated + // on your user pool and the previous challenges were passed, this challenge is // returned so that Amazon Cognito can start tracking this device. // // * @@ -214,26 +208,26 @@ type InitiateAuthOutput struct { // and any other required attributes. // // * MFA_SETUP: For users who are required to - // setup an MFA factor before they can sign-in. The MFA types enabled for the user - // pool will be listed in the challenge parameters MFA_CAN_SETUP value. To setup - // software token MFA, use the session returned here from InitiateAuth as an input - // to AssociateSoftwareToken, and use the session returned by VerifySoftwareToken + // setup an MFA factor before they can sign in. The MFA types activated for the + // user pool will be listed in the challenge parameters MFA_CAN_SETUP value. To set + // up software token MFA, use the session returned here from InitiateAuth as an + // input to AssociateSoftwareToken. Use the session returned by VerifySoftwareToken // as an input to RespondToAuthChallenge with challenge name MFA_SETUP to complete - // sign-in. To setup SMS MFA, users will need help from an administrator to add a - // phone number to their account and then call InitiateAuth again to restart - // sign-in. + // sign-in. To set up SMS MFA, an administrator should help the user to add a phone + // number to their account, and then the user should call InitiateAuth again to + // restart sign-in. ChallengeName types.ChallengeNameType - // The challenge parameters. These are returned to you in the InitiateAuth response - // if you need to pass another challenge. The responses in this parameter should be - // used to compute inputs to the next call (RespondToAuthChallenge). All challenges - // require USERNAME and SECRET_HASH (if applicable). + // The challenge parameters. These are returned in the InitiateAuth response if you + // must pass another challenge. The responses in this parameter should be used to + // compute inputs to the next call (RespondToAuthChallenge). All challenges require + // USERNAME and SECRET_HASH (if applicable). ChallengeParameters map[string]string - // The session which should be passed both ways in challenge-response calls to the - // service. If the caller needs to go through another challenge, they return a - // session with other challenge parameters. This session should be passed as it is - // to the next RespondToAuthChallenge API call. + // The session that should pass both ways in challenge-response calls to the + // service. If the caller must pass another challenge, they return a session with + // other challenge parameters. This session should be passed as it is to the next + // RespondToAuthChallenge API call. Session *string // Metadata pertaining to the operation's result. diff --git a/service/cognitoidentityprovider/api_op_ListUserPools.go b/service/cognitoidentityprovider/api_op_ListUserPools.go index ba1acb8227e..bbe4d32eda4 100644 --- a/service/cognitoidentityprovider/api_op_ListUserPools.go +++ b/service/cognitoidentityprovider/api_op_ListUserPools.go @@ -12,7 +12,7 @@ import ( smithyhttp "github.com/aws/smithy-go/transport/http" ) -// Lists the user pools associated with an account. +// Lists the user pools associated with an Amazon Web Services account. func (c *Client) ListUserPools(ctx context.Context, params *ListUserPoolsInput, optFns ...func(*Options)) (*ListUserPoolsOutput, error) { if params == nil { params = &ListUserPoolsInput{} diff --git a/service/cognitoidentityprovider/api_op_ListUsers.go b/service/cognitoidentityprovider/api_op_ListUsers.go index 744ab5cf74b..6912699b2dc 100644 --- a/service/cognitoidentityprovider/api_op_ListUsers.go +++ b/service/cognitoidentityprovider/api_op_ListUsers.go @@ -83,8 +83,19 @@ type ListUsersInput struct { // // * sub // - // Custom attributes are not searchable. For more - // information, see Searching for Users Using the ListUsers API + // Custom attributes aren't searchable. You can also list + // users with a client-side filter. The server-side filter matches no more than 1 + // attribute. For an advanced search, use a client-side filter with the --query + // parameter of the list-users action in the CLI. When you use a client-side + // filter, ListUsers returns a paginated list of zero or more users. You can + // receive multiple pages in a row with zero results. Repeat the query with each + // pagination token that is returned until you receive a null pagination token + // value, and then review the combined result. For more information about + // server-side and client-side filtering, see FilteringCLI output + // (https://docs.aws.amazon.com/cli/latest/userguide/cli-usage-filter.html) in the + // Command Line Interface User Guide + // (https://docs.aws.amazon.com/cli/latest/userguide/cli-usage-filter.html). For + // more information, see Searching for Users Using the ListUsers API // (https://docs.aws.amazon.com/cognito/latest/developerguide/how-to-manage-user-accounts.html#cognito-user-pools-searching-for-users-using-listusers-api) // and Examples of Using the ListUsers API // (https://docs.aws.amazon.com/cognito/latest/developerguide/how-to-manage-user-accounts.html#cognito-user-pools-searching-for-users-listusers-api-examples) diff --git a/service/cognitoidentityprovider/api_op_ResendConfirmationCode.go b/service/cognitoidentityprovider/api_op_ResendConfirmationCode.go index 41d1cafcbb1..57607c2408b 100644 --- a/service/cognitoidentityprovider/api_op_ResendConfirmationCode.go +++ b/service/cognitoidentityprovider/api_op_ResendConfirmationCode.go @@ -12,19 +12,20 @@ import ( // Resends the confirmation (for confirmation of registration) to a specific user // in the user pool. This action might generate an SMS text message. Starting June -// 1, 2021, U.S. telecom carriers require that you register an origination phone -// number before you can send SMS messages to U.S. phone numbers. If you use SMS -// text messages in Amazon Cognito, you must register a phone number with Amazon -// Pinpoint (https://console.aws.amazon.com/pinpoint/home/). Cognito will use the -// the registered number automatically. Otherwise, Cognito users that must receive -// SMS messages might be unable to sign up, activate their accounts, or sign in. If -// you have never used SMS text messages with Amazon Cognito or any other Amazon -// Web Service, Amazon SNS might place your account in SMS sandbox. In sandbox mode -// (https://docs.aws.amazon.com/sns/latest/dg/sns-sms-sandbox.html) , you’ll have -// limitations, such as sending messages to only verified phone numbers. After +// 1, 2021, US telecom carriers require you to register an origination phone number +// before you can send SMS messages to U.S. phone numbers. If you use SMS text +// messages in Amazon Cognito, you must register a phone number with Amazon +// Pinpoint (https://console.aws.amazon.com/pinpoint/home/). Amazon Cognito will +// use the registered number automatically. Otherwise, Amazon Cognito users that +// must receive SMS messages might be unable to sign up, activate their accounts, +// or sign in. If you have never used SMS text messages with Amazon Cognito or any +// other Amazon Web Service, Amazon Simple Notification Service might place your +// account in SMS sandbox. In sandbox mode +// (https://docs.aws.amazon.com/sns/latest/dg/sns-sms-sandbox.html) , you will have +// limitations, such as sending messages only to verified phone numbers. After // testing in the sandbox environment, you can move out of the SMS sandbox and into -// production. For more information, see SMS message settings for Cognito User -// Pools +// production. For more information, see SMS message settings for Amazon Cognito +// User Pools // (https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-identity-pools-sms-userpool-settings.html) // in the Amazon Cognito Developer Guide. func (c *Client) ResendConfirmationCode(ctx context.Context, params *ResendConfirmationCodeInput, optFns ...func(*Options)) (*ResendConfirmationCodeOutput, error) { @@ -50,7 +51,8 @@ type ResendConfirmationCodeInput struct { // This member is required. ClientId *string - // The user name of the user to whom you wish to resend a confirmation code. + // The username attribute of the user to whom you want to resend a confirmation + // code. // // This member is required. Username *string @@ -71,20 +73,19 @@ type ResendConfirmationCodeInput struct { // your workflow for your specific needs. For more information, see Customizing // User Pool Workflows with Lambda Triggers // (https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-identity-pools-working-with-aws-lambda-triggers.html) - // in the Amazon Cognito Developer Guide. Take the following limitations into - // consideration when you use the ClientMetadata parameter: + // in the Amazon Cognito Developer Guide. When you use the ClientMetadata + // parameter, remember that Amazon Cognito won't do the following: // - // * Amazon Cognito does - // not store the ClientMetadata value. This data is available only to Lambda - // triggers that are assigned to a user pool to support custom workflows. If your - // user pool configuration does not include triggers, the ClientMetadata parameter - // serves no purpose. + // * Store the + // ClientMetadata value. This data is available only to Lambda triggers that are + // assigned to a user pool to support custom workflows. If your user pool + // configuration doesn't include triggers, the ClientMetadata parameter serves no + // purpose. // - // * Amazon Cognito does not validate the ClientMetadata - // value. + // * Validate the ClientMetadata value. // - // * Amazon Cognito does not encrypt the the ClientMetadata value, so don't - // use it to provide sensitive information. + // * Encrypt the ClientMetadata + // value. Don't use Amazon Cognito to provide sensitive information. ClientMetadata map[string]string // A keyed-hash message authentication code (HMAC) calculated using the secret key @@ -99,8 +100,8 @@ type ResendConfirmationCodeInput struct { noSmithyDocumentSerde } -// The response from the server when the Amazon Cognito Your User Pools service -// makes the request to resend a confirmation code. +// The response from the server when Amazon Cognito makes the request to resend a +// confirmation code. type ResendConfirmationCodeOutput struct { // The code delivery details returned by the server in response to the request to diff --git a/service/cognitoidentityprovider/api_op_RespondToAuthChallenge.go b/service/cognitoidentityprovider/api_op_RespondToAuthChallenge.go index 40a75bbdba9..c56c0d837f7 100644 --- a/service/cognitoidentityprovider/api_op_RespondToAuthChallenge.go +++ b/service/cognitoidentityprovider/api_op_RespondToAuthChallenge.go @@ -11,20 +11,20 @@ import ( ) // Responds to the authentication challenge. This action might generate an SMS text -// message. Starting June 1, 2021, U.S. telecom carriers require that you register -// an origination phone number before you can send SMS messages to U.S. phone -// numbers. If you use SMS text messages in Amazon Cognito, you must register a -// phone number with Amazon Pinpoint -// (https://console.aws.amazon.com/pinpoint/home/). Cognito will use the the -// registered number automatically. Otherwise, Cognito users that must receive SMS -// messages might be unable to sign up, activate their accounts, or sign in. If you -// have never used SMS text messages with Amazon Cognito or any other Amazon Web -// Service, Amazon SNS might place your account in SMS sandbox. In sandbox mode -// (https://docs.aws.amazon.com/sns/latest/dg/sns-sms-sandbox.html) , you’ll have -// limitations, such as sending messages to only verified phone numbers. After +// message. Starting June 1, 2021, US telecom carriers require you to register an +// origination phone number before you can send SMS messages to U.S. phone numbers. +// If you use SMS text messages in Amazon Cognito, you must register a phone number +// with Amazon Pinpoint (https://console.aws.amazon.com/pinpoint/home/). Amazon +// Cognito will use the registered number automatically. Otherwise, Amazon Cognito +// users that must receive SMS messages might be unable to sign up, activate their +// accounts, or sign in. If you have never used SMS text messages with Amazon +// Cognito or any other Amazon Web Service, Amazon Simple Notification Service +// might place your account in SMS sandbox. In sandbox mode +// (https://docs.aws.amazon.com/sns/latest/dg/sns-sms-sandbox.html) , you will have +// limitations, such as sending messages only to verified phone numbers. After // testing in the sandbox environment, you can move out of the SMS sandbox and into -// production. For more information, see SMS message settings for Cognito User -// Pools +// production. For more information, see SMS message settings for Amazon Cognito +// User Pools // (https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-identity-pools-sms-userpool-settings.html) // in the Amazon Cognito Developer Guide. func (c *Client) RespondToAuthChallenge(ctx context.Context, params *RespondToAuthChallengeInput, optFns ...func(*Options)) (*RespondToAuthChallengeOutput, error) { @@ -47,7 +47,7 @@ type RespondToAuthChallengeInput struct { // The challenge name. For more information, see InitiateAuth // (https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_InitiateAuth.html). - // ADMIN_NO_SRP_AUTH is not a valid value. + // ADMIN_NO_SRP_AUTH isn't a valid value. // // This member is required. ChallengeName types.ChallengeNameType @@ -63,29 +63,31 @@ type RespondToAuthChallengeInput struct { // The challenge responses. These are inputs corresponding to the value of // ChallengeName, for example: SECRET_HASH (if app client is configured with client - // secret) applies to all inputs below (including SOFTWARE_TOKEN_MFA). + // secret) applies to all of the inputs that follow (including + // SOFTWARE_TOKEN_MFA). // - // * SMS_MFA: - // SMS_MFA_CODE, USERNAME. + // * SMS_MFA: SMS_MFA_CODE, USERNAME. // - // * PASSWORD_VERIFIER: PASSWORD_CLAIM_SIGNATURE, - // PASSWORD_CLAIM_SECRET_BLOCK, TIMESTAMP, USERNAME. + // * PASSWORD_VERIFIER: + // PASSWORD_CLAIM_SIGNATURE, PASSWORD_CLAIM_SECRET_BLOCK, TIMESTAMP, USERNAME. + // PASSWORD_VERIFIER requires DEVICE_KEY when signing in with a remembered + // device. // - // * NEW_PASSWORD_REQUIRED: - // NEW_PASSWORD, any other required attributes, USERNAME. + // * NEW_PASSWORD_REQUIRED: NEW_PASSWORD, any other required attributes, + // USERNAME. // - // * SOFTWARE_TOKEN_MFA: - // USERNAME and SOFTWARE_TOKEN_MFA_CODE are required attributes. + // * SOFTWARE_TOKEN_MFA: USERNAME and SOFTWARE_TOKEN_MFA_CODE are + // required attributes. // - // * DEVICE_SRP_AUTH - // requires USERNAME, DEVICE_KEY, SRP_A (and SECRET_HASH). + // * DEVICE_SRP_AUTH requires USERNAME, DEVICE_KEY, SRP_A + // (and SECRET_HASH). // - // * - // DEVICE_PASSWORD_VERIFIER requires everything that PASSWORD_VERIFIER requires - // plus DEVICE_KEY. + // * DEVICE_PASSWORD_VERIFIER requires everything that + // PASSWORD_VERIFIER requires, plus DEVICE_KEY. // - // * MFA_SETUP requires USERNAME, plus you need to use the - // session value returned by VerifySoftwareToken in the Session parameter. + // * MFA_SETUP requires USERNAME, + // plus you must use the session value returned by VerifySoftwareToken in the + // Session parameter. ChallengeResponses map[string]string // A map of custom key-value pairs that you can provide as input for any custom @@ -101,26 +103,25 @@ type RespondToAuthChallengeInput struct { // the clientMetadata value to enhance your workflow for your specific needs. For // more information, see Customizing User Pool Workflows with Lambda Triggers // (https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-identity-pools-working-with-aws-lambda-triggers.html) - // in the Amazon Cognito Developer Guide. Take the following limitations into - // consideration when you use the ClientMetadata parameter: + // in the Amazon Cognito Developer Guide. When you use the ClientMetadata + // parameter, remember that Amazon Cognito won't do the following: // - // * Amazon Cognito does - // not store the ClientMetadata value. This data is available only to Lambda - // triggers that are assigned to a user pool to support custom workflows. If your - // user pool configuration does not include triggers, the ClientMetadata parameter - // serves no purpose. + // * Store the + // ClientMetadata value. This data is available only to Lambda triggers that are + // assigned to a user pool to support custom workflows. If your user pool + // configuration doesn't include triggers, the ClientMetadata parameter serves no + // purpose. // - // * Amazon Cognito does not validate the ClientMetadata - // value. + // * Validate the ClientMetadata value. // - // * Amazon Cognito does not encrypt the the ClientMetadata value, so don't - // use it to provide sensitive information. + // * Encrypt the ClientMetadata + // value. Don't use Amazon Cognito to provide sensitive information. ClientMetadata map[string]string - // The session which should be passed both ways in challenge-response calls to the + // The session that should be passed both ways in challenge-response calls to the // service. If InitiateAuth or RespondToAuthChallenge API call determines that the - // caller needs to go through another challenge, they return a session with other - // challenge parameters. This session should be passed as it is to the next + // caller must pass another challenge, they return a session with other challenge + // parameters. This session should be passed as it is to the next // RespondToAuthChallenge API call. Session *string @@ -147,10 +148,10 @@ type RespondToAuthChallengeOutput struct { // (https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_InitiateAuth.html). ChallengeParameters map[string]string - // The session which should be passed both ways in challenge-response calls to the - // service. If the caller needs to go through another challenge, they return a - // session with other challenge parameters. This session should be passed as it is - // to the next RespondToAuthChallenge API call. + // The session that should be passed both ways in challenge-response calls to the + // service. If the caller must pass another challenge, they return a session with + // other challenge parameters. This session should be passed as it is to the next + // RespondToAuthChallenge API call. Session *string // Metadata pertaining to the operation's result. diff --git a/service/cognitoidentityprovider/api_op_RevokeToken.go b/service/cognitoidentityprovider/api_op_RevokeToken.go index 82925ab5ee6..09205801dd3 100644 --- a/service/cognitoidentityprovider/api_op_RevokeToken.go +++ b/service/cognitoidentityprovider/api_op_RevokeToken.go @@ -11,7 +11,7 @@ import ( ) // Revokes all of the access tokens generated by the specified refresh token. After -// the token is revoked, you can not use the revoked token to access Cognito +// the token is revoked, you can't use the revoked token to access Amazon Cognito // authenticated APIs. func (c *Client) RevokeToken(ctx context.Context, params *RevokeTokenInput, optFns ...func(*Options)) (*RevokeTokenOutput, error) { if params == nil { @@ -35,7 +35,7 @@ type RevokeTokenInput struct { // This member is required. ClientId *string - // The token that you want to revoke. + // The refresh token that you want to revoke. // // This member is required. Token *string diff --git a/service/cognitoidentityprovider/api_op_SetRiskConfiguration.go b/service/cognitoidentityprovider/api_op_SetRiskConfiguration.go index 16b15ea14f4..422dd3248d3 100644 --- a/service/cognitoidentityprovider/api_op_SetRiskConfiguration.go +++ b/service/cognitoidentityprovider/api_op_SetRiskConfiguration.go @@ -13,7 +13,7 @@ import ( // Configures actions on detected risks. To delete the risk configuration for // UserPoolId or ClientId, pass null values for all four configuration types. To -// enable Amazon Cognito advanced security features, update the user pool to +// activate Amazon Cognito advanced security features, update the user pool to // include the UserPoolAddOns keyAdvancedSecurityMode. func (c *Client) SetRiskConfiguration(ctx context.Context, params *SetRiskConfigurationInput, optFns ...func(*Options)) (*SetRiskConfigurationOutput, error) { if params == nil { @@ -43,8 +43,8 @@ type SetRiskConfigurationInput struct { // The app client ID. If ClientId is null, then the risk configuration is mapped to // userPoolId. When the client ID is null, the same risk configuration is applied // to all the clients in the userPool. Otherwise, ClientId is mapped to the client. - // When the client ID is not null, the user pool configuration is overridden and - // the risk configuration for the client is used instead. + // When the client ID isn't null, the user pool configuration is overridden and the + // risk configuration for the client is used instead. ClientId *string // The compromised credentials risk configuration. diff --git a/service/cognitoidentityprovider/api_op_SetUICustomization.go b/service/cognitoidentityprovider/api_op_SetUICustomization.go index 6b65e167461..129be4c3846 100644 --- a/service/cognitoidentityprovider/api_op_SetUICustomization.go +++ b/service/cognitoidentityprovider/api_op_SetUICustomization.go @@ -11,14 +11,15 @@ import ( smithyhttp "github.com/aws/smithy-go/transport/http" ) -// Sets the UI customization information for a user pool's built-in app UI. You can -// specify app UI customization settings for a single client (with a specific -// clientId) or for all clients (by setting the clientId to ALL). If you specify -// ALL, the default configuration will be used for every client that has no UI -// customization set previously. If you specify UI customization settings for a -// particular client, it will no longer fall back to the ALL configuration. To use -// this API, your user pool must have a domain associated with it. Otherwise, there -// is no place to host the app's pages, and the service will throw an error. +// Sets the user interface (UI) customization information for a user pool's +// built-in app UI. You can specify app UI customization settings for a single +// client (with a specific clientId) or for all clients (by setting the clientId to +// ALL). If you specify ALL, the default configuration is used for every client +// that has no previously set UI customization. If you specify UI customization +// settings for a particular client, it will no longer return to the ALL +// configuration. To use this API, your user pool must have a domain associated +// with it. Otherwise, there is no place to host the app's pages, and the service +// will throw an error. func (c *Client) SetUICustomization(ctx context.Context, params *SetUICustomizationInput, optFns ...func(*Options)) (*SetUICustomizationOutput, error) { if params == nil { params = &SetUICustomizationInput{} diff --git a/service/cognitoidentityprovider/api_op_SetUserMFAPreference.go b/service/cognitoidentityprovider/api_op_SetUserMFAPreference.go index 1f2f12b8840..50ca940765e 100644 --- a/service/cognitoidentityprovider/api_op_SetUserMFAPreference.go +++ b/service/cognitoidentityprovider/api_op_SetUserMFAPreference.go @@ -12,14 +12,14 @@ import ( ) // Set the user's multi-factor authentication (MFA) method preference, including -// which MFA factors are enabled and if any are preferred. Only one factor can be +// which MFA factors are activated and if any are preferred. Only one factor can be // set as preferred. The preferred MFA factor will be used to authenticate a user -// if multiple factors are enabled. If multiple options are enabled and no +// if multiple factors are activated. If multiple options are activated and no // preference is set, a challenge to choose an MFA option will be returned during -// sign in. If an MFA type is enabled for a user, the user will be prompted for MFA -// during all sign in attempts, unless device tracking is turned on and the device -// has been trusted. If you would like MFA to be applied selectively based on the -// assessed risk level of sign in attempts, disable MFA for users and turn on +// sign-in. If an MFA type is activated for a user, the user will be prompted for +// MFA during all sign-in attempts unless device tracking is turned on and the +// device has been trusted. If you want MFA to be applied selectively based on the +// assessed risk level of sign-in attempts, deactivate MFA for users and turn on // Adaptive Authentication for the user pool. func (c *Client) SetUserMFAPreference(ctx context.Context, params *SetUserMFAPreferenceInput, optFns ...func(*Options)) (*SetUserMFAPreferenceOutput, error) { if params == nil { diff --git a/service/cognitoidentityprovider/api_op_SetUserPoolMfaConfig.go b/service/cognitoidentityprovider/api_op_SetUserPoolMfaConfig.go index 2c71e2722ca..b97c54b0b6c 100644 --- a/service/cognitoidentityprovider/api_op_SetUserPoolMfaConfig.go +++ b/service/cognitoidentityprovider/api_op_SetUserPoolMfaConfig.go @@ -11,21 +11,22 @@ import ( smithyhttp "github.com/aws/smithy-go/transport/http" ) -// Set the user pool multi-factor authentication (MFA) configuration. This action -// might generate an SMS text message. Starting June 1, 2021, U.S. telecom carriers -// require that you register an origination phone number before you can send SMS +// Sets the user pool multi-factor authentication (MFA) configuration. This action +// might generate an SMS text message. Starting June 1, 2021, US telecom carriers +// require you to register an origination phone number before you can send SMS // messages to U.S. phone numbers. If you use SMS text messages in Amazon Cognito, // you must register a phone number with Amazon Pinpoint -// (https://console.aws.amazon.com/pinpoint/home/). Cognito will use the the -// registered number automatically. Otherwise, Cognito users that must receive SMS -// messages might be unable to sign up, activate their accounts, or sign in. If you -// have never used SMS text messages with Amazon Cognito or any other Amazon Web -// Service, Amazon SNS might place your account in SMS sandbox. In sandbox mode -// (https://docs.aws.amazon.com/sns/latest/dg/sns-sms-sandbox.html) , you’ll have -// limitations, such as sending messages to only verified phone numbers. After +// (https://console.aws.amazon.com/pinpoint/home/). Amazon Cognito will use the +// registered number automatically. Otherwise, Amazon Cognito users that must +// receive SMS messages might be unable to sign up, activate their accounts, or +// sign in. If you have never used SMS text messages with Amazon Cognito or any +// other Amazon Web Service, Amazon Simple Notification Service might place your +// account in SMS sandbox. In sandbox mode +// (https://docs.aws.amazon.com/sns/latest/dg/sns-sms-sandbox.html) , you will have +// limitations, such as sending messages only to verified phone numbers. After // testing in the sandbox environment, you can move out of the SMS sandbox and into -// production. For more information, see SMS message settings for Cognito User -// Pools +// production. For more information, see SMS message settings for Amazon Cognito +// User Pools // (https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-identity-pools-sms-userpool-settings.html) // in the Amazon Cognito Developer Guide. func (c *Client) SetUserPoolMfaConfig(ctx context.Context, params *SetUserPoolMfaConfigInput, optFns ...func(*Options)) (*SetUserPoolMfaConfigOutput, error) { @@ -50,18 +51,17 @@ type SetUserPoolMfaConfigInput struct { // This member is required. UserPoolId *string - // The MFA configuration. Users who don't have an MFA factor set up won't be able - // to sign-in if you set the MfaConfiguration value to ‘ON’. See Adding - // Multi-Factor Authentication (MFA) to a User Pool to learn more. Valid values - // include: + // The MFA configuration. If you set the MfaConfiguration value to ‘ON’, only users + // with an MFA factor set up can sign in. To learn more, see Adding Multi-Factor + // Authentication (MFA) to a User Pool. Valid values include: // - // * OFF MFA will not be used for any users. + // * OFF MFA won't be + // used for any users. // - // * ON MFA is required for - // all users to sign in. + // * ON MFA is required for all users to sign in. // - // * OPTIONAL MFA will be required only for individual users - // who have an MFA factor enabled. + // * OPTIONAL + // MFA will be required only for individual users who have an MFA factor activated. MfaConfiguration types.UserPoolMfaType // The SMS text message MFA configuration. @@ -77,7 +77,7 @@ type SetUserPoolMfaConfigOutput struct { // The MFA configuration. Valid values include: // - // * OFF MFA will not be used for any + // * OFF MFA won't be used for any // users. // // * ON MFA is required for all users to sign in. diff --git a/service/cognitoidentityprovider/api_op_SetUserSettings.go b/service/cognitoidentityprovider/api_op_SetUserSettings.go index 2b06093bc4c..823ea91f21d 100644 --- a/service/cognitoidentityprovider/api_op_SetUserSettings.go +++ b/service/cognitoidentityprovider/api_op_SetUserSettings.go @@ -11,8 +11,8 @@ import ( ) // This action is no longer supported. You can use it to configure only SMS MFA. -// You can't use it to configure TOTP software token MFA. To configure either type -// of MFA, use SetUserMFAPreference +// You can't use it to configure time-based one-time password (TOTP) software token +// MFA. To configure either type of MFA, use SetUserMFAPreference // (https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_SetUserMFAPreference.html) // instead. func (c *Client) SetUserSettings(ctx context.Context, params *SetUserSettingsInput, optFns ...func(*Options)) (*SetUserSettingsOutput, error) { diff --git a/service/cognitoidentityprovider/api_op_SignUp.go b/service/cognitoidentityprovider/api_op_SignUp.go index c57c826a31b..71832c8152c 100644 --- a/service/cognitoidentityprovider/api_op_SignUp.go +++ b/service/cognitoidentityprovider/api_op_SignUp.go @@ -12,19 +12,20 @@ import ( // Registers the user in the specified user pool and creates a user name, password, // and user attributes. This action might generate an SMS text message. Starting -// June 1, 2021, U.S. telecom carriers require that you register an origination -// phone number before you can send SMS messages to U.S. phone numbers. If you use -// SMS text messages in Amazon Cognito, you must register a phone number with -// Amazon Pinpoint (https://console.aws.amazon.com/pinpoint/home/). Cognito will -// use the the registered number automatically. Otherwise, Cognito users that must -// receive SMS messages might be unable to sign up, activate their accounts, or -// sign in. If you have never used SMS text messages with Amazon Cognito or any -// other Amazon Web Service, Amazon SNS might place your account in SMS sandbox. In -// sandbox mode (https://docs.aws.amazon.com/sns/latest/dg/sns-sms-sandbox.html) , -// you’ll have limitations, such as sending messages to only verified phone -// numbers. After testing in the sandbox environment, you can move out of the SMS -// sandbox and into production. For more information, see SMS message settings for -// Cognito User Pools +// June 1, 2021, US telecom carriers require you to register an origination phone +// number before you can send SMS messages to U.S. phone numbers. If you use SMS +// text messages in Amazon Cognito, you must register a phone number with Amazon +// Pinpoint (https://console.aws.amazon.com/pinpoint/home/). Amazon Cognito will +// use the registered number automatically. Otherwise, Amazon Cognito users that +// must receive SMS messages might be unable to sign up, activate their accounts, +// or sign in. If you have never used SMS text messages with Amazon Cognito or any +// other Amazon Web Service, Amazon Simple Notification Service might place your +// account in SMS sandbox. In sandbox mode +// (https://docs.aws.amazon.com/sns/latest/dg/sns-sms-sandbox.html) , you will have +// limitations, such as sending messages only to verified phone numbers. After +// testing in the sandbox environment, you can move out of the SMS sandbox and into +// production. For more information, see SMS message settings for Amazon Cognito +// User Pools // (https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-identity-pools-sms-userpool-settings.html) // in the Amazon Cognito Developer Guide. func (c *Client) SignUp(ctx context.Context, params *SignUpInput, optFns ...func(*Options)) (*SignUpOutput, error) { @@ -50,12 +51,12 @@ type SignUpInput struct { // This member is required. ClientId *string - // The password of the user you wish to register. + // The password of the user you want to register. // // This member is required. Password *string - // The user name of the user you wish to register. + // The user name of the user you want to register. // // This member is required. Username *string @@ -75,20 +76,19 @@ type SignUpInput struct { // clientMetadata value to enhance your workflow for your specific needs. For more // information, see Customizing User Pool Workflows with Lambda Triggers // (https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-identity-pools-working-with-aws-lambda-triggers.html) - // in the Amazon Cognito Developer Guide. Take the following limitations into - // consideration when you use the ClientMetadata parameter: + // in the Amazon Cognito Developer Guide. When you use the ClientMetadata + // parameter, remember that Amazon Cognito won't do the following: // - // * Amazon Cognito does - // not store the ClientMetadata value. This data is available only to Lambda - // triggers that are assigned to a user pool to support custom workflows. If your - // user pool configuration does not include triggers, the ClientMetadata parameter - // serves no purpose. + // * Store the + // ClientMetadata value. This data is available only to Lambda triggers that are + // assigned to a user pool to support custom workflows. If your user pool + // configuration doesn't include triggers, the ClientMetadata parameter serves no + // purpose. // - // * Amazon Cognito does not validate the ClientMetadata - // value. + // * Validate the ClientMetadata value. // - // * Amazon Cognito does not encrypt the the ClientMetadata value, so don't - // use it to provide sensitive information. + // * Encrypt the ClientMetadata + // value. Don't use Amazon Cognito to provide sensitive information. ClientMetadata map[string]string // A keyed-hash message authentication code (HMAC) calculated using the secret key @@ -119,7 +119,7 @@ type SignUpOutput struct { // This member is required. UserConfirmed bool - // The UUID of the authenticated user. This is not the same as username. + // The UUID of the authenticated user. This isn't the same as username. // // This member is required. UserSub *string diff --git a/service/cognitoidentityprovider/api_op_TagResource.go b/service/cognitoidentityprovider/api_op_TagResource.go index b253865473d..75f8fed0f1b 100644 --- a/service/cognitoidentityprovider/api_op_TagResource.go +++ b/service/cognitoidentityprovider/api_op_TagResource.go @@ -16,13 +16,13 @@ import ( // value, both of which you define. A key is a general category for more specific // values. For example, if you have two versions of a user pool, one for testing // and another for production, you might assign an Environment tag key to both user -// pools. The value of this key might be Test for one user pool and Production for +// pools. The value of this key might be Test for one user pool, and Production for // the other. Tags are useful for cost tracking and access control. You can // activate your tags so that they appear on the Billing and Cost Management // console, where you can track the costs associated with your user pools. In an -// IAM policy, you can constrain permissions for user pools based on specific tags -// or tag values. You can use this action up to 5 times per second, per account. A -// user pool can have as many as 50 tags. +// Identity and Access Management policy, you can constrain permissions for user +// pools based on specific tags or tag values. You can use this action up to 5 +// times per second, per account. A user pool can have as many as 50 tags. func (c *Client) TagResource(ctx context.Context, params *TagResourceInput, optFns ...func(*Options)) (*TagResourceOutput, error) { if params == nil { params = &TagResourceInput{} diff --git a/service/cognitoidentityprovider/api_op_UntagResource.go b/service/cognitoidentityprovider/api_op_UntagResource.go index 8c9b0eed4cb..2ec01690a4a 100644 --- a/service/cognitoidentityprovider/api_op_UntagResource.go +++ b/service/cognitoidentityprovider/api_op_UntagResource.go @@ -11,7 +11,7 @@ import ( ) // Removes the specified tags from an Amazon Cognito user pool. You can use this -// action up to 5 times per second, per account +// action up to 5 times per second, per account. func (c *Client) UntagResource(ctx context.Context, params *UntagResourceInput, optFns ...func(*Options)) (*UntagResourceOutput, error) { if params == nil { params = &UntagResourceInput{} diff --git a/service/cognitoidentityprovider/api_op_UpdateAuthEventFeedback.go b/service/cognitoidentityprovider/api_op_UpdateAuthEventFeedback.go index 1133e2ac2ed..4753c7d3bec 100644 --- a/service/cognitoidentityprovider/api_op_UpdateAuthEventFeedback.go +++ b/service/cognitoidentityprovider/api_op_UpdateAuthEventFeedback.go @@ -11,7 +11,7 @@ import ( smithyhttp "github.com/aws/smithy-go/transport/http" ) -// Provides the feedback for an authentication event whether it was from a valid +// Provides the feedback for an authentication event, whether it was from a valid // user or not. This feedback is used for improving the risk evaluation decision // for the user pool as part of Amazon Cognito advanced security. func (c *Client) UpdateAuthEventFeedback(ctx context.Context, params *UpdateAuthEventFeedbackInput, optFns ...func(*Options)) (*UpdateAuthEventFeedbackOutput, error) { diff --git a/service/cognitoidentityprovider/api_op_UpdateGroup.go b/service/cognitoidentityprovider/api_op_UpdateGroup.go index 3bb448870b7..009b32cd6fe 100644 --- a/service/cognitoidentityprovider/api_op_UpdateGroup.go +++ b/service/cognitoidentityprovider/api_op_UpdateGroup.go @@ -48,8 +48,8 @@ type UpdateGroupInput struct { // (https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_CreateGroup.html). Precedence *int32 - // The new role ARN for the group. This is used for setting the cognito:roles and - // cognito:preferred_role claims in the token. + // The new role Amazon Resource Name (ARN) for the group. This is used for setting + // the cognito:roles and cognito:preferred_role claims in the token. RoleArn *string noSmithyDocumentSerde diff --git a/service/cognitoidentityprovider/api_op_UpdateResourceServer.go b/service/cognitoidentityprovider/api_op_UpdateResourceServer.go index c8c6123453b..64b64c7287f 100644 --- a/service/cognitoidentityprovider/api_op_UpdateResourceServer.go +++ b/service/cognitoidentityprovider/api_op_UpdateResourceServer.go @@ -12,8 +12,7 @@ import ( ) // Updates the name and scopes of resource server. All other fields are read-only. -// If you don't provide a value for an attribute, it will be set to the default -// value. +// If you don't provide a value for an attribute, it is set to the default value. func (c *Client) UpdateResourceServer(ctx context.Context, params *UpdateResourceServerInput, optFns ...func(*Options)) (*UpdateResourceServerOutput, error) { if params == nil { params = &UpdateResourceServerInput{} diff --git a/service/cognitoidentityprovider/api_op_UpdateUserAttributes.go b/service/cognitoidentityprovider/api_op_UpdateUserAttributes.go index eef69c22dcb..dab26f1d80c 100644 --- a/service/cognitoidentityprovider/api_op_UpdateUserAttributes.go +++ b/service/cognitoidentityprovider/api_op_UpdateUserAttributes.go @@ -11,20 +11,21 @@ import ( ) // Allows a user to update a specific attribute (one at a time). This action might -// generate an SMS text message. Starting June 1, 2021, U.S. telecom carriers -// require that you register an origination phone number before you can send SMS -// messages to U.S. phone numbers. If you use SMS text messages in Amazon Cognito, -// you must register a phone number with Amazon Pinpoint -// (https://console.aws.amazon.com/pinpoint/home/). Cognito will use the the -// registered number automatically. Otherwise, Cognito users that must receive SMS -// messages might be unable to sign up, activate their accounts, or sign in. If you -// have never used SMS text messages with Amazon Cognito or any other Amazon Web -// Service, Amazon SNS might place your account in SMS sandbox. In sandbox mode -// (https://docs.aws.amazon.com/sns/latest/dg/sns-sms-sandbox.html) , you’ll have -// limitations, such as sending messages to only verified phone numbers. After +// generate an SMS text message. Starting June 1, 2021, US telecom carriers require +// you to register an origination phone number before you can send SMS messages to +// U.S. phone numbers. If you use SMS text messages in Amazon Cognito, you must +// register a phone number with Amazon Pinpoint +// (https://console.aws.amazon.com/pinpoint/home/). Amazon Cognito will use the +// registered number automatically. Otherwise, Amazon Cognito users that must +// receive SMS messages might be unable to sign up, activate their accounts, or +// sign in. If you have never used SMS text messages with Amazon Cognito or any +// other Amazon Web Service, Amazon Simple Notification Service might place your +// account in SMS sandbox. In sandbox mode +// (https://docs.aws.amazon.com/sns/latest/dg/sns-sms-sandbox.html) , you will have +// limitations, such as sending messages only to verified phone numbers. After // testing in the sandbox environment, you can move out of the SMS sandbox and into -// production. For more information, see SMS message settings for Cognito User -// Pools +// production. For more information, see SMS message settings for Amazon Cognito +// User Pools // (https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-identity-pools-sms-userpool-settings.html) // in the Amazon Cognito Developer Guide. func (c *Client) UpdateUserAttributes(ctx context.Context, params *UpdateUserAttributesInput, optFns ...func(*Options)) (*UpdateUserAttributesOutput, error) { @@ -57,7 +58,7 @@ type UpdateUserAttributesInput struct { UserAttributes []types.AttributeType // A map of custom key-value pairs that you can provide as input for any custom - // workflows that this action triggers. You create custom workflows by assigning + // workflows that this action initiates. You create custom workflows by assigning // Lambda functions to user pool triggers. When you use the UpdateUserAttributes // API action, Amazon Cognito invokes the function that is assigned to the custom // message trigger. When Amazon Cognito invokes this function, it passes a JSON @@ -68,20 +69,19 @@ type UpdateUserAttributesInput struct { // workflow for your specific needs. For more information, see Customizing User // Pool Workflows with Lambda Triggers // (https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-identity-pools-working-with-aws-lambda-triggers.html) - // in the Amazon Cognito Developer Guide. Take the following limitations into - // consideration when you use the ClientMetadata parameter: + // in the Amazon Cognito Developer Guide. When you use the ClientMetadata + // parameter, remember that Amazon Cognito won't do the following: // - // * Amazon Cognito does - // not store the ClientMetadata value. This data is available only to Lambda - // triggers that are assigned to a user pool to support custom workflows. If your - // user pool configuration does not include triggers, the ClientMetadata parameter - // serves no purpose. + // * Store the + // ClientMetadata value. This data is available only to Lambda triggers that are + // assigned to a user pool to support custom workflows. If your user pool + // configuration doesn't include triggers, the ClientMetadata parameter serves no + // purpose. // - // * Amazon Cognito does not validate the ClientMetadata - // value. + // * Validate the ClientMetadata value. // - // * Amazon Cognito does not encrypt the the ClientMetadata value, so don't - // use it to provide sensitive information. + // * Encrypt the ClientMetadata + // value. Don't use Amazon Cognito to provide sensitive information. ClientMetadata map[string]string noSmithyDocumentSerde diff --git a/service/cognitoidentityprovider/api_op_UpdateUserPool.go b/service/cognitoidentityprovider/api_op_UpdateUserPool.go index 69755b94dca..00f50ad0462 100644 --- a/service/cognitoidentityprovider/api_op_UpdateUserPool.go +++ b/service/cognitoidentityprovider/api_op_UpdateUserPool.go @@ -15,20 +15,21 @@ import ( // list of the current user pool settings using DescribeUserPool // (https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_DescribeUserPool.html). // If you don't provide a value for an attribute, it will be set to the default -// value. This action might generate an SMS text message. Starting June 1, 2021, -// U.S. telecom carriers require that you register an origination phone number -// before you can send SMS messages to U.S. phone numbers. If you use SMS text -// messages in Amazon Cognito, you must register a phone number with Amazon -// Pinpoint (https://console.aws.amazon.com/pinpoint/home/). Cognito will use the -// the registered number automatically. Otherwise, Cognito users that must receive -// SMS messages might be unable to sign up, activate their accounts, or sign in. If -// you have never used SMS text messages with Amazon Cognito or any other Amazon -// Web Service, Amazon SNS might place your account in SMS sandbox. In sandbox mode -// (https://docs.aws.amazon.com/sns/latest/dg/sns-sms-sandbox.html) , you’ll have -// limitations, such as sending messages to only verified phone numbers. After +// value. This action might generate an SMS text message. Starting June 1, 2021, US +// telecom carriers require you to register an origination phone number before you +// can send SMS messages to U.S. phone numbers. If you use SMS text messages in +// Amazon Cognito, you must register a phone number with Amazon Pinpoint +// (https://console.aws.amazon.com/pinpoint/home/). Amazon Cognito will use the +// registered number automatically. Otherwise, Amazon Cognito users that must +// receive SMS messages might be unable to sign up, activate their accounts, or +// sign in. If you have never used SMS text messages with Amazon Cognito or any +// other Amazon Web Service, Amazon Simple Notification Service might place your +// account in SMS sandbox. In sandbox mode +// (https://docs.aws.amazon.com/sns/latest/dg/sns-sms-sandbox.html) , you will have +// limitations, such as sending messages only to verified phone numbers. After // testing in the sandbox environment, you can move out of the SMS sandbox and into -// production. For more information, see SMS message settings for Cognito User -// Pools +// production. For more information, see SMS message settings for Amazon Cognito +// User Pools // (https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-identity-pools-sms-userpool-settings.html) // in the Amazon Cognito Developer Guide. func (c *Client) UpdateUserPool(ctx context.Context, params *UpdateUserPoolInput, optFns ...func(*Options)) (*UpdateUserPoolOutput, error) { @@ -54,20 +55,20 @@ type UpdateUserPoolInput struct { // This member is required. UserPoolId *string - // Use this setting to define which verified available method a user can use to - // recover their password when they call ForgotPassword. It allows you to define a - // preferred method when a user has more than one method available. With this - // setting, SMS does not qualify for a valid password recovery mechanism if the - // user also has SMS MFA enabled. In the absence of this setting, Cognito uses the - // legacy behavior to determine the recovery method where SMS is preferred over - // email. + // The available verified method a user can use to recover their password when they + // call ForgotPassword. You can use this setting to define a preferred method when + // a user has more than one method available. With this setting, SMS doesn't + // qualify for a valid password recovery mechanism if the user also has SMS + // multi-factor authentication (MFA) activated. In the absence of this setting, + // Amazon Cognito uses the legacy behavior to determine the recovery method where + // SMS is preferred through email. AccountRecoverySetting *types.AccountRecoverySettingType // The configuration for AdminCreateUser requests. AdminCreateUserConfig *types.AdminCreateUserConfigType - // The attributes that are automatically verified when the Amazon Cognito service - // makes a request to update user pools. + // The attributes that are automatically verified when Amazon Cognito requests to + // update user pools. AutoVerifiedAttributes []types.VerifiedAttributeType // Device configuration. @@ -87,12 +88,12 @@ type UpdateUserPoolInput struct { // Can be one of the following values: // - // * OFF - MFA tokens are not required and - // cannot be specified during user registration. + // * OFF - MFA tokens aren't required and + // can't be specified during user registration. // - // * ON - MFA tokens are required - // for all user registrations. You can only specify ON when you are initially - // creating a user pool. You can use the SetUserPoolMfaConfig + // * ON - MFA tokens are required for + // all user registrations. You can only specify ON when you're initially creating a + // user pool. You can use the SetUserPoolMfaConfig // (https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_SetUserPoolMfaConfig.html) // API operation to turn MFA "ON" for existing user pools. // @@ -100,7 +101,7 @@ type UpdateUserPoolInput struct { // the option when registering to create an MFA token. MfaConfiguration types.UserPoolMfaType - // A container with the policies you wish to update in a user pool. + // A container with the policies you want to update in a user pool. Policies *types.UserPoolPolicyType // The contents of the SMS authentication message. @@ -112,8 +113,8 @@ type UpdateUserPoolInput struct { // A container with information about the SMS verification message. SmsVerificationMessage *string - // Used to enable advanced security risk detection. Set the key - // AdvancedSecurityMode to the value "AUDIT". + // Enables advanced security risk detection. Set the key AdvancedSecurityMode to + // the value "AUDIT". UserPoolAddOns *types.UserPoolAddOnsType // The tag keys and values to assign to the user pool. A tag is a label that you diff --git a/service/cognitoidentityprovider/api_op_UpdateUserPoolClient.go b/service/cognitoidentityprovider/api_op_UpdateUserPoolClient.go index a5482d2ac96..13dd1ebebff 100644 --- a/service/cognitoidentityprovider/api_op_UpdateUserPoolClient.go +++ b/service/cognitoidentityprovider/api_op_UpdateUserPoolClient.go @@ -48,7 +48,7 @@ type UpdateUserPoolClientInput struct { // This member is required. UserPoolId *string - // The time limit, after which the access token is no longer valid and cannot be + // The time limit after which the access token is no longer valid and can't be // used. AccessTokenValidity *int32 @@ -62,7 +62,7 @@ type UpdateUserPoolClientInput struct { AllowedOAuthFlows []types.OAuthFlowType // Set to true if the client is allowed to follow the OAuth protocol when - // interacting with Cognito user pools. + // interacting with Amazon Cognito user pools. AllowedOAuthFlowsUserPoolClient bool // The allowed OAuth scopes. Possible values provided by OAuth are: phone, email, @@ -72,10 +72,10 @@ type UpdateUserPoolClientInput struct { AllowedOAuthScopes []string // The Amazon Pinpoint analytics configuration for collecting metrics for this user - // pool. In regions where Pinpoint is not available, Cognito User Pools only - // supports sending events to Amazon Pinpoint projects in us-east-1. In regions - // where Pinpoint is available, Cognito User Pools will support sending events to - // Amazon Pinpoint projects within that same region. + // pool. In Amazon Web Services Regions where isn't available, User Pools only + // supports sending events to Amazon Pinpoint projects in us-east-1. In Regions + // where Pinpoint is available, User Pools will support sending events to Amazon + // Pinpoint projects within that same Region. AnalyticsConfiguration *types.AnalyticsConfigurationType // A list of allowed redirect (callback) URLs for the identity providers. A @@ -113,76 +113,71 @@ type UpdateUserPoolClientInput struct { // callback URLs such as myapp://example are also supported. DefaultRedirectURI *string - // Enables or disables token revocation. For more information about revoking + // Activates or deactivates token revocation. For more information about revoking // tokens, see RevokeToken // (https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_RevokeToken.html). EnableTokenRevocation *bool // The authentication flows that are supported by the user pool clients. Flow names - // without the ALLOW_ prefix are deprecated in favor of new names with the ALLOW_ - // prefix. Note that values with ALLOW_ prefix cannot be used along with values - // without ALLOW_ prefix. Valid values include: - // - // * ALLOW_ADMIN_USER_PASSWORD_AUTH: - // Enable admin based user password authentication flow ADMIN_USER_PASSWORD_AUTH. - // This setting replaces the ADMIN_NO_SRP_AUTH setting. With this authentication - // flow, Cognito receives the password in the request instead of using the SRP - // (Secure Remote Password protocol) protocol to verify passwords. + // without the ALLOW_ prefix are no longer supported in favor of new names with the + // ALLOW_ prefix. Note that values with ALLOW_ prefix must be used only along with + // values with the ALLOW_ prefix. Valid values include: // // * - // ALLOW_CUSTOM_AUTH: Enable Lambda trigger based authentication. + // ALLOW_ADMIN_USER_PASSWORD_AUTH: Enable admin based user password authentication + // flow ADMIN_USER_PASSWORD_AUTH. This setting replaces the ADMIN_NO_SRP_AUTH + // setting. With this authentication flow, Amazon Cognito receives the password in + // the request instead of using the Secure Remote Password (SRP) protocol to verify + // passwords. + // + // * ALLOW_CUSTOM_AUTH: Enable Lambda trigger based authentication. // // * // ALLOW_USER_PASSWORD_AUTH: Enable user password-based authentication. In this - // flow, Cognito receives the password in the request instead of using the SRP - // protocol to verify passwords. + // flow, Amazon Cognito receives the password in the request instead of using the + // SRP protocol to verify passwords. // - // * ALLOW_USER_SRP_AUTH: Enable SRP based + // * ALLOW_USER_SRP_AUTH: Enable SRP-based // authentication. // // * ALLOW_REFRESH_TOKEN_AUTH: Enable authflow to refresh tokens. ExplicitAuthFlows []types.ExplicitAuthFlowsType - // The time limit, after which the ID token is no longer valid and cannot be used. + // The time limit after which the ID token is no longer valid and can't be used. IdTokenValidity *int32 // A list of allowed logout URLs for the identity providers. LogoutURLs []string - // Use this setting to choose which errors and responses are returned by Cognito - // APIs during authentication, account confirmation, and password recovery when the - // user does not exist in the user pool. When set to ENABLED and the user does not - // exist, authentication returns an error indicating either the username or - // password was incorrect, and account confirmation and password recovery return a - // response indicating a code was sent to a simulated destination. When set to - // LEGACY, those APIs will return a UserNotFoundException exception if the user - // does not exist in the user pool. Valid values include: - // - // * ENABLED - This - // prevents user existence-related errors. + // Errors and responses that you want Amazon Cognito APIs to return during + // authentication, account confirmation, and password recovery when the user + // doesn't exist in the user pool. When set to ENABLED and the user doesn't exist, + // authentication returns an error indicating either the username or password was + // incorrect. Account confirmation and password recovery return a response + // indicating a code was sent to a simulated destination. When set to LEGACY, those + // APIs return a UserNotFoundException exception if the user doesn't exist in the + // user pool. Valid values include: // - // * LEGACY - This represents the old - // behavior of Cognito where user existence related errors are not - // prevented. + // * ENABLED - This prevents user + // existence-related errors. // - // After February 15th 2020, the value of PreventUserExistenceErrors - // will default to ENABLED for newly created user pool clients if no value is - // provided. + // * LEGACY - This represents the early behavior of + // Amazon Cognito where user existence related errors aren't prevented. PreventUserExistenceErrors types.PreventUserExistenceErrorTypes // The read-only attributes of the user pool. ReadAttributes []string // The time limit, in days, after which the refresh token is no longer valid and - // cannot be used. + // can't be used. RefreshTokenValidity int32 // A list of provider names for the identity providers that are supported on this // client. SupportedIdentityProviders []string - // The units in which the validity times are represented in. Default for - // RefreshToken is days, and default for ID and access tokens are hours. + // The units in which the validity times are represented. Default for RefreshToken + // is days, and default for ID and access tokens is hours. TokenValidityUnits *types.TokenValidityUnitsType // The writeable attributes of the user pool. @@ -195,8 +190,8 @@ type UpdateUserPoolClientInput struct { // client. type UpdateUserPoolClientOutput struct { - // The user pool client value from the response from the server when an update user - // pool client request is made. + // The user pool client value from the response from the server when you request to + // update the user pool client. UserPoolClient *types.UserPoolClientType // Metadata pertaining to the operation's result. diff --git a/service/cognitoidentityprovider/api_op_UpdateUserPoolDomain.go b/service/cognitoidentityprovider/api_op_UpdateUserPoolDomain.go index e86fad42cd1..467873b8776 100644 --- a/service/cognitoidentityprovider/api_op_UpdateUserPoolDomain.go +++ b/service/cognitoidentityprovider/api_op_UpdateUserPoolDomain.go @@ -13,7 +13,7 @@ import ( // Updates the Secure Sockets Layer (SSL) certificate for the custom domain for // your user pool. You can use this operation to provide the Amazon Resource Name -// (ARN) of a new certificate to Amazon Cognito. You cannot use it to change the +// (ARN) of a new certificate to Amazon Cognito. You can't use it to change the // domain for a user pool. A custom domain is used to host the Amazon Cognito // hosted UI, which provides sign-up and sign-in pages for your application. When // you set up a custom domain, you provide a certificate that you manage with @@ -25,10 +25,10 @@ import ( // replace your existing certificate with a new one, ACM gives the new certificate // a new ARN. To apply the new certificate to your custom domain, you must provide // this ARN to Amazon Cognito. When you add your new certificate in ACM, you must -// choose US East (N. Virginia) as the Region. After you submit your request, -// Amazon Cognito requires up to 1 hour to distribute your new certificate to your -// custom domain. For more information about adding a custom domain to your user -// pool, see Using Your Own Domain for the Hosted UI +// choose US East (N. Virginia) as the Amazon Web Services Region. After you submit +// your request, Amazon Cognito requires up to 1 hour to distribute your new +// certificate to your custom domain. For more information about adding a custom +// domain to your user pool, see Using Your Own Domain for the Hosted UI // (https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pools-add-custom-domain.html). func (c *Client) UpdateUserPoolDomain(ctx context.Context, params *UpdateUserPoolDomainInput, optFns ...func(*Options)) (*UpdateUserPoolDomainOutput, error) { if params == nil { @@ -56,15 +56,15 @@ type UpdateUserPoolDomainInput struct { CustomDomainConfig *types.CustomDomainConfigType // The domain name for the custom domain that hosts the sign-up and sign-in pages - // for your application. For example: auth.example.com. This string can include - // only lowercase letters, numbers, and hyphens. Do not use a hyphen for the first - // or last character. Use periods to separate subdomain names. + // for your application. One example might be auth.example.com. This string can + // include only lowercase letters, numbers, and hyphens. Don't use a hyphen for the + // first or last character. Use periods to separate subdomain names. // // This member is required. Domain *string - // The ID of the user pool that is associated with the custom domain that you are - // updating the certificate for. + // The ID of the user pool that is associated with the custom domain whose + // certificate you're updating. // // This member is required. UserPoolId *string diff --git a/service/cognitoidentityprovider/api_op_VerifySoftwareToken.go b/service/cognitoidentityprovider/api_op_VerifySoftwareToken.go index 482d7535418..e9e4ab84fe9 100644 --- a/service/cognitoidentityprovider/api_op_VerifySoftwareToken.go +++ b/service/cognitoidentityprovider/api_op_VerifySoftwareToken.go @@ -11,9 +11,9 @@ import ( smithyhttp "github.com/aws/smithy-go/transport/http" ) -// Use this API to register a user's entered TOTP code and mark the user's software -// token MFA status as "verified" if successful. The request takes an access token -// or a session string, but not both. +// Use this API to register a user's entered time-based one-time password (TOTP) +// code and mark the user's software token MFA status as "verified" if successful. +// The request takes an access token or a session string, but not both. func (c *Client) VerifySoftwareToken(ctx context.Context, params *VerifySoftwareTokenInput, optFns ...func(*Options)) (*VerifySoftwareTokenOutput, error) { if params == nil { params = &VerifySoftwareTokenInput{} @@ -31,8 +31,8 @@ func (c *Client) VerifySoftwareToken(ctx context.Context, params *VerifySoftware type VerifySoftwareTokenInput struct { - // The one time password computed using the secret code returned by - // AssociateSoftwareToken" + // The one- time password computed using the secret code returned by + // AssociateSoftwareToken // (https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_AssociateSoftwareToken.html). // // This member is required. @@ -44,7 +44,7 @@ type VerifySoftwareTokenInput struct { // The friendly device name. FriendlyDeviceName *string - // The session which should be passed both ways in challenge-response calls to the + // The session that should be passed both ways in challenge-response calls to the // service. Session *string @@ -53,7 +53,7 @@ type VerifySoftwareTokenInput struct { type VerifySoftwareTokenOutput struct { - // The session which should be passed both ways in challenge-response calls to the + // The session that should be passed both ways in challenge-response calls to the // service. Session *string diff --git a/service/cognitoidentityprovider/api_op_VerifyUserAttribute.go b/service/cognitoidentityprovider/api_op_VerifyUserAttribute.go index 764abbd6ee0..2c58a014e87 100644 --- a/service/cognitoidentityprovider/api_op_VerifyUserAttribute.go +++ b/service/cognitoidentityprovider/api_op_VerifyUserAttribute.go @@ -28,7 +28,7 @@ func (c *Client) VerifyUserAttribute(ctx context.Context, params *VerifyUserAttr // Represents the request to verify user attributes. type VerifyUserAttributeInput struct { - // Represents the access token of the request to verify user attributes. + // The access token of the request to verify user attributes. // // This member is required. AccessToken *string diff --git a/service/cognitoidentityprovider/doc.go b/service/cognitoidentityprovider/doc.go index 8ab91d0083f..13adc5054ae 100644 --- a/service/cognitoidentityprovider/doc.go +++ b/service/cognitoidentityprovider/doc.go @@ -3,10 +3,10 @@ // Package cognitoidentityprovider provides the API client, operations, and // parameter types for Amazon Cognito Identity Provider. // -// Using the Amazon Cognito User Pools API, you can create a user pool to manage +// Using the Amazon Cognito user pools API, you can create a user pool to manage // directories and users. You can authenticate a user to obtain tokens related to // user identity and access policies. This API reference provides information about -// user pools in Amazon Cognito User Pools. For more information, see the Amazon +// user pools in Amazon Cognito user pools. For more information, see the Amazon // Cognito Documentation // (https://docs.aws.amazon.com/cognito/latest/developerguide/what-is-amazon-cognito.html). package cognitoidentityprovider diff --git a/service/cognitoidentityprovider/types/errors.go b/service/cognitoidentityprovider/types/errors.go index 010759fdbf2..4a407e1c6e9 100644 --- a/service/cognitoidentityprovider/types/errors.go +++ b/service/cognitoidentityprovider/types/errors.go @@ -48,7 +48,7 @@ func (e *CodeDeliveryFailureException) ErrorMessage() string { func (e *CodeDeliveryFailureException) ErrorCode() string { return "CodeDeliveryFailureException" } func (e *CodeDeliveryFailureException) ErrorFault() smithy.ErrorFault { return smithy.FaultClient } -// This exception is thrown if the provided code does not match what the server was +// This exception is thrown if the provided code doesn't match what the server was // expecting. type CodeMismatchException struct { Message *string @@ -190,7 +190,7 @@ func (e *InternalErrorException) ErrorMessage() string { func (e *InternalErrorException) ErrorCode() string { return "InternalErrorException" } func (e *InternalErrorException) ErrorFault() smithy.ErrorFault { return smithy.FaultServer } -// This exception is thrown when Amazon Cognito is not allowed to use your email +// This exception is thrown when Amazon Cognito isn't allowed to use your email // identity. HTTP status code: 400. type InvalidEmailRoleAccessPolicyException struct { Message *string @@ -214,8 +214,8 @@ func (e *InvalidEmailRoleAccessPolicyException) ErrorFault() smithy.ErrorFault { return smithy.FaultClient } -// This exception is thrown when the Amazon Cognito service encounters an invalid -// Lambda response. +// This exception is thrown when Amazon Cognito encounters an invalid Lambda +// response. type InvalidLambdaResponseException struct { Message *string @@ -234,7 +234,7 @@ func (e *InvalidLambdaResponseException) ErrorMessage() string { func (e *InvalidLambdaResponseException) ErrorCode() string { return "InvalidLambdaResponseException" } func (e *InvalidLambdaResponseException) ErrorFault() smithy.ErrorFault { return smithy.FaultClient } -// This exception is thrown when the specified OAuth flow is invalid. +// This exception is thrown when the specified OAuth flow is not valid. type InvalidOAuthFlowException struct { Message *string @@ -273,8 +273,7 @@ func (e *InvalidParameterException) ErrorMessage() string { func (e *InvalidParameterException) ErrorCode() string { return "InvalidParameterException" } func (e *InvalidParameterException) ErrorFault() smithy.ErrorFault { return smithy.FaultClient } -// This exception is thrown when the Amazon Cognito service encounters an invalid -// password. +// This exception is thrown when Amazon Cognito encounters an invalid password. type InvalidPasswordException struct { Message *string @@ -293,7 +292,7 @@ func (e *InvalidPasswordException) ErrorMessage() string { func (e *InvalidPasswordException) ErrorCode() string { return "InvalidPasswordException" } func (e *InvalidPasswordException) ErrorFault() smithy.ErrorFault { return smithy.FaultClient } -// This exception is returned when the role provided for SMS configuration does not +// This exception is returned when the role provided for SMS configuration doesn't // have permission to publish using Amazon SNS. type InvalidSmsRoleAccessPolicyException struct { Message *string @@ -317,8 +316,8 @@ func (e *InvalidSmsRoleAccessPolicyException) ErrorFault() smithy.ErrorFault { return smithy.FaultClient } -// This exception is thrown when the trust relationship is invalid for the role -// provided for SMS configuration. This can happen if you do not trust +// This exception is thrown when the trust relationship is not valid for the role +// provided for SMS configuration. This can happen if you don't trust // cognito-idp.amazonaws.com or the external ID provided in the role does not match // what is provided in the SMS configuration for the user pool. type InvalidSmsRoleTrustRelationshipException struct { @@ -343,7 +342,7 @@ func (e *InvalidSmsRoleTrustRelationshipException) ErrorFault() smithy.ErrorFaul return smithy.FaultClient } -// This exception is thrown when the user pool configuration is invalid. +// This exception is thrown when the user pool configuration is not valid. type InvalidUserPoolConfigurationException struct { Message *string @@ -386,7 +385,7 @@ func (e *LimitExceededException) ErrorMessage() string { func (e *LimitExceededException) ErrorCode() string { return "LimitExceededException" } func (e *LimitExceededException) ErrorFault() smithy.ErrorFault { return smithy.FaultClient } -// This exception is thrown when Amazon Cognito cannot find a multi-factor +// This exception is thrown when Amazon Cognito can't find a multi-factor // authentication (MFA) method. type MFAMethodNotFoundException struct { Message *string @@ -406,7 +405,7 @@ func (e *MFAMethodNotFoundException) ErrorMessage() string { func (e *MFAMethodNotFoundException) ErrorCode() string { return "MFAMethodNotFoundException" } func (e *MFAMethodNotFoundException) ErrorFault() smithy.ErrorFault { return smithy.FaultClient } -// This exception is thrown when a user is not authorized. +// This exception is thrown when a user isn't authorized. type NotAuthorizedException struct { Message *string @@ -463,7 +462,7 @@ func (e *PreconditionNotMetException) ErrorMessage() string { func (e *PreconditionNotMetException) ErrorCode() string { return "PreconditionNotMetException" } func (e *PreconditionNotMetException) ErrorFault() smithy.ErrorFault { return smithy.FaultClient } -// This exception is thrown when the Amazon Cognito service cannot find the +// This exception is thrown when the Amazon Cognito service can't find the // requested resource. type ResourceNotFoundException struct { Message *string @@ -483,7 +482,7 @@ func (e *ResourceNotFoundException) ErrorMessage() string { func (e *ResourceNotFoundException) ErrorCode() string { return "ResourceNotFoundException" } func (e *ResourceNotFoundException) ErrorFault() smithy.ErrorFault { return smithy.FaultClient } -// This exception is thrown when the specified scope does not exist. +// This exception is thrown when the specified scope doesn't exist. type ScopeDoesNotExistException struct { Message *string @@ -502,8 +501,8 @@ func (e *ScopeDoesNotExistException) ErrorMessage() string { func (e *ScopeDoesNotExistException) ErrorCode() string { return "ScopeDoesNotExistException" } func (e *ScopeDoesNotExistException) ErrorFault() smithy.ErrorFault { return smithy.FaultClient } -// This exception is thrown when the software token TOTP multi-factor -// authentication (MFA) is not enabled for the user pool. +// This exception is thrown when the software token time-based one-time password +// (TOTP) multi-factor authentication (MFA) isn't activated for the user pool. type SoftwareTokenMFANotFoundException struct { Message *string @@ -525,7 +524,7 @@ func (e *SoftwareTokenMFANotFoundException) ErrorCode() string { func (e *SoftwareTokenMFANotFoundException) ErrorFault() smithy.ErrorFault { return smithy.FaultClient } // This exception is thrown when the user has made too many failed attempts for a -// given action (e.g., sign in). +// given action, such as sign-in. type TooManyFailedAttemptsException struct { Message *string @@ -564,7 +563,7 @@ func (e *TooManyRequestsException) ErrorMessage() string { func (e *TooManyRequestsException) ErrorCode() string { return "TooManyRequestsException" } func (e *TooManyRequestsException) ErrorFault() smithy.ErrorFault { return smithy.FaultClient } -// This exception is thrown when the request is not authorized. This can happen due +// Exception that is thrown when the request isn't authorized. This can happen due // to an invalid access token in the request. type UnauthorizedException struct { Message *string @@ -584,8 +583,8 @@ func (e *UnauthorizedException) ErrorMessage() string { func (e *UnauthorizedException) ErrorCode() string { return "UnauthorizedException" } func (e *UnauthorizedException) ErrorFault() smithy.ErrorFault { return smithy.FaultClient } -// This exception is thrown when the Amazon Cognito service encounters an -// unexpected exception with the Lambda service. +// This exception is thrown when Amazon Cognito encounters an unexpected exception +// with Lambda. type UnexpectedLambdaException struct { Message *string @@ -604,7 +603,7 @@ func (e *UnexpectedLambdaException) ErrorMessage() string { func (e *UnexpectedLambdaException) ErrorCode() string { return "UnexpectedLambdaException" } func (e *UnexpectedLambdaException) ErrorFault() smithy.ErrorFault { return smithy.FaultClient } -// This exception is thrown when the specified identifier is not supported. +// This exception is thrown when the specified identifier isn't supported. type UnsupportedIdentityProviderException struct { Message *string @@ -627,7 +626,7 @@ func (e *UnsupportedIdentityProviderException) ErrorFault() smithy.ErrorFault { return smithy.FaultClient } -// This exception is thrown when you attempt to perform an operation that is not +// Exception that is thrown when you attempt to perform an operation that isn't // enabled for the user pool client. type UnsupportedOperationException struct { Message *string @@ -647,7 +646,7 @@ func (e *UnsupportedOperationException) ErrorMessage() string { func (e *UnsupportedOperationException) ErrorCode() string { return "UnsupportedOperationException" } func (e *UnsupportedOperationException) ErrorFault() smithy.ErrorFault { return smithy.FaultClient } -// This exception is thrown when an unsupported token is passed to an operation. +// Exception that is thrown when an unsupported token is passed to an operation. type UnsupportedTokenTypeException struct { Message *string @@ -685,7 +684,7 @@ func (e *UnsupportedUserStateException) ErrorMessage() string { func (e *UnsupportedUserStateException) ErrorCode() string { return "UnsupportedUserStateException" } func (e *UnsupportedUserStateException) ErrorFault() smithy.ErrorFault { return smithy.FaultClient } -// This exception is thrown when you are trying to modify a user pool while a user +// This exception is thrown when you're trying to modify a user pool while a user // import job is in progress for that pool. type UserImportInProgressException struct { Message *string @@ -745,7 +744,7 @@ func (e *UsernameExistsException) ErrorMessage() string { func (e *UsernameExistsException) ErrorCode() string { return "UsernameExistsException" } func (e *UsernameExistsException) ErrorFault() smithy.ErrorFault { return smithy.FaultClient } -// This exception is thrown when a user is not confirmed successfully. +// This exception is thrown when a user isn't confirmed successfully. type UserNotConfirmedException struct { Message *string @@ -764,7 +763,7 @@ func (e *UserNotConfirmedException) ErrorMessage() string { func (e *UserNotConfirmedException) ErrorCode() string { return "UserNotConfirmedException" } func (e *UserNotConfirmedException) ErrorFault() smithy.ErrorFault { return smithy.FaultClient } -// This exception is thrown when a user is not found. +// This exception is thrown when a user isn't found. type UserNotFoundException struct { Message *string @@ -783,7 +782,7 @@ func (e *UserNotFoundException) ErrorMessage() string { func (e *UserNotFoundException) ErrorCode() string { return "UserNotFoundException" } func (e *UserNotFoundException) ErrorFault() smithy.ErrorFault { return smithy.FaultClient } -// This exception is thrown when user pool add-ons are not enabled. +// This exception is thrown when user pool add-ons aren't enabled. type UserPoolAddOnNotEnabledException struct { Message *string @@ -804,7 +803,7 @@ func (e *UserPoolAddOnNotEnabledException) ErrorCode() string { } func (e *UserPoolAddOnNotEnabledException) ErrorFault() smithy.ErrorFault { return smithy.FaultClient } -// This exception is thrown when a user pool tag cannot be set or updated. +// This exception is thrown when a user pool tag can't be set or updated. type UserPoolTaggingException struct { Message *string diff --git a/service/cognitoidentityprovider/types/types.go b/service/cognitoidentityprovider/types/types.go index aa21e39b61a..0d69376fdda 100644 --- a/service/cognitoidentityprovider/types/types.go +++ b/service/cognitoidentityprovider/types/types.go @@ -39,13 +39,13 @@ type AccountTakeoverActionType struct { // * BLOCK Choosing this action will block the request. // // * - // MFA_IF_CONFIGURED Throw MFA challenge if user has configured it, else allow the - // request. + // MFA_IF_CONFIGURED Present an MFA challenge if user has configured it, else allow + // the request. // - // * MFA_REQUIRED Throw MFA challenge if user has configured it, else - // block the request. + // * MFA_REQUIRED Present an MFA challenge if user has configured it, + // else block the request. // - // * NO_ACTION Allow the user sign-in. + // * NO_ACTION Allow the user to sign in. // // This member is required. EventAction AccountTakeoverEventActionType @@ -62,7 +62,7 @@ type AccountTakeoverActionType struct { // risk detected for a potential account takeover. type AccountTakeoverRiskConfigurationType struct { - // Account takeover risk configuration actions + // Account takeover risk configuration actions. // // This member is required. Actions *AccountTakeoverActionsType @@ -89,24 +89,24 @@ type AdminCreateUserConfigType struct { // usable. To reset the account after that time limit, you must call // AdminCreateUser again, specifying "RESEND" for the MessageAction parameter. The // default value for this parameter is 7. If you set a value for - // TemporaryPasswordValidityDays in PasswordPolicy, that value will be used and - // UnusedAccountValidityDays will be deprecated for that user pool. + // TemporaryPasswordValidityDays in PasswordPolicy, that value will be used, and + // UnusedAccountValidityDays will be no longer be an available parameter for that + // user pool. UnusedAccountValidityDays int32 noSmithyDocumentSerde } // The Amazon Pinpoint analytics configuration for collecting metrics for a user -// pool. In regions where Pinpoint is not available, Cognito User Pools only -// supports sending events to Amazon Pinpoint projects in us-east-1. In regions -// where Pinpoint is available, Cognito User Pools will support sending events to -// Amazon Pinpoint projects within that same region. +// pool. In Regions where Pinpoint isn't available, User Pools only supports +// sending events to Amazon Pinpoint projects in us-east-1. In Regions where +// Pinpoint is available, User Pools will support sending events to Amazon Pinpoint +// projects within that same Region. type AnalyticsConfigurationType struct { // The Amazon Resource Name (ARN) of an Amazon Pinpoint project. You can use the - // Amazon Pinpoint project for Pinpoint integration with the chosen User Pool - // Client. Amazon Cognito publishes events to the pinpoint project declared by the - // app ARN. + // Amazon Pinpoint project for integration with the chosen User Pool Client. Amazon + // Cognito publishes events to the Amazon Pinpointproject declared by the app ARN. ApplicationArn *string // The application ID for an Amazon Pinpoint application. @@ -115,8 +115,8 @@ type AnalyticsConfigurationType struct { // The external ID. ExternalId *string - // The ARN of an IAM role that authorizes Amazon Cognito to publish events to - // Amazon Pinpoint analytics. + // The ARN of an Identity and Access Management role that authorizes Amazon Cognito + // to publish events to Amazon Pinpoint analytics. RoleArn *string // If UserDataShared is true, Amazon Cognito will include user data in the events @@ -128,9 +128,9 @@ type AnalyticsConfigurationType struct { // An Amazon Pinpoint analytics endpoint. An endpoint uniquely identifies a mobile // device, email address, or phone number that can receive messages from Amazon -// Pinpoint analytics. Cognito User Pools only supports sending events to Amazon -// Pinpoint projects in the US East (N. Virginia) us-east-1 Region, regardless of -// the region in which the user pool resides. +// Pinpoint analytics. Amazon Cognito User Pools only supports sending events to +// Amazon Pinpoint projects in the US East (N. Virginia) us-east-1 Region, +// regardless of the Region in which the user pool resides. type AnalyticsMetadataType struct { // The endpoint ID. @@ -186,8 +186,8 @@ type AuthEventType struct { // The creation date CreationDate *time.Time - // The user context data captured at the time of an event request. It provides - // additional information about the client from which event the request is + // The user context data captured at the time of an event request. This value + // provides additional information about the client from which event the request is // received. EventContextData *EventContextDataType @@ -213,7 +213,7 @@ type AuthEventType struct { // The challenge response type. type ChallengeResponseType struct { - // The challenge name + // The challenge name. ChallengeName ChallengeName // The challenge response. @@ -237,7 +237,7 @@ type CodeDeliveryDetailsType struct { noSmithyDocumentSerde } -// The compromised credentials actions type +// The compromised credentials actions type. type CompromisedCredentialsActionsType struct { // The event action. @@ -287,8 +287,8 @@ type ContextDataType struct { // This member is required. ServerPath *string - // Encoded data containing device fingerprinting details, collected using the - // Amazon Cognito context data collection library. + // Encoded data containing device fingerprinting details collected using the Amazon + // Cognito context data collection library. EncodedData *string noSmithyDocumentSerde @@ -310,15 +310,14 @@ type CustomDomainConfigType struct { // A custom email sender Lambda configuration type. type CustomEmailLambdaVersionConfigType struct { - // The Lambda Amazon Resource Name of the Lambda function that Amazon Cognito - // triggers to send email notifications to users. + // The Amazon Resource Name (ARN) of the Lambda function that Amazon Cognito + // activates to send email notifications to users. // // This member is required. LambdaArn *string - // The Lambda version represents the signature of the "request" attribute in the - // "event" information Amazon Cognito passes to your custom email Lambda function. - // The only supported value is V1_0. + // Signature of the "request" attribute in the "event" information Amazon Cognito + // passes to your custom email Lambda function. The only supported value is V1_0. // // This member is required. LambdaVersion CustomEmailSenderLambdaVersionType @@ -329,15 +328,15 @@ type CustomEmailLambdaVersionConfigType struct { // A custom SMS sender Lambda configuration type. type CustomSMSLambdaVersionConfigType struct { - // The Lambda Amazon Resource Name of the Lambda function that Amazon Cognito - // triggers to send SMS notifications to users. + // The Amazon Resource Name (ARN) of the Lambda function that Amazon Cognito + // activates to send SMS notifications to users. // // This member is required. LambdaArn *string - // The Lambda version represents the signature of the "request" attribute in the - // "event" information Amazon Cognito passes to your custom SMS Lambda function. - // The only supported value is V1_0. + // Signature of the "request" attribute in the "event" information that Amazon + // Cognito passes to your custom SMS Lambda function. The only supported value is + // V1_0. // // This member is required. LambdaVersion CustomSMSSenderLambdaVersionType @@ -345,20 +344,26 @@ type CustomSMSLambdaVersionConfigType struct { noSmithyDocumentSerde } -// The configuration for the user pool's device tracking. +// The device tracking configuration for a user pool. A user pool with device +// tracking deactivated returns a null value. When you provide values for any +// DeviceConfiguration field, you activate device tracking. type DeviceConfigurationType struct { - // Indicates whether a challenge is required on a new device. Only applicable to a - // new device. + // When true, device authentication can replace SMS and time-based one-time + // password (TOTP) factors for multi-factor authentication (MFA). Users that sign + // in with devices that have not been confirmed or remembered will still have to + // provide a second factor, whether or not ChallengeRequiredOnNewDevice is true, + // when your user pool requires MFA. ChallengeRequiredOnNewDevice bool - // If true, a device is only remembered on user prompt. + // When true, users can opt in to remembering their device. Your app code must use + // callback functions to return the user's choice. DeviceOnlyRememberedOnUserPrompt bool noSmithyDocumentSerde } -// The device verifier against which it will be authenticated. +// The device verifier against which it is authenticated. type DeviceSecretVerifierConfigType struct { // The password verifier. @@ -382,7 +387,7 @@ type DeviceType struct { // The device key. DeviceKey *string - // The date in which the device was last authenticated. + // The date when the device was last authenticated. DeviceLastAuthenticatedDate *time.Time // The last modified date of the device. @@ -394,20 +399,22 @@ type DeviceType struct { // A container for information about a domain. type DomainDescriptionType struct { - // The account ID for the user pool owner. + // The Amazon Web Services ID for the user pool owner. AWSAccountId *string - // The ARN of the CloudFront distribution. + // The Amazon Resource Name (ARN) of the Amazon CloudFront distribution. CloudFrontDistribution *string // The configuration for a custom domain that hosts the sign-up and sign-in // webpages for your application. CustomDomainConfig *CustomDomainConfigType - // The domain string. + // The domain string. For custom domains, this is the fully-qualified domain name, + // such as auth.example.com. For Amazon Cognito prefix domains, this is the prefix + // alone, such as auth. Domain *string - // The S3 bucket where the static files for this domain are stored. + // The Amazon S3 bucket where the static files for this domain are stored. S3Bucket *string // The domain status. @@ -422,46 +429,47 @@ type DomainDescriptionType struct { noSmithyDocumentSerde } -// The email configuration type. Amazon Cognito has specific regions for use with -// Amazon SES. For more information on the supported regions, see Email Settings -// for Amazon Cognito User Pools +// The email configuration type. Amazon Cognito has specific Regions for use with +// Amazon Simple Email Service. For more information on the supported Regions, see +// Email settings for Amazon Cognito user pools // (https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-email.html). type EmailConfigurationType struct { // The set of configuration rules that can be applied to emails sent using Amazon - // SES. A configuration set is applied to an email by including a reference to the - // configuration set in the headers of the email. Once applied, all of the rules in - // that configuration set are applied to the email. Configuration sets can be used - // to apply the following types of rules to emails: - // - // * Event publishing – Amazon - // SES can track the number of send, delivery, open, click, bounce, and complaint - // events for each email sent. Use event publishing to send information about these - // events to other Amazon Web Services services such as SNS and CloudWatch. - // - // * IP - // pool management – When leasing dedicated IP addresses with Amazon SES, you can - // create groups of IP addresses, called dedicated IP pools. You can then associate - // the dedicated IP pools with configuration sets. + // Simple Email Service. A configuration set is applied to an email by including a + // reference to the configuration set in the headers of the email. Once applied, + // all of the rules in that configuration set are applied to the email. + // Configuration sets can be used to apply the following types of rules to + // emails: + // + // * Event publishing – Amazon Simple Email Service can track the number + // of send, delivery, open, click, bounce, and complaint events for each email + // sent. Use event publishing to send information about these events to other + // Amazon Web Services services such as and Amazon CloudWatch. + // + // * IP pool + // management – When leasing dedicated IP addresses with Amazon Simple Email + // Service, you can create groups of IP addresses, called dedicated IP pools. You + // can then associate the dedicated IP pools with configuration sets. ConfigurationSet *string // Specifies whether Amazon Cognito emails your users by using its built-in email - // functionality or your Amazon SES email configuration. Specify one of the - // following values: COGNITO_DEFAULT When Amazon Cognito emails your users, it uses - // its built-in email functionality. When you use the default option, Amazon - // Cognito allows only a limited number of emails each day for your user pool. For - // typical production environments, the default email limit is below the required - // delivery volume. To achieve a higher delivery volume, specify DEVELOPER to use - // your Amazon SES email configuration. To look up the email delivery limit for the - // default option, see Limits in Amazon Cognito + // functionality or your Amazon Simple Email Service email configuration. Specify + // one of the following values: COGNITO_DEFAULT When Amazon Cognito emails your + // users, it uses its built-in email functionality. When you use the default + // option, Amazon Cognito allows only a limited number of emails each day for your + // user pool. For typical production environments, the default email limit is less + // than the required delivery volume. To achieve a higher delivery volume, specify + // DEVELOPER to use your Amazon SES email configuration. To look up the email + // delivery limit for the default option, see Limits in // (https://docs.aws.amazon.com/cognito/latest/developerguide/limits.html) in the - // Amazon Cognito Developer Guide. The default FROM address is - // no-reply@verificationemail.com. To customize the FROM address, provide the ARN - // of an Amazon SES verified email address for the SourceArn parameter. If - // EmailSendingAccount is COGNITO_DEFAULT, the following parameters aren't - // allowed: + // Developer Guide. The default FROM address is no-reply@verificationemail.com. To + // customize the FROM address, provide the Amazon Resource Name (ARN) of an Amazon + // SES verified email address for the SourceArn parameter. If EmailSendingAccount + // is COGNITO_DEFAULT, you can't use the following parameters: // - // * EmailVerificationMessage + // * + // EmailVerificationMessage // // * EmailVerificationSubject // @@ -487,34 +495,34 @@ type EmailConfigurationType struct { // SES configuration. Amazon Cognito calls Amazon SES on your behalf to send email // from your verified email address. When you use this option, the email delivery // limits are the same limits that apply to your Amazon SES verified email address - // in your account. If you use this option, you must provide the ARN of an Amazon - // SES verified email address for the SourceArn parameter. Before Amazon Cognito - // can email your users, it requires additional permissions to call Amazon SES on - // your behalf. When you update your user pool with this option, Amazon Cognito - // creates a service-linked role, which is a type of IAM role, in your account. - // This role contains the permissions that allow Amazon Cognito to access Amazon - // SES and send email messages with your address. For more information about the - // service-linked role that Amazon Cognito creates, see Using Service-Linked Roles - // for Amazon Cognito + // in your Amazon Web Services account. If you use this option, you must provide + // the ARN of an Amazon SES verified email address for the SourceArn parameter. + // Before Amazon Cognito can email your users, it requires additional permissions + // to call Amazon SES on your behalf. When you update your user pool with this + // option, Amazon Cognito creates a service-linked role, which is a type of role, + // in your Amazon Web Services account. This role contains the permissions that + // allow to access Amazon SES and send email messages with your address. For more + // information about the service-linked role that Amazon Cognito creates, see Using + // Service-Linked Roles for Amazon Cognito // (https://docs.aws.amazon.com/cognito/latest/developerguide/using-service-linked-roles.html) // in the Amazon Cognito Developer Guide. EmailSendingAccount EmailSendingAccountType - // Identifies either the sender’s email address or the sender’s name with their - // email address. For example, testuser@example.com or Test User . This address - // will appear before the body of the email. + // Either the sender’s email address or the sender’s name with their email address. + // For example, testuser@example.com or Test User . This address appears before the + // body of the email. From *string - // The destination to which the receiver of the email should reply to. + // The destination to which the receiver of the email should reply. ReplyToEmailAddress *string - // The Amazon Resource Name (ARN) of a verified email address in Amazon SES. This - // email address is used in one of the following ways, depending on the value that - // you specify for the EmailSendingAccount parameter: + // The ARN of a verified email address in Amazon SES. Amazon Cognito uses this + // email address in one of the following ways, depending on the value that you + // specify for the EmailSendingAccount parameter: // // * If you specify // COGNITO_DEFAULT, Amazon Cognito uses this address as the custom FROM address - // when it emails your users by using its built-in email account. + // when it emails your users using its built-in email account. // // * If you specify // DEVELOPER, Amazon Cognito emails your users with this address by calling Amazon @@ -595,21 +603,21 @@ type GroupType struct { // The date the group was last modified. LastModifiedDate *time.Time - // A nonnegative integer value that specifies the precedence of this group relative - // to the other groups that a user can belong to in the user pool. If a user - // belongs to two or more groups, it is the group with the highest precedence whose - // role ARN will be used in the cognito:roles and cognito:preferred_role claims in - // the user's tokens. Groups with higher Precedence values take precedence over - // groups with lower Precedence values or with null Precedence values. Two groups - // can have the same Precedence value. If this happens, neither group takes - // precedence over the other. If two groups with the same Precedence have the same - // role ARN, that role is used in the cognito:preferred_role claim in tokens for - // users in each group. If the two groups have different role ARNs, the - // cognito:preferred_role claim is not set in users' tokens. The default Precedence - // value is null. + // A non-negative integer value that specifies the precedence of this group + // relative to the other groups that a user can belong to in the user pool. Zero is + // the highest precedence value. Groups with lower Precedence values take + // precedence over groups with higher ornull Precedence values. If a user belongs + // to two or more groups, it is the group with the lowest precedence value whose + // role ARN is given in the user's tokens for the cognito:roles and + // cognito:preferred_role claims. Two groups can have the same Precedence value. If + // this happens, neither group takes precedence over the other. If two groups with + // the same Precedence have the same role ARN, that role is used in the + // cognito:preferred_role claim in tokens for users in each group. If the two + // groups have different role ARNs, the cognito:preferred_role claim isn't set in + // users' tokens. The default Precedence value is null. Precedence *int32 - // The role ARN for the group. + // The role Amazon Resource Name (ARN) for the group. RoleArn *string // The user pool ID for the user pool. @@ -621,7 +629,7 @@ type GroupType struct { // The HTTP header. type HttpHeader struct { - // The header name + // The header name. HeaderName *string // The header value. @@ -708,10 +716,13 @@ type IdentityProviderType struct { // * jwks_uri if not available from // discovery URL specified by oidc_issuer key // + // * attributes_url_add_attributes a + // read-only property that is set automatically + // // * For SAML providers: // // * - // MetadataFile OR MetadataURL + // MetadataFile or MetadataURL // // * IDPSignOut optional ProviderDetails map[string]string @@ -746,9 +757,9 @@ type LambdaConfigType struct { // Defines the authentication challenge. DefineAuthChallenge *string - // The Amazon Resource Name of Key Management Service Customer master keys . Amazon - // Cognito uses the key to encrypt codes and temporary passwords sent to - // CustomEmailSender and CustomSMSSender. + // The Amazon Resource Name (ARN) of an KMS key. Amazon Cognito uses the key to + // encrypt codes and temporary passwords sent to CustomEmailSender and + // CustomSMSSender. KMSKeyID *string // A post-authentication Lambda trigger. @@ -796,8 +807,9 @@ type MessageTemplateType struct { noSmithyDocumentSerde } -// This data type is no longer supported. You can use it only for SMS MFA -// configurations. You can't use it for TOTP software token MFA configurations. +// This data type is no longer supported. You can use it only for SMS multi-factor +// authentication (MFA) configurations. You can't use it for time-based one-time +// password (TOTP) software token MFA configurations. type MFAOptionType struct { // The attribute name of the MFA option type. The only valid value is phone_number. @@ -826,8 +838,8 @@ type NewDeviceMetadataType struct { type NotifyConfigurationType struct { // The Amazon Resource Name (ARN) of the identity that is associated with the - // sending authorization policy. It permits Amazon Cognito to send for the email - // address specified in the From parameter. + // sending authorization policy. This identity permits Amazon Cognito to send for + // the email address specified in the From parameter. // // This member is required. SourceArn *string @@ -835,12 +847,13 @@ type NotifyConfigurationType struct { // Email template used when a detected risk event is blocked. BlockEmail *NotifyEmailType - // The email address that is sending the email. It must be either individually - // verified with Amazon SES, or from a domain that has been verified with Amazon - // SES. + // The email address that is sending the email. The address must be either + // individually verified with Amazon Simple Email Service, or from a domain that + // has been verified with Amazon SES. From *string - // The MFA email template used when MFA is challenged as part of a detected risk. + // The multi-factor authentication (MFA) email template used when MFA is challenged + // as part of a detected risk. MfaEmail *NotifyEmailType // The email template used when a detected risk event is allowed. @@ -855,21 +868,21 @@ type NotifyConfigurationType struct { // The notify email type. type NotifyEmailType struct { - // The subject. + // The email subject. // // This member is required. Subject *string - // The HTML body. + // The email HTML body. HtmlBody *string - // The text body. + // The email text body. TextBody *string noSmithyDocumentSerde } -// The minimum and maximum value of an attribute that is of the number data type. +// The minimum and maximum values of an attribute that is of the number data type. type NumberAttributeConstraintsType struct { // The maximum value of an attribute that is of the number data type. @@ -884,8 +897,8 @@ type NumberAttributeConstraintsType struct { // The password policy type. type PasswordPolicyType struct { - // The minimum length of the password policy that you have set. Cannot be less than - // 6. + // The minimum length of the password in the policy that you have set. This value + // can't be less than 6. MinimumLength int32 // In the password policy that you have set, refers to whether you have required @@ -904,11 +917,10 @@ type PasswordPolicyType struct { // users to use at least one uppercase letter in their password. RequireUppercase bool - // In the password policy you have set, refers to the number of days a temporary - // password is valid. If the user does not sign-in during this time, their password - // will need to be reset by an administrator. When you set - // TemporaryPasswordValidityDays for a user pool, you will no longer be able to set - // the deprecated UnusedAccountValidityDays value for that user pool. + // The number of days a temporary password is valid in the password policy. If the + // user doesn't sign in during this time, an administrator must reset their + // password. When you set TemporaryPasswordValidityDays for a user pool, you can no + // longer set the deprecated UnusedAccountValidityDays value for that user pool. TemporaryPasswordValidityDays int32 noSmithyDocumentSerde @@ -935,13 +947,13 @@ type ProviderDescription struct { // A container for information about an identity provider for a user pool. type ProviderUserIdentifierType struct { - // The name of the provider attribute to link to, for example, NameID. + // The name of the provider attribute to link to, such as NameID. ProviderAttributeName *string - // The value of the provider attribute to link to, for example, xxxxx_account. + // The value of the provider attribute to link to, such as xxxxx_account. ProviderAttributeValue *string - // The name of the provider, for example, Facebook, Google, or Login with Amazon. + // The name of the provider, such as Facebook, Google, or Login with Amazon. ProviderName *string noSmithyDocumentSerde @@ -950,7 +962,7 @@ type ProviderUserIdentifierType struct { // A map containing a priority as a key, and recovery method name as a value. type RecoveryOptionType struct { - // Specifies the recovery method for a user. + // The recovery method for a user. // // This member is required. Name RecoveryOptionNameType @@ -1001,15 +1013,15 @@ type ResourceServerType struct { // The risk configuration type. type RiskConfigurationType struct { - // The account takeover risk configuration object including the NotifyConfiguration - // object and Actions to take in the case of an account takeover. + // The account takeover risk configuration object, including the + // NotifyConfiguration object and Actions to take if there is an account takeover. AccountTakeoverRiskConfiguration *AccountTakeoverRiskConfigurationType // The app client ID. ClientId *string - // The compromised credentials risk configuration object including the EventFilter - // and the EventAction + // The compromised credentials risk configuration object, including the EventFilter + // and the EventAction. CompromisedCredentialsRiskConfiguration *CompromisedCredentialsRiskConfigurationType // The last modified date. @@ -1028,11 +1040,11 @@ type RiskConfigurationType struct { type RiskExceptionConfigurationType struct { // Overrides the risk decision to always block the pre-authentication requests. The - // IP range is in CIDR notation: a compact representation of an IP address and its - // associated routing prefix. + // IP range is in CIDR notation, a compact representation of an IP address and its + // routing prefix. BlockedIPRangeList []string - // Risk detection is not performed on the IP addresses in the range list. The IP + // Risk detection isn't performed on the IP addresses in this range list. The IP // range is in CIDR notation. SkippedIPRangeList []string @@ -1045,18 +1057,18 @@ type SchemaAttributeType struct { // The attribute data type. AttributeDataType AttributeDataType - // We recommend that you use WriteAttributes + // You should use WriteAttributes // (https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UserPoolClientType.html#CognitoUserPools-Type-UserPoolClientType-WriteAttributes) // in the user pool client to control how attributes can be mutated for new use // cases instead of using DeveloperOnlyAttribute. Specifies whether the attribute // type is developer only. This attribute can only be modified by an administrator. - // Users will not be able to modify this attribute using their access token. For + // Users won't be able to modify this attribute using their access token. For // example, DeveloperOnlyAttribute can be modified using AdminUpdateUserAttributes - // but cannot be updated using UpdateUserAttributes. + // but can't be updated using UpdateUserAttributes. DeveloperOnlyAttribute bool // Specifies whether the value of the attribute can be changed. For any user pool - // attribute that's mapped to an identity provider attribute, you must set this + // attribute that is mapped to an identity provider attribute, you must set this // parameter to true. Amazon Cognito updates mapped attributes when users sign in // to your application through an identity provider. If an attribute is immutable, // Amazon Cognito throws an error when it attempts to update the attribute. For @@ -1072,7 +1084,7 @@ type SchemaAttributeType struct { NumberAttributeConstraints *NumberAttributeConstraintsType // Specifies whether a user pool attribute is required. If the attribute is - // required and the user does not provide a value, registration or sign-in will + // required and the user doesn't provide a value, registration or sign-in will // fail. Required bool @@ -1082,29 +1094,31 @@ type SchemaAttributeType struct { noSmithyDocumentSerde } -// The SMS configuration type that includes the settings the Cognito User Pool -// needs to call for the Amazon SNS service to send an SMS message from your -// account. The Cognito User Pool makes the request to the Amazon SNS Service by -// using an IAM role that you provide for your account. +// The SMS configuration type that includes the settings the Amazon Cognito User +// Pool must call for the Amazon Simple Notification Service service to send an SMS +// message from your Amazon Web Services account. The Amazon Cognito User Pool +// makes the request to the Amazon SNS Service by using an Identity and Access +// Management role that you provide for your Amazon Web Services account. type SmsConfigurationType struct { - // The Amazon Resource Name (ARN) of the Amazon Simple Notification Service (SNS) - // caller. This is the ARN of the IAM role in your account which Cognito will use - // to send SMS messages. SMS messages are subject to a spending limit + // The Amazon Resource Name (ARN) of the Amazon SNS caller. This is the ARN of the + // IAM role in your Amazon Web Services account that Amazon Cognito will use to + // send SMS messages. SMS messages are subject to a spending limit // (https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-settings-email-phone-verification.html). // // This member is required. SnsCallerArn *string - // The external ID is a value that we recommend you use to add security to your IAM - // role which is used to call Amazon SNS to send SMS messages for your user pool. - // If you provide an ExternalId, the Cognito User Pool will include it when - // attempting to assume your IAM role, so that you can set your roles trust policy - // to require the ExternalID. If you use the Cognito Management Console to create a - // role for SMS MFA, Cognito will create a role with the required permissions and a - // trust policy that demonstrates use of the ExternalId. For more information about - // the ExternalId of a role, see How to use an external ID when granting access to - // your Amazon Web Services resources to a third party + // The external ID is a value that you should use to add security to your IAM role + // that is used to call Amazon SNS to send SMS messages for your user pool. If you + // provide an ExternalId, the Amazon Cognito User Pool will include it when + // attempting to assume your IAM role so that you can set your roles trust policy + // to require the ExternalID. If you use the Amazon Cognito Management Console to + // create a role for SMS multi-factor authentication (MFA), Amazon Cognito will + // create a role with the required permissions and a trust policy that demonstrates + // use of the ExternalId. For more information about the ExternalId of a role, see + // How to use an external ID when granting access to your Amazon Web Services + // resources to a third party // (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-user_externalid.html) ExternalId *string @@ -1115,9 +1129,9 @@ type SmsConfigurationType struct { type SmsMfaConfigType struct { // The SMS authentication message that will be sent to users with the code they - // need to sign in. The message must contain the ‘{####}’ placeholder, which will - // be replaced with the code. If the message is not included, and default message - // will be used. + // must sign in. The message must contain the ‘{####}’ placeholder, which is + // replaced with the code. If the message isn't included, and default message will + // be used. SmsAuthenticationMessage *string // The SMS configuration. @@ -1126,17 +1140,18 @@ type SmsMfaConfigType struct { noSmithyDocumentSerde } -// The type used for enabling SMS MFA at the user level. Phone numbers don't need -// to be verified to be used for SMS MFA. If an MFA type is enabled for a user, the -// user will be prompted for MFA during all sign in attempts, unless device -// tracking is turned on and the device has been trusted. If you would like MFA to -// be applied selectively based on the assessed risk level of sign in attempts, -// disable MFA for users and turn on Adaptive Authentication for the user pool. +// The type used for enabling SMS multi-factor authentication (MFA) at the user +// level. Phone numbers don't need to be verified to be used for SMS MFA. If an MFA +// type is activated for a user, the user will be prompted for MFA during all +// sign-in attempts, unless device tracking is turned on and the device has been +// trusted. If you would like MFA to be applied selectively based on the assessed +// risk level of sign-in attempts, deactivate MFA for users and turn on Adaptive +// Authentication for the user pool. type SMSMfaSettingsType struct { - // Specifies whether SMS text message MFA is enabled. If an MFA type is enabled for - // a user, the user will be prompted for MFA during all sign in attempts, unless - // device tracking is turned on and the device has been trusted. + // Specifies whether SMS text message MFA is activated. If an MFA type is activated + // for a user, the user will be prompted for MFA during all sign-in attempts, + // unless device tracking is turned on and the device has been trusted. Enabled bool // Specifies whether SMS is the preferred MFA method. @@ -1148,23 +1163,23 @@ type SMSMfaSettingsType struct { // The type used for enabling software token MFA at the user pool level. type SoftwareTokenMfaConfigType struct { - // Specifies whether software token MFA is enabled. + // Specifies whether software token MFA is activated. Enabled bool noSmithyDocumentSerde } // The type used for enabling software token MFA at the user level. If an MFA type -// is enabled for a user, the user will be prompted for MFA during all sign in +// is activated for a user, the user will be prompted for MFA during all sign-in // attempts, unless device tracking is turned on and the device has been trusted. -// If you would like MFA to be applied selectively based on the assessed risk level -// of sign in attempts, disable MFA for users and turn on Adaptive Authentication +// If you want MFA to be applied selectively based on the assessed risk level of +// sign-in attempts, deactivate MFA for users and turn on Adaptive Authentication // for the user pool. type SoftwareTokenMfaSettingsType struct { - // Specifies whether software token MFA is enabled. If an MFA type is enabled for a - // user, the user will be prompted for MFA during all sign in attempts, unless - // device tracking is turned on and the device has been trusted. + // Specifies whether software token MFA is activated. If an MFA type is activated + // for a user, the user will be prompted for MFA during all sign-in attempts, + // unless device tracking is turned on and the device has been trusted. Enabled bool // Specifies whether software token MFA is the preferred MFA method. @@ -1189,16 +1204,16 @@ type StringAttributeConstraintsType struct { // token validity. type TokenValidityUnitsType struct { - // A time unit in “seconds”, “minutes”, “hours” or “days” for the value in - // AccessTokenValidity, defaults to hours. + // A time unit in “seconds”, “minutes”, “hours”, or “days” for the value in + // AccessTokenValidity, defaulting to hours. AccessToken TimeUnitsType - // A time unit in “seconds”, “minutes”, “hours” or “days” for the value in - // IdTokenValidity, defaults to hours. + // A time unit in “seconds”, “minutes”, “hours”, or “days” for the value in + // IdTokenValidity, defaulting to hours. IdToken TimeUnitsType - // A time unit in “seconds”, “minutes”, “hours” or “days” for the value in - // RefreshTokenValidity, defaults to days. + // A time unit in “seconds”, “minutes”, “hours”, or “days” for the value in + // RefreshTokenValidity, defaulting to days. RefreshToken TimeUnitsType noSmithyDocumentSerde @@ -1232,12 +1247,12 @@ type UICustomizationType struct { noSmithyDocumentSerde } -// Contextual data such as the user's device fingerprint, IP address, or location +// Contextual data, such as the user's device fingerprint, IP address, or location, // used for evaluating the risk of an unexpected event by Amazon Cognito advanced // security. type UserContextDataType struct { - // Contextual data such as the user's device fingerprint, IP address, or location + // Contextual data, such as the user's device fingerprint, IP address, or location, // used for evaluating the risk of an unexpected event by Amazon Cognito advanced // security. EncodedData *string @@ -1248,9 +1263,9 @@ type UserContextDataType struct { // The user import job type. type UserImportJobType struct { - // The role ARN for the Amazon CloudWatch Logging role for the user import job. For - // more information, see "Creating the CloudWatch Logs IAM Role" in the Amazon - // Cognito Developer Guide. + // The role Amazon Resource Name (ARN) for the Amazon CloudWatch Logging role for + // the user import job. For more information, see "Creating the CloudWatch Logs IAM + // Role" in the Amazon Cognito Developer Guide. CloudWatchLogsRoleArn *string // The date when the user import job was completed. @@ -1262,7 +1277,7 @@ type UserImportJobType struct { // The date the user import job was created. CreationDate *time.Time - // The number of users that could not be imported. + // The number of users that couldn't be imported. FailedUsers int64 // The number of users that were successfully imported. @@ -1307,7 +1322,7 @@ type UserImportJobType struct { // // * // Expired - You created a job, but did not start the job within 24-48 hours. All - // data associated with the job was deleted, and the job cannot be started. + // data associated with the job was deleted, and the job can't be started. Status UserImportJobStatusType // The user pool ID for the user pool that the users are being imported into. @@ -1320,18 +1335,18 @@ type UserImportJobType struct { type UsernameConfigurationType struct { // Specifies whether username case sensitivity will be applied for all users in the - // user pool through Cognito APIs. Valid values include: + // user pool through Amazon Cognito APIs. Valid values include: // - // * True : Enables case - // sensitivity for all username input. When this option is set to True, users must - // sign in using the exact capitalization of their given username. For example, + // * True : Enables + // case sensitivity for all username input. When this option is set to True, users + // must sign in using the exact capitalization of their given username, such as // “UserName”. This is the default value. // // * False : Enables case insensitivity for - // all username input. For example, when this option is set to False, users will be - // able to sign in using either "username" or "Username". This option also enables - // both preferred_username and email alias to be case insensitive, in addition to - // the username attribute. + // all username input. For example, when this option is set to False, users can + // sign in using either "username" or "Username". This option also enables both + // preferred_username and email alias to be case insensitive, in addition to the + // username attribute. // // This member is required. CaseSensitive *bool @@ -1370,7 +1385,7 @@ type UserPoolClientDescription struct { type UserPoolClientType struct { // The time limit, specified by tokenValidityUnits, defaulting to hours, after - // which the access token is no longer valid and cannot be used. + // which the access token is no longer valid and can't be used. AccessTokenValidity *int32 // The allowed OAuth flows. Set to code to initiate a code grant flow, which @@ -1383,7 +1398,7 @@ type UserPoolClientType struct { AllowedOAuthFlows []OAuthFlowType // Set to true if the client is allowed to follow the OAuth protocol when - // interacting with Cognito user pools. + // interacting with Amazon Cognito user pools. AllowedOAuthFlowsUserPoolClient bool // The allowed OAuth scopes. Possible values provided by OAuth are: phone, email, @@ -1392,10 +1407,10 @@ type UserPoolClientType struct { // also supported. AllowedOAuthScopes []string - // The Amazon Pinpoint analytics configuration for the user pool client. Cognito - // User Pools only supports sending events to Amazon Pinpoint projects in the US - // East (N. Virginia) us-east-1 Region, regardless of the region in which the user - // pool resides. + // The Amazon Pinpoint analytics configuration for the user pool client. Amazon + // Cognito User Pools only supports sending events to Amazon Pinpoint projects in + // the US East (N. Virginia) us-east-1 Region, regardless of the Region in which + // the user pool resides. AnalyticsConfiguration *AnalyticsConfigurationType // A list of allowed redirect (callback) URLs for the identity providers. A @@ -1442,39 +1457,39 @@ type UserPoolClientType struct { // callback URLs such as myapp://example are also supported. DefaultRedirectURI *string - // Indicates whether token revocation is enabled for the user pool client. When you - // create a new user pool client, token revocation is enabled by default. For more - // information about revoking tokens, see RevokeToken + // Indicates whether token revocation is activated for the user pool client. When + // you create a new user pool client, token revocation is activated by default. For + // more information about revoking tokens, see RevokeToken // (https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_RevokeToken.html). EnableTokenRevocation *bool // The authentication flows that are supported by the user pool clients. Flow names - // without the ALLOW_ prefix are deprecated in favor of new names with the ALLOW_ - // prefix. Note that values with ALLOW_ prefix cannot be used along with values - // without ALLOW_ prefix. Valid values include: - // - // * ALLOW_ADMIN_USER_PASSWORD_AUTH: - // Enable admin based user password authentication flow ADMIN_USER_PASSWORD_AUTH. - // This setting replaces the ADMIN_NO_SRP_AUTH setting. With this authentication - // flow, Cognito receives the password in the request instead of using the SRP - // (Secure Remote Password protocol) protocol to verify passwords. + // without the ALLOW_ prefix are no longer supported in favor of new names with the + // ALLOW_ prefix. Note that values with ALLOW_ prefix must be used only along with + // values including the ALLOW_ prefix. Valid values include: // // * - // ALLOW_CUSTOM_AUTH: Enable Lambda trigger based authentication. + // ALLOW_ADMIN_USER_PASSWORD_AUTH: Enable admin based user password authentication + // flow ADMIN_USER_PASSWORD_AUTH. This setting replaces the ADMIN_NO_SRP_AUTH + // setting. With this authentication flow, Amazon Cognito receives the password in + // the request instead of using the Secure Remote Password (SRP) protocol to verify + // passwords. + // + // * ALLOW_CUSTOM_AUTH: Enable Lambda trigger based authentication. // // * // ALLOW_USER_PASSWORD_AUTH: Enable user password-based authentication. In this - // flow, Cognito receives the password in the request instead of using the SRP - // protocol to verify passwords. + // flow, Amazon Cognito receives the password in the request instead of using the + // SRP protocol to verify passwords. // - // * ALLOW_USER_SRP_AUTH: Enable SRP based + // * ALLOW_USER_SRP_AUTH: Enable SRP-based // authentication. // // * ALLOW_REFRESH_TOKEN_AUTH: Enable authflow to refresh tokens. ExplicitAuthFlows []ExplicitAuthFlowsType - // The time limit, specified by tokenValidityUnits, defaulting to hours, after - // which the refresh token is no longer valid and cannot be used. + // The time limit specified by tokenValidityUnits, defaulting to hours, after which + // the refresh token is no longer valid and can't be used. IdTokenValidity *int32 // The date the user pool client was last modified. @@ -1483,32 +1498,27 @@ type UserPoolClientType struct { // A list of allowed logout URLs for the identity providers. LogoutURLs []string - // Use this setting to choose which errors and responses are returned by Cognito - // APIs during authentication, account confirmation, and password recovery when the - // user does not exist in the user pool. When set to ENABLED and the user does not - // exist, authentication returns an error indicating either the username or - // password was incorrect, and account confirmation and password recovery return a - // response indicating a code was sent to a simulated destination. When set to - // LEGACY, those APIs will return a UserNotFoundException exception if the user - // does not exist in the user pool. Valid values include: - // - // * ENABLED - This - // prevents user existence-related errors. - // - // * LEGACY - This represents the old - // behavior of Cognito where user existence related errors are not - // prevented. - // - // After February 15th 2020, the value of PreventUserExistenceErrors - // will default to ENABLED for newly created user pool clients if no value is - // provided. + // Errors and responses that you want Amazon Cognito APIs to return during + // authentication, account confirmation, and password recovery when the user + // doesn't exist in the user pool. When set to ENABLED and the user doesn't exist, + // authentication returns an error indicating either the username or password was + // incorrect. Account confirmation and password recovery return a response + // indicating a code was sent to a simulated destination. When set to LEGACY, those + // APIs return a UserNotFoundException exception if the user doesn't exist in the + // user pool. Valid values include: + // + // * ENABLED - This prevents user + // existence-related errors. + // + // * LEGACY - This represents the old behavior of + // Cognito where user existence related errors aren't prevented. PreventUserExistenceErrors PreventUserExistenceErrorTypes // The Read-only attributes. ReadAttributes []string // The time limit, in days, after which the refresh token is no longer valid and - // cannot be used. + // can't be used. RefreshTokenValidity int32 // A list of provider names for the identity providers that are supported on this @@ -1564,25 +1574,25 @@ type UserPoolPolicyType struct { // A container for information about the user pool. type UserPoolType struct { - // Use this setting to define which verified available method a user can use to - // recover their password when they call ForgotPassword. It allows you to define a - // preferred method when a user has more than one method available. With this - // setting, SMS does not qualify for a valid password recovery mechanism if the - // user also has SMS MFA enabled. In the absence of this setting, Cognito uses the - // legacy behavior to determine the recovery method where SMS is preferred over - // email. + // The available verified method a user can use to recover their password when they + // call ForgotPassword. You can use this setting to define a preferred method when + // a user has more than one method available. With this setting, SMS doesn't + // qualify for a valid password recovery mechanism if the user also has SMS + // multi-factor authentication (MFA) activated. In the absence of this setting, + // Amazon Cognito uses the legacy behavior to determine the recovery method where + // SMS is preferred through email. AccountRecoverySetting *AccountRecoverySettingType // The configuration for AdminCreateUser requests. AdminCreateUserConfig *AdminCreateUserConfigType - // Specifies the attributes that are aliased in a user pool. + // The attributes that are aliased in a user pool. AliasAttributes []AliasAttributeType // The Amazon Resource Name (ARN) for the user pool. Arn *string - // Specifies the attributes that are auto-verified in a user pool. + // The attributes that are auto-verified in a user pool. AutoVerifiedAttributes []VerifiedAttributeType // The date the user pool was created. @@ -1590,21 +1600,22 @@ type UserPoolType struct { // A custom domain name that you provide to Amazon Cognito. This parameter applies // only if you use a custom domain to host the sign-up and sign-in pages for your - // application. For example: auth.example.com. For more information about adding a - // custom domain to your user pool, see Using Your Own Domain for the Hosted UI + // application. An example of a custom domain name might be auth.example.com. For + // more information about adding a custom domain to your user pool, see Using Your + // Own Domain for the Hosted UI // (https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-user-pools-add-custom-domain.html). CustomDomain *string // The device configuration. DeviceConfiguration *DeviceConfigurationType - // Holds the domain prefix if the user pool has a domain associated with it. + // The domain prefix, if the user pool has a domain associated with it. Domain *string // The email configuration. EmailConfiguration *EmailConfigurationType - // The reason why the email configuration cannot send the messages to your users. + // The reason why the email configuration can't send the messages to your users. EmailConfigurationFailure *string // The contents of the email verification message. @@ -1627,11 +1638,11 @@ type UserPoolType struct { // Can be one of the following values: // - // * OFF - MFA tokens are not required and - // cannot be specified during user registration. + // * OFF - MFA tokens aren't required and + // can't be specified during user registration. // - // * ON - MFA tokens are required - // for all user registrations. You can only specify required when you are initially + // * ON - MFA tokens are required for + // all user registrations. You can only specify required when you're initially // creating a user pool. // // * OPTIONAL - Users have the option when registering to @@ -1653,21 +1664,22 @@ type UserPoolType struct { // The SMS configuration. SmsConfiguration *SmsConfigurationType - // The reason why the SMS configuration cannot send the messages to your users. - // This message might include comma-separated values to describe why your SMS + // The reason why the SMS configuration can't send the messages to your users. This + // message might include comma-separated values to describe why your SMS // configuration can't send messages to user pool end users. // // * - // InvalidSmsRoleAccessPolicyException - The IAM role which Cognito uses to send - // SMS messages is not properly configured. For more information, see - // SmsConfigurationType + // InvalidSmsRoleAccessPolicyException - The Identity and Access Management role + // that Amazon Cognito uses to send SMS messages isn't properly configured. For + // more information, see SmsConfigurationType // (https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_SmsConfigurationType.html). // // * - // SNSSandbox - The account is in SNS Sandbox and messages won’t reach unverified - // end users. This parameter won’t get populated with SNSSandbox if the IAM user - // creating the user pool doesn’t have SNS permissions. To learn how to move your - // account out of the sandbox, see Moving out of the SMS sandbox + // SNSSandbox - The Amazon Web Services account is in SNS Sandbox and messages will + // only reach verified end users. This parameter won’t get populated with + // SNSSandbox if the IAM user creating the user pool doesn’t have SNS permissions. + // To learn how to move your Amazon Web Services account out of the sandbox, see + // Moving out of the SMS sandbox // (https://docs.aws.amazon.com/sns/latest/dg/sns-sms-sandbox-moving-to-production.html). SmsConfigurationFailure *string @@ -1685,14 +1697,14 @@ type UserPoolType struct { // purpose, owner, environment, or other criteria. UserPoolTags map[string]string - // Specifies whether email addresses or phone numbers can be specified as usernames - // when a user signs up. + // Specifies whether a user can use an email address or phone number as a username + // when they sign up. UsernameAttributes []UsernameAttributeType - // You can choose to enable case sensitivity on the username input for the selected - // sign-in option. For example, when this is set to False, users will be able to - // sign in using either "username" or "Username". This configuration is immutable - // once it has been set. For more information, see UsernameConfigurationType + // Case sensitivity of the username input for the selected sign-in option. For + // example, when case sensitivity is set to False, users can sign in using either + // "username" or "Username". This configuration is immutable once it has been set. + // For more information, see UsernameConfigurationType // (https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_UsernameConfigurationType.html). UsernameConfiguration *UsernameConfigurationType @@ -1720,31 +1732,32 @@ type UserType struct { // The last modified date of the user. UserLastModifiedDate *time.Time - // The user status. Can be one of the following: + // The user status. This can be one of the following: // - // * UNCONFIRMED - User has been - // created but not confirmed. + // * UNCONFIRMED - User has + // been created but not confirmed. // // * CONFIRMED - User has been confirmed. // - // * ARCHIVED - - // User is no longer active. + // * + // ARCHIVED - User is no longer active. // - // * COMPROMISED - User is disabled due to a potential - // security threat. + // * COMPROMISED - User is disabled due to a + // potential security threat. // - // * UNKNOWN - User status is not known. + // * UNKNOWN - User status isn't known. // - // * RESET_REQUIRED - User - // is confirmed, but the user must request a code and reset his or her password - // before he or she can sign in. + // * + // RESET_REQUIRED - User is confirmed, but the user must request a code and reset + // their password before they can sign in. // - // * FORCE_CHANGE_PASSWORD - The user is confirmed - // and the user can sign in using a temporary password, but on first sign-in, the - // user must change his or her password to a new value before doing anything else. + // * FORCE_CHANGE_PASSWORD - The user is + // confirmed and the user can sign in using a temporary password, but on first + // sign-in, the user must change their password to a new value before doing + // anything else. UserStatus UserStatusType - // The user name of the user you wish to describe. + // The user name of the user you want to describe. Username *string noSmithyDocumentSerde diff --git a/service/comprehend/api_op_CreateDocumentClassifier.go b/service/comprehend/api_op_CreateDocumentClassifier.go index 1ff5d9dbe0d..3205942adee 100644 --- a/service/comprehend/api_op_CreateDocumentClassifier.go +++ b/service/comprehend/api_op_CreateDocumentClassifier.go @@ -80,6 +80,18 @@ type CreateDocumentClassifierInput struct { // "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab" ModelKmsKeyId *string + // The resource-based policy to attach to your custom document classifier model. + // You can use this policy to allow another AWS account to import your custom + // model. Provide your policy as a JSON body that you enter as a UTF-8 encoded + // string without line breaks. To provide valid JSON, enclose the attribute names + // and values in double quotes. If the JSON body is also enclosed in double quotes, + // then you must escape the double quotes that are inside the policy: + // "{\"attribute\": \"value\", \"attribute\": [\"value\"]}" To avoid escaping + // quotes, you can use single quotes to enclose the policy and double quotes to + // enclose the JSON names and values: '{"attribute": "value", "attribute": + // ["value"]}' + ModelPolicy *string + // Enables the addition of output results configuration parameters for custom // classifier jobs. OutputDataConfig *types.DocumentClassifierOutputDataConfig diff --git a/service/comprehend/api_op_CreateEntityRecognizer.go b/service/comprehend/api_op_CreateEntityRecognizer.go index a058e97271b..b3458527ddc 100644 --- a/service/comprehend/api_op_CreateEntityRecognizer.go +++ b/service/comprehend/api_op_CreateEntityRecognizer.go @@ -74,6 +74,17 @@ type CreateEntityRecognizerInput struct { // "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab" ModelKmsKeyId *string + // The JSON resource-based policy to attach to your custom entity recognizer model. + // You can use this policy to allow another AWS account to import your custom + // model. Provide your JSON as a UTF-8 encoded string without line breaks. To + // provide valid JSON for your policy, enclose the attribute names and values in + // double quotes. If the JSON body is also enclosed in double quotes, then you must + // escape the double quotes that are inside the policy: "{\"attribute\": \"value\", + // \"attribute\": [\"value\"]}" To avoid escaping quotes, you can use single quotes + // to enclose the policy and double quotes to enclose the JSON names and values: + // '{"attribute": "value", "attribute": ["value"]}' + ModelPolicy *string + // Tags to be associated with the entity recognizer being created. A tag is a // key-value pair that adds as a metadata to a resource used by Amazon Comprehend. // For example, a tag with "Sales" as the key might be added to a resource to diff --git a/service/comprehend/api_op_DeleteResourcePolicy.go b/service/comprehend/api_op_DeleteResourcePolicy.go new file mode 100644 index 00000000000..f305704638d --- /dev/null +++ b/service/comprehend/api_op_DeleteResourcePolicy.go @@ -0,0 +1,120 @@ +// Code generated by smithy-go-codegen DO NOT EDIT. + +package comprehend + +import ( + "context" + awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" + "github.com/aws/aws-sdk-go-v2/aws/signer/v4" + "github.com/aws/smithy-go/middleware" + smithyhttp "github.com/aws/smithy-go/transport/http" +) + +// Deletes a resource-based policy that is attached to a custom model. +func (c *Client) DeleteResourcePolicy(ctx context.Context, params *DeleteResourcePolicyInput, optFns ...func(*Options)) (*DeleteResourcePolicyOutput, error) { + if params == nil { + params = &DeleteResourcePolicyInput{} + } + + result, metadata, err := c.invokeOperation(ctx, "DeleteResourcePolicy", params, optFns, c.addOperationDeleteResourcePolicyMiddlewares) + if err != nil { + return nil, err + } + + out := result.(*DeleteResourcePolicyOutput) + out.ResultMetadata = metadata + return out, nil +} + +type DeleteResourcePolicyInput struct { + + // The Amazon Resource Name (ARN) of the custom model version that has the policy + // to delete. + // + // This member is required. + ResourceArn *string + + // The revision ID of the policy to delete. + PolicyRevisionId *string + + noSmithyDocumentSerde +} + +type DeleteResourcePolicyOutput struct { + // Metadata pertaining to the operation's result. + ResultMetadata middleware.Metadata + + noSmithyDocumentSerde +} + +func (c *Client) addOperationDeleteResourcePolicyMiddlewares(stack *middleware.Stack, options Options) (err error) { + err = stack.Serialize.Add(&awsAwsjson11_serializeOpDeleteResourcePolicy{}, middleware.After) + if err != nil { + return err + } + err = stack.Deserialize.Add(&awsAwsjson11_deserializeOpDeleteResourcePolicy{}, middleware.After) + if err != nil { + return err + } + if err = addSetLoggerMiddleware(stack, options); err != nil { + return err + } + if err = awsmiddleware.AddClientRequestIDMiddleware(stack); err != nil { + return err + } + if err = smithyhttp.AddComputeContentLengthMiddleware(stack); err != nil { + return err + } + if err = addResolveEndpointMiddleware(stack, options); err != nil { + return err + } + if err = v4.AddComputePayloadSHA256Middleware(stack); err != nil { + return err + } + if err = addRetryMiddlewares(stack, options); err != nil { + return err + } + if err = addHTTPSignerV4Middleware(stack, options); err != nil { + return err + } + if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil { + return err + } + if err = awsmiddleware.AddRecordResponseTiming(stack); err != nil { + return err + } + if err = addClientUserAgent(stack); err != nil { + return err + } + if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil { + return err + } + if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { + return err + } + if err = addOpDeleteResourcePolicyValidationMiddleware(stack); err != nil { + return err + } + if err = stack.Initialize.Add(newServiceMetadataMiddleware_opDeleteResourcePolicy(options.Region), middleware.Before); err != nil { + return err + } + if err = addRequestIDRetrieverMiddleware(stack); err != nil { + return err + } + if err = addResponseErrorMiddleware(stack); err != nil { + return err + } + if err = addRequestResponseLogging(stack, options); err != nil { + return err + } + return nil +} + +func newServiceMetadataMiddleware_opDeleteResourcePolicy(region string) *awsmiddleware.RegisterServiceMetadata { + return &awsmiddleware.RegisterServiceMetadata{ + Region: region, + ServiceID: ServiceID, + SigningName: "comprehend", + OperationName: "DeleteResourcePolicy", + } +} diff --git a/service/comprehend/api_op_DescribeResourcePolicy.go b/service/comprehend/api_op_DescribeResourcePolicy.go new file mode 100644 index 00000000000..80e1ea8b8a5 --- /dev/null +++ b/service/comprehend/api_op_DescribeResourcePolicy.go @@ -0,0 +1,132 @@ +// Code generated by smithy-go-codegen DO NOT EDIT. + +package comprehend + +import ( + "context" + awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" + "github.com/aws/aws-sdk-go-v2/aws/signer/v4" + "github.com/aws/smithy-go/middleware" + smithyhttp "github.com/aws/smithy-go/transport/http" + "time" +) + +// Gets the details of a resource-based policy that is attached to a custom model, +// including the JSON body of the policy. +func (c *Client) DescribeResourcePolicy(ctx context.Context, params *DescribeResourcePolicyInput, optFns ...func(*Options)) (*DescribeResourcePolicyOutput, error) { + if params == nil { + params = &DescribeResourcePolicyInput{} + } + + result, metadata, err := c.invokeOperation(ctx, "DescribeResourcePolicy", params, optFns, c.addOperationDescribeResourcePolicyMiddlewares) + if err != nil { + return nil, err + } + + out := result.(*DescribeResourcePolicyOutput) + out.ResultMetadata = metadata + return out, nil +} + +type DescribeResourcePolicyInput struct { + + // The Amazon Resource Name (ARN) of the policy to describe. + // + // This member is required. + ResourceArn *string + + noSmithyDocumentSerde +} + +type DescribeResourcePolicyOutput struct { + + // The time at which the policy was created. + CreationTime *time.Time + + // The time at which the policy was last modified. + LastModifiedTime *time.Time + + // The revision ID of the policy. Each time you modify a policy, Amazon Comprehend + // assigns a new revision ID, and it deletes the prior version of the policy. + PolicyRevisionId *string + + // The JSON body of the resource-based policy. + ResourcePolicy *string + + // Metadata pertaining to the operation's result. + ResultMetadata middleware.Metadata + + noSmithyDocumentSerde +} + +func (c *Client) addOperationDescribeResourcePolicyMiddlewares(stack *middleware.Stack, options Options) (err error) { + err = stack.Serialize.Add(&awsAwsjson11_serializeOpDescribeResourcePolicy{}, middleware.After) + if err != nil { + return err + } + err = stack.Deserialize.Add(&awsAwsjson11_deserializeOpDescribeResourcePolicy{}, middleware.After) + if err != nil { + return err + } + if err = addSetLoggerMiddleware(stack, options); err != nil { + return err + } + if err = awsmiddleware.AddClientRequestIDMiddleware(stack); err != nil { + return err + } + if err = smithyhttp.AddComputeContentLengthMiddleware(stack); err != nil { + return err + } + if err = addResolveEndpointMiddleware(stack, options); err != nil { + return err + } + if err = v4.AddComputePayloadSHA256Middleware(stack); err != nil { + return err + } + if err = addRetryMiddlewares(stack, options); err != nil { + return err + } + if err = addHTTPSignerV4Middleware(stack, options); err != nil { + return err + } + if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil { + return err + } + if err = awsmiddleware.AddRecordResponseTiming(stack); err != nil { + return err + } + if err = addClientUserAgent(stack); err != nil { + return err + } + if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil { + return err + } + if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { + return err + } + if err = addOpDescribeResourcePolicyValidationMiddleware(stack); err != nil { + return err + } + if err = stack.Initialize.Add(newServiceMetadataMiddleware_opDescribeResourcePolicy(options.Region), middleware.Before); err != nil { + return err + } + if err = addRequestIDRetrieverMiddleware(stack); err != nil { + return err + } + if err = addResponseErrorMiddleware(stack); err != nil { + return err + } + if err = addRequestResponseLogging(stack, options); err != nil { + return err + } + return nil +} + +func newServiceMetadataMiddleware_opDescribeResourcePolicy(region string) *awsmiddleware.RegisterServiceMetadata { + return &awsmiddleware.RegisterServiceMetadata{ + Region: region, + ServiceID: ServiceID, + SigningName: "comprehend", + OperationName: "DescribeResourcePolicy", + } +} diff --git a/service/comprehend/api_op_ImportModel.go b/service/comprehend/api_op_ImportModel.go new file mode 100644 index 00000000000..954dbf9e91a --- /dev/null +++ b/service/comprehend/api_op_ImportModel.go @@ -0,0 +1,158 @@ +// Code generated by smithy-go-codegen DO NOT EDIT. + +package comprehend + +import ( + "context" + awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" + "github.com/aws/aws-sdk-go-v2/aws/signer/v4" + "github.com/aws/aws-sdk-go-v2/service/comprehend/types" + "github.com/aws/smithy-go/middleware" + smithyhttp "github.com/aws/smithy-go/transport/http" +) + +// Creates a new custom model that replicates a source custom model that you +// import. The source model can be in your AWS account or another one. If the +// source model is in another AWS account, then it must have a resource-based +// policy that authorizes you to import it. The source model must be in the same +// AWS region that you're using when you import. You can't import a model that's in +// a different region. +func (c *Client) ImportModel(ctx context.Context, params *ImportModelInput, optFns ...func(*Options)) (*ImportModelOutput, error) { + if params == nil { + params = &ImportModelInput{} + } + + result, metadata, err := c.invokeOperation(ctx, "ImportModel", params, optFns, c.addOperationImportModelMiddlewares) + if err != nil { + return nil, err + } + + out := result.(*ImportModelOutput) + out.ResultMetadata = metadata + return out, nil +} + +type ImportModelInput struct { + + // The Amazon Resource Name (ARN) of the custom model to import. + // + // This member is required. + SourceModelArn *string + + // The Amazon Resource Name (ARN) of the AWS Identity and Management (IAM) role + // that allows Amazon Comprehend to use Amazon Key Management Service (KMS) to + // encrypt or decrypt the custom model. + DataAccessRoleArn *string + + // ID for the AWS Key Management Service (KMS) key that Amazon Comprehend uses to + // encrypt trained custom models. The ModelKmsKeyId can be either of the following + // formats: + // + // * KMS Key ID: "1234abcd-12ab-34cd-56ef-1234567890ab" + // + // * Amazon + // Resource Name (ARN) of a KMS Key: + // "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab" + ModelKmsKeyId *string + + // The name to assign to the custom model that is created in Amazon Comprehend by + // this import. + ModelName *string + + // Tags to be associated with the custom model that is created by this import. A + // tag is a key-value pair that adds as a metadata to a resource used by Amazon + // Comprehend. For example, a tag with "Sales" as the key might be added to a + // resource to indicate its use by the sales department. + Tags []types.Tag + + // The version name given to the custom model that is created by this import. + // Version names can have a maximum of 256 characters. Alphanumeric characters, + // hyphens (-) and underscores (_) are allowed. The version name must be unique + // among all models with the same classifier name in the account/AWS Region. + VersionName *string + + noSmithyDocumentSerde +} + +type ImportModelOutput struct { + + // The Amazon Resource Name (ARN) of the custom model being imported. + ModelArn *string + + // Metadata pertaining to the operation's result. + ResultMetadata middleware.Metadata + + noSmithyDocumentSerde +} + +func (c *Client) addOperationImportModelMiddlewares(stack *middleware.Stack, options Options) (err error) { + err = stack.Serialize.Add(&awsAwsjson11_serializeOpImportModel{}, middleware.After) + if err != nil { + return err + } + err = stack.Deserialize.Add(&awsAwsjson11_deserializeOpImportModel{}, middleware.After) + if err != nil { + return err + } + if err = addSetLoggerMiddleware(stack, options); err != nil { + return err + } + if err = awsmiddleware.AddClientRequestIDMiddleware(stack); err != nil { + return err + } + if err = smithyhttp.AddComputeContentLengthMiddleware(stack); err != nil { + return err + } + if err = addResolveEndpointMiddleware(stack, options); err != nil { + return err + } + if err = v4.AddComputePayloadSHA256Middleware(stack); err != nil { + return err + } + if err = addRetryMiddlewares(stack, options); err != nil { + return err + } + if err = addHTTPSignerV4Middleware(stack, options); err != nil { + return err + } + if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil { + return err + } + if err = awsmiddleware.AddRecordResponseTiming(stack); err != nil { + return err + } + if err = addClientUserAgent(stack); err != nil { + return err + } + if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil { + return err + } + if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { + return err + } + if err = addOpImportModelValidationMiddleware(stack); err != nil { + return err + } + if err = stack.Initialize.Add(newServiceMetadataMiddleware_opImportModel(options.Region), middleware.Before); err != nil { + return err + } + if err = addRequestIDRetrieverMiddleware(stack); err != nil { + return err + } + if err = addResponseErrorMiddleware(stack); err != nil { + return err + } + if err = addRequestResponseLogging(stack, options); err != nil { + return err + } + return nil +} + +func newServiceMetadataMiddleware_opImportModel(region string) *awsmiddleware.RegisterServiceMetadata { + return &awsmiddleware.RegisterServiceMetadata{ + Region: region, + ServiceID: ServiceID, + SigningName: "comprehend", + OperationName: "ImportModel", + } +} diff --git a/service/comprehend/api_op_PutResourcePolicy.go b/service/comprehend/api_op_PutResourcePolicy.go new file mode 100644 index 00000000000..b4c44673b3f --- /dev/null +++ b/service/comprehend/api_op_PutResourcePolicy.go @@ -0,0 +1,140 @@ +// Code generated by smithy-go-codegen DO NOT EDIT. + +package comprehend + +import ( + "context" + awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" + "github.com/aws/aws-sdk-go-v2/aws/signer/v4" + "github.com/aws/smithy-go/middleware" + smithyhttp "github.com/aws/smithy-go/transport/http" +) + +// Attaches a resource-based policy to a custom model. You can use this policy to +// authorize an entity in another AWS account to import the custom model, which +// replicates it in Amazon Comprehend in their account. +func (c *Client) PutResourcePolicy(ctx context.Context, params *PutResourcePolicyInput, optFns ...func(*Options)) (*PutResourcePolicyOutput, error) { + if params == nil { + params = &PutResourcePolicyInput{} + } + + result, metadata, err := c.invokeOperation(ctx, "PutResourcePolicy", params, optFns, c.addOperationPutResourcePolicyMiddlewares) + if err != nil { + return nil, err + } + + out := result.(*PutResourcePolicyOutput) + out.ResultMetadata = metadata + return out, nil +} + +type PutResourcePolicyInput struct { + + // The Amazon Resource Name (ARN) of the custom model to attach the policy to. + // + // This member is required. + ResourceArn *string + + // The JSON resource-based policy to attach to your custom model. Provide your JSON + // as a UTF-8 encoded string without line breaks. To provide valid JSON for your + // policy, enclose the attribute names and values in double quotes. If the JSON + // body is also enclosed in double quotes, then you must escape the double quotes + // that are inside the policy: "{\"attribute\": \"value\", \"attribute\": + // [\"value\"]}" To avoid escaping quotes, you can use single quotes to enclose the + // policy and double quotes to enclose the JSON names and values: '{"attribute": + // "value", "attribute": ["value"]}' + // + // This member is required. + ResourcePolicy *string + + // The revision ID that Amazon Comprehend assigned to the policy that you are + // updating. If you are creating a new policy that has no prior version, don't use + // this parameter. Amazon Comprehend creates the revision ID for you. + PolicyRevisionId *string + + noSmithyDocumentSerde +} + +type PutResourcePolicyOutput struct { + + // The revision ID of the policy. Each time you modify a policy, Amazon Comprehend + // assigns a new revision ID, and it deletes the prior version of the policy. + PolicyRevisionId *string + + // Metadata pertaining to the operation's result. + ResultMetadata middleware.Metadata + + noSmithyDocumentSerde +} + +func (c *Client) addOperationPutResourcePolicyMiddlewares(stack *middleware.Stack, options Options) (err error) { + err = stack.Serialize.Add(&awsAwsjson11_serializeOpPutResourcePolicy{}, middleware.After) + if err != nil { + return err + } + err = stack.Deserialize.Add(&awsAwsjson11_deserializeOpPutResourcePolicy{}, middleware.After) + if err != nil { + return err + } + if err = addSetLoggerMiddleware(stack, options); err != nil { + return err + } + if err = awsmiddleware.AddClientRequestIDMiddleware(stack); err != nil { + return err + } + if err = smithyhttp.AddComputeContentLengthMiddleware(stack); err != nil { + return err + } + if err = addResolveEndpointMiddleware(stack, options); err != nil { + return err + } + if err = v4.AddComputePayloadSHA256Middleware(stack); err != nil { + return err + } + if err = addRetryMiddlewares(stack, options); err != nil { + return err + } + if err = addHTTPSignerV4Middleware(stack, options); err != nil { + return err + } + if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil { + return err + } + if err = awsmiddleware.AddRecordResponseTiming(stack); err != nil { + return err + } + if err = addClientUserAgent(stack); err != nil { + return err + } + if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil { + return err + } + if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { + return err + } + if err = addOpPutResourcePolicyValidationMiddleware(stack); err != nil { + return err + } + if err = stack.Initialize.Add(newServiceMetadataMiddleware_opPutResourcePolicy(options.Region), middleware.Before); err != nil { + return err + } + if err = addRequestIDRetrieverMiddleware(stack); err != nil { + return err + } + if err = addResponseErrorMiddleware(stack); err != nil { + return err + } + if err = addRequestResponseLogging(stack, options); err != nil { + return err + } + return nil +} + +func newServiceMetadataMiddleware_opPutResourcePolicy(region string) *awsmiddleware.RegisterServiceMetadata { + return &awsmiddleware.RegisterServiceMetadata{ + Region: region, + ServiceID: ServiceID, + SigningName: "comprehend", + OperationName: "PutResourcePolicy", + } +} diff --git a/service/comprehend/deserializers.go b/service/comprehend/deserializers.go index 08161cba8d3..30d7c926357 100644 --- a/service/comprehend/deserializers.go +++ b/service/comprehend/deserializers.go @@ -1643,6 +1643,123 @@ func awsAwsjson11_deserializeOpErrorDeleteEntityRecognizer(response *smithyhttp. } } +type awsAwsjson11_deserializeOpDeleteResourcePolicy struct { +} + +func (*awsAwsjson11_deserializeOpDeleteResourcePolicy) ID() string { + return "OperationDeserializer" +} + +func (m *awsAwsjson11_deserializeOpDeleteResourcePolicy) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( + out middleware.DeserializeOutput, metadata middleware.Metadata, err error, +) { + out, metadata, err = next.HandleDeserialize(ctx, in) + if err != nil { + return out, metadata, err + } + + response, ok := out.RawResponse.(*smithyhttp.Response) + if !ok { + return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} + } + + if response.StatusCode < 200 || response.StatusCode >= 300 { + return out, metadata, awsAwsjson11_deserializeOpErrorDeleteResourcePolicy(response, &metadata) + } + output := &DeleteResourcePolicyOutput{} + out.Result = output + + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + + body := io.TeeReader(response.Body, ringBuffer) + decoder := json.NewDecoder(body) + decoder.UseNumber() + var shape interface{} + if err := decoder.Decode(&shape); err != nil && err != io.EOF { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return out, metadata, err + } + + err = awsAwsjson11_deserializeOpDocumentDeleteResourcePolicyOutput(&output, shape) + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return out, metadata, err + } + + return out, metadata, err +} + +func awsAwsjson11_deserializeOpErrorDeleteResourcePolicy(response *smithyhttp.Response, metadata *middleware.Metadata) error { + var errorBuffer bytes.Buffer + if _, err := io.Copy(&errorBuffer, response.Body); err != nil { + return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} + } + errorBody := bytes.NewReader(errorBuffer.Bytes()) + + errorCode := "UnknownError" + errorMessage := errorCode + + code := response.Header.Get("X-Amzn-ErrorType") + if len(code) != 0 { + errorCode = restjson.SanitizeErrorCode(code) + } + + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + + body := io.TeeReader(errorBody, ringBuffer) + decoder := json.NewDecoder(body) + decoder.UseNumber() + code, message, err := restjson.GetErrorInfo(decoder) + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return err + } + + errorBody.Seek(0, io.SeekStart) + if len(code) != 0 { + errorCode = restjson.SanitizeErrorCode(code) + } + if len(message) != 0 { + errorMessage = message + } + + switch { + case strings.EqualFold("InternalServerException", errorCode): + return awsAwsjson11_deserializeErrorInternalServerException(response, errorBody) + + case strings.EqualFold("InvalidRequestException", errorCode): + return awsAwsjson11_deserializeErrorInvalidRequestException(response, errorBody) + + case strings.EqualFold("ResourceNotFoundException", errorCode): + return awsAwsjson11_deserializeErrorResourceNotFoundException(response, errorBody) + + default: + genericError := &smithy.GenericAPIError{ + Code: errorCode, + Message: errorMessage, + } + return genericError + + } +} + type awsAwsjson11_deserializeOpDescribeDocumentClassificationJob struct { } @@ -2723,6 +2840,123 @@ func awsAwsjson11_deserializeOpErrorDescribePiiEntitiesDetectionJob(response *sm } } +type awsAwsjson11_deserializeOpDescribeResourcePolicy struct { +} + +func (*awsAwsjson11_deserializeOpDescribeResourcePolicy) ID() string { + return "OperationDeserializer" +} + +func (m *awsAwsjson11_deserializeOpDescribeResourcePolicy) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( + out middleware.DeserializeOutput, metadata middleware.Metadata, err error, +) { + out, metadata, err = next.HandleDeserialize(ctx, in) + if err != nil { + return out, metadata, err + } + + response, ok := out.RawResponse.(*smithyhttp.Response) + if !ok { + return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} + } + + if response.StatusCode < 200 || response.StatusCode >= 300 { + return out, metadata, awsAwsjson11_deserializeOpErrorDescribeResourcePolicy(response, &metadata) + } + output := &DescribeResourcePolicyOutput{} + out.Result = output + + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + + body := io.TeeReader(response.Body, ringBuffer) + decoder := json.NewDecoder(body) + decoder.UseNumber() + var shape interface{} + if err := decoder.Decode(&shape); err != nil && err != io.EOF { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return out, metadata, err + } + + err = awsAwsjson11_deserializeOpDocumentDescribeResourcePolicyOutput(&output, shape) + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return out, metadata, err + } + + return out, metadata, err +} + +func awsAwsjson11_deserializeOpErrorDescribeResourcePolicy(response *smithyhttp.Response, metadata *middleware.Metadata) error { + var errorBuffer bytes.Buffer + if _, err := io.Copy(&errorBuffer, response.Body); err != nil { + return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} + } + errorBody := bytes.NewReader(errorBuffer.Bytes()) + + errorCode := "UnknownError" + errorMessage := errorCode + + code := response.Header.Get("X-Amzn-ErrorType") + if len(code) != 0 { + errorCode = restjson.SanitizeErrorCode(code) + } + + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + + body := io.TeeReader(errorBody, ringBuffer) + decoder := json.NewDecoder(body) + decoder.UseNumber() + code, message, err := restjson.GetErrorInfo(decoder) + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return err + } + + errorBody.Seek(0, io.SeekStart) + if len(code) != 0 { + errorCode = restjson.SanitizeErrorCode(code) + } + if len(message) != 0 { + errorMessage = message + } + + switch { + case strings.EqualFold("InternalServerException", errorCode): + return awsAwsjson11_deserializeErrorInternalServerException(response, errorBody) + + case strings.EqualFold("InvalidRequestException", errorCode): + return awsAwsjson11_deserializeErrorInvalidRequestException(response, errorBody) + + case strings.EqualFold("ResourceNotFoundException", errorCode): + return awsAwsjson11_deserializeErrorResourceNotFoundException(response, errorBody) + + default: + genericError := &smithy.GenericAPIError{ + Code: errorCode, + Message: errorMessage, + } + return genericError + + } +} + type awsAwsjson11_deserializeOpDescribeSentimentDetectionJob struct { } @@ -3683,6 +3917,141 @@ func awsAwsjson11_deserializeOpErrorDetectSyntax(response *smithyhttp.Response, } } +type awsAwsjson11_deserializeOpImportModel struct { +} + +func (*awsAwsjson11_deserializeOpImportModel) ID() string { + return "OperationDeserializer" +} + +func (m *awsAwsjson11_deserializeOpImportModel) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( + out middleware.DeserializeOutput, metadata middleware.Metadata, err error, +) { + out, metadata, err = next.HandleDeserialize(ctx, in) + if err != nil { + return out, metadata, err + } + + response, ok := out.RawResponse.(*smithyhttp.Response) + if !ok { + return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} + } + + if response.StatusCode < 200 || response.StatusCode >= 300 { + return out, metadata, awsAwsjson11_deserializeOpErrorImportModel(response, &metadata) + } + output := &ImportModelOutput{} + out.Result = output + + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + + body := io.TeeReader(response.Body, ringBuffer) + decoder := json.NewDecoder(body) + decoder.UseNumber() + var shape interface{} + if err := decoder.Decode(&shape); err != nil && err != io.EOF { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return out, metadata, err + } + + err = awsAwsjson11_deserializeOpDocumentImportModelOutput(&output, shape) + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return out, metadata, err + } + + return out, metadata, err +} + +func awsAwsjson11_deserializeOpErrorImportModel(response *smithyhttp.Response, metadata *middleware.Metadata) error { + var errorBuffer bytes.Buffer + if _, err := io.Copy(&errorBuffer, response.Body); err != nil { + return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} + } + errorBody := bytes.NewReader(errorBuffer.Bytes()) + + errorCode := "UnknownError" + errorMessage := errorCode + + code := response.Header.Get("X-Amzn-ErrorType") + if len(code) != 0 { + errorCode = restjson.SanitizeErrorCode(code) + } + + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + + body := io.TeeReader(errorBody, ringBuffer) + decoder := json.NewDecoder(body) + decoder.UseNumber() + code, message, err := restjson.GetErrorInfo(decoder) + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return err + } + + errorBody.Seek(0, io.SeekStart) + if len(code) != 0 { + errorCode = restjson.SanitizeErrorCode(code) + } + if len(message) != 0 { + errorMessage = message + } + + switch { + case strings.EqualFold("InternalServerException", errorCode): + return awsAwsjson11_deserializeErrorInternalServerException(response, errorBody) + + case strings.EqualFold("InvalidRequestException", errorCode): + return awsAwsjson11_deserializeErrorInvalidRequestException(response, errorBody) + + case strings.EqualFold("KmsKeyValidationException", errorCode): + return awsAwsjson11_deserializeErrorKmsKeyValidationException(response, errorBody) + + case strings.EqualFold("ResourceInUseException", errorCode): + return awsAwsjson11_deserializeErrorResourceInUseException(response, errorBody) + + case strings.EqualFold("ResourceLimitExceededException", errorCode): + return awsAwsjson11_deserializeErrorResourceLimitExceededException(response, errorBody) + + case strings.EqualFold("ResourceNotFoundException", errorCode): + return awsAwsjson11_deserializeErrorResourceNotFoundException(response, errorBody) + + case strings.EqualFold("ResourceUnavailableException", errorCode): + return awsAwsjson11_deserializeErrorResourceUnavailableException(response, errorBody) + + case strings.EqualFold("TooManyRequestsException", errorCode): + return awsAwsjson11_deserializeErrorTooManyRequestsException(response, errorBody) + + case strings.EqualFold("TooManyTagsException", errorCode): + return awsAwsjson11_deserializeErrorTooManyTagsException(response, errorBody) + + default: + genericError := &smithy.GenericAPIError{ + Code: errorCode, + Message: errorMessage, + } + return genericError + + } +} + type awsAwsjson11_deserializeOpListDocumentClassificationJobs struct { } @@ -4874,14 +5243,134 @@ func awsAwsjson11_deserializeOpErrorListKeyPhrasesDetectionJobs(response *smithy } } -type awsAwsjson11_deserializeOpListPiiEntitiesDetectionJobs struct { +type awsAwsjson11_deserializeOpListPiiEntitiesDetectionJobs struct { +} + +func (*awsAwsjson11_deserializeOpListPiiEntitiesDetectionJobs) ID() string { + return "OperationDeserializer" +} + +func (m *awsAwsjson11_deserializeOpListPiiEntitiesDetectionJobs) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( + out middleware.DeserializeOutput, metadata middleware.Metadata, err error, +) { + out, metadata, err = next.HandleDeserialize(ctx, in) + if err != nil { + return out, metadata, err + } + + response, ok := out.RawResponse.(*smithyhttp.Response) + if !ok { + return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} + } + + if response.StatusCode < 200 || response.StatusCode >= 300 { + return out, metadata, awsAwsjson11_deserializeOpErrorListPiiEntitiesDetectionJobs(response, &metadata) + } + output := &ListPiiEntitiesDetectionJobsOutput{} + out.Result = output + + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + + body := io.TeeReader(response.Body, ringBuffer) + decoder := json.NewDecoder(body) + decoder.UseNumber() + var shape interface{} + if err := decoder.Decode(&shape); err != nil && err != io.EOF { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return out, metadata, err + } + + err = awsAwsjson11_deserializeOpDocumentListPiiEntitiesDetectionJobsOutput(&output, shape) + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return out, metadata, err + } + + return out, metadata, err +} + +func awsAwsjson11_deserializeOpErrorListPiiEntitiesDetectionJobs(response *smithyhttp.Response, metadata *middleware.Metadata) error { + var errorBuffer bytes.Buffer + if _, err := io.Copy(&errorBuffer, response.Body); err != nil { + return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} + } + errorBody := bytes.NewReader(errorBuffer.Bytes()) + + errorCode := "UnknownError" + errorMessage := errorCode + + code := response.Header.Get("X-Amzn-ErrorType") + if len(code) != 0 { + errorCode = restjson.SanitizeErrorCode(code) + } + + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + + body := io.TeeReader(errorBody, ringBuffer) + decoder := json.NewDecoder(body) + decoder.UseNumber() + code, message, err := restjson.GetErrorInfo(decoder) + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return err + } + + errorBody.Seek(0, io.SeekStart) + if len(code) != 0 { + errorCode = restjson.SanitizeErrorCode(code) + } + if len(message) != 0 { + errorMessage = message + } + + switch { + case strings.EqualFold("InternalServerException", errorCode): + return awsAwsjson11_deserializeErrorInternalServerException(response, errorBody) + + case strings.EqualFold("InvalidFilterException", errorCode): + return awsAwsjson11_deserializeErrorInvalidFilterException(response, errorBody) + + case strings.EqualFold("InvalidRequestException", errorCode): + return awsAwsjson11_deserializeErrorInvalidRequestException(response, errorBody) + + case strings.EqualFold("TooManyRequestsException", errorCode): + return awsAwsjson11_deserializeErrorTooManyRequestsException(response, errorBody) + + default: + genericError := &smithy.GenericAPIError{ + Code: errorCode, + Message: errorMessage, + } + return genericError + + } +} + +type awsAwsjson11_deserializeOpListSentimentDetectionJobs struct { } -func (*awsAwsjson11_deserializeOpListPiiEntitiesDetectionJobs) ID() string { +func (*awsAwsjson11_deserializeOpListSentimentDetectionJobs) ID() string { return "OperationDeserializer" } -func (m *awsAwsjson11_deserializeOpListPiiEntitiesDetectionJobs) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsAwsjson11_deserializeOpListSentimentDetectionJobs) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -4895,9 +5384,9 @@ func (m *awsAwsjson11_deserializeOpListPiiEntitiesDetectionJobs) HandleDeseriali } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson11_deserializeOpErrorListPiiEntitiesDetectionJobs(response, &metadata) + return out, metadata, awsAwsjson11_deserializeOpErrorListSentimentDetectionJobs(response, &metadata) } - output := &ListPiiEntitiesDetectionJobsOutput{} + output := &ListSentimentDetectionJobsOutput{} out.Result = output var buff [1024]byte @@ -4917,7 +5406,7 @@ func (m *awsAwsjson11_deserializeOpListPiiEntitiesDetectionJobs) HandleDeseriali return out, metadata, err } - err = awsAwsjson11_deserializeOpDocumentListPiiEntitiesDetectionJobsOutput(&output, shape) + err = awsAwsjson11_deserializeOpDocumentListSentimentDetectionJobsOutput(&output, shape) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -4931,7 +5420,7 @@ func (m *awsAwsjson11_deserializeOpListPiiEntitiesDetectionJobs) HandleDeseriali return out, metadata, err } -func awsAwsjson11_deserializeOpErrorListPiiEntitiesDetectionJobs(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsAwsjson11_deserializeOpErrorListSentimentDetectionJobs(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -4994,14 +5483,14 @@ func awsAwsjson11_deserializeOpErrorListPiiEntitiesDetectionJobs(response *smith } } -type awsAwsjson11_deserializeOpListSentimentDetectionJobs struct { +type awsAwsjson11_deserializeOpListTagsForResource struct { } -func (*awsAwsjson11_deserializeOpListSentimentDetectionJobs) ID() string { +func (*awsAwsjson11_deserializeOpListTagsForResource) ID() string { return "OperationDeserializer" } -func (m *awsAwsjson11_deserializeOpListSentimentDetectionJobs) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsAwsjson11_deserializeOpListTagsForResource) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -5015,9 +5504,9 @@ func (m *awsAwsjson11_deserializeOpListSentimentDetectionJobs) HandleDeserialize } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson11_deserializeOpErrorListSentimentDetectionJobs(response, &metadata) + return out, metadata, awsAwsjson11_deserializeOpErrorListTagsForResource(response, &metadata) } - output := &ListSentimentDetectionJobsOutput{} + output := &ListTagsForResourceOutput{} out.Result = output var buff [1024]byte @@ -5037,7 +5526,7 @@ func (m *awsAwsjson11_deserializeOpListSentimentDetectionJobs) HandleDeserialize return out, metadata, err } - err = awsAwsjson11_deserializeOpDocumentListSentimentDetectionJobsOutput(&output, shape) + err = awsAwsjson11_deserializeOpDocumentListTagsForResourceOutput(&output, shape) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -5051,7 +5540,7 @@ func (m *awsAwsjson11_deserializeOpListSentimentDetectionJobs) HandleDeserialize return out, metadata, err } -func awsAwsjson11_deserializeOpErrorListSentimentDetectionJobs(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsAwsjson11_deserializeOpErrorListTagsForResource(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -5095,14 +5584,11 @@ func awsAwsjson11_deserializeOpErrorListSentimentDetectionJobs(response *smithyh case strings.EqualFold("InternalServerException", errorCode): return awsAwsjson11_deserializeErrorInternalServerException(response, errorBody) - case strings.EqualFold("InvalidFilterException", errorCode): - return awsAwsjson11_deserializeErrorInvalidFilterException(response, errorBody) - case strings.EqualFold("InvalidRequestException", errorCode): return awsAwsjson11_deserializeErrorInvalidRequestException(response, errorBody) - case strings.EqualFold("TooManyRequestsException", errorCode): - return awsAwsjson11_deserializeErrorTooManyRequestsException(response, errorBody) + case strings.EqualFold("ResourceNotFoundException", errorCode): + return awsAwsjson11_deserializeErrorResourceNotFoundException(response, errorBody) default: genericError := &smithy.GenericAPIError{ @@ -5114,14 +5600,14 @@ func awsAwsjson11_deserializeOpErrorListSentimentDetectionJobs(response *smithyh } } -type awsAwsjson11_deserializeOpListTagsForResource struct { +type awsAwsjson11_deserializeOpListTopicsDetectionJobs struct { } -func (*awsAwsjson11_deserializeOpListTagsForResource) ID() string { +func (*awsAwsjson11_deserializeOpListTopicsDetectionJobs) ID() string { return "OperationDeserializer" } -func (m *awsAwsjson11_deserializeOpListTagsForResource) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsAwsjson11_deserializeOpListTopicsDetectionJobs) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -5135,9 +5621,9 @@ func (m *awsAwsjson11_deserializeOpListTagsForResource) HandleDeserialize(ctx co } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson11_deserializeOpErrorListTagsForResource(response, &metadata) + return out, metadata, awsAwsjson11_deserializeOpErrorListTopicsDetectionJobs(response, &metadata) } - output := &ListTagsForResourceOutput{} + output := &ListTopicsDetectionJobsOutput{} out.Result = output var buff [1024]byte @@ -5157,7 +5643,7 @@ func (m *awsAwsjson11_deserializeOpListTagsForResource) HandleDeserialize(ctx co return out, metadata, err } - err = awsAwsjson11_deserializeOpDocumentListTagsForResourceOutput(&output, shape) + err = awsAwsjson11_deserializeOpDocumentListTopicsDetectionJobsOutput(&output, shape) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -5171,7 +5657,7 @@ func (m *awsAwsjson11_deserializeOpListTagsForResource) HandleDeserialize(ctx co return out, metadata, err } -func awsAwsjson11_deserializeOpErrorListTagsForResource(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsAwsjson11_deserializeOpErrorListTopicsDetectionJobs(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -5215,11 +5701,14 @@ func awsAwsjson11_deserializeOpErrorListTagsForResource(response *smithyhttp.Res case strings.EqualFold("InternalServerException", errorCode): return awsAwsjson11_deserializeErrorInternalServerException(response, errorBody) + case strings.EqualFold("InvalidFilterException", errorCode): + return awsAwsjson11_deserializeErrorInvalidFilterException(response, errorBody) + case strings.EqualFold("InvalidRequestException", errorCode): return awsAwsjson11_deserializeErrorInvalidRequestException(response, errorBody) - case strings.EqualFold("ResourceNotFoundException", errorCode): - return awsAwsjson11_deserializeErrorResourceNotFoundException(response, errorBody) + case strings.EqualFold("TooManyRequestsException", errorCode): + return awsAwsjson11_deserializeErrorTooManyRequestsException(response, errorBody) default: genericError := &smithy.GenericAPIError{ @@ -5231,14 +5720,14 @@ func awsAwsjson11_deserializeOpErrorListTagsForResource(response *smithyhttp.Res } } -type awsAwsjson11_deserializeOpListTopicsDetectionJobs struct { +type awsAwsjson11_deserializeOpPutResourcePolicy struct { } -func (*awsAwsjson11_deserializeOpListTopicsDetectionJobs) ID() string { +func (*awsAwsjson11_deserializeOpPutResourcePolicy) ID() string { return "OperationDeserializer" } -func (m *awsAwsjson11_deserializeOpListTopicsDetectionJobs) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsAwsjson11_deserializeOpPutResourcePolicy) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -5252,9 +5741,9 @@ func (m *awsAwsjson11_deserializeOpListTopicsDetectionJobs) HandleDeserialize(ct } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsAwsjson11_deserializeOpErrorListTopicsDetectionJobs(response, &metadata) + return out, metadata, awsAwsjson11_deserializeOpErrorPutResourcePolicy(response, &metadata) } - output := &ListTopicsDetectionJobsOutput{} + output := &PutResourcePolicyOutput{} out.Result = output var buff [1024]byte @@ -5274,7 +5763,7 @@ func (m *awsAwsjson11_deserializeOpListTopicsDetectionJobs) HandleDeserialize(ct return out, metadata, err } - err = awsAwsjson11_deserializeOpDocumentListTopicsDetectionJobsOutput(&output, shape) + err = awsAwsjson11_deserializeOpDocumentPutResourcePolicyOutput(&output, shape) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -5288,7 +5777,7 @@ func (m *awsAwsjson11_deserializeOpListTopicsDetectionJobs) HandleDeserialize(ct return out, metadata, err } -func awsAwsjson11_deserializeOpErrorListTopicsDetectionJobs(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsAwsjson11_deserializeOpErrorPutResourcePolicy(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -5332,14 +5821,11 @@ func awsAwsjson11_deserializeOpErrorListTopicsDetectionJobs(response *smithyhttp case strings.EqualFold("InternalServerException", errorCode): return awsAwsjson11_deserializeErrorInternalServerException(response, errorBody) - case strings.EqualFold("InvalidFilterException", errorCode): - return awsAwsjson11_deserializeErrorInvalidFilterException(response, errorBody) - case strings.EqualFold("InvalidRequestException", errorCode): return awsAwsjson11_deserializeErrorInvalidRequestException(response, errorBody) - case strings.EqualFold("TooManyRequestsException", errorCode): - return awsAwsjson11_deserializeErrorTooManyRequestsException(response, errorBody) + case strings.EqualFold("ResourceNotFoundException", errorCode): + return awsAwsjson11_deserializeErrorResourceNotFoundException(response, errorBody) default: genericError := &smithy.GenericAPIError{ @@ -9669,6 +10155,15 @@ func awsAwsjson11_deserializeDocumentDocumentClassifierProperties(v **types.Docu return err } + case "SourceModelArn": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected DocumentClassifierArn to be of type string, got %T instead", value) + } + sv.SourceModelArn = ptr.String(jtv) + } + case "Status": if value != nil { jtv, ok := value.(string) @@ -11483,6 +11978,15 @@ func awsAwsjson11_deserializeDocumentEntityRecognizerProperties(v **types.Entity return err } + case "SourceModelArn": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected EntityRecognizerArn to be of type string, got %T instead", value) + } + sv.SourceModelArn = ptr.String(jtv) + } + case "Status": if value != nil { jtv, ok := value.(string) @@ -15381,6 +15885,37 @@ func awsAwsjson11_deserializeOpDocumentDeleteEntityRecognizerOutput(v **DeleteEn return nil } +func awsAwsjson11_deserializeOpDocumentDeleteResourcePolicyOutput(v **DeleteResourcePolicyOutput, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.(map[string]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var sv *DeleteResourcePolicyOutput + if *v == nil { + sv = &DeleteResourcePolicyOutput{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + func awsAwsjson11_deserializeOpDocumentDescribeDocumentClassificationJobOutput(v **DescribeDocumentClassificationJobOutput, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) @@ -15705,6 +16240,87 @@ func awsAwsjson11_deserializeOpDocumentDescribePiiEntitiesDetectionJobOutput(v * return nil } +func awsAwsjson11_deserializeOpDocumentDescribeResourcePolicyOutput(v **DescribeResourcePolicyOutput, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.(map[string]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var sv *DescribeResourcePolicyOutput + if *v == nil { + sv = &DescribeResourcePolicyOutput{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "CreationTime": + if value != nil { + switch jtv := value.(type) { + case json.Number: + f64, err := jtv.Float64() + if err != nil { + return err + } + sv.CreationTime = ptr.Time(smithytime.ParseEpochSeconds(f64)) + + default: + return fmt.Errorf("expected Timestamp to be a JSON Number, got %T instead", value) + + } + } + + case "LastModifiedTime": + if value != nil { + switch jtv := value.(type) { + case json.Number: + f64, err := jtv.Float64() + if err != nil { + return err + } + sv.LastModifiedTime = ptr.Time(smithytime.ParseEpochSeconds(f64)) + + default: + return fmt.Errorf("expected Timestamp to be a JSON Number, got %T instead", value) + + } + } + + case "PolicyRevisionId": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected PolicyRevisionId to be of type string, got %T instead", value) + } + sv.PolicyRevisionId = ptr.String(jtv) + } + + case "ResourcePolicy": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected Policy to be of type string, got %T instead", value) + } + sv.ResourcePolicy = ptr.String(jtv) + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + func awsAwsjson11_deserializeOpDocumentDescribeSentimentDetectionJobOutput(v **DescribeSentimentDetectionJobOutput, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) @@ -16002,6 +16618,46 @@ func awsAwsjson11_deserializeOpDocumentDetectSyntaxOutput(v **DetectSyntaxOutput return nil } +func awsAwsjson11_deserializeOpDocumentImportModelOutput(v **ImportModelOutput, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.(map[string]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var sv *ImportModelOutput + if *v == nil { + sv = &ImportModelOutput{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "ModelArn": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected ComprehendModelArn to be of type string, got %T instead", value) + } + sv.ModelArn = ptr.String(jtv) + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + func awsAwsjson11_deserializeOpDocumentListDocumentClassificationJobsOutput(v **ListDocumentClassificationJobsOutput, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) @@ -16632,6 +17288,46 @@ func awsAwsjson11_deserializeOpDocumentListTopicsDetectionJobsOutput(v **ListTop return nil } +func awsAwsjson11_deserializeOpDocumentPutResourcePolicyOutput(v **PutResourcePolicyOutput, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.(map[string]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var sv *PutResourcePolicyOutput + if *v == nil { + sv = &PutResourcePolicyOutput{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "PolicyRevisionId": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected PolicyRevisionId to be of type string, got %T instead", value) + } + sv.PolicyRevisionId = ptr.String(jtv) + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + func awsAwsjson11_deserializeOpDocumentStartDocumentClassificationJobOutput(v **StartDocumentClassificationJobOutput, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) diff --git a/service/comprehend/generated.json b/service/comprehend/generated.json index 3b9f72b2caf..e90c10aeb32 100644 --- a/service/comprehend/generated.json +++ b/service/comprehend/generated.json @@ -21,6 +21,7 @@ "api_op_DeleteDocumentClassifier.go", "api_op_DeleteEndpoint.go", "api_op_DeleteEntityRecognizer.go", + "api_op_DeleteResourcePolicy.go", "api_op_DescribeDocumentClassificationJob.go", "api_op_DescribeDocumentClassifier.go", "api_op_DescribeDominantLanguageDetectionJob.go", @@ -30,6 +31,7 @@ "api_op_DescribeEventsDetectionJob.go", "api_op_DescribeKeyPhrasesDetectionJob.go", "api_op_DescribePiiEntitiesDetectionJob.go", + "api_op_DescribeResourcePolicy.go", "api_op_DescribeSentimentDetectionJob.go", "api_op_DescribeTopicsDetectionJob.go", "api_op_DetectDominantLanguage.go", @@ -38,6 +40,7 @@ "api_op_DetectPiiEntities.go", "api_op_DetectSentiment.go", "api_op_DetectSyntax.go", + "api_op_ImportModel.go", "api_op_ListDocumentClassificationJobs.go", "api_op_ListDocumentClassifierSummaries.go", "api_op_ListDocumentClassifiers.go", @@ -52,6 +55,7 @@ "api_op_ListSentimentDetectionJobs.go", "api_op_ListTagsForResource.go", "api_op_ListTopicsDetectionJobs.go", + "api_op_PutResourcePolicy.go", "api_op_StartDocumentClassificationJob.go", "api_op_StartDominantLanguageDetectionJob.go", "api_op_StartEntitiesDetectionJob.go", diff --git a/service/comprehend/serializers.go b/service/comprehend/serializers.go index c1fa66ab304..6112445b51f 100644 --- a/service/comprehend/serializers.go +++ b/service/comprehend/serializers.go @@ -731,6 +731,61 @@ func (m *awsAwsjson11_serializeOpDeleteEntityRecognizer) HandleSerialize(ctx con return next.HandleSerialize(ctx, in) } +type awsAwsjson11_serializeOpDeleteResourcePolicy struct { +} + +func (*awsAwsjson11_serializeOpDeleteResourcePolicy) ID() string { + return "OperationSerializer" +} + +func (m *awsAwsjson11_serializeOpDeleteResourcePolicy) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( + out middleware.SerializeOutput, metadata middleware.Metadata, err error, +) { + request, ok := in.Request.(*smithyhttp.Request) + if !ok { + return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} + } + + input, ok := in.Parameters.(*DeleteResourcePolicyInput) + _ = input + if !ok { + return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} + } + + operationPath := "/" + if len(request.Request.URL.Path) == 0 { + request.Request.URL.Path = operationPath + } else { + request.Request.URL.Path = path.Join(request.Request.URL.Path, operationPath) + if request.Request.URL.Path != "/" && operationPath[len(operationPath)-1] == '/' { + request.Request.URL.Path += "/" + } + } + request.Request.Method = "POST" + httpBindingEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header) + if err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + httpBindingEncoder.SetHeader("Content-Type").String("application/x-amz-json-1.1") + httpBindingEncoder.SetHeader("X-Amz-Target").String("Comprehend_20171127.DeleteResourcePolicy") + + jsonEncoder := smithyjson.NewEncoder() + if err := awsAwsjson11_serializeOpDocumentDeleteResourcePolicyInput(input, jsonEncoder.Value); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + if request, err = request.SetStream(bytes.NewReader(jsonEncoder.Bytes())); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + if request.Request, err = httpBindingEncoder.Encode(request.Request); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + in.Request = request + + return next.HandleSerialize(ctx, in) +} + type awsAwsjson11_serializeOpDescribeDocumentClassificationJob struct { } @@ -1226,6 +1281,61 @@ func (m *awsAwsjson11_serializeOpDescribePiiEntitiesDetectionJob) HandleSerializ return next.HandleSerialize(ctx, in) } +type awsAwsjson11_serializeOpDescribeResourcePolicy struct { +} + +func (*awsAwsjson11_serializeOpDescribeResourcePolicy) ID() string { + return "OperationSerializer" +} + +func (m *awsAwsjson11_serializeOpDescribeResourcePolicy) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( + out middleware.SerializeOutput, metadata middleware.Metadata, err error, +) { + request, ok := in.Request.(*smithyhttp.Request) + if !ok { + return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} + } + + input, ok := in.Parameters.(*DescribeResourcePolicyInput) + _ = input + if !ok { + return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} + } + + operationPath := "/" + if len(request.Request.URL.Path) == 0 { + request.Request.URL.Path = operationPath + } else { + request.Request.URL.Path = path.Join(request.Request.URL.Path, operationPath) + if request.Request.URL.Path != "/" && operationPath[len(operationPath)-1] == '/' { + request.Request.URL.Path += "/" + } + } + request.Request.Method = "POST" + httpBindingEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header) + if err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + httpBindingEncoder.SetHeader("Content-Type").String("application/x-amz-json-1.1") + httpBindingEncoder.SetHeader("X-Amz-Target").String("Comprehend_20171127.DescribeResourcePolicy") + + jsonEncoder := smithyjson.NewEncoder() + if err := awsAwsjson11_serializeOpDocumentDescribeResourcePolicyInput(input, jsonEncoder.Value); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + if request, err = request.SetStream(bytes.NewReader(jsonEncoder.Bytes())); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + if request.Request, err = httpBindingEncoder.Encode(request.Request); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + in.Request = request + + return next.HandleSerialize(ctx, in) +} + type awsAwsjson11_serializeOpDescribeSentimentDetectionJob struct { } @@ -1666,6 +1776,61 @@ func (m *awsAwsjson11_serializeOpDetectSyntax) HandleSerialize(ctx context.Conte return next.HandleSerialize(ctx, in) } +type awsAwsjson11_serializeOpImportModel struct { +} + +func (*awsAwsjson11_serializeOpImportModel) ID() string { + return "OperationSerializer" +} + +func (m *awsAwsjson11_serializeOpImportModel) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( + out middleware.SerializeOutput, metadata middleware.Metadata, err error, +) { + request, ok := in.Request.(*smithyhttp.Request) + if !ok { + return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} + } + + input, ok := in.Parameters.(*ImportModelInput) + _ = input + if !ok { + return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} + } + + operationPath := "/" + if len(request.Request.URL.Path) == 0 { + request.Request.URL.Path = operationPath + } else { + request.Request.URL.Path = path.Join(request.Request.URL.Path, operationPath) + if request.Request.URL.Path != "/" && operationPath[len(operationPath)-1] == '/' { + request.Request.URL.Path += "/" + } + } + request.Request.Method = "POST" + httpBindingEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header) + if err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + httpBindingEncoder.SetHeader("Content-Type").String("application/x-amz-json-1.1") + httpBindingEncoder.SetHeader("X-Amz-Target").String("Comprehend_20171127.ImportModel") + + jsonEncoder := smithyjson.NewEncoder() + if err := awsAwsjson11_serializeOpDocumentImportModelInput(input, jsonEncoder.Value); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + if request, err = request.SetStream(bytes.NewReader(jsonEncoder.Bytes())); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + if request.Request, err = httpBindingEncoder.Encode(request.Request); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + in.Request = request + + return next.HandleSerialize(ctx, in) +} + type awsAwsjson11_serializeOpListDocumentClassificationJobs struct { } @@ -2436,6 +2601,61 @@ func (m *awsAwsjson11_serializeOpListTopicsDetectionJobs) HandleSerialize(ctx co return next.HandleSerialize(ctx, in) } +type awsAwsjson11_serializeOpPutResourcePolicy struct { +} + +func (*awsAwsjson11_serializeOpPutResourcePolicy) ID() string { + return "OperationSerializer" +} + +func (m *awsAwsjson11_serializeOpPutResourcePolicy) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( + out middleware.SerializeOutput, metadata middleware.Metadata, err error, +) { + request, ok := in.Request.(*smithyhttp.Request) + if !ok { + return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} + } + + input, ok := in.Parameters.(*PutResourcePolicyInput) + _ = input + if !ok { + return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} + } + + operationPath := "/" + if len(request.Request.URL.Path) == 0 { + request.Request.URL.Path = operationPath + } else { + request.Request.URL.Path = path.Join(request.Request.URL.Path, operationPath) + if request.Request.URL.Path != "/" && operationPath[len(operationPath)-1] == '/' { + request.Request.URL.Path += "/" + } + } + request.Request.Method = "POST" + httpBindingEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header) + if err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + httpBindingEncoder.SetHeader("Content-Type").String("application/x-amz-json-1.1") + httpBindingEncoder.SetHeader("X-Amz-Target").String("Comprehend_20171127.PutResourcePolicy") + + jsonEncoder := smithyjson.NewEncoder() + if err := awsAwsjson11_serializeOpDocumentPutResourcePolicyInput(input, jsonEncoder.Value); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + if request, err = request.SetStream(bytes.NewReader(jsonEncoder.Bytes())); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + if request.Request, err = httpBindingEncoder.Encode(request.Request); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + in.Request = request + + return next.HandleSerialize(ctx, in) +} + type awsAwsjson11_serializeOpStartDocumentClassificationJob struct { } @@ -4409,6 +4629,11 @@ func awsAwsjson11_serializeOpDocumentCreateDocumentClassifierInput(v *CreateDocu ok.String(*v.ModelKmsKeyId) } + if v.ModelPolicy != nil { + ok := object.Key("ModelPolicy") + ok.String(*v.ModelPolicy) + } + if v.OutputDataConfig != nil { ok := object.Key("OutputDataConfig") if err := awsAwsjson11_serializeDocumentDocumentClassifierOutputDataConfig(v.OutputDataConfig, ok); err != nil { @@ -4513,6 +4738,11 @@ func awsAwsjson11_serializeOpDocumentCreateEntityRecognizerInput(v *CreateEntity ok.String(*v.ModelKmsKeyId) } + if v.ModelPolicy != nil { + ok := object.Key("ModelPolicy") + ok.String(*v.ModelPolicy) + } + if v.RecognizerName != nil { ok := object.Key("RecognizerName") ok.String(*v.RecognizerName) @@ -4581,6 +4811,23 @@ func awsAwsjson11_serializeOpDocumentDeleteEntityRecognizerInput(v *DeleteEntity return nil } +func awsAwsjson11_serializeOpDocumentDeleteResourcePolicyInput(v *DeleteResourcePolicyInput, value smithyjson.Value) error { + object := value.Object() + defer object.Close() + + if v.PolicyRevisionId != nil { + ok := object.Key("PolicyRevisionId") + ok.String(*v.PolicyRevisionId) + } + + if v.ResourceArn != nil { + ok := object.Key("ResourceArn") + ok.String(*v.ResourceArn) + } + + return nil +} + func awsAwsjson11_serializeOpDocumentDescribeDocumentClassificationJobInput(v *DescribeDocumentClassificationJobInput, value smithyjson.Value) error { object := value.Object() defer object.Close() @@ -4689,6 +4936,18 @@ func awsAwsjson11_serializeOpDocumentDescribePiiEntitiesDetectionJobInput(v *Des return nil } +func awsAwsjson11_serializeOpDocumentDescribeResourcePolicyInput(v *DescribeResourcePolicyInput, value smithyjson.Value) error { + object := value.Object() + defer object.Close() + + if v.ResourceArn != nil { + ok := object.Key("ResourceArn") + ok.String(*v.ResourceArn) + } + + return nil +} + func awsAwsjson11_serializeOpDocumentDescribeSentimentDetectionJobInput(v *DescribeSentimentDetectionJobInput, value smithyjson.Value) error { object := value.Object() defer object.Close() @@ -4815,6 +5074,45 @@ func awsAwsjson11_serializeOpDocumentDetectSyntaxInput(v *DetectSyntaxInput, val return nil } +func awsAwsjson11_serializeOpDocumentImportModelInput(v *ImportModelInput, value smithyjson.Value) error { + object := value.Object() + defer object.Close() + + if v.DataAccessRoleArn != nil { + ok := object.Key("DataAccessRoleArn") + ok.String(*v.DataAccessRoleArn) + } + + if v.ModelKmsKeyId != nil { + ok := object.Key("ModelKmsKeyId") + ok.String(*v.ModelKmsKeyId) + } + + if v.ModelName != nil { + ok := object.Key("ModelName") + ok.String(*v.ModelName) + } + + if v.SourceModelArn != nil { + ok := object.Key("SourceModelArn") + ok.String(*v.SourceModelArn) + } + + if v.Tags != nil { + ok := object.Key("Tags") + if err := awsAwsjson11_serializeDocumentTagList(v.Tags, ok); err != nil { + return err + } + } + + if v.VersionName != nil { + ok := object.Key("VersionName") + ok.String(*v.VersionName) + } + + return nil +} + func awsAwsjson11_serializeOpDocumentListDocumentClassificationJobsInput(v *ListDocumentClassificationJobsInput, value smithyjson.Value) error { object := value.Object() defer object.Close() @@ -5125,6 +5423,28 @@ func awsAwsjson11_serializeOpDocumentListTopicsDetectionJobsInput(v *ListTopicsD return nil } +func awsAwsjson11_serializeOpDocumentPutResourcePolicyInput(v *PutResourcePolicyInput, value smithyjson.Value) error { + object := value.Object() + defer object.Close() + + if v.PolicyRevisionId != nil { + ok := object.Key("PolicyRevisionId") + ok.String(*v.PolicyRevisionId) + } + + if v.ResourceArn != nil { + ok := object.Key("ResourceArn") + ok.String(*v.ResourceArn) + } + + if v.ResourcePolicy != nil { + ok := object.Key("ResourcePolicy") + ok.String(*v.ResourcePolicy) + } + + return nil +} + func awsAwsjson11_serializeOpDocumentStartDocumentClassificationJobInput(v *StartDocumentClassificationJobInput, value smithyjson.Value) error { object := value.Object() defer object.Close() diff --git a/service/comprehend/types/types.go b/service/comprehend/types/types.go index 2415346ed4c..f43891ba7f6 100644 --- a/service/comprehend/types/types.go +++ b/service/comprehend/types/types.go @@ -483,6 +483,11 @@ type DocumentClassifierProperties struct { // Provides output results configuration parameters for custom classifier jobs. OutputDataConfig *DocumentClassifierOutputDataConfig + // The Amazon Resource Name (ARN) of the source model. This model was imported from + // a different AWS account to create the document classifier model in your AWS + // account. + SourceModelArn *string + // The status of the document classifier. If the status is TRAINED the classifier // is ready to use. If the status is FAILED you can see additional information // about why the classifier wasn't trained in the Message field. @@ -1127,6 +1132,11 @@ type EntityRecognizerProperties struct { // Provides information about an entity recognizer. RecognizerMetadata *EntityRecognizerMetadata + // The Amazon Resource Name (ARN) of the source model. This model was imported from + // a different AWS account to create the entity recognizer model in your AWS + // account. + SourceModelArn *string + // Provides the status of the entity recognizer. Status ModelStatus diff --git a/service/comprehend/validators.go b/service/comprehend/validators.go index 42993209d31..a32a9236ce3 100644 --- a/service/comprehend/validators.go +++ b/service/comprehend/validators.go @@ -270,6 +270,26 @@ func (m *validateOpDeleteEntityRecognizer) HandleInitialize(ctx context.Context, return next.HandleInitialize(ctx, in) } +type validateOpDeleteResourcePolicy struct { +} + +func (*validateOpDeleteResourcePolicy) ID() string { + return "OperationInputValidation" +} + +func (m *validateOpDeleteResourcePolicy) HandleInitialize(ctx context.Context, in middleware.InitializeInput, next middleware.InitializeHandler) ( + out middleware.InitializeOutput, metadata middleware.Metadata, err error, +) { + input, ok := in.Parameters.(*DeleteResourcePolicyInput) + if !ok { + return out, metadata, fmt.Errorf("unknown input parameters type %T", in.Parameters) + } + if err := validateOpDeleteResourcePolicyInput(input); err != nil { + return out, metadata, err + } + return next.HandleInitialize(ctx, in) +} + type validateOpDescribeDocumentClassificationJob struct { } @@ -450,6 +470,26 @@ func (m *validateOpDescribePiiEntitiesDetectionJob) HandleInitialize(ctx context return next.HandleInitialize(ctx, in) } +type validateOpDescribeResourcePolicy struct { +} + +func (*validateOpDescribeResourcePolicy) ID() string { + return "OperationInputValidation" +} + +func (m *validateOpDescribeResourcePolicy) HandleInitialize(ctx context.Context, in middleware.InitializeInput, next middleware.InitializeHandler) ( + out middleware.InitializeOutput, metadata middleware.Metadata, err error, +) { + input, ok := in.Parameters.(*DescribeResourcePolicyInput) + if !ok { + return out, metadata, fmt.Errorf("unknown input parameters type %T", in.Parameters) + } + if err := validateOpDescribeResourcePolicyInput(input); err != nil { + return out, metadata, err + } + return next.HandleInitialize(ctx, in) +} + type validateOpDescribeSentimentDetectionJob struct { } @@ -610,6 +650,26 @@ func (m *validateOpDetectSyntax) HandleInitialize(ctx context.Context, in middle return next.HandleInitialize(ctx, in) } +type validateOpImportModel struct { +} + +func (*validateOpImportModel) ID() string { + return "OperationInputValidation" +} + +func (m *validateOpImportModel) HandleInitialize(ctx context.Context, in middleware.InitializeInput, next middleware.InitializeHandler) ( + out middleware.InitializeOutput, metadata middleware.Metadata, err error, +) { + input, ok := in.Parameters.(*ImportModelInput) + if !ok { + return out, metadata, fmt.Errorf("unknown input parameters type %T", in.Parameters) + } + if err := validateOpImportModelInput(input); err != nil { + return out, metadata, err + } + return next.HandleInitialize(ctx, in) +} + type validateOpListTagsForResource struct { } @@ -630,6 +690,26 @@ func (m *validateOpListTagsForResource) HandleInitialize(ctx context.Context, in return next.HandleInitialize(ctx, in) } +type validateOpPutResourcePolicy struct { +} + +func (*validateOpPutResourcePolicy) ID() string { + return "OperationInputValidation" +} + +func (m *validateOpPutResourcePolicy) HandleInitialize(ctx context.Context, in middleware.InitializeInput, next middleware.InitializeHandler) ( + out middleware.InitializeOutput, metadata middleware.Metadata, err error, +) { + input, ok := in.Parameters.(*PutResourcePolicyInput) + if !ok { + return out, metadata, fmt.Errorf("unknown input parameters type %T", in.Parameters) + } + if err := validateOpPutResourcePolicyInput(input); err != nil { + return out, metadata, err + } + return next.HandleInitialize(ctx, in) +} + type validateOpStartDocumentClassificationJob struct { } @@ -1062,6 +1142,10 @@ func addOpDeleteEntityRecognizerValidationMiddleware(stack *middleware.Stack) er return stack.Initialize.Add(&validateOpDeleteEntityRecognizer{}, middleware.After) } +func addOpDeleteResourcePolicyValidationMiddleware(stack *middleware.Stack) error { + return stack.Initialize.Add(&validateOpDeleteResourcePolicy{}, middleware.After) +} + func addOpDescribeDocumentClassificationJobValidationMiddleware(stack *middleware.Stack) error { return stack.Initialize.Add(&validateOpDescribeDocumentClassificationJob{}, middleware.After) } @@ -1098,6 +1182,10 @@ func addOpDescribePiiEntitiesDetectionJobValidationMiddleware(stack *middleware. return stack.Initialize.Add(&validateOpDescribePiiEntitiesDetectionJob{}, middleware.After) } +func addOpDescribeResourcePolicyValidationMiddleware(stack *middleware.Stack) error { + return stack.Initialize.Add(&validateOpDescribeResourcePolicy{}, middleware.After) +} + func addOpDescribeSentimentDetectionJobValidationMiddleware(stack *middleware.Stack) error { return stack.Initialize.Add(&validateOpDescribeSentimentDetectionJob{}, middleware.After) } @@ -1130,10 +1218,18 @@ func addOpDetectSyntaxValidationMiddleware(stack *middleware.Stack) error { return stack.Initialize.Add(&validateOpDetectSyntax{}, middleware.After) } +func addOpImportModelValidationMiddleware(stack *middleware.Stack) error { + return stack.Initialize.Add(&validateOpImportModel{}, middleware.After) +} + func addOpListTagsForResourceValidationMiddleware(stack *middleware.Stack) error { return stack.Initialize.Add(&validateOpListTagsForResource{}, middleware.After) } +func addOpPutResourcePolicyValidationMiddleware(stack *middleware.Stack) error { + return stack.Initialize.Add(&validateOpPutResourcePolicy{}, middleware.After) +} + func addOpStartDocumentClassificationJobValidationMiddleware(stack *middleware.Stack) error { return stack.Initialize.Add(&validateOpStartDocumentClassificationJob{}, middleware.After) } @@ -1765,6 +1861,21 @@ func validateOpDeleteEntityRecognizerInput(v *DeleteEntityRecognizerInput) error } } +func validateOpDeleteResourcePolicyInput(v *DeleteResourcePolicyInput) error { + if v == nil { + return nil + } + invalidParams := smithy.InvalidParamsError{Context: "DeleteResourcePolicyInput"} + if v.ResourceArn == nil { + invalidParams.Add(smithy.NewErrParamRequired("ResourceArn")) + } + if invalidParams.Len() > 0 { + return invalidParams + } else { + return nil + } +} + func validateOpDescribeDocumentClassificationJobInput(v *DescribeDocumentClassificationJobInput) error { if v == nil { return nil @@ -1900,6 +2011,21 @@ func validateOpDescribePiiEntitiesDetectionJobInput(v *DescribePiiEntitiesDetect } } +func validateOpDescribeResourcePolicyInput(v *DescribeResourcePolicyInput) error { + if v == nil { + return nil + } + invalidParams := smithy.InvalidParamsError{Context: "DescribeResourcePolicyInput"} + if v.ResourceArn == nil { + invalidParams.Add(smithy.NewErrParamRequired("ResourceArn")) + } + if invalidParams.Len() > 0 { + return invalidParams + } else { + return nil + } +} + func validateOpDescribeSentimentDetectionJobInput(v *DescribeSentimentDetectionJobInput) error { if v == nil { return nil @@ -2032,6 +2158,26 @@ func validateOpDetectSyntaxInput(v *DetectSyntaxInput) error { } } +func validateOpImportModelInput(v *ImportModelInput) error { + if v == nil { + return nil + } + invalidParams := smithy.InvalidParamsError{Context: "ImportModelInput"} + if v.SourceModelArn == nil { + invalidParams.Add(smithy.NewErrParamRequired("SourceModelArn")) + } + if v.Tags != nil { + if err := validateTagList(v.Tags); err != nil { + invalidParams.AddNested("Tags", err.(smithy.InvalidParamsError)) + } + } + if invalidParams.Len() > 0 { + return invalidParams + } else { + return nil + } +} + func validateOpListTagsForResourceInput(v *ListTagsForResourceInput) error { if v == nil { return nil @@ -2047,6 +2193,24 @@ func validateOpListTagsForResourceInput(v *ListTagsForResourceInput) error { } } +func validateOpPutResourcePolicyInput(v *PutResourcePolicyInput) error { + if v == nil { + return nil + } + invalidParams := smithy.InvalidParamsError{Context: "PutResourcePolicyInput"} + if v.ResourceArn == nil { + invalidParams.Add(smithy.NewErrParamRequired("ResourceArn")) + } + if v.ResourcePolicy == nil { + invalidParams.Add(smithy.NewErrParamRequired("ResourcePolicy")) + } + if invalidParams.Len() > 0 { + return invalidParams + } else { + return nil + } +} + func validateOpStartDocumentClassificationJobInput(v *StartDocumentClassificationJobInput) error { if v == nil { return nil diff --git a/service/connect/api_op_StartChatContact.go b/service/connect/api_op_StartChatContact.go index b2ff6fa8686..f7f0f7f2228 100644 --- a/service/connect/api_op_StartChatContact.go +++ b/service/connect/api_op_StartChatContact.go @@ -21,7 +21,7 @@ import ( // the created chat within 5 minutes. This is achieved by invoking // CreateParticipantConnection // (https://docs.aws.amazon.com/connect-participant/latest/APIReference/API_CreateParticipantConnection.html) -// with WEBSOCKET and CONNECTION_CREDENTIALS. A 429 error occurs in two +// with WEBSOCKET and CONNECTION_CREDENTIALS. A 429 error occurs in the following // situations: // // * API rate limit is exceeded. API TPS throttling returns a @@ -31,10 +31,12 @@ import ( // (https://docs.aws.amazon.com/connect/latest/adminguide/amazon-connect-service-limits.html) // is exceeded. Active chat throttling returns a LimitExceededException. // -// For more -// information about chat, see Chat -// (https://docs.aws.amazon.com/connect/latest/adminguide/chat.html) in the Amazon -// Connect Administrator Guide. +// If you +// use the ChatDurationInMinutes parameter and receive a 400 error, your account +// may not support the ability to configure custom chat durations. For more +// information, contact Amazon Web Services Support. For more information about +// chat, see Chat (https://docs.aws.amazon.com/connect/latest/adminguide/chat.html) +// in the Amazon Connect Administrator Guide. func (c *Client) StartChatContact(ctx context.Context, params *StartChatContactInput, optFns ...func(*Options)) (*StartChatContactOutput, error) { if params == nil { params = &StartChatContactInput{} @@ -80,6 +82,11 @@ type StartChatContactInput struct { // and underscore characters. Attributes map[string]string + // The total duration of the newly started chat session. If not specified, the chat + // session duration defaults to 25 hour. The minumum configurable time is 60 + // minutes. The maximum configurable time is 10,080 minutes (7 days). + ChatDurationInMinutes *int32 + // A unique, case-sensitive identifier that you provide to ensure the idempotency // of the request. ClientToken *string diff --git a/service/connect/api_op_UpdateContactFlowMetadata.go b/service/connect/api_op_UpdateContactFlowMetadata.go index 5a8178ac999..6d30bb974e9 100644 --- a/service/connect/api_op_UpdateContactFlowMetadata.go +++ b/service/connect/api_op_UpdateContactFlowMetadata.go @@ -46,7 +46,7 @@ type UpdateContactFlowMetadataInput struct { // The description of the contact flow. Description *string - // The name of the contact flow. + // TThe name of the contact flow. Name *string noSmithyDocumentSerde diff --git a/service/connect/internal/endpoints/endpoints.go b/service/connect/internal/endpoints/endpoints.go index 07281258880..2a72bb1bf05 100644 --- a/service/connect/internal/endpoints/endpoints.go +++ b/service/connect/internal/endpoints/endpoints.go @@ -135,6 +135,9 @@ var defaultPartitions = endpoints.Partitions{ RegionRegex: partitionRegexp.Aws, IsRegionalized: true, Endpoints: endpoints.Endpoints{ + endpoints.EndpointKey{ + Region: "af-south-1", + }: endpoints.Endpoint{}, endpoints.EndpointKey{ Region: "ap-northeast-1", }: endpoints.Endpoint{}, diff --git a/service/connect/serializers.go b/service/connect/serializers.go index 50a049575dd..95bd9faca47 100644 --- a/service/connect/serializers.go +++ b/service/connect/serializers.go @@ -7207,6 +7207,11 @@ func awsRestjson1_serializeOpDocumentStartChatContactInput(v *StartChatContactIn } } + if v.ChatDurationInMinutes != nil { + ok := object.Key("ChatDurationInMinutes") + ok.Integer(*v.ChatDurationInMinutes) + } + if v.ClientToken != nil { ok := object.Key("ClientToken") ok.String(*v.ClientToken) diff --git a/service/costexplorer/api_op_GetCostAndUsage.go b/service/costexplorer/api_op_GetCostAndUsage.go index e51a5cf694c..297df9c8111 100644 --- a/service/costexplorer/api_op_GetCostAndUsage.go +++ b/service/costexplorer/api_op_GetCostAndUsage.go @@ -75,17 +75,17 @@ type GetCostAndUsageInput struct { // that account's usage of that service. You can nest Expression objects to define // any combination of dimension filters. For more information, see Expression // (https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_Expression.html). - // The default values are EQUALS and CASE_SENSITIVE. Valid values for MatchOptions - // for Dimensions are EQUALS and CASE_SENSITIVE. Valid values for MatchOptions for - // CostCategories and Tags are EQUALS, ABSENT, and CASE_SENSITIVE. + // Valid values for MatchOptions for CostCategories and Tags are EQUALS, ABSENT, + // and CASE_SENSITIVE. The default values are EQUALS and CASE_SENSITIVE. Valid + // values for MatchOptions for Dimensions are EQUALS and CASE_SENSITIVE. Filter *types.Expression // You can group Amazon Web Services costs using up to two different groups, either // dimensions, tag keys, cost categories, or any two group by types. Valid values - // for the DIMENSION type are AZ, INSTANCE_TYPE, LEGAL_ENTITY_NAME, LINKED_ACCOUNT, - // OPERATION, PLATFORM, PURCHASE_TYPE, SERVICE, TENANCY, RECORD_TYPE, and - // USAGE_TYPE. When you group by the TAG type and include a valid tag key, you get - // all tag values, including empty strings. + // for the DIMENSION type are AZ, INSTANCE_TYPE, LEGAL_ENTITY_NAME, + // INVOICING_ENTITY, LINKED_ACCOUNT, OPERATION, PLATFORM, PURCHASE_TYPE, SERVICE, + // TENANCY, RECORD_TYPE, and USAGE_TYPE. When you group by the TAG type and include + // a valid tag key, you get all tag values, including empty strings. GroupBy []types.GroupDefinition // The token to retrieve the next set of results. Amazon Web Services provides the diff --git a/service/costexplorer/api_op_GetCostAndUsageWithResources.go b/service/costexplorer/api_op_GetCostAndUsageWithResources.go index f27cc68df70..563438b38e0 100644 --- a/service/costexplorer/api_op_GetCostAndUsageWithResources.go +++ b/service/costexplorer/api_op_GetCostAndUsageWithResources.go @@ -49,10 +49,10 @@ type GetCostAndUsageWithResourcesInput struct { // The GetCostAndUsageWithResources operation requires that you either group by or // filter by a ResourceId. It requires the Expression // (https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_Expression.html)"SERVICE - // = Amazon Elastic Compute Cloud - Compute" in the filter. The default values are - // EQUALS and CASE_SENSITIVE. Valid values for MatchOptions for Dimensions are - // EQUALS and CASE_SENSITIVE. Valid values for MatchOptions for CostCategories and - // Tags are EQUALS, ABSENT, and CASE_SENSITIVE. + // = Amazon Elastic Compute Cloud - Compute" in the filter. Valid values for + // MatchOptions for CostCategories and Tags are EQUALS, ABSENT, and CASE_SENSITIVE. + // The default values are EQUALS and CASE_SENSITIVE. Valid values for MatchOptions + // for Dimensions are EQUALS and CASE_SENSITIVE. // // This member is required. Filter *types.Expression diff --git a/service/costexplorer/api_op_GetDimensionValues.go b/service/costexplorer/api_op_GetDimensionValues.go index 10d4831fffc..47082b492e3 100644 --- a/service/costexplorer/api_op_GetDimensionValues.go +++ b/service/costexplorer/api_op_GetDimensionValues.go @@ -31,8 +31,7 @@ func (c *Client) GetDimensionValues(ctx context.Context, params *GetDimensionVal type GetDimensionValuesInput struct { // The name of the dimension. Each Dimension is available for a different Context. - // For more information, see Context - // (https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_GetDimensionValues.html#awscostmanagement-GetDimensionValues-request-Context). + // For more information, see Context. // // This member is required. Dimension types.Dimension @@ -56,17 +55,40 @@ type GetDimensionValuesInput struct { // * AZ - The Availability Zone. An example is us-east-1a. // // * - // DATABASE_ENGINE - The Amazon Relational Database Service database. Examples are - // Aurora or MySQL. + // BILLING_ENTITY - The Amazon Web Services seller that your account is with. + // Possible values are the following: - Amazon Web Services(Amazon Web Services): + // The entity that sells Amazon Web Services services. - AISPL (Amazon Internet + // Services Pvt. Ltd.): The local Indian entity that is an acting reseller for + // Amazon Web Services services in India. - Amazon Web Services Marketplace: The + // entity that supports the sale of solutions built on Amazon Web Services by + // third-party software providers. // - // * INSTANCE_TYPE - The type of Amazon EC2 instance. An example - // is m4.xlarge. + // * CACHE_ENGINE - The Amazon ElastiCache + // operating system. Examples are Windows or Linux. // - // * LEGAL_ENTITY_NAME - The name of the organization that sells you - // Amazon Web Services services, such as Amazon Web Services. + // * DEPLOYMENT_OPTION - The + // scope of Amazon Relational Database Service deployments. Valid values are + // SingleAZ and MultiAZ. // - // * LINKED_ACCOUNT - - // The description in the attribute map that includes the full name of the member + // * DATABASE_ENGINE - The Amazon Relational Database + // Service database. Examples are Aurora or MySQL. + // + // * INSTANCE_TYPE - The type of + // Amazon EC2 instance. An example is m4.xlarge. + // + // * INSTANCE_TYPE_FAMILY - A family + // of instance types optimized to fit different use cases. Examples are Compute + // Optimized (C4, C5, C6g, C7g etc.), Memory Optimization (R4, R5n, R5b, R6g + // etc). + // + // * INVOICING_ENTITY - The name of the entity issuing the Amazon Web + // Services invoice. + // + // * LEGAL_ENTITY_NAME - The name of the organization that sells + // you Amazon Web Services services, such as Amazon Web Services. + // + // * LINKED_ACCOUNT + // - The description in the attribute map that includes the full name of the member // account. The value field contains the Amazon Web Services ID of the member // account. // @@ -83,9 +105,21 @@ type GetDimensionValuesInput struct { // which this usage is related. Examples include On-Demand Instances and Standard // Reserved Instances. // + // * RESERVATION_ID - The unique identifier for an Amazon Web + // Services Reservation Instance. + // + // * SAVINGS_PLAN_ARN - The unique identifier for + // your Savings Plans. + // + // * SAVINGS_PLANS_TYPE - Type of Savings Plans (EC2 Instance + // or Compute). + // // * SERVICE - The Amazon Web Services service such as Amazon // DynamoDB. // + // * TENANCY - The tenancy of a resource. Examples are shared or + // dedicated. + // // * USAGE_TYPE - The type of usage. An example is // DataTransfer-In-Bytes. The response for the GetDimensionValues operation // includes a unit attribute. Examples include GB and Hrs. @@ -160,7 +194,7 @@ type GetDimensionValuesInput struct { // of the member account. // // * SAVINGS_PLAN_ARN - The unique identifier for your - // Savings Plan + // Savings Plans. Context types.Context // Use Expression to filter by cost or by usage. There are two patterns: diff --git a/service/costexplorer/api_op_GetReservationCoverage.go b/service/costexplorer/api_op_GetReservationCoverage.go index 44c1ff0309c..ff1114002b5 100644 --- a/service/costexplorer/api_op_GetReservationCoverage.go +++ b/service/costexplorer/api_op_GetReservationCoverage.go @@ -108,8 +108,9 @@ type GetReservationCoverageInput struct { // GetReservationCoverage uses the same Expression // (https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_Expression.html) // object as the other operations, but only AND is supported among each dimension. - // You can nest only one level deep. If you don't provide a SERVICE filter, Cost - // Explorer defaults to EC2. Cost category is also supported. + // You can nest only one level deep. If there are multiple values for a dimension, + // they are OR'd together. If you don't provide a SERVICE filter, Cost Explorer + // defaults to EC2. Cost category is also supported. Filter *types.Expression // The granularity of the Amazon Web Services cost data for the reservation. Valid @@ -132,10 +133,12 @@ type GetReservationCoverageInput struct { // // * INSTANCE_TYPE // - // * LINKED_ACCOUNT + // * INVOICING_ENTITY // // * - // OPERATING_SYSTEM + // LINKED_ACCOUNT + // + // * OPERATING_SYSTEM // // * PLATFORM // diff --git a/service/costexplorer/api_op_GetReservationUtilization.go b/service/costexplorer/api_op_GetReservationUtilization.go index 2d1d727853f..bf34c99459b 100644 --- a/service/costexplorer/api_op_GetReservationUtilization.go +++ b/service/costexplorer/api_op_GetReservationUtilization.go @@ -70,7 +70,8 @@ type GetReservationUtilizationInput struct { // GetReservationUtilization uses the same Expression // (https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_Expression.html) // object as the other operations, but only AND is supported among each dimension, - // and nesting is supported up to only one level deep. + // and nesting is supported up to only one level deep. If there are multiple values + // for a dimension, they are OR'd together. Filter *types.Expression // If GroupBy is set, Granularity can't be set. If Granularity isn't set, the diff --git a/service/costexplorer/api_op_GetSavingsPlansCoverage.go b/service/costexplorer/api_op_GetSavingsPlansCoverage.go index 9f8634e504a..3d599089b5a 100644 --- a/service/costexplorer/api_op_GetSavingsPlansCoverage.go +++ b/service/costexplorer/api_op_GetSavingsPlansCoverage.go @@ -27,12 +27,8 @@ import ( // // * INSTANCE_FAMILY // -// GetSavingsPlansCoverage -// doesn't support filtering by tags. GetSavingsPlansCoverage also doesn't support -// the OR operator between filter dimensions. For the full request syntax with -// supported parameters, see Examples -// (https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_GetSavingsPlansCoverage.html#API_GetSavingsPlansCoverage_Examples). -// To determine valid values for a dimension, use the GetDimensionValues operation. +// To determine valid +// values for a dimension, use the GetDimensionValues operation. func (c *Client) GetSavingsPlansCoverage(ctx context.Context, params *GetSavingsPlansCoverageInput, optFns ...func(*Options)) (*GetSavingsPlansCoverageOutput, error) { if params == nil { params = &GetSavingsPlansCoverageInput{} @@ -73,7 +69,8 @@ type GetSavingsPlansCoverageInput struct { // Expression // (https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_Expression.html) // object as the other operations, but only AND is supported among each dimension. - // Cost category is supported. Tags are not supported. + // If there are multiple values for a dimension, they are OR'd together. Cost + // category is also supported. Filter *types.Expression // The granularity of the Amazon Web Services cost data for your Savings Plans. diff --git a/service/costexplorer/api_op_GetSavingsPlansUtilization.go b/service/costexplorer/api_op_GetSavingsPlansUtilization.go index 21f69abb84f..85c8122ad29 100644 --- a/service/costexplorer/api_op_GetSavingsPlansUtilization.go +++ b/service/costexplorer/api_op_GetSavingsPlansUtilization.go @@ -15,11 +15,7 @@ import ( // daily or monthly granularity. Management account in an organization have access // to member accounts. You can use GetDimensionValues in SAVINGS_PLANS to determine // the possible dimension values. You cannot group by any dimension values for -// GetSavingsPlansUtilization. GetSavingsPlansUtilization doesn't support filtering -// by tags. GetSavingsPlansUtilization also doesn't support the OR operator between -// filter dimensions. For the full request syntax with supported parameters, see -// Examples -// (https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_GetSavingsPlansUtilization.html#API_GetSavingsPlansUtilization_Examples). +// GetSavingsPlansUtilization. func (c *Client) GetSavingsPlansUtilization(ctx context.Context, params *GetSavingsPlansUtilizationInput, optFns ...func(*Options)) (*GetSavingsPlansUtilizationOutput, error) { if params == nil { params = &GetSavingsPlansUtilizationInput{} @@ -65,7 +61,6 @@ type GetSavingsPlansUtilizationInput struct { // Expression // (https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_Expression.html) // object as the other operations, but only AND is supported among each dimension. - // Filtering by tags isn't supported. Filter *types.Expression // The granularity of the Amazon Web Services utillization data for your Savings diff --git a/service/costexplorer/api_op_GetSavingsPlansUtilizationDetails.go b/service/costexplorer/api_op_GetSavingsPlansUtilizationDetails.go index e0f895b69ad..6d010074b1e 100644 --- a/service/costexplorer/api_op_GetSavingsPlansUtilizationDetails.go +++ b/service/costexplorer/api_op_GetSavingsPlansUtilizationDetails.go @@ -19,11 +19,6 @@ import ( // GetSavingsPlanUtilizationDetails by providing individual dates. You can use // GetDimensionValues in SAVINGS_PLANS to determine the possible dimension values. // GetSavingsPlanUtilizationDetails internally groups data by SavingsPlansArn. -// GetSavingsPlansUtilizationDetails doesn't support filtering by tags. -// GetSavingsPlansUtilizationDetails also doesn't support the OR operator between -// filter dimensions. For the full request syntax with supported parameters, see -// Examples -// (https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_GetSavingsPlansUtilizationDetails.html#API_GetSavingsPlansUtilizationDetails_Examples). func (c *Client) GetSavingsPlansUtilizationDetails(ctx context.Context, params *GetSavingsPlansUtilizationDetailsInput, optFns ...func(*Options)) (*GetSavingsPlansUtilizationDetailsOutput, error) { if params == nil { params = &GetSavingsPlansUtilizationDetailsInput{} @@ -69,7 +64,6 @@ type GetSavingsPlansUtilizationDetailsInput struct { // GetSavingsPlansUtilizationDetails uses the same Expression // (https://docs.aws.amazon.com/aws-cost-management/latest/APIReference/API_Expression.html) // object as the other operations, but only AND is supported among each dimension. - // Filtering by tags isn't supported. Filter *types.Expression // The number of items to be returned in a response. The default is 20, with a diff --git a/service/costexplorer/types/enums.go b/service/costexplorer/types/enums.go index 951a584aea5..bfe9e07e7cf 100644 --- a/service/costexplorer/types/enums.go +++ b/service/costexplorer/types/enums.go @@ -240,6 +240,7 @@ const ( DimensionPaymentOption Dimension = "PAYMENT_OPTION" DimensionAgreementEndDateTimeAfter Dimension = "AGREEMENT_END_DATE_TIME_AFTER" DimensionAgreementEndDateTimeBefore Dimension = "AGREEMENT_END_DATE_TIME_BEFORE" + DimensionInvoicingEntity Dimension = "INVOICING_ENTITY" ) // Values returns all known values for Dimension. Note that this can be expanded in @@ -278,6 +279,7 @@ func (Dimension) Values() []Dimension { "PAYMENT_OPTION", "AGREEMENT_END_DATE_TIME_AFTER", "AGREEMENT_END_DATE_TIME_BEFORE", + "INVOICING_ENTITY", } } diff --git a/service/customerprofiles/api_op_CreateIntegrationWorkflow.go b/service/customerprofiles/api_op_CreateIntegrationWorkflow.go new file mode 100644 index 00000000000..3cd9770fa92 --- /dev/null +++ b/service/customerprofiles/api_op_CreateIntegrationWorkflow.go @@ -0,0 +1,154 @@ +// Code generated by smithy-go-codegen DO NOT EDIT. + +package customerprofiles + +import ( + "context" + awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" + "github.com/aws/aws-sdk-go-v2/aws/signer/v4" + "github.com/aws/aws-sdk-go-v2/service/customerprofiles/types" + "github.com/aws/smithy-go/middleware" + smithyhttp "github.com/aws/smithy-go/transport/http" +) + +// Creates an integration workflow. An integration workflow is an async process +// which ingests historic data and sets up an integration for ongoing updates. The +// supported Amazon AppFlow sources are Salesforce, ServiceNow, and Marketo. +func (c *Client) CreateIntegrationWorkflow(ctx context.Context, params *CreateIntegrationWorkflowInput, optFns ...func(*Options)) (*CreateIntegrationWorkflowOutput, error) { + if params == nil { + params = &CreateIntegrationWorkflowInput{} + } + + result, metadata, err := c.invokeOperation(ctx, "CreateIntegrationWorkflow", params, optFns, c.addOperationCreateIntegrationWorkflowMiddlewares) + if err != nil { + return nil, err + } + + out := result.(*CreateIntegrationWorkflowOutput) + out.ResultMetadata = metadata + return out, nil +} + +type CreateIntegrationWorkflowInput struct { + + // The unique name of the domain. + // + // This member is required. + DomainName *string + + // Configuration data for integration workflow. + // + // This member is required. + IntegrationConfig *types.IntegrationConfig + + // The name of the profile object type. + // + // This member is required. + ObjectTypeName *string + + // The Amazon Resource Name (ARN) of the IAM role. Customer Profiles assumes this + // role to create resources on your behalf as part of workflow execution. + // + // This member is required. + RoleArn *string + + // The type of workflow. The only supported value is APPFLOW_INTEGRATION. + // + // This member is required. + WorkflowType types.WorkflowType + + // The tags used to organize, track, or control access for this resource. + Tags map[string]string + + noSmithyDocumentSerde +} + +type CreateIntegrationWorkflowOutput struct { + + // A message indicating create request was received. + // + // This member is required. + Message *string + + // Unique identifier for the workflow. + // + // This member is required. + WorkflowId *string + + // Metadata pertaining to the operation's result. + ResultMetadata middleware.Metadata + + noSmithyDocumentSerde +} + +func (c *Client) addOperationCreateIntegrationWorkflowMiddlewares(stack *middleware.Stack, options Options) (err error) { + err = stack.Serialize.Add(&awsRestjson1_serializeOpCreateIntegrationWorkflow{}, middleware.After) + if err != nil { + return err + } + err = stack.Deserialize.Add(&awsRestjson1_deserializeOpCreateIntegrationWorkflow{}, middleware.After) + if err != nil { + return err + } + if err = addSetLoggerMiddleware(stack, options); err != nil { + return err + } + if err = awsmiddleware.AddClientRequestIDMiddleware(stack); err != nil { + return err + } + if err = smithyhttp.AddComputeContentLengthMiddleware(stack); err != nil { + return err + } + if err = addResolveEndpointMiddleware(stack, options); err != nil { + return err + } + if err = v4.AddComputePayloadSHA256Middleware(stack); err != nil { + return err + } + if err = addRetryMiddlewares(stack, options); err != nil { + return err + } + if err = addHTTPSignerV4Middleware(stack, options); err != nil { + return err + } + if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil { + return err + } + if err = awsmiddleware.AddRecordResponseTiming(stack); err != nil { + return err + } + if err = addClientUserAgent(stack); err != nil { + return err + } + if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil { + return err + } + if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { + return err + } + if err = addOpCreateIntegrationWorkflowValidationMiddleware(stack); err != nil { + return err + } + if err = stack.Initialize.Add(newServiceMetadataMiddleware_opCreateIntegrationWorkflow(options.Region), middleware.Before); err != nil { + return err + } + if err = addRequestIDRetrieverMiddleware(stack); err != nil { + return err + } + if err = addResponseErrorMiddleware(stack); err != nil { + return err + } + if err = addRequestResponseLogging(stack, options); err != nil { + return err + } + return nil +} + +func newServiceMetadataMiddleware_opCreateIntegrationWorkflow(region string) *awsmiddleware.RegisterServiceMetadata { + return &awsmiddleware.RegisterServiceMetadata{ + Region: region, + ServiceID: ServiceID, + SigningName: "profile", + OperationName: "CreateIntegrationWorkflow", + } +} diff --git a/service/customerprofiles/api_op_DeleteWorkflow.go b/service/customerprofiles/api_op_DeleteWorkflow.go new file mode 100644 index 00000000000..6e38847ba14 --- /dev/null +++ b/service/customerprofiles/api_op_DeleteWorkflow.go @@ -0,0 +1,122 @@ +// Code generated by smithy-go-codegen DO NOT EDIT. + +package customerprofiles + +import ( + "context" + awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" + "github.com/aws/aws-sdk-go-v2/aws/signer/v4" + "github.com/aws/smithy-go/middleware" + smithyhttp "github.com/aws/smithy-go/transport/http" +) + +// Deletes the specified workflow and all its corresponding resources. This is an +// async process. +func (c *Client) DeleteWorkflow(ctx context.Context, params *DeleteWorkflowInput, optFns ...func(*Options)) (*DeleteWorkflowOutput, error) { + if params == nil { + params = &DeleteWorkflowInput{} + } + + result, metadata, err := c.invokeOperation(ctx, "DeleteWorkflow", params, optFns, c.addOperationDeleteWorkflowMiddlewares) + if err != nil { + return nil, err + } + + out := result.(*DeleteWorkflowOutput) + out.ResultMetadata = metadata + return out, nil +} + +type DeleteWorkflowInput struct { + + // The unique name of the domain. + // + // This member is required. + DomainName *string + + // Unique identifier for the workflow. + // + // This member is required. + WorkflowId *string + + noSmithyDocumentSerde +} + +type DeleteWorkflowOutput struct { + // Metadata pertaining to the operation's result. + ResultMetadata middleware.Metadata + + noSmithyDocumentSerde +} + +func (c *Client) addOperationDeleteWorkflowMiddlewares(stack *middleware.Stack, options Options) (err error) { + err = stack.Serialize.Add(&awsRestjson1_serializeOpDeleteWorkflow{}, middleware.After) + if err != nil { + return err + } + err = stack.Deserialize.Add(&awsRestjson1_deserializeOpDeleteWorkflow{}, middleware.After) + if err != nil { + return err + } + if err = addSetLoggerMiddleware(stack, options); err != nil { + return err + } + if err = awsmiddleware.AddClientRequestIDMiddleware(stack); err != nil { + return err + } + if err = smithyhttp.AddComputeContentLengthMiddleware(stack); err != nil { + return err + } + if err = addResolveEndpointMiddleware(stack, options); err != nil { + return err + } + if err = v4.AddComputePayloadSHA256Middleware(stack); err != nil { + return err + } + if err = addRetryMiddlewares(stack, options); err != nil { + return err + } + if err = addHTTPSignerV4Middleware(stack, options); err != nil { + return err + } + if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil { + return err + } + if err = awsmiddleware.AddRecordResponseTiming(stack); err != nil { + return err + } + if err = addClientUserAgent(stack); err != nil { + return err + } + if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil { + return err + } + if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { + return err + } + if err = addOpDeleteWorkflowValidationMiddleware(stack); err != nil { + return err + } + if err = stack.Initialize.Add(newServiceMetadataMiddleware_opDeleteWorkflow(options.Region), middleware.Before); err != nil { + return err + } + if err = addRequestIDRetrieverMiddleware(stack); err != nil { + return err + } + if err = addResponseErrorMiddleware(stack); err != nil { + return err + } + if err = addRequestResponseLogging(stack, options); err != nil { + return err + } + return nil +} + +func newServiceMetadataMiddleware_opDeleteWorkflow(region string) *awsmiddleware.RegisterServiceMetadata { + return &awsmiddleware.RegisterServiceMetadata{ + Region: region, + ServiceID: ServiceID, + SigningName: "profile", + OperationName: "DeleteWorkflow", + } +} diff --git a/service/customerprofiles/api_op_GetIntegration.go b/service/customerprofiles/api_op_GetIntegration.go index 65774649aef..1aae63fd4dc 100644 --- a/service/customerprofiles/api_op_GetIntegration.go +++ b/service/customerprofiles/api_op_GetIntegration.go @@ -77,6 +77,9 @@ type GetIntegrationOutput struct { // The tags used to organize, track, or control access for this resource. Tags map[string]string + // Unique identifier for the workflow. + WorkflowId *string + // Metadata pertaining to the operation's result. ResultMetadata middleware.Metadata diff --git a/service/customerprofiles/api_op_GetMatches.go b/service/customerprofiles/api_op_GetMatches.go index fd689e9f293..551db0d0b05 100644 --- a/service/customerprofiles/api_op_GetMatches.go +++ b/service/customerprofiles/api_op_GetMatches.go @@ -47,11 +47,9 @@ import ( // // * FullName // -// * BusinessName -// -// For -// example, two or more profiles—with spelling mistakes such as John Doe and Jhn -// Doe, or different casing email addresses such as JOHN_DOE@ANYCOMPANY.COM and +// For example, two or +// more profiles—with spelling mistakes such as John Doe and Jhn Doe, or different +// casing email addresses such as JOHN_DOE@ANYCOMPANY.COM and // johndoe@anycompany.com, or different phone number formats such as 555-010-0000 // and +1-555-010-0000—can be detected as belonging to the same customer John Doe // and merged into a unified profile. diff --git a/service/customerprofiles/api_op_GetWorkflow.go b/service/customerprofiles/api_op_GetWorkflow.go new file mode 100644 index 00000000000..b5ee7b29928 --- /dev/null +++ b/service/customerprofiles/api_op_GetWorkflow.go @@ -0,0 +1,148 @@ +// Code generated by smithy-go-codegen DO NOT EDIT. + +package customerprofiles + +import ( + "context" + awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" + "github.com/aws/aws-sdk-go-v2/aws/signer/v4" + "github.com/aws/aws-sdk-go-v2/service/customerprofiles/types" + "github.com/aws/smithy-go/middleware" + smithyhttp "github.com/aws/smithy-go/transport/http" + "time" +) + +// Get details of specified workflow. +func (c *Client) GetWorkflow(ctx context.Context, params *GetWorkflowInput, optFns ...func(*Options)) (*GetWorkflowOutput, error) { + if params == nil { + params = &GetWorkflowInput{} + } + + result, metadata, err := c.invokeOperation(ctx, "GetWorkflow", params, optFns, c.addOperationGetWorkflowMiddlewares) + if err != nil { + return nil, err + } + + out := result.(*GetWorkflowOutput) + out.ResultMetadata = metadata + return out, nil +} + +type GetWorkflowInput struct { + + // The unique name of the domain. + // + // This member is required. + DomainName *string + + // Unique identifier for the workflow. + // + // This member is required. + WorkflowId *string + + noSmithyDocumentSerde +} + +type GetWorkflowOutput struct { + + // Attributes provided for workflow execution. + Attributes *types.WorkflowAttributes + + // Workflow error messages during execution (if any). + ErrorDescription *string + + // The timestamp that represents when workflow execution last updated. + LastUpdatedAt *time.Time + + // Workflow specific execution metrics. + Metrics *types.WorkflowMetrics + + // The timestamp that represents when workflow execution started. + StartDate *time.Time + + // Status of workflow execution. + Status types.Status + + // Unique identifier for the workflow. + WorkflowId *string + + // The type of workflow. The only supported value is APPFLOW_INTEGRATION. + WorkflowType types.WorkflowType + + // Metadata pertaining to the operation's result. + ResultMetadata middleware.Metadata + + noSmithyDocumentSerde +} + +func (c *Client) addOperationGetWorkflowMiddlewares(stack *middleware.Stack, options Options) (err error) { + err = stack.Serialize.Add(&awsRestjson1_serializeOpGetWorkflow{}, middleware.After) + if err != nil { + return err + } + err = stack.Deserialize.Add(&awsRestjson1_deserializeOpGetWorkflow{}, middleware.After) + if err != nil { + return err + } + if err = addSetLoggerMiddleware(stack, options); err != nil { + return err + } + if err = awsmiddleware.AddClientRequestIDMiddleware(stack); err != nil { + return err + } + if err = smithyhttp.AddComputeContentLengthMiddleware(stack); err != nil { + return err + } + if err = addResolveEndpointMiddleware(stack, options); err != nil { + return err + } + if err = v4.AddComputePayloadSHA256Middleware(stack); err != nil { + return err + } + if err = addRetryMiddlewares(stack, options); err != nil { + return err + } + if err = addHTTPSignerV4Middleware(stack, options); err != nil { + return err + } + if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil { + return err + } + if err = awsmiddleware.AddRecordResponseTiming(stack); err != nil { + return err + } + if err = addClientUserAgent(stack); err != nil { + return err + } + if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil { + return err + } + if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { + return err + } + if err = addOpGetWorkflowValidationMiddleware(stack); err != nil { + return err + } + if err = stack.Initialize.Add(newServiceMetadataMiddleware_opGetWorkflow(options.Region), middleware.Before); err != nil { + return err + } + if err = addRequestIDRetrieverMiddleware(stack); err != nil { + return err + } + if err = addResponseErrorMiddleware(stack); err != nil { + return err + } + if err = addRequestResponseLogging(stack, options); err != nil { + return err + } + return nil +} + +func newServiceMetadataMiddleware_opGetWorkflow(region string) *awsmiddleware.RegisterServiceMetadata { + return &awsmiddleware.RegisterServiceMetadata{ + Region: region, + ServiceID: ServiceID, + SigningName: "profile", + OperationName: "GetWorkflow", + } +} diff --git a/service/customerprofiles/api_op_GetWorkflowSteps.go b/service/customerprofiles/api_op_GetWorkflowSteps.go new file mode 100644 index 00000000000..bdd78a0a19b --- /dev/null +++ b/service/customerprofiles/api_op_GetWorkflowSteps.go @@ -0,0 +1,142 @@ +// Code generated by smithy-go-codegen DO NOT EDIT. + +package customerprofiles + +import ( + "context" + awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" + "github.com/aws/aws-sdk-go-v2/aws/signer/v4" + "github.com/aws/aws-sdk-go-v2/service/customerprofiles/types" + "github.com/aws/smithy-go/middleware" + smithyhttp "github.com/aws/smithy-go/transport/http" +) + +// Get granular list of steps in workflow. +func (c *Client) GetWorkflowSteps(ctx context.Context, params *GetWorkflowStepsInput, optFns ...func(*Options)) (*GetWorkflowStepsOutput, error) { + if params == nil { + params = &GetWorkflowStepsInput{} + } + + result, metadata, err := c.invokeOperation(ctx, "GetWorkflowSteps", params, optFns, c.addOperationGetWorkflowStepsMiddlewares) + if err != nil { + return nil, err + } + + out := result.(*GetWorkflowStepsOutput) + out.ResultMetadata = metadata + return out, nil +} + +type GetWorkflowStepsInput struct { + + // The unique name of the domain. + // + // This member is required. + DomainName *string + + // Unique identifier for the workflow. + // + // This member is required. + WorkflowId *string + + // The maximum number of results to return per page. + MaxResults *int32 + + // The token for the next set of results. Use the value returned in the previous + // response in the next request to retrieve the next set of results. + NextToken *string + + noSmithyDocumentSerde +} + +type GetWorkflowStepsOutput struct { + + // List containing workflow step details. + Items []types.WorkflowStepItem + + // If there are additional results, this is the token for the next set of results. + NextToken *string + + // Unique identifier for the workflow. + WorkflowId *string + + // The type of workflow. The only supported value is APPFLOW_INTEGRATION. + WorkflowType types.WorkflowType + + // Metadata pertaining to the operation's result. + ResultMetadata middleware.Metadata + + noSmithyDocumentSerde +} + +func (c *Client) addOperationGetWorkflowStepsMiddlewares(stack *middleware.Stack, options Options) (err error) { + err = stack.Serialize.Add(&awsRestjson1_serializeOpGetWorkflowSteps{}, middleware.After) + if err != nil { + return err + } + err = stack.Deserialize.Add(&awsRestjson1_deserializeOpGetWorkflowSteps{}, middleware.After) + if err != nil { + return err + } + if err = addSetLoggerMiddleware(stack, options); err != nil { + return err + } + if err = awsmiddleware.AddClientRequestIDMiddleware(stack); err != nil { + return err + } + if err = smithyhttp.AddComputeContentLengthMiddleware(stack); err != nil { + return err + } + if err = addResolveEndpointMiddleware(stack, options); err != nil { + return err + } + if err = v4.AddComputePayloadSHA256Middleware(stack); err != nil { + return err + } + if err = addRetryMiddlewares(stack, options); err != nil { + return err + } + if err = addHTTPSignerV4Middleware(stack, options); err != nil { + return err + } + if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil { + return err + } + if err = awsmiddleware.AddRecordResponseTiming(stack); err != nil { + return err + } + if err = addClientUserAgent(stack); err != nil { + return err + } + if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil { + return err + } + if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { + return err + } + if err = addOpGetWorkflowStepsValidationMiddleware(stack); err != nil { + return err + } + if err = stack.Initialize.Add(newServiceMetadataMiddleware_opGetWorkflowSteps(options.Region), middleware.Before); err != nil { + return err + } + if err = addRequestIDRetrieverMiddleware(stack); err != nil { + return err + } + if err = addResponseErrorMiddleware(stack); err != nil { + return err + } + if err = addRequestResponseLogging(stack, options); err != nil { + return err + } + return nil +} + +func newServiceMetadataMiddleware_opGetWorkflowSteps(region string) *awsmiddleware.RegisterServiceMetadata { + return &awsmiddleware.RegisterServiceMetadata{ + Region: region, + ServiceID: ServiceID, + SigningName: "profile", + OperationName: "GetWorkflowSteps", + } +} diff --git a/service/customerprofiles/api_op_ListAccountIntegrations.go b/service/customerprofiles/api_op_ListAccountIntegrations.go index b7babf82985..bd932fd0b5e 100644 --- a/service/customerprofiles/api_op_ListAccountIntegrations.go +++ b/service/customerprofiles/api_op_ListAccountIntegrations.go @@ -34,6 +34,9 @@ type ListAccountIntegrationsInput struct { // This member is required. Uri *string + // Boolean to indicate if hidden integration should be returned. Defaults to False. + IncludeHidden *bool + // The maximum number of objects returned per page. MaxResults *int32 diff --git a/service/customerprofiles/api_op_ListIntegrations.go b/service/customerprofiles/api_op_ListIntegrations.go index fdf10848f96..525c532ba0d 100644 --- a/service/customerprofiles/api_op_ListIntegrations.go +++ b/service/customerprofiles/api_op_ListIntegrations.go @@ -34,6 +34,9 @@ type ListIntegrationsInput struct { // This member is required. DomainName *string + // Boolean to indicate if hidden integration should be returned. Defaults to False. + IncludeHidden *bool + // The maximum number of objects returned per page. MaxResults *int32 diff --git a/service/customerprofiles/api_op_ListWorkflows.go b/service/customerprofiles/api_op_ListWorkflows.go new file mode 100644 index 00000000000..ead978f3dc3 --- /dev/null +++ b/service/customerprofiles/api_op_ListWorkflows.go @@ -0,0 +1,144 @@ +// Code generated by smithy-go-codegen DO NOT EDIT. + +package customerprofiles + +import ( + "context" + awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" + "github.com/aws/aws-sdk-go-v2/aws/signer/v4" + "github.com/aws/aws-sdk-go-v2/service/customerprofiles/types" + "github.com/aws/smithy-go/middleware" + smithyhttp "github.com/aws/smithy-go/transport/http" + "time" +) + +// Query to list all workflows. +func (c *Client) ListWorkflows(ctx context.Context, params *ListWorkflowsInput, optFns ...func(*Options)) (*ListWorkflowsOutput, error) { + if params == nil { + params = &ListWorkflowsInput{} + } + + result, metadata, err := c.invokeOperation(ctx, "ListWorkflows", params, optFns, c.addOperationListWorkflowsMiddlewares) + if err != nil { + return nil, err + } + + out := result.(*ListWorkflowsOutput) + out.ResultMetadata = metadata + return out, nil +} + +type ListWorkflowsInput struct { + + // The unique name of the domain. + // + // This member is required. + DomainName *string + + // The maximum number of results to return per page. + MaxResults *int32 + + // The token for the next set of results. Use the value returned in the previous + // response in the next request to retrieve the next set of results. + NextToken *string + + // Retrieve workflows ended after timestamp. + QueryEndDate *time.Time + + // Retrieve workflows started after timestamp. + QueryStartDate *time.Time + + // Status of workflow execution. + Status types.Status + + // The type of workflow. The only supported value is APPFLOW_INTEGRATION. + WorkflowType types.WorkflowType + + noSmithyDocumentSerde +} + +type ListWorkflowsOutput struct { + + // List containing workflow details. + Items []types.ListWorkflowsItem + + // If there are additional results, this is the token for the next set of results. + NextToken *string + + // Metadata pertaining to the operation's result. + ResultMetadata middleware.Metadata + + noSmithyDocumentSerde +} + +func (c *Client) addOperationListWorkflowsMiddlewares(stack *middleware.Stack, options Options) (err error) { + err = stack.Serialize.Add(&awsRestjson1_serializeOpListWorkflows{}, middleware.After) + if err != nil { + return err + } + err = stack.Deserialize.Add(&awsRestjson1_deserializeOpListWorkflows{}, middleware.After) + if err != nil { + return err + } + if err = addSetLoggerMiddleware(stack, options); err != nil { + return err + } + if err = awsmiddleware.AddClientRequestIDMiddleware(stack); err != nil { + return err + } + if err = smithyhttp.AddComputeContentLengthMiddleware(stack); err != nil { + return err + } + if err = addResolveEndpointMiddleware(stack, options); err != nil { + return err + } + if err = v4.AddComputePayloadSHA256Middleware(stack); err != nil { + return err + } + if err = addRetryMiddlewares(stack, options); err != nil { + return err + } + if err = addHTTPSignerV4Middleware(stack, options); err != nil { + return err + } + if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil { + return err + } + if err = awsmiddleware.AddRecordResponseTiming(stack); err != nil { + return err + } + if err = addClientUserAgent(stack); err != nil { + return err + } + if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil { + return err + } + if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { + return err + } + if err = addOpListWorkflowsValidationMiddleware(stack); err != nil { + return err + } + if err = stack.Initialize.Add(newServiceMetadataMiddleware_opListWorkflows(options.Region), middleware.Before); err != nil { + return err + } + if err = addRequestIDRetrieverMiddleware(stack); err != nil { + return err + } + if err = addResponseErrorMiddleware(stack); err != nil { + return err + } + if err = addRequestResponseLogging(stack, options); err != nil { + return err + } + return nil +} + +func newServiceMetadataMiddleware_opListWorkflows(region string) *awsmiddleware.RegisterServiceMetadata { + return &awsmiddleware.RegisterServiceMetadata{ + Region: region, + ServiceID: ServiceID, + SigningName: "profile", + OperationName: "ListWorkflows", + } +} diff --git a/service/customerprofiles/api_op_PutIntegration.go b/service/customerprofiles/api_op_PutIntegration.go index 47453a9d666..efbfbcabc47 100644 --- a/service/customerprofiles/api_op_PutIntegration.go +++ b/service/customerprofiles/api_op_PutIntegration.go @@ -95,6 +95,9 @@ type PutIntegrationOutput struct { // The tags used to organize, track, or control access for this resource. Tags map[string]string + // Unique identifier for the workflow. + WorkflowId *string + // Metadata pertaining to the operation's result. ResultMetadata middleware.Metadata diff --git a/service/customerprofiles/deserializers.go b/service/customerprofiles/deserializers.go index 719a1505548..2ce80d197b1 100644 --- a/service/customerprofiles/deserializers.go +++ b/service/customerprofiles/deserializers.go @@ -424,6 +424,178 @@ func awsRestjson1_deserializeOpDocumentCreateDomainOutput(v **CreateDomainOutput return nil } +type awsRestjson1_deserializeOpCreateIntegrationWorkflow struct { +} + +func (*awsRestjson1_deserializeOpCreateIntegrationWorkflow) ID() string { + return "OperationDeserializer" +} + +func (m *awsRestjson1_deserializeOpCreateIntegrationWorkflow) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( + out middleware.DeserializeOutput, metadata middleware.Metadata, err error, +) { + out, metadata, err = next.HandleDeserialize(ctx, in) + if err != nil { + return out, metadata, err + } + + response, ok := out.RawResponse.(*smithyhttp.Response) + if !ok { + return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} + } + + if response.StatusCode < 200 || response.StatusCode >= 300 { + return out, metadata, awsRestjson1_deserializeOpErrorCreateIntegrationWorkflow(response, &metadata) + } + output := &CreateIntegrationWorkflowOutput{} + out.Result = output + + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + + body := io.TeeReader(response.Body, ringBuffer) + + decoder := json.NewDecoder(body) + decoder.UseNumber() + var shape interface{} + if err := decoder.Decode(&shape); err != nil && err != io.EOF { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return out, metadata, err + } + + err = awsRestjson1_deserializeOpDocumentCreateIntegrationWorkflowOutput(&output, shape) + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + return out, metadata, &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body with invalid JSON, %w", err), + Snapshot: snapshot.Bytes(), + } + } + + return out, metadata, err +} + +func awsRestjson1_deserializeOpErrorCreateIntegrationWorkflow(response *smithyhttp.Response, metadata *middleware.Metadata) error { + var errorBuffer bytes.Buffer + if _, err := io.Copy(&errorBuffer, response.Body); err != nil { + return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} + } + errorBody := bytes.NewReader(errorBuffer.Bytes()) + + errorCode := "UnknownError" + errorMessage := errorCode + + code := response.Header.Get("X-Amzn-ErrorType") + if len(code) != 0 { + errorCode = restjson.SanitizeErrorCode(code) + } + + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + + body := io.TeeReader(errorBody, ringBuffer) + decoder := json.NewDecoder(body) + decoder.UseNumber() + code, message, err := restjson.GetErrorInfo(decoder) + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return err + } + + errorBody.Seek(0, io.SeekStart) + if len(code) != 0 { + errorCode = restjson.SanitizeErrorCode(code) + } + if len(message) != 0 { + errorMessage = message + } + + switch { + case strings.EqualFold("AccessDeniedException", errorCode): + return awsRestjson1_deserializeErrorAccessDeniedException(response, errorBody) + + case strings.EqualFold("BadRequestException", errorCode): + return awsRestjson1_deserializeErrorBadRequestException(response, errorBody) + + case strings.EqualFold("InternalServerException", errorCode): + return awsRestjson1_deserializeErrorInternalServerException(response, errorBody) + + case strings.EqualFold("ResourceNotFoundException", errorCode): + return awsRestjson1_deserializeErrorResourceNotFoundException(response, errorBody) + + case strings.EqualFold("ThrottlingException", errorCode): + return awsRestjson1_deserializeErrorThrottlingException(response, errorBody) + + default: + genericError := &smithy.GenericAPIError{ + Code: errorCode, + Message: errorMessage, + } + return genericError + + } +} + +func awsRestjson1_deserializeOpDocumentCreateIntegrationWorkflowOutput(v **CreateIntegrationWorkflowOutput, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.(map[string]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var sv *CreateIntegrationWorkflowOutput + if *v == nil { + sv = &CreateIntegrationWorkflowOutput{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "Message": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected string1To255 to be of type string, got %T instead", value) + } + sv.Message = ptr.String(jtv) + } + + case "WorkflowId": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected uuid to be of type string, got %T instead", value) + } + sv.WorkflowId = ptr.String(jtv) + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + type awsRestjson1_deserializeOpCreateProfile struct { } @@ -1565,6 +1737,101 @@ func awsRestjson1_deserializeOpDocumentDeleteProfileObjectTypeOutput(v **DeleteP return nil } +type awsRestjson1_deserializeOpDeleteWorkflow struct { +} + +func (*awsRestjson1_deserializeOpDeleteWorkflow) ID() string { + return "OperationDeserializer" +} + +func (m *awsRestjson1_deserializeOpDeleteWorkflow) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( + out middleware.DeserializeOutput, metadata middleware.Metadata, err error, +) { + out, metadata, err = next.HandleDeserialize(ctx, in) + if err != nil { + return out, metadata, err + } + + response, ok := out.RawResponse.(*smithyhttp.Response) + if !ok { + return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} + } + + if response.StatusCode < 200 || response.StatusCode >= 300 { + return out, metadata, awsRestjson1_deserializeOpErrorDeleteWorkflow(response, &metadata) + } + output := &DeleteWorkflowOutput{} + out.Result = output + + return out, metadata, err +} + +func awsRestjson1_deserializeOpErrorDeleteWorkflow(response *smithyhttp.Response, metadata *middleware.Metadata) error { + var errorBuffer bytes.Buffer + if _, err := io.Copy(&errorBuffer, response.Body); err != nil { + return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} + } + errorBody := bytes.NewReader(errorBuffer.Bytes()) + + errorCode := "UnknownError" + errorMessage := errorCode + + code := response.Header.Get("X-Amzn-ErrorType") + if len(code) != 0 { + errorCode = restjson.SanitizeErrorCode(code) + } + + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + + body := io.TeeReader(errorBody, ringBuffer) + decoder := json.NewDecoder(body) + decoder.UseNumber() + code, message, err := restjson.GetErrorInfo(decoder) + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return err + } + + errorBody.Seek(0, io.SeekStart) + if len(code) != 0 { + errorCode = restjson.SanitizeErrorCode(code) + } + if len(message) != 0 { + errorMessage = message + } + + switch { + case strings.EqualFold("AccessDeniedException", errorCode): + return awsRestjson1_deserializeErrorAccessDeniedException(response, errorBody) + + case strings.EqualFold("BadRequestException", errorCode): + return awsRestjson1_deserializeErrorBadRequestException(response, errorBody) + + case strings.EqualFold("InternalServerException", errorCode): + return awsRestjson1_deserializeErrorInternalServerException(response, errorBody) + + case strings.EqualFold("ResourceNotFoundException", errorCode): + return awsRestjson1_deserializeErrorResourceNotFoundException(response, errorBody) + + case strings.EqualFold("ThrottlingException", errorCode): + return awsRestjson1_deserializeErrorThrottlingException(response, errorBody) + + default: + genericError := &smithy.GenericAPIError{ + Code: errorCode, + Message: errorMessage, + } + return genericError + + } +} + type awsRestjson1_deserializeOpGetAutoMergingPreview struct { } @@ -2491,6 +2758,15 @@ func awsRestjson1_deserializeOpDocumentGetIntegrationOutput(v **GetIntegrationOu sv.Uri = ptr.String(jtv) } + case "WorkflowId": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected string1To255 to be of type string, got %T instead", value) + } + sv.WorkflowId = ptr.String(jtv) + } + default: _, _ = key, value @@ -3174,6 +3450,424 @@ func awsRestjson1_deserializeOpDocumentGetProfileObjectTypeTemplateOutput(v **Ge return nil } +type awsRestjson1_deserializeOpGetWorkflow struct { +} + +func (*awsRestjson1_deserializeOpGetWorkflow) ID() string { + return "OperationDeserializer" +} + +func (m *awsRestjson1_deserializeOpGetWorkflow) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( + out middleware.DeserializeOutput, metadata middleware.Metadata, err error, +) { + out, metadata, err = next.HandleDeserialize(ctx, in) + if err != nil { + return out, metadata, err + } + + response, ok := out.RawResponse.(*smithyhttp.Response) + if !ok { + return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} + } + + if response.StatusCode < 200 || response.StatusCode >= 300 { + return out, metadata, awsRestjson1_deserializeOpErrorGetWorkflow(response, &metadata) + } + output := &GetWorkflowOutput{} + out.Result = output + + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + + body := io.TeeReader(response.Body, ringBuffer) + + decoder := json.NewDecoder(body) + decoder.UseNumber() + var shape interface{} + if err := decoder.Decode(&shape); err != nil && err != io.EOF { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return out, metadata, err + } + + err = awsRestjson1_deserializeOpDocumentGetWorkflowOutput(&output, shape) + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + return out, metadata, &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body with invalid JSON, %w", err), + Snapshot: snapshot.Bytes(), + } + } + + return out, metadata, err +} + +func awsRestjson1_deserializeOpErrorGetWorkflow(response *smithyhttp.Response, metadata *middleware.Metadata) error { + var errorBuffer bytes.Buffer + if _, err := io.Copy(&errorBuffer, response.Body); err != nil { + return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} + } + errorBody := bytes.NewReader(errorBuffer.Bytes()) + + errorCode := "UnknownError" + errorMessage := errorCode + + code := response.Header.Get("X-Amzn-ErrorType") + if len(code) != 0 { + errorCode = restjson.SanitizeErrorCode(code) + } + + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + + body := io.TeeReader(errorBody, ringBuffer) + decoder := json.NewDecoder(body) + decoder.UseNumber() + code, message, err := restjson.GetErrorInfo(decoder) + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return err + } + + errorBody.Seek(0, io.SeekStart) + if len(code) != 0 { + errorCode = restjson.SanitizeErrorCode(code) + } + if len(message) != 0 { + errorMessage = message + } + + switch { + case strings.EqualFold("AccessDeniedException", errorCode): + return awsRestjson1_deserializeErrorAccessDeniedException(response, errorBody) + + case strings.EqualFold("BadRequestException", errorCode): + return awsRestjson1_deserializeErrorBadRequestException(response, errorBody) + + case strings.EqualFold("InternalServerException", errorCode): + return awsRestjson1_deserializeErrorInternalServerException(response, errorBody) + + case strings.EqualFold("ResourceNotFoundException", errorCode): + return awsRestjson1_deserializeErrorResourceNotFoundException(response, errorBody) + + case strings.EqualFold("ThrottlingException", errorCode): + return awsRestjson1_deserializeErrorThrottlingException(response, errorBody) + + default: + genericError := &smithy.GenericAPIError{ + Code: errorCode, + Message: errorMessage, + } + return genericError + + } +} + +func awsRestjson1_deserializeOpDocumentGetWorkflowOutput(v **GetWorkflowOutput, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.(map[string]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var sv *GetWorkflowOutput + if *v == nil { + sv = &GetWorkflowOutput{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "Attributes": + if err := awsRestjson1_deserializeDocumentWorkflowAttributes(&sv.Attributes, value); err != nil { + return err + } + + case "ErrorDescription": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected string1To255 to be of type string, got %T instead", value) + } + sv.ErrorDescription = ptr.String(jtv) + } + + case "LastUpdatedAt": + if value != nil { + switch jtv := value.(type) { + case json.Number: + f64, err := jtv.Float64() + if err != nil { + return err + } + sv.LastUpdatedAt = ptr.Time(smithytime.ParseEpochSeconds(f64)) + + default: + return fmt.Errorf("expected timestamp to be a JSON Number, got %T instead", value) + + } + } + + case "Metrics": + if err := awsRestjson1_deserializeDocumentWorkflowMetrics(&sv.Metrics, value); err != nil { + return err + } + + case "StartDate": + if value != nil { + switch jtv := value.(type) { + case json.Number: + f64, err := jtv.Float64() + if err != nil { + return err + } + sv.StartDate = ptr.Time(smithytime.ParseEpochSeconds(f64)) + + default: + return fmt.Errorf("expected timestamp to be a JSON Number, got %T instead", value) + + } + } + + case "Status": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected Status to be of type string, got %T instead", value) + } + sv.Status = types.Status(jtv) + } + + case "WorkflowId": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected uuid to be of type string, got %T instead", value) + } + sv.WorkflowId = ptr.String(jtv) + } + + case "WorkflowType": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected WorkflowType to be of type string, got %T instead", value) + } + sv.WorkflowType = types.WorkflowType(jtv) + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + +type awsRestjson1_deserializeOpGetWorkflowSteps struct { +} + +func (*awsRestjson1_deserializeOpGetWorkflowSteps) ID() string { + return "OperationDeserializer" +} + +func (m *awsRestjson1_deserializeOpGetWorkflowSteps) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( + out middleware.DeserializeOutput, metadata middleware.Metadata, err error, +) { + out, metadata, err = next.HandleDeserialize(ctx, in) + if err != nil { + return out, metadata, err + } + + response, ok := out.RawResponse.(*smithyhttp.Response) + if !ok { + return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} + } + + if response.StatusCode < 200 || response.StatusCode >= 300 { + return out, metadata, awsRestjson1_deserializeOpErrorGetWorkflowSteps(response, &metadata) + } + output := &GetWorkflowStepsOutput{} + out.Result = output + + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + + body := io.TeeReader(response.Body, ringBuffer) + + decoder := json.NewDecoder(body) + decoder.UseNumber() + var shape interface{} + if err := decoder.Decode(&shape); err != nil && err != io.EOF { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return out, metadata, err + } + + err = awsRestjson1_deserializeOpDocumentGetWorkflowStepsOutput(&output, shape) + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + return out, metadata, &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body with invalid JSON, %w", err), + Snapshot: snapshot.Bytes(), + } + } + + return out, metadata, err +} + +func awsRestjson1_deserializeOpErrorGetWorkflowSteps(response *smithyhttp.Response, metadata *middleware.Metadata) error { + var errorBuffer bytes.Buffer + if _, err := io.Copy(&errorBuffer, response.Body); err != nil { + return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} + } + errorBody := bytes.NewReader(errorBuffer.Bytes()) + + errorCode := "UnknownError" + errorMessage := errorCode + + code := response.Header.Get("X-Amzn-ErrorType") + if len(code) != 0 { + errorCode = restjson.SanitizeErrorCode(code) + } + + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + + body := io.TeeReader(errorBody, ringBuffer) + decoder := json.NewDecoder(body) + decoder.UseNumber() + code, message, err := restjson.GetErrorInfo(decoder) + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return err + } + + errorBody.Seek(0, io.SeekStart) + if len(code) != 0 { + errorCode = restjson.SanitizeErrorCode(code) + } + if len(message) != 0 { + errorMessage = message + } + + switch { + case strings.EqualFold("AccessDeniedException", errorCode): + return awsRestjson1_deserializeErrorAccessDeniedException(response, errorBody) + + case strings.EqualFold("BadRequestException", errorCode): + return awsRestjson1_deserializeErrorBadRequestException(response, errorBody) + + case strings.EqualFold("InternalServerException", errorCode): + return awsRestjson1_deserializeErrorInternalServerException(response, errorBody) + + case strings.EqualFold("ResourceNotFoundException", errorCode): + return awsRestjson1_deserializeErrorResourceNotFoundException(response, errorBody) + + case strings.EqualFold("ThrottlingException", errorCode): + return awsRestjson1_deserializeErrorThrottlingException(response, errorBody) + + default: + genericError := &smithy.GenericAPIError{ + Code: errorCode, + Message: errorMessage, + } + return genericError + + } +} + +func awsRestjson1_deserializeOpDocumentGetWorkflowStepsOutput(v **GetWorkflowStepsOutput, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.(map[string]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var sv *GetWorkflowStepsOutput + if *v == nil { + sv = &GetWorkflowStepsOutput{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "Items": + if err := awsRestjson1_deserializeDocumentWorkflowStepsList(&sv.Items, value); err != nil { + return err + } + + case "NextToken": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected token to be of type string, got %T instead", value) + } + sv.NextToken = ptr.String(jtv) + } + + case "WorkflowId": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected uuid to be of type string, got %T instead", value) + } + sv.WorkflowId = ptr.String(jtv) + } + + case "WorkflowType": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected WorkflowType to be of type string, got %T instead", value) + } + sv.WorkflowType = types.WorkflowType(jtv) + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + type awsRestjson1_deserializeOpListAccountIntegrations struct { } @@ -4332,15 +5026,168 @@ func awsRestjson1_deserializeOpDocumentListProfileObjectTypeTemplatesOutput(v ** return err } - case "NextToken": - if value != nil { - jtv, ok := value.(string) - if !ok { - return fmt.Errorf("expected token to be of type string, got %T instead", value) - } - sv.NextToken = ptr.String(jtv) - } - + case "NextToken": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected token to be of type string, got %T instead", value) + } + sv.NextToken = ptr.String(jtv) + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + +type awsRestjson1_deserializeOpListTagsForResource struct { +} + +func (*awsRestjson1_deserializeOpListTagsForResource) ID() string { + return "OperationDeserializer" +} + +func (m *awsRestjson1_deserializeOpListTagsForResource) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( + out middleware.DeserializeOutput, metadata middleware.Metadata, err error, +) { + out, metadata, err = next.HandleDeserialize(ctx, in) + if err != nil { + return out, metadata, err + } + + response, ok := out.RawResponse.(*smithyhttp.Response) + if !ok { + return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} + } + + if response.StatusCode < 200 || response.StatusCode >= 300 { + return out, metadata, awsRestjson1_deserializeOpErrorListTagsForResource(response, &metadata) + } + output := &ListTagsForResourceOutput{} + out.Result = output + + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + + body := io.TeeReader(response.Body, ringBuffer) + + decoder := json.NewDecoder(body) + decoder.UseNumber() + var shape interface{} + if err := decoder.Decode(&shape); err != nil && err != io.EOF { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return out, metadata, err + } + + err = awsRestjson1_deserializeOpDocumentListTagsForResourceOutput(&output, shape) + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + return out, metadata, &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body with invalid JSON, %w", err), + Snapshot: snapshot.Bytes(), + } + } + + return out, metadata, err +} + +func awsRestjson1_deserializeOpErrorListTagsForResource(response *smithyhttp.Response, metadata *middleware.Metadata) error { + var errorBuffer bytes.Buffer + if _, err := io.Copy(&errorBuffer, response.Body); err != nil { + return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} + } + errorBody := bytes.NewReader(errorBuffer.Bytes()) + + errorCode := "UnknownError" + errorMessage := errorCode + + code := response.Header.Get("X-Amzn-ErrorType") + if len(code) != 0 { + errorCode = restjson.SanitizeErrorCode(code) + } + + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + + body := io.TeeReader(errorBody, ringBuffer) + decoder := json.NewDecoder(body) + decoder.UseNumber() + code, message, err := restjson.GetErrorInfo(decoder) + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return err + } + + errorBody.Seek(0, io.SeekStart) + if len(code) != 0 { + errorCode = restjson.SanitizeErrorCode(code) + } + if len(message) != 0 { + errorMessage = message + } + + switch { + case strings.EqualFold("BadRequestException", errorCode): + return awsRestjson1_deserializeErrorBadRequestException(response, errorBody) + + case strings.EqualFold("InternalServerException", errorCode): + return awsRestjson1_deserializeErrorInternalServerException(response, errorBody) + + case strings.EqualFold("ResourceNotFoundException", errorCode): + return awsRestjson1_deserializeErrorResourceNotFoundException(response, errorBody) + + default: + genericError := &smithy.GenericAPIError{ + Code: errorCode, + Message: errorMessage, + } + return genericError + + } +} + +func awsRestjson1_deserializeOpDocumentListTagsForResourceOutput(v **ListTagsForResourceOutput, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.(map[string]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var sv *ListTagsForResourceOutput + if *v == nil { + sv = &ListTagsForResourceOutput{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "tags": + if err := awsRestjson1_deserializeDocumentTagMap(&sv.Tags, value); err != nil { + return err + } + default: _, _ = key, value @@ -4350,14 +5197,14 @@ func awsRestjson1_deserializeOpDocumentListProfileObjectTypeTemplatesOutput(v ** return nil } -type awsRestjson1_deserializeOpListTagsForResource struct { +type awsRestjson1_deserializeOpListWorkflows struct { } -func (*awsRestjson1_deserializeOpListTagsForResource) ID() string { +func (*awsRestjson1_deserializeOpListWorkflows) ID() string { return "OperationDeserializer" } -func (m *awsRestjson1_deserializeOpListTagsForResource) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsRestjson1_deserializeOpListWorkflows) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -4371,9 +5218,9 @@ func (m *awsRestjson1_deserializeOpListTagsForResource) HandleDeserialize(ctx co } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsRestjson1_deserializeOpErrorListTagsForResource(response, &metadata) + return out, metadata, awsRestjson1_deserializeOpErrorListWorkflows(response, &metadata) } - output := &ListTagsForResourceOutput{} + output := &ListWorkflowsOutput{} out.Result = output var buff [1024]byte @@ -4394,7 +5241,7 @@ func (m *awsRestjson1_deserializeOpListTagsForResource) HandleDeserialize(ctx co return out, metadata, err } - err = awsRestjson1_deserializeOpDocumentListTagsForResourceOutput(&output, shape) + err = awsRestjson1_deserializeOpDocumentListWorkflowsOutput(&output, shape) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -4407,7 +5254,7 @@ func (m *awsRestjson1_deserializeOpListTagsForResource) HandleDeserialize(ctx co return out, metadata, err } -func awsRestjson1_deserializeOpErrorListTagsForResource(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsRestjson1_deserializeOpErrorListWorkflows(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -4448,6 +5295,9 @@ func awsRestjson1_deserializeOpErrorListTagsForResource(response *smithyhttp.Res } switch { + case strings.EqualFold("AccessDeniedException", errorCode): + return awsRestjson1_deserializeErrorAccessDeniedException(response, errorBody) + case strings.EqualFold("BadRequestException", errorCode): return awsRestjson1_deserializeErrorBadRequestException(response, errorBody) @@ -4457,6 +5307,9 @@ func awsRestjson1_deserializeOpErrorListTagsForResource(response *smithyhttp.Res case strings.EqualFold("ResourceNotFoundException", errorCode): return awsRestjson1_deserializeErrorResourceNotFoundException(response, errorBody) + case strings.EqualFold("ThrottlingException", errorCode): + return awsRestjson1_deserializeErrorThrottlingException(response, errorBody) + default: genericError := &smithy.GenericAPIError{ Code: errorCode, @@ -4467,7 +5320,7 @@ func awsRestjson1_deserializeOpErrorListTagsForResource(response *smithyhttp.Res } } -func awsRestjson1_deserializeOpDocumentListTagsForResourceOutput(v **ListTagsForResourceOutput, value interface{}) error { +func awsRestjson1_deserializeOpDocumentListWorkflowsOutput(v **ListWorkflowsOutput, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) } @@ -4480,20 +5333,29 @@ func awsRestjson1_deserializeOpDocumentListTagsForResourceOutput(v **ListTagsFor return fmt.Errorf("unexpected JSON type %v", value) } - var sv *ListTagsForResourceOutput + var sv *ListWorkflowsOutput if *v == nil { - sv = &ListTagsForResourceOutput{} + sv = &ListWorkflowsOutput{} } else { sv = *v } for key, value := range shape { switch key { - case "tags": - if err := awsRestjson1_deserializeDocumentTagMap(&sv.Tags, value); err != nil { + case "Items": + if err := awsRestjson1_deserializeDocumentWorkflowList(&sv.Items, value); err != nil { return err } + case "NextToken": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected token to be of type string, got %T instead", value) + } + sv.NextToken = ptr.String(jtv) + } + default: _, _ = key, value @@ -4877,6 +5739,15 @@ func awsRestjson1_deserializeOpDocumentPutIntegrationOutput(v **PutIntegrationOu sv.Uri = ptr.String(jtv) } + case "WorkflowId": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected string1To255 to be of type string, got %T instead", value) + } + sv.WorkflowId = ptr.String(jtv) + } + default: _, _ = key, value @@ -6380,18 +7251,267 @@ func awsRestjson1_deserializeDocumentAddress(v **types.Address, value interface{ if value != nil { jtv, ok := value.(string) if !ok { - return fmt.Errorf("expected string1To255 to be of type string, got %T instead", value) + return fmt.Errorf("expected string1To255 to be of type string, got %T instead", value) + } + sv.Province = ptr.String(jtv) + } + + case "State": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected string1To255 to be of type string, got %T instead", value) + } + sv.State = ptr.String(jtv) + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + +func awsRestjson1_deserializeDocumentAppflowIntegrationWorkflowAttributes(v **types.AppflowIntegrationWorkflowAttributes, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.(map[string]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var sv *types.AppflowIntegrationWorkflowAttributes + if *v == nil { + sv = &types.AppflowIntegrationWorkflowAttributes{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "ConnectorProfileName": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected ConnectorProfileName to be of type string, got %T instead", value) + } + sv.ConnectorProfileName = ptr.String(jtv) + } + + case "RoleArn": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected string1To255 to be of type string, got %T instead", value) + } + sv.RoleArn = ptr.String(jtv) + } + + case "SourceConnectorType": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected SourceConnectorType to be of type string, got %T instead", value) + } + sv.SourceConnectorType = types.SourceConnectorType(jtv) + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + +func awsRestjson1_deserializeDocumentAppflowIntegrationWorkflowMetrics(v **types.AppflowIntegrationWorkflowMetrics, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.(map[string]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var sv *types.AppflowIntegrationWorkflowMetrics + if *v == nil { + sv = &types.AppflowIntegrationWorkflowMetrics{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "RecordsProcessed": + if value != nil { + jtv, ok := value.(json.Number) + if !ok { + return fmt.Errorf("expected long to be json.Number, got %T instead", value) + } + i64, err := jtv.Int64() + if err != nil { + return err + } + sv.RecordsProcessed = i64 + } + + case "StepsCompleted": + if value != nil { + jtv, ok := value.(json.Number) + if !ok { + return fmt.Errorf("expected long to be json.Number, got %T instead", value) + } + i64, err := jtv.Int64() + if err != nil { + return err + } + sv.StepsCompleted = i64 + } + + case "TotalSteps": + if value != nil { + jtv, ok := value.(json.Number) + if !ok { + return fmt.Errorf("expected long to be json.Number, got %T instead", value) + } + i64, err := jtv.Int64() + if err != nil { + return err + } + sv.TotalSteps = i64 + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + +func awsRestjson1_deserializeDocumentAppflowIntegrationWorkflowStep(v **types.AppflowIntegrationWorkflowStep, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.(map[string]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var sv *types.AppflowIntegrationWorkflowStep + if *v == nil { + sv = &types.AppflowIntegrationWorkflowStep{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "BatchRecordsEndTime": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected string1To255 to be of type string, got %T instead", value) + } + sv.BatchRecordsEndTime = ptr.String(jtv) + } + + case "BatchRecordsStartTime": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected string1To255 to be of type string, got %T instead", value) + } + sv.BatchRecordsStartTime = ptr.String(jtv) + } + + case "CreatedAt": + if value != nil { + switch jtv := value.(type) { + case json.Number: + f64, err := jtv.Float64() + if err != nil { + return err + } + sv.CreatedAt = ptr.Time(smithytime.ParseEpochSeconds(f64)) + + default: + return fmt.Errorf("expected timestamp to be a JSON Number, got %T instead", value) + + } + } + + case "ExecutionMessage": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected string1To255 to be of type string, got %T instead", value) + } + sv.ExecutionMessage = ptr.String(jtv) + } + + case "FlowName": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected FlowName to be of type string, got %T instead", value) + } + sv.FlowName = ptr.String(jtv) + } + + case "LastUpdatedAt": + if value != nil { + switch jtv := value.(type) { + case json.Number: + f64, err := jtv.Float64() + if err != nil { + return err + } + sv.LastUpdatedAt = ptr.Time(smithytime.ParseEpochSeconds(f64)) + + default: + return fmt.Errorf("expected timestamp to be a JSON Number, got %T instead", value) + + } + } + + case "RecordsProcessed": + if value != nil { + jtv, ok := value.(json.Number) + if !ok { + return fmt.Errorf("expected long to be json.Number, got %T instead", value) } - sv.Province = ptr.String(jtv) + i64, err := jtv.Int64() + if err != nil { + return err + } + sv.RecordsProcessed = i64 } - case "State": + case "Status": if value != nil { jtv, ok := value.(string) if !ok { - return fmt.Errorf("expected string1To255 to be of type string, got %T instead", value) + return fmt.Errorf("expected Status to be of type string, got %T instead", value) } - sv.State = ptr.String(jtv) + sv.Status = types.Status(jtv) } default: @@ -7412,6 +8532,15 @@ func awsRestjson1_deserializeDocumentListIntegrationItem(v **types.ListIntegrati sv.Uri = ptr.String(jtv) } + case "WorkflowId": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected string1To255 to be of type string, got %T instead", value) + } + sv.WorkflowId = ptr.String(jtv) + } + default: _, _ = key, value @@ -7623,6 +8752,105 @@ func awsRestjson1_deserializeDocumentListProfileObjectTypeTemplateItem(v **types return nil } +func awsRestjson1_deserializeDocumentListWorkflowsItem(v **types.ListWorkflowsItem, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.(map[string]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var sv *types.ListWorkflowsItem + if *v == nil { + sv = &types.ListWorkflowsItem{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "CreatedAt": + if value != nil { + switch jtv := value.(type) { + case json.Number: + f64, err := jtv.Float64() + if err != nil { + return err + } + sv.CreatedAt = ptr.Time(smithytime.ParseEpochSeconds(f64)) + + default: + return fmt.Errorf("expected timestamp to be a JSON Number, got %T instead", value) + + } + } + + case "LastUpdatedAt": + if value != nil { + switch jtv := value.(type) { + case json.Number: + f64, err := jtv.Float64() + if err != nil { + return err + } + sv.LastUpdatedAt = ptr.Time(smithytime.ParseEpochSeconds(f64)) + + default: + return fmt.Errorf("expected timestamp to be a JSON Number, got %T instead", value) + + } + } + + case "Status": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected Status to be of type string, got %T instead", value) + } + sv.Status = types.Status(jtv) + } + + case "StatusDescription": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected string1To255 to be of type string, got %T instead", value) + } + sv.StatusDescription = ptr.String(jtv) + } + + case "WorkflowId": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected string1To255 to be of type string, got %T instead", value) + } + sv.WorkflowId = ptr.String(jtv) + } + + case "WorkflowType": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected WorkflowType to be of type string, got %T instead", value) + } + sv.WorkflowType = types.WorkflowType(jtv) + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + func awsRestjson1_deserializeDocumentMatchesList(v *[]types.MatchItem, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) @@ -8694,3 +9922,179 @@ func awsRestjson1_deserializeDocumentThrottlingException(v **types.ThrottlingExc *v = sv return nil } + +func awsRestjson1_deserializeDocumentWorkflowAttributes(v **types.WorkflowAttributes, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.(map[string]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var sv *types.WorkflowAttributes + if *v == nil { + sv = &types.WorkflowAttributes{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "AppflowIntegration": + if err := awsRestjson1_deserializeDocumentAppflowIntegrationWorkflowAttributes(&sv.AppflowIntegration, value); err != nil { + return err + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + +func awsRestjson1_deserializeDocumentWorkflowList(v *[]types.ListWorkflowsItem, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.([]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var cv []types.ListWorkflowsItem + if *v == nil { + cv = []types.ListWorkflowsItem{} + } else { + cv = *v + } + + for _, value := range shape { + var col types.ListWorkflowsItem + destAddr := &col + if err := awsRestjson1_deserializeDocumentListWorkflowsItem(&destAddr, value); err != nil { + return err + } + col = *destAddr + cv = append(cv, col) + + } + *v = cv + return nil +} + +func awsRestjson1_deserializeDocumentWorkflowMetrics(v **types.WorkflowMetrics, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.(map[string]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var sv *types.WorkflowMetrics + if *v == nil { + sv = &types.WorkflowMetrics{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "AppflowIntegration": + if err := awsRestjson1_deserializeDocumentAppflowIntegrationWorkflowMetrics(&sv.AppflowIntegration, value); err != nil { + return err + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + +func awsRestjson1_deserializeDocumentWorkflowStepItem(v **types.WorkflowStepItem, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.(map[string]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var sv *types.WorkflowStepItem + if *v == nil { + sv = &types.WorkflowStepItem{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "AppflowIntegration": + if err := awsRestjson1_deserializeDocumentAppflowIntegrationWorkflowStep(&sv.AppflowIntegration, value); err != nil { + return err + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + +func awsRestjson1_deserializeDocumentWorkflowStepsList(v *[]types.WorkflowStepItem, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.([]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var cv []types.WorkflowStepItem + if *v == nil { + cv = []types.WorkflowStepItem{} + } else { + cv = *v + } + + for _, value := range shape { + var col types.WorkflowStepItem + destAddr := &col + if err := awsRestjson1_deserializeDocumentWorkflowStepItem(&destAddr, value); err != nil { + return err + } + col = *destAddr + cv = append(cv, col) + + } + *v = cv + return nil +} diff --git a/service/customerprofiles/generated.json b/service/customerprofiles/generated.json index 6bfd0fa089c..0bee0aa0635 100644 --- a/service/customerprofiles/generated.json +++ b/service/customerprofiles/generated.json @@ -10,6 +10,7 @@ "api_client_test.go", "api_op_AddProfileKey.go", "api_op_CreateDomain.go", + "api_op_CreateIntegrationWorkflow.go", "api_op_CreateProfile.go", "api_op_DeleteDomain.go", "api_op_DeleteIntegration.go", @@ -17,6 +18,7 @@ "api_op_DeleteProfileKey.go", "api_op_DeleteProfileObject.go", "api_op_DeleteProfileObjectType.go", + "api_op_DeleteWorkflow.go", "api_op_GetAutoMergingPreview.go", "api_op_GetDomain.go", "api_op_GetIdentityResolutionJob.go", @@ -24,6 +26,8 @@ "api_op_GetMatches.go", "api_op_GetProfileObjectType.go", "api_op_GetProfileObjectTypeTemplate.go", + "api_op_GetWorkflow.go", + "api_op_GetWorkflowSteps.go", "api_op_ListAccountIntegrations.go", "api_op_ListDomains.go", "api_op_ListIdentityResolutionJobs.go", @@ -32,6 +36,7 @@ "api_op_ListProfileObjectTypes.go", "api_op_ListProfileObjects.go", "api_op_ListTagsForResource.go", + "api_op_ListWorkflows.go", "api_op_MergeProfiles.go", "api_op_PutIntegration.go", "api_op_PutProfileObject.go", diff --git a/service/customerprofiles/serializers.go b/service/customerprofiles/serializers.go index 19c6082ca4c..1a6bf48d617 100644 --- a/service/customerprofiles/serializers.go +++ b/service/customerprofiles/serializers.go @@ -213,6 +213,111 @@ func awsRestjson1_serializeOpDocumentCreateDomainInput(v *CreateDomainInput, val return nil } +type awsRestjson1_serializeOpCreateIntegrationWorkflow struct { +} + +func (*awsRestjson1_serializeOpCreateIntegrationWorkflow) ID() string { + return "OperationSerializer" +} + +func (m *awsRestjson1_serializeOpCreateIntegrationWorkflow) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( + out middleware.SerializeOutput, metadata middleware.Metadata, err error, +) { + request, ok := in.Request.(*smithyhttp.Request) + if !ok { + return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} + } + + input, ok := in.Parameters.(*CreateIntegrationWorkflowInput) + _ = input + if !ok { + return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} + } + + opPath, opQuery := httpbinding.SplitURI("/domains/{DomainName}/workflows/integrations") + request.URL.Path = smithyhttp.JoinPath(request.URL.Path, opPath) + request.URL.RawQuery = smithyhttp.JoinRawQuery(request.URL.RawQuery, opQuery) + request.Method = "POST" + restEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header) + if err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + if err := awsRestjson1_serializeOpHttpBindingsCreateIntegrationWorkflowInput(input, restEncoder); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + restEncoder.SetHeader("Content-Type").String("application/json") + + jsonEncoder := smithyjson.NewEncoder() + if err := awsRestjson1_serializeOpDocumentCreateIntegrationWorkflowInput(input, jsonEncoder.Value); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + if request, err = request.SetStream(bytes.NewReader(jsonEncoder.Bytes())); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + if request.Request, err = restEncoder.Encode(request.Request); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + in.Request = request + + return next.HandleSerialize(ctx, in) +} +func awsRestjson1_serializeOpHttpBindingsCreateIntegrationWorkflowInput(v *CreateIntegrationWorkflowInput, encoder *httpbinding.Encoder) error { + if v == nil { + return fmt.Errorf("unsupported serialization of nil %T", v) + } + + if v.DomainName == nil || len(*v.DomainName) == 0 { + return &smithy.SerializationError{Err: fmt.Errorf("input member DomainName must not be empty")} + } + if v.DomainName != nil { + if err := encoder.SetURI("DomainName").String(*v.DomainName); err != nil { + return err + } + } + + return nil +} + +func awsRestjson1_serializeOpDocumentCreateIntegrationWorkflowInput(v *CreateIntegrationWorkflowInput, value smithyjson.Value) error { + object := value.Object() + defer object.Close() + + if v.IntegrationConfig != nil { + ok := object.Key("IntegrationConfig") + if err := awsRestjson1_serializeDocumentIntegrationConfig(v.IntegrationConfig, ok); err != nil { + return err + } + } + + if v.ObjectTypeName != nil { + ok := object.Key("ObjectTypeName") + ok.String(*v.ObjectTypeName) + } + + if v.RoleArn != nil { + ok := object.Key("RoleArn") + ok.String(*v.RoleArn) + } + + if v.Tags != nil { + ok := object.Key("Tags") + if err := awsRestjson1_serializeDocumentTagMap(v.Tags, ok); err != nil { + return err + } + } + + if len(v.WorkflowType) > 0 { + ok := object.Key("WorkflowType") + ok.String(string(v.WorkflowType)) + } + + return nil +} + type awsRestjson1_serializeOpCreateProfile struct { } @@ -875,6 +980,73 @@ func awsRestjson1_serializeOpHttpBindingsDeleteProfileObjectTypeInput(v *DeleteP return nil } +type awsRestjson1_serializeOpDeleteWorkflow struct { +} + +func (*awsRestjson1_serializeOpDeleteWorkflow) ID() string { + return "OperationSerializer" +} + +func (m *awsRestjson1_serializeOpDeleteWorkflow) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( + out middleware.SerializeOutput, metadata middleware.Metadata, err error, +) { + request, ok := in.Request.(*smithyhttp.Request) + if !ok { + return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} + } + + input, ok := in.Parameters.(*DeleteWorkflowInput) + _ = input + if !ok { + return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} + } + + opPath, opQuery := httpbinding.SplitURI("/domains/{DomainName}/workflows/{WorkflowId}") + request.URL.Path = smithyhttp.JoinPath(request.URL.Path, opPath) + request.URL.RawQuery = smithyhttp.JoinRawQuery(request.URL.RawQuery, opQuery) + request.Method = "DELETE" + restEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header) + if err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + if err := awsRestjson1_serializeOpHttpBindingsDeleteWorkflowInput(input, restEncoder); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + if request.Request, err = restEncoder.Encode(request.Request); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + in.Request = request + + return next.HandleSerialize(ctx, in) +} +func awsRestjson1_serializeOpHttpBindingsDeleteWorkflowInput(v *DeleteWorkflowInput, encoder *httpbinding.Encoder) error { + if v == nil { + return fmt.Errorf("unsupported serialization of nil %T", v) + } + + if v.DomainName == nil || len(*v.DomainName) == 0 { + return &smithy.SerializationError{Err: fmt.Errorf("input member DomainName must not be empty")} + } + if v.DomainName != nil { + if err := encoder.SetURI("DomainName").String(*v.DomainName); err != nil { + return err + } + } + + if v.WorkflowId == nil || len(*v.WorkflowId) == 0 { + return &smithy.SerializationError{Err: fmt.Errorf("input member WorkflowId must not be empty")} + } + if v.WorkflowId != nil { + if err := encoder.SetURI("WorkflowId").String(*v.WorkflowId); err != nil { + return err + } + } + + return nil +} + type awsRestjson1_serializeOpGetAutoMergingPreview struct { } @@ -1362,6 +1534,148 @@ func awsRestjson1_serializeOpHttpBindingsGetProfileObjectTypeTemplateInput(v *Ge return nil } +type awsRestjson1_serializeOpGetWorkflow struct { +} + +func (*awsRestjson1_serializeOpGetWorkflow) ID() string { + return "OperationSerializer" +} + +func (m *awsRestjson1_serializeOpGetWorkflow) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( + out middleware.SerializeOutput, metadata middleware.Metadata, err error, +) { + request, ok := in.Request.(*smithyhttp.Request) + if !ok { + return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} + } + + input, ok := in.Parameters.(*GetWorkflowInput) + _ = input + if !ok { + return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} + } + + opPath, opQuery := httpbinding.SplitURI("/domains/{DomainName}/workflows/{WorkflowId}") + request.URL.Path = smithyhttp.JoinPath(request.URL.Path, opPath) + request.URL.RawQuery = smithyhttp.JoinRawQuery(request.URL.RawQuery, opQuery) + request.Method = "GET" + restEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header) + if err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + if err := awsRestjson1_serializeOpHttpBindingsGetWorkflowInput(input, restEncoder); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + if request.Request, err = restEncoder.Encode(request.Request); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + in.Request = request + + return next.HandleSerialize(ctx, in) +} +func awsRestjson1_serializeOpHttpBindingsGetWorkflowInput(v *GetWorkflowInput, encoder *httpbinding.Encoder) error { + if v == nil { + return fmt.Errorf("unsupported serialization of nil %T", v) + } + + if v.DomainName == nil || len(*v.DomainName) == 0 { + return &smithy.SerializationError{Err: fmt.Errorf("input member DomainName must not be empty")} + } + if v.DomainName != nil { + if err := encoder.SetURI("DomainName").String(*v.DomainName); err != nil { + return err + } + } + + if v.WorkflowId == nil || len(*v.WorkflowId) == 0 { + return &smithy.SerializationError{Err: fmt.Errorf("input member WorkflowId must not be empty")} + } + if v.WorkflowId != nil { + if err := encoder.SetURI("WorkflowId").String(*v.WorkflowId); err != nil { + return err + } + } + + return nil +} + +type awsRestjson1_serializeOpGetWorkflowSteps struct { +} + +func (*awsRestjson1_serializeOpGetWorkflowSteps) ID() string { + return "OperationSerializer" +} + +func (m *awsRestjson1_serializeOpGetWorkflowSteps) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( + out middleware.SerializeOutput, metadata middleware.Metadata, err error, +) { + request, ok := in.Request.(*smithyhttp.Request) + if !ok { + return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} + } + + input, ok := in.Parameters.(*GetWorkflowStepsInput) + _ = input + if !ok { + return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} + } + + opPath, opQuery := httpbinding.SplitURI("/domains/{DomainName}/workflows/{WorkflowId}/steps") + request.URL.Path = smithyhttp.JoinPath(request.URL.Path, opPath) + request.URL.RawQuery = smithyhttp.JoinRawQuery(request.URL.RawQuery, opQuery) + request.Method = "GET" + restEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header) + if err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + if err := awsRestjson1_serializeOpHttpBindingsGetWorkflowStepsInput(input, restEncoder); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + if request.Request, err = restEncoder.Encode(request.Request); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + in.Request = request + + return next.HandleSerialize(ctx, in) +} +func awsRestjson1_serializeOpHttpBindingsGetWorkflowStepsInput(v *GetWorkflowStepsInput, encoder *httpbinding.Encoder) error { + if v == nil { + return fmt.Errorf("unsupported serialization of nil %T", v) + } + + if v.DomainName == nil || len(*v.DomainName) == 0 { + return &smithy.SerializationError{Err: fmt.Errorf("input member DomainName must not be empty")} + } + if v.DomainName != nil { + if err := encoder.SetURI("DomainName").String(*v.DomainName); err != nil { + return err + } + } + + if v.MaxResults != nil { + encoder.SetQuery("max-results").Integer(*v.MaxResults) + } + + if v.NextToken != nil { + encoder.SetQuery("next-token").String(*v.NextToken) + } + + if v.WorkflowId == nil || len(*v.WorkflowId) == 0 { + return &smithy.SerializationError{Err: fmt.Errorf("input member WorkflowId must not be empty")} + } + if v.WorkflowId != nil { + if err := encoder.SetURI("WorkflowId").String(*v.WorkflowId); err != nil { + return err + } + } + + return nil +} + type awsRestjson1_serializeOpListAccountIntegrations struct { } @@ -1419,6 +1733,10 @@ func awsRestjson1_serializeOpHttpBindingsListAccountIntegrationsInput(v *ListAcc return fmt.Errorf("unsupported serialization of nil %T", v) } + if v.IncludeHidden != nil { + encoder.SetQuery("include-hidden").Boolean(*v.IncludeHidden) + } + if v.MaxResults != nil { encoder.SetQuery("max-results").Integer(*v.MaxResults) } @@ -1620,6 +1938,10 @@ func awsRestjson1_serializeOpHttpBindingsListIntegrationsInput(v *ListIntegratio } } + if v.IncludeHidden != nil { + encoder.SetQuery("include-hidden").Boolean(*v.IncludeHidden) + } + if v.MaxResults != nil { encoder.SetQuery("max-results").Integer(*v.MaxResults) } @@ -1913,6 +2235,110 @@ func awsRestjson1_serializeOpHttpBindingsListTagsForResourceInput(v *ListTagsFor return nil } +type awsRestjson1_serializeOpListWorkflows struct { +} + +func (*awsRestjson1_serializeOpListWorkflows) ID() string { + return "OperationSerializer" +} + +func (m *awsRestjson1_serializeOpListWorkflows) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( + out middleware.SerializeOutput, metadata middleware.Metadata, err error, +) { + request, ok := in.Request.(*smithyhttp.Request) + if !ok { + return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} + } + + input, ok := in.Parameters.(*ListWorkflowsInput) + _ = input + if !ok { + return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} + } + + opPath, opQuery := httpbinding.SplitURI("/domains/{DomainName}/workflows") + request.URL.Path = smithyhttp.JoinPath(request.URL.Path, opPath) + request.URL.RawQuery = smithyhttp.JoinRawQuery(request.URL.RawQuery, opQuery) + request.Method = "POST" + restEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header) + if err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + if err := awsRestjson1_serializeOpHttpBindingsListWorkflowsInput(input, restEncoder); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + restEncoder.SetHeader("Content-Type").String("application/json") + + jsonEncoder := smithyjson.NewEncoder() + if err := awsRestjson1_serializeOpDocumentListWorkflowsInput(input, jsonEncoder.Value); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + if request, err = request.SetStream(bytes.NewReader(jsonEncoder.Bytes())); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + if request.Request, err = restEncoder.Encode(request.Request); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + in.Request = request + + return next.HandleSerialize(ctx, in) +} +func awsRestjson1_serializeOpHttpBindingsListWorkflowsInput(v *ListWorkflowsInput, encoder *httpbinding.Encoder) error { + if v == nil { + return fmt.Errorf("unsupported serialization of nil %T", v) + } + + if v.DomainName == nil || len(*v.DomainName) == 0 { + return &smithy.SerializationError{Err: fmt.Errorf("input member DomainName must not be empty")} + } + if v.DomainName != nil { + if err := encoder.SetURI("DomainName").String(*v.DomainName); err != nil { + return err + } + } + + if v.MaxResults != nil { + encoder.SetQuery("max-results").Integer(*v.MaxResults) + } + + if v.NextToken != nil { + encoder.SetQuery("next-token").String(*v.NextToken) + } + + return nil +} + +func awsRestjson1_serializeOpDocumentListWorkflowsInput(v *ListWorkflowsInput, value smithyjson.Value) error { + object := value.Object() + defer object.Close() + + if v.QueryEndDate != nil { + ok := object.Key("QueryEndDate") + ok.Double(smithytime.FormatEpochSeconds(*v.QueryEndDate)) + } + + if v.QueryStartDate != nil { + ok := object.Key("QueryStartDate") + ok.Double(smithytime.FormatEpochSeconds(*v.QueryStartDate)) + } + + if len(v.Status) > 0 { + ok := object.Key("Status") + ok.String(string(v.Status)) + } + + if len(v.WorkflowType) > 0 { + ok := object.Key("WorkflowType") + ok.String(string(v.WorkflowType)) + } + + return nil +} + type awsRestjson1_serializeOpMergeProfiles struct { } @@ -2938,6 +3364,27 @@ func awsRestjson1_serializeDocumentAddress(v *types.Address, value smithyjson.Va return nil } +func awsRestjson1_serializeDocumentAppflowIntegration(v *types.AppflowIntegration, value smithyjson.Value) error { + object := value.Object() + defer object.Close() + + if v.Batches != nil { + ok := object.Key("Batches") + if err := awsRestjson1_serializeDocumentBatches(v.Batches, ok); err != nil { + return err + } + } + + if v.FlowDefinition != nil { + ok := object.Key("FlowDefinition") + if err := awsRestjson1_serializeDocumentFlowDefinition(v.FlowDefinition, ok); err != nil { + return err + } + } + + return nil +} + func awsRestjson1_serializeDocumentAttributes(v map[string]string, value smithyjson.Value) error { object := value.Object() defer object.Close() @@ -2986,6 +3433,36 @@ func awsRestjson1_serializeDocumentAutoMerging(v *types.AutoMerging, value smith return nil } +func awsRestjson1_serializeDocumentBatch(v *types.Batch, value smithyjson.Value) error { + object := value.Object() + defer object.Close() + + if v.EndTime != nil { + ok := object.Key("EndTime") + ok.Double(smithytime.FormatEpochSeconds(*v.EndTime)) + } + + if v.StartTime != nil { + ok := object.Key("StartTime") + ok.Double(smithytime.FormatEpochSeconds(*v.StartTime)) + } + + return nil +} + +func awsRestjson1_serializeDocumentBatches(v []types.Batch, value smithyjson.Value) error { + array := value.Array() + defer array.Close() + + for i := range v { + av := array.Value() + if err := awsRestjson1_serializeDocumentBatch(&v[i], av); err != nil { + return err + } + } + return nil +} + func awsRestjson1_serializeDocumentConflictResolution(v *types.ConflictResolution, value smithyjson.Value) error { object := value.Object() defer object.Close() @@ -3257,6 +3734,20 @@ func awsRestjson1_serializeDocumentIncrementalPullConfig(v *types.IncrementalPul return nil } +func awsRestjson1_serializeDocumentIntegrationConfig(v *types.IntegrationConfig, value smithyjson.Value) error { + object := value.Object() + defer object.Close() + + if v.AppflowIntegration != nil { + ok := object.Key("AppflowIntegration") + if err := awsRestjson1_serializeDocumentAppflowIntegration(v.AppflowIntegration, ok); err != nil { + return err + } + } + + return nil +} + func awsRestjson1_serializeDocumentJobSchedule(v *types.JobSchedule, value smithyjson.Value) error { object := value.Object() defer object.Close() diff --git a/service/customerprofiles/types/enums.go b/service/customerprofiles/types/enums.go index 246c071dea2..2e2cf133369 100644 --- a/service/customerprofiles/types/enums.go +++ b/service/customerprofiles/types/enums.go @@ -466,6 +466,34 @@ func (StandardIdentifier) Values() []StandardIdentifier { } } +type Status string + +// Enum values for Status +const ( + StatusNotStarted Status = "NOT_STARTED" + StatusInProgress Status = "IN_PROGRESS" + StatusComplete Status = "COMPLETE" + StatusFailed Status = "FAILED" + StatusSplit Status = "SPLIT" + StatusRetry Status = "RETRY" + StatusCancelled Status = "CANCELLED" +) + +// Values returns all known values for Status. Note that this can be expanded in +// the future, and so it is only as up to date as the client. The ordering of this +// slice is not guaranteed to be stable across updates. +func (Status) Values() []Status { + return []Status{ + "NOT_STARTED", + "IN_PROGRESS", + "COMPLETE", + "FAILED", + "SPLIT", + "RETRY", + "CANCELLED", + } +} + type TaskType string // Enum values for TaskType @@ -514,6 +542,22 @@ func (TriggerType) Values() []TriggerType { } } +type WorkflowType string + +// Enum values for WorkflowType +const ( + WorkflowTypeAppflowIntegration WorkflowType = "APPFLOW_INTEGRATION" +) + +// Values returns all known values for WorkflowType. Note that this can be expanded +// in the future, and so it is only as up to date as the client. The ordering of +// this slice is not guaranteed to be stable across updates. +func (WorkflowType) Values() []WorkflowType { + return []WorkflowType{ + "APPFLOW_INTEGRATION", + } +} + type ZendeskConnectorOperator string // Enum values for ZendeskConnectorOperator diff --git a/service/customerprofiles/types/types.go b/service/customerprofiles/types/types.go index 6f63b632459..46d15b0cb1e 100644 --- a/service/customerprofiles/types/types.go +++ b/service/customerprofiles/types/types.go @@ -44,6 +44,115 @@ type Address struct { noSmithyDocumentSerde } +// Details for workflow of type APPFLOW_INTEGRATION. +type AppflowIntegration struct { + + // The configurations that control how Customer Profiles retrieves data from the + // source, Amazon AppFlow. Customer Profiles uses this information to create an + // AppFlow flow on behalf of customers. + // + // This member is required. + FlowDefinition *FlowDefinition + + // Batches in workflow of type APPFLOW_INTEGRATION. + Batches []Batch + + noSmithyDocumentSerde +} + +// Structure holding all APPFLOW_INTEGRATION specific workflow attributes. +type AppflowIntegrationWorkflowAttributes struct { + + // The name of the AppFlow connector profile used for ingestion. + // + // This member is required. + ConnectorProfileName *string + + // Specifies the source connector type, such as Salesforce, ServiceNow, and + // Marketo. Indicates source of ingestion. + // + // This member is required. + SourceConnectorType SourceConnectorType + + // The Amazon Resource Name (ARN) of the IAM role. Customer Profiles assumes this + // role to create resources on your behalf as part of workflow execution. + RoleArn *string + + noSmithyDocumentSerde +} + +// Workflow specific execution metrics for APPFLOW_INTEGRATION workflow. +type AppflowIntegrationWorkflowMetrics struct { + + // Number of records processed in APPFLOW_INTEGRATION workflow. + // + // This member is required. + RecordsProcessed int64 + + // Total steps completed in APPFLOW_INTEGRATION workflow. + // + // This member is required. + StepsCompleted int64 + + // Total steps in APPFLOW_INTEGRATION workflow. + // + // This member is required. + TotalSteps int64 + + noSmithyDocumentSerde +} + +// Workflow step details for APPFLOW_INTEGRATION workflow. +type AppflowIntegrationWorkflowStep struct { + + // End datetime of records pulled in batch during execution of workflow step for + // APPFLOW_INTEGRATION workflow. + // + // This member is required. + BatchRecordsEndTime *string + + // Start datetime of records pulled in batch during execution of workflow step for + // APPFLOW_INTEGRATION workflow. + // + // This member is required. + BatchRecordsStartTime *string + + // Creation timestamp of workflow step for APPFLOW_INTEGRATION workflow. + // + // This member is required. + CreatedAt *time.Time + + // Message indicating execution of workflow step for APPFLOW_INTEGRATION workflow. + // + // This member is required. + ExecutionMessage *string + + // Name of the flow created during execution of workflow step. APPFLOW_INTEGRATION + // workflow type creates an appflow flow during workflow step execution on the + // customers behalf. + // + // This member is required. + FlowName *string + + // Last updated timestamp for workflow step for APPFLOW_INTEGRATION workflow. + // + // This member is required. + LastUpdatedAt *time.Time + + // Total number of records processed during execution of workflow step for + // APPFLOW_INTEGRATION workflow. + // + // This member is required. + RecordsProcessed int64 + + // Workflow step status for APPFLOW_INTEGRATION workflow. + // + // This member is required. + Status Status + + noSmithyDocumentSerde +} + // Configuration settings for how to perform the auto-merging of profiles. type AutoMerging struct { @@ -65,6 +174,24 @@ type AutoMerging struct { noSmithyDocumentSerde } +// Batch defines the boundaries for ingestion for each step in APPFLOW_INTEGRATION +// workflow. APPFLOW_INTEGRATION workflow splits ingestion based on these +// boundaries. +type Batch struct { + + // End time of batch to split ingestion. + // + // This member is required. + EndTime *time.Time + + // Start time of batch to split ingestion. + // + // This member is required. + StartTime *time.Time + + noSmithyDocumentSerde +} + // How the auto-merging process should resolve conflicts between different // profiles. type ConflictResolution struct { @@ -341,6 +468,15 @@ type IncrementalPullConfig struct { noSmithyDocumentSerde } +// Configuration data for integration workflow. +type IntegrationConfig struct { + + // Configuration data for APPFLOW_INTEGRATION workflow type. + AppflowIntegration *AppflowIntegration + + noSmithyDocumentSerde +} + // The day and time when do you want to start the Identity Resolution Job every // week. type JobSchedule struct { @@ -433,6 +569,9 @@ type ListIntegrationItem struct { // The tags used to organize, track, or control access for this resource. Tags map[string]string + // Unique identifier for the workflow. + WorkflowId *string + noSmithyDocumentSerde } @@ -492,6 +631,42 @@ type ListProfileObjectTypeTemplateItem struct { noSmithyDocumentSerde } +// A workflow in list of workflows. +type ListWorkflowsItem struct { + + // Creation timestamp for workflow. + // + // This member is required. + CreatedAt *time.Time + + // Last updated timestamp for workflow. + // + // This member is required. + LastUpdatedAt *time.Time + + // Status of workflow execution. + // + // This member is required. + Status Status + + // Description for workflow execution status. + // + // This member is required. + StatusDescription *string + + // Unique identifier for the workflow. + // + // This member is required. + WorkflowId *string + + // The type of workflow. The only supported value is APPFLOW_INTEGRATION. + // + // This member is required. + WorkflowType WorkflowType + + noSmithyDocumentSerde +} + // The properties that are applied when Marketo is being used as a source. type MarketoSourceProperties struct { @@ -946,6 +1121,33 @@ type UpdateAddress struct { noSmithyDocumentSerde } +// Structure to hold workflow attributes. +type WorkflowAttributes struct { + + // Workflow attributes specific to APPFLOW_INTEGRATION workflow. + AppflowIntegration *AppflowIntegrationWorkflowAttributes + + noSmithyDocumentSerde +} + +// Generic object containing workflow execution metrics. +type WorkflowMetrics struct { + + // Workflow execution metrics for APPFLOW_INTEGRATION workflow. + AppflowIntegration *AppflowIntegrationWorkflowMetrics + + noSmithyDocumentSerde +} + +// List containing steps in workflow. +type WorkflowStepItem struct { + + // Workflow step information specific to APPFLOW_INTEGRATION workflow. + AppflowIntegration *AppflowIntegrationWorkflowStep + + noSmithyDocumentSerde +} + // The properties that are applied when using Zendesk as a flow source. type ZendeskSourceProperties struct { diff --git a/service/customerprofiles/validators.go b/service/customerprofiles/validators.go index e5203fe75df..c63937f102c 100644 --- a/service/customerprofiles/validators.go +++ b/service/customerprofiles/validators.go @@ -50,6 +50,26 @@ func (m *validateOpCreateDomain) HandleInitialize(ctx context.Context, in middle return next.HandleInitialize(ctx, in) } +type validateOpCreateIntegrationWorkflow struct { +} + +func (*validateOpCreateIntegrationWorkflow) ID() string { + return "OperationInputValidation" +} + +func (m *validateOpCreateIntegrationWorkflow) HandleInitialize(ctx context.Context, in middleware.InitializeInput, next middleware.InitializeHandler) ( + out middleware.InitializeOutput, metadata middleware.Metadata, err error, +) { + input, ok := in.Parameters.(*CreateIntegrationWorkflowInput) + if !ok { + return out, metadata, fmt.Errorf("unknown input parameters type %T", in.Parameters) + } + if err := validateOpCreateIntegrationWorkflowInput(input); err != nil { + return out, metadata, err + } + return next.HandleInitialize(ctx, in) +} + type validateOpCreateProfile struct { } @@ -190,6 +210,26 @@ func (m *validateOpDeleteProfileObjectType) HandleInitialize(ctx context.Context return next.HandleInitialize(ctx, in) } +type validateOpDeleteWorkflow struct { +} + +func (*validateOpDeleteWorkflow) ID() string { + return "OperationInputValidation" +} + +func (m *validateOpDeleteWorkflow) HandleInitialize(ctx context.Context, in middleware.InitializeInput, next middleware.InitializeHandler) ( + out middleware.InitializeOutput, metadata middleware.Metadata, err error, +) { + input, ok := in.Parameters.(*DeleteWorkflowInput) + if !ok { + return out, metadata, fmt.Errorf("unknown input parameters type %T", in.Parameters) + } + if err := validateOpDeleteWorkflowInput(input); err != nil { + return out, metadata, err + } + return next.HandleInitialize(ctx, in) +} + type validateOpGetAutoMergingPreview struct { } @@ -330,6 +370,46 @@ func (m *validateOpGetProfileObjectTypeTemplate) HandleInitialize(ctx context.Co return next.HandleInitialize(ctx, in) } +type validateOpGetWorkflow struct { +} + +func (*validateOpGetWorkflow) ID() string { + return "OperationInputValidation" +} + +func (m *validateOpGetWorkflow) HandleInitialize(ctx context.Context, in middleware.InitializeInput, next middleware.InitializeHandler) ( + out middleware.InitializeOutput, metadata middleware.Metadata, err error, +) { + input, ok := in.Parameters.(*GetWorkflowInput) + if !ok { + return out, metadata, fmt.Errorf("unknown input parameters type %T", in.Parameters) + } + if err := validateOpGetWorkflowInput(input); err != nil { + return out, metadata, err + } + return next.HandleInitialize(ctx, in) +} + +type validateOpGetWorkflowSteps struct { +} + +func (*validateOpGetWorkflowSteps) ID() string { + return "OperationInputValidation" +} + +func (m *validateOpGetWorkflowSteps) HandleInitialize(ctx context.Context, in middleware.InitializeInput, next middleware.InitializeHandler) ( + out middleware.InitializeOutput, metadata middleware.Metadata, err error, +) { + input, ok := in.Parameters.(*GetWorkflowStepsInput) + if !ok { + return out, metadata, fmt.Errorf("unknown input parameters type %T", in.Parameters) + } + if err := validateOpGetWorkflowStepsInput(input); err != nil { + return out, metadata, err + } + return next.HandleInitialize(ctx, in) +} + type validateOpListAccountIntegrations struct { } @@ -450,6 +530,26 @@ func (m *validateOpListTagsForResource) HandleInitialize(ctx context.Context, in return next.HandleInitialize(ctx, in) } +type validateOpListWorkflows struct { +} + +func (*validateOpListWorkflows) ID() string { + return "OperationInputValidation" +} + +func (m *validateOpListWorkflows) HandleInitialize(ctx context.Context, in middleware.InitializeInput, next middleware.InitializeHandler) ( + out middleware.InitializeOutput, metadata middleware.Metadata, err error, +) { + input, ok := in.Parameters.(*ListWorkflowsInput) + if !ok { + return out, metadata, fmt.Errorf("unknown input parameters type %T", in.Parameters) + } + if err := validateOpListWorkflowsInput(input); err != nil { + return out, metadata, err + } + return next.HandleInitialize(ctx, in) +} + type validateOpMergeProfiles struct { } @@ -638,6 +738,10 @@ func addOpCreateDomainValidationMiddleware(stack *middleware.Stack) error { return stack.Initialize.Add(&validateOpCreateDomain{}, middleware.After) } +func addOpCreateIntegrationWorkflowValidationMiddleware(stack *middleware.Stack) error { + return stack.Initialize.Add(&validateOpCreateIntegrationWorkflow{}, middleware.After) +} + func addOpCreateProfileValidationMiddleware(stack *middleware.Stack) error { return stack.Initialize.Add(&validateOpCreateProfile{}, middleware.After) } @@ -666,6 +770,10 @@ func addOpDeleteProfileObjectTypeValidationMiddleware(stack *middleware.Stack) e return stack.Initialize.Add(&validateOpDeleteProfileObjectType{}, middleware.After) } +func addOpDeleteWorkflowValidationMiddleware(stack *middleware.Stack) error { + return stack.Initialize.Add(&validateOpDeleteWorkflow{}, middleware.After) +} + func addOpGetAutoMergingPreviewValidationMiddleware(stack *middleware.Stack) error { return stack.Initialize.Add(&validateOpGetAutoMergingPreview{}, middleware.After) } @@ -694,6 +802,14 @@ func addOpGetProfileObjectTypeTemplateValidationMiddleware(stack *middleware.Sta return stack.Initialize.Add(&validateOpGetProfileObjectTypeTemplate{}, middleware.After) } +func addOpGetWorkflowValidationMiddleware(stack *middleware.Stack) error { + return stack.Initialize.Add(&validateOpGetWorkflow{}, middleware.After) +} + +func addOpGetWorkflowStepsValidationMiddleware(stack *middleware.Stack) error { + return stack.Initialize.Add(&validateOpGetWorkflowSteps{}, middleware.After) +} + func addOpListAccountIntegrationsValidationMiddleware(stack *middleware.Stack) error { return stack.Initialize.Add(&validateOpListAccountIntegrations{}, middleware.After) } @@ -718,6 +834,10 @@ func addOpListTagsForResourceValidationMiddleware(stack *middleware.Stack) error return stack.Initialize.Add(&validateOpListTagsForResource{}, middleware.After) } +func addOpListWorkflowsValidationMiddleware(stack *middleware.Stack) error { + return stack.Initialize.Add(&validateOpListWorkflows{}, middleware.After) +} + func addOpMergeProfilesValidationMiddleware(stack *middleware.Stack) error { return stack.Initialize.Add(&validateOpMergeProfiles{}, middleware.After) } @@ -754,6 +874,30 @@ func addOpUpdateProfileValidationMiddleware(stack *middleware.Stack) error { return stack.Initialize.Add(&validateOpUpdateProfile{}, middleware.After) } +func validateAppflowIntegration(v *types.AppflowIntegration) error { + if v == nil { + return nil + } + invalidParams := smithy.InvalidParamsError{Context: "AppflowIntegration"} + if v.FlowDefinition == nil { + invalidParams.Add(smithy.NewErrParamRequired("FlowDefinition")) + } else if v.FlowDefinition != nil { + if err := validateFlowDefinition(v.FlowDefinition); err != nil { + invalidParams.AddNested("FlowDefinition", err.(smithy.InvalidParamsError)) + } + } + if v.Batches != nil { + if err := validateBatches(v.Batches); err != nil { + invalidParams.AddNested("Batches", err.(smithy.InvalidParamsError)) + } + } + if invalidParams.Len() > 0 { + return invalidParams + } else { + return nil + } +} + func validateAutoMerging(v *types.AutoMerging) error { if v == nil { return nil @@ -779,6 +923,41 @@ func validateAutoMerging(v *types.AutoMerging) error { } } +func validateBatch(v *types.Batch) error { + if v == nil { + return nil + } + invalidParams := smithy.InvalidParamsError{Context: "Batch"} + if v.StartTime == nil { + invalidParams.Add(smithy.NewErrParamRequired("StartTime")) + } + if v.EndTime == nil { + invalidParams.Add(smithy.NewErrParamRequired("EndTime")) + } + if invalidParams.Len() > 0 { + return invalidParams + } else { + return nil + } +} + +func validateBatches(v []types.Batch) error { + if v == nil { + return nil + } + invalidParams := smithy.InvalidParamsError{Context: "Batches"} + for i := range v { + if err := validateBatch(&v[i]); err != nil { + invalidParams.AddNested(fmt.Sprintf("[%d]", i), err.(smithy.InvalidParamsError)) + } + } + if invalidParams.Len() > 0 { + return invalidParams + } else { + return nil + } +} + func validateConflictResolution(v *types.ConflictResolution) error { if v == nil { return nil @@ -865,6 +1044,23 @@ func validateFlowDefinition(v *types.FlowDefinition) error { } } +func validateIntegrationConfig(v *types.IntegrationConfig) error { + if v == nil { + return nil + } + invalidParams := smithy.InvalidParamsError{Context: "IntegrationConfig"} + if v.AppflowIntegration != nil { + if err := validateAppflowIntegration(v.AppflowIntegration); err != nil { + invalidParams.AddNested("AppflowIntegration", err.(smithy.InvalidParamsError)) + } + } + if invalidParams.Len() > 0 { + return invalidParams + } else { + return nil + } +} + func validateJobSchedule(v *types.JobSchedule) error { if v == nil { return nil @@ -1214,6 +1410,37 @@ func validateOpCreateDomainInput(v *CreateDomainInput) error { } } +func validateOpCreateIntegrationWorkflowInput(v *CreateIntegrationWorkflowInput) error { + if v == nil { + return nil + } + invalidParams := smithy.InvalidParamsError{Context: "CreateIntegrationWorkflowInput"} + if v.DomainName == nil { + invalidParams.Add(smithy.NewErrParamRequired("DomainName")) + } + if len(v.WorkflowType) == 0 { + invalidParams.Add(smithy.NewErrParamRequired("WorkflowType")) + } + if v.IntegrationConfig == nil { + invalidParams.Add(smithy.NewErrParamRequired("IntegrationConfig")) + } else if v.IntegrationConfig != nil { + if err := validateIntegrationConfig(v.IntegrationConfig); err != nil { + invalidParams.AddNested("IntegrationConfig", err.(smithy.InvalidParamsError)) + } + } + if v.ObjectTypeName == nil { + invalidParams.Add(smithy.NewErrParamRequired("ObjectTypeName")) + } + if v.RoleArn == nil { + invalidParams.Add(smithy.NewErrParamRequired("RoleArn")) + } + if invalidParams.Len() > 0 { + return invalidParams + } else { + return nil + } +} + func validateOpCreateProfileInput(v *CreateProfileInput) error { if v == nil { return nil @@ -1346,6 +1573,24 @@ func validateOpDeleteProfileObjectTypeInput(v *DeleteProfileObjectTypeInput) err } } +func validateOpDeleteWorkflowInput(v *DeleteWorkflowInput) error { + if v == nil { + return nil + } + invalidParams := smithy.InvalidParamsError{Context: "DeleteWorkflowInput"} + if v.DomainName == nil { + invalidParams.Add(smithy.NewErrParamRequired("DomainName")) + } + if v.WorkflowId == nil { + invalidParams.Add(smithy.NewErrParamRequired("WorkflowId")) + } + if invalidParams.Len() > 0 { + return invalidParams + } else { + return nil + } +} + func validateOpGetAutoMergingPreviewInput(v *GetAutoMergingPreviewInput) error { if v == nil { return nil @@ -1474,6 +1719,42 @@ func validateOpGetProfileObjectTypeTemplateInput(v *GetProfileObjectTypeTemplate } } +func validateOpGetWorkflowInput(v *GetWorkflowInput) error { + if v == nil { + return nil + } + invalidParams := smithy.InvalidParamsError{Context: "GetWorkflowInput"} + if v.DomainName == nil { + invalidParams.Add(smithy.NewErrParamRequired("DomainName")) + } + if v.WorkflowId == nil { + invalidParams.Add(smithy.NewErrParamRequired("WorkflowId")) + } + if invalidParams.Len() > 0 { + return invalidParams + } else { + return nil + } +} + +func validateOpGetWorkflowStepsInput(v *GetWorkflowStepsInput) error { + if v == nil { + return nil + } + invalidParams := smithy.InvalidParamsError{Context: "GetWorkflowStepsInput"} + if v.DomainName == nil { + invalidParams.Add(smithy.NewErrParamRequired("DomainName")) + } + if v.WorkflowId == nil { + invalidParams.Add(smithy.NewErrParamRequired("WorkflowId")) + } + if invalidParams.Len() > 0 { + return invalidParams + } else { + return nil + } +} + func validateOpListAccountIntegrationsInput(v *ListAccountIntegrationsInput) error { if v == nil { return nil @@ -1575,6 +1856,21 @@ func validateOpListTagsForResourceInput(v *ListTagsForResourceInput) error { } } +func validateOpListWorkflowsInput(v *ListWorkflowsInput) error { + if v == nil { + return nil + } + invalidParams := smithy.InvalidParamsError{Context: "ListWorkflowsInput"} + if v.DomainName == nil { + invalidParams.Add(smithy.NewErrParamRequired("DomainName")) + } + if invalidParams.Len() > 0 { + return invalidParams + } else { + return nil + } +} + func validateOpMergeProfilesInput(v *MergeProfilesInput) error { if v == nil { return nil diff --git a/service/dynamodb/api_op_BatchWriteItem.go b/service/dynamodb/api_op_BatchWriteItem.go index 311a717150f..443de53d6c3 100644 --- a/service/dynamodb/api_op_BatchWriteItem.go +++ b/service/dynamodb/api_op_BatchWriteItem.go @@ -14,19 +14,24 @@ import ( ) // The BatchWriteItem operation puts or deletes multiple items in one or more -// tables. A single call to BatchWriteItem can write up to 16 MB of data, which can -// comprise as many as 25 put or delete requests. Individual items to be written -// can be as large as 400 KB. BatchWriteItem cannot update items. To update items, -// use the UpdateItem action. The individual PutItem and DeleteItem operations -// specified in BatchWriteItem are atomic; however BatchWriteItem as a whole is -// not. If any requested operations fail because the table's provisioned throughput -// is exceeded or an internal processing failure occurs, the failed operations are -// returned in the UnprocessedItems response parameter. You can investigate and -// optionally resend the requests. Typically, you would call BatchWriteItem in a -// loop. Each iteration would check for unprocessed items and submit a new -// BatchWriteItem request with those unprocessed items until all items have been -// processed. If none of the items can be processed due to insufficient provisioned -// throughput on all of the tables in the request, then BatchWriteItem returns a +// tables. A single call to BatchWriteItem can transmit up to 16MB of data over the +// network, consisting of up to 25 item put or delete operations. While individual +// items can be up to 400 KB once stored, it's important to note that an item's +// representation might be greater than 400KB while being sent in DynamoDB's JSON +// format for the API call. For more details on this distinction, see Naming Rules +// and Data Types +// (https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/HowItWorks.NamingRulesDataTypes.html). +// BatchWriteItem cannot update items. To update items, use the UpdateItem action. +// The individual PutItem and DeleteItem operations specified in BatchWriteItem are +// atomic; however BatchWriteItem as a whole is not. If any requested operations +// fail because the table's provisioned throughput is exceeded or an internal +// processing failure occurs, the failed operations are returned in the +// UnprocessedItems response parameter. You can investigate and optionally resend +// the requests. Typically, you would call BatchWriteItem in a loop. Each iteration +// would check for unprocessed items and submit a new BatchWriteItem request with +// those unprocessed items until all items have been processed. If none of the +// items can be processed due to insufficient provisioned throughput on all of the +// tables in the request, then BatchWriteItem returns a // ProvisionedThroughputExceededException. If DynamoDB returns any unprocessed // items, you should retry the batch operation on those items. However, we strongly // recommend that you use an exponential backoff algorithm. If you retry the batch diff --git a/service/dynamodb/api_op_ExecuteStatement.go b/service/dynamodb/api_op_ExecuteStatement.go index f2ee6e4ad3e..7104b3a23b9 100644 --- a/service/dynamodb/api_op_ExecuteStatement.go +++ b/service/dynamodb/api_op_ExecuteStatement.go @@ -12,7 +12,15 @@ import ( ) // This operation allows you to perform reads and singleton writes on data stored -// in DynamoDB, using PartiQL. +// in DynamoDB, using PartiQL. For PartiQL reads (SELECT statement), if the total +// number of processed items exceeds the maximum dataset size limit of 1 MB, the +// read stops and results are returned to the user as a LastEvaluatedKey value to +// continue the read in a subsequent operation. If the filter criteria in WHERE +// clause does not match any data, the read will return an empty result set. A +// single SELECT statement response can return up to the maximum number of items +// (if using the Limit parameter) or a maximum of 1 MB of data (and then apply any +// filtering to the results using WHERE clause). If LastEvaluatedKey is present in +// the response, you need to paginate the result set. func (c *Client) ExecuteStatement(ctx context.Context, params *ExecuteStatementInput, optFns ...func(*Options)) (*ExecuteStatementOutput, error) { if params == nil { params = &ExecuteStatementInput{} @@ -39,6 +47,16 @@ type ExecuteStatementInput struct { // read is used; otherwise, an eventually consistent read is used. ConsistentRead *bool + // The maximum number of items to evaluate (not necessarily the number of matching + // items). If DynamoDB processes the number of items up to the limit while + // processing the results, it stops the operation and returns the matching values + // up to that point, along with a key in LastEvaluatedKey to apply in a subsequent + // operation so you can pick up where you left off. Also, if the processed dataset + // size exceeds 1 MB before DynamoDB reaches this limit, it stops the operation and + // returns the matching values up to the limit, and a key in LastEvaluatedKey to + // apply in a subsequent operation to continue the operation. + Limit *int32 + // Set this value to get remaining results, if NextToken was returned in the // statement response. NextToken *string @@ -81,6 +99,15 @@ type ExecuteStatementOutput struct { // this value will be empty. Items []map[string]types.AttributeValue + // The primary key of the item where the operation stopped, inclusive of the + // previous result set. Use this value to start a new operation, excluding this + // value in the new request. If LastEvaluatedKey is empty, then the "last page" of + // results has been processed and there is no more data to be retrieved. If + // LastEvaluatedKey is not empty, it does not necessarily mean that there is more + // data in the result set. The only way to know when you have reached the end of + // the result set is when LastEvaluatedKey is empty. + LastEvaluatedKey map[string]types.AttributeValue + // If the response of a read request exceeds the response payload limit DynamoDB // will set this value in the response. If set, you can use that this value in the // subsequent request to get the remaining results. diff --git a/service/dynamodb/api_op_UpdateContributorInsights.go b/service/dynamodb/api_op_UpdateContributorInsights.go index c7f8eebaf30..3de9d069587 100644 --- a/service/dynamodb/api_op_UpdateContributorInsights.go +++ b/service/dynamodb/api_op_UpdateContributorInsights.go @@ -14,10 +14,10 @@ import ( // Updates the status for contributor insights for a specific table or index. // CloudWatch Contributor Insights for DynamoDB graphs display the partition key // and (if applicable) sort key of frequently accessed items and frequently -// throttled items in plaintext. If you require the use of AWS Key Management -// Service (KMS) to encrypt this table’s partition key and sort key data with an -// AWS managed key or customer managed key, you should not enable CloudWatch -// Contributor Insights for DynamoDB for this table. +// throttled items in plaintext. If you require the use of Amazon Web Services Key +// Management Service (KMS) to encrypt this table’s partition key and sort key data +// with an Amazon Web Services managed key or customer managed key, you should not +// enable CloudWatch Contributor Insights for DynamoDB for this table. func (c *Client) UpdateContributorInsights(ctx context.Context, params *UpdateContributorInsightsInput, optFns ...func(*Options)) (*UpdateContributorInsightsOutput, error) { if params == nil { params = &UpdateContributorInsightsInput{} diff --git a/service/dynamodb/deserializers.go b/service/dynamodb/deserializers.go index 971db0177cc..09c525d5f39 100644 --- a/service/dynamodb/deserializers.go +++ b/service/dynamodb/deserializers.go @@ -15248,6 +15248,11 @@ func awsAwsjson10_deserializeOpDocumentExecuteStatementOutput(v **ExecuteStateme return err } + case "LastEvaluatedKey": + if err := awsAwsjson10_deserializeDocumentKey(&sv.LastEvaluatedKey, value); err != nil { + return err + } + case "NextToken": if value != nil { jtv, ok := value.(string) diff --git a/service/dynamodb/serializers.go b/service/dynamodb/serializers.go index 13b0dea08e7..b5b9a233b10 100644 --- a/service/dynamodb/serializers.go +++ b/service/dynamodb/serializers.go @@ -5045,6 +5045,11 @@ func awsAwsjson10_serializeOpDocumentExecuteStatementInput(v *ExecuteStatementIn ok.Boolean(*v.ConsistentRead) } + if v.Limit != nil { + ok := object.Key("Limit") + ok.Integer(*v.Limit) + } + if v.NextToken != nil { ok := object.Key("NextToken") ok.String(*v.NextToken) diff --git a/service/dynamodb/types/types.go b/service/dynamodb/types/types.go index af5f1ddd2ee..5d031fa552b 100644 --- a/service/dynamodb/types/types.go +++ b/service/dynamodb/types/types.go @@ -1893,13 +1893,10 @@ type PointInTimeRecoveryDescription struct { // The current state of point in time recovery: // - // * ENABLING - Point in time - // recovery is being enabled. + // * ENABLED - Point in time recovery + // is enabled. // - // * ENABLED - Point in time recovery is enabled. - // - // * - // DISABLED - Point in time recovery is disabled. + // * DISABLED - Point in time recovery is disabled. PointInTimeRecoveryStatus PointInTimeRecoveryStatus noSmithyDocumentSerde diff --git a/service/ec2/api_op_CreateClientVpnEndpoint.go b/service/ec2/api_op_CreateClientVpnEndpoint.go index f205fe409c4..3111cbf23fb 100644 --- a/service/ec2/api_op_CreateClientVpnEndpoint.go +++ b/service/ec2/api_op_CreateClientVpnEndpoint.go @@ -73,6 +73,8 @@ type CreateClientVpnEndpointInput struct { // The options for managing connection authorization for new client connections. ClientConnectOptions *types.ClientConnectOptions + // Options for enabling a customizable text banner that will be displayed on Amazon + // Web Services provided clients when a VPN session is established. ClientLoginBannerOptions *types.ClientLoginBannerOptions // Unique, case-sensitive identifier that you provide to ensure the idempotency of @@ -102,6 +104,8 @@ type CreateClientVpnEndpointInput struct { // Default Value: enabled SelfServicePortal types.SelfServicePortal + // The maximum VPN session duration time in hours. Valid values: 8 | 10 | 12 | 24 + // Default value: 24 SessionTimeoutHours *int32 // Indicates whether split-tunnel is enabled on the Client VPN endpoint. By diff --git a/service/ec2/api_op_CreateFleet.go b/service/ec2/api_op_CreateFleet.go index 8aafea79191..c0c90aa744c 100644 --- a/service/ec2/api_op_CreateFleet.go +++ b/service/ec2/api_op_CreateFleet.go @@ -14,7 +14,7 @@ import ( // Launches an EC2 Fleet. You can create a single EC2 Fleet that includes multiple // launch specifications that vary by instance type, AMI, Availability Zone, or -// subnet. For more information, see Launching an EC2 Fleet +// subnet. For more information, see EC2 Fleet // (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet.html) in the // Amazon EC2 User Guide. func (c *Client) CreateFleet(ctx context.Context, params *CreateFleetInput, optFns ...func(*Options)) (*CreateFleetOutput, error) { @@ -45,7 +45,7 @@ type CreateFleetInput struct { TargetCapacitySpecification *types.TargetCapacitySpecificationRequest // Unique, case-sensitive identifier that you provide to ensure the idempotency of - // the request. For more information, see Ensuring Idempotency + // the request. For more information, see Ensuring idempotency // (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html). ClientToken *string diff --git a/service/ec2/api_op_CreateImage.go b/service/ec2/api_op_CreateImage.go index 88983acdcd7..4b7b158309a 100644 --- a/service/ec2/api_op_CreateImage.go +++ b/service/ec2/api_op_CreateImage.go @@ -12,7 +12,12 @@ import ( ) // Creates an Amazon EBS-backed AMI from an Amazon EBS-backed instance that is -// either running or stopped. If you customized your instance with instance store +// either running or stopped. By default, Amazon EC2 shuts down and reboots the +// instance before creating the AMI to ensure that everything on the instance is +// stopped and in a consistent state during the creation process. If you're +// confident that your instance is in a consistent state appropriate for AMI +// creation, use the NoReboot parameter to prevent Amazon EC2 from shutting down +// and rebooting the instance. If you customized your instance with instance store // volumes or Amazon EBS volumes in addition to the root device volume, the new AMI // contains block device mapping information for those volumes. When you launch an // instance from this new AMI, the instance automatically launches with those diff --git a/service/ec2/api_op_CreateNetworkInterface.go b/service/ec2/api_op_CreateNetworkInterface.go index fbbef5bf91d..30f13a7d236 100644 --- a/service/ec2/api_op_CreateNetworkInterface.go +++ b/service/ec2/api_op_CreateNetworkInterface.go @@ -56,11 +56,8 @@ type CreateNetworkInterfaceInput struct { // The IDs of one or more security groups. Groups []string - // Indicates the type of network interface. To create an Elastic Fabric Adapter - // (EFA), specify efa. For more information, see Elastic Fabric Adapter - // (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/efa.html) in the Amazon - // Elastic Compute Cloud User Guide. To create a trunk network interface, specify - // trunk. + // The type of network interface. The default is interface. The only supported + // values are efa and trunk. InterfaceType types.NetworkInterfaceCreationType // The number of IPv4 prefixes that Amazon Web Services automatically assigns to diff --git a/service/ec2/api_op_DeleteFleets.go b/service/ec2/api_op_DeleteFleets.go index 8d983b40e9f..b94f7796d96 100644 --- a/service/ec2/api_op_DeleteFleets.go +++ b/service/ec2/api_op_DeleteFleets.go @@ -29,7 +29,7 @@ import ( // Up to 1000 instances can be terminated in a single request to delete instant // fleets. // -// For more information, see Deleting an EC2 Fleet +// For more information, see Delete an EC2 Fleet // (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/manage-ec2-fleet.html#delete-fleet) // in the Amazon EC2 User Guide. func (c *Client) DeleteFleets(ctx context.Context, params *DeleteFleetsInput, optFns ...func(*Options)) (*DeleteFleetsOutput, error) { diff --git a/service/ec2/api_op_DeregisterImage.go b/service/ec2/api_op_DeregisterImage.go index 009daabdd68..456cacffe2f 100644 --- a/service/ec2/api_op_DeregisterImage.go +++ b/service/ec2/api_op_DeregisterImage.go @@ -11,13 +11,17 @@ import ( ) // Deregisters the specified AMI. After you deregister an AMI, it can't be used to -// launch new instances; however, it doesn't affect any instances that you've -// already launched from the AMI. You'll continue to incur usage costs for those -// instances until you terminate them. When you deregister an Amazon EBS-backed -// AMI, it doesn't affect the snapshot that was created for the root volume of the -// instance during the AMI creation process. When you deregister an instance -// store-backed AMI, it doesn't affect the files that you uploaded to Amazon S3 -// when you created the AMI. +// launch new instances. If you deregister an AMI that matches a Recycle Bin +// retention rule, the AMI is retained in the Recycle Bin for the specified +// retention period. For more information, see Recycle Bin +// (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/recycle-bin.html) in the +// Amazon Elastic Compute Cloud User Guide. When you deregister an AMI, it doesn't +// affect any instances that you've already launched from the AMI. You'll continue +// to incur usage costs for those instances until you terminate them. When you +// deregister an Amazon EBS-backed AMI, it doesn't affect the snapshot that was +// created for the root volume of the instance during the AMI creation process. +// When you deregister an instance store-backed AMI, it doesn't affect the files +// that you uploaded to Amazon S3 when you created the AMI. func (c *Client) DeregisterImage(ctx context.Context, params *DeregisterImageInput, optFns ...func(*Options)) (*DeregisterImageOutput, error) { if params == nil { params = &DeregisterImageInput{} diff --git a/service/ec2/api_op_DeregisterInstanceEventNotificationAttributes.go b/service/ec2/api_op_DeregisterInstanceEventNotificationAttributes.go index 7eb386691ec..94b4a0fef49 100644 --- a/service/ec2/api_op_DeregisterInstanceEventNotificationAttributes.go +++ b/service/ec2/api_op_DeregisterInstanceEventNotificationAttributes.go @@ -11,8 +11,8 @@ import ( smithyhttp "github.com/aws/smithy-go/transport/http" ) -// c Deregisters tag keys to prevent tags that have the specified tag keys from -// being included in scheduled event notifications for resources in the Region. +// Deregisters tag keys to prevent tags that have the specified tag keys from being +// included in scheduled event notifications for resources in the Region. func (c *Client) DeregisterInstanceEventNotificationAttributes(ctx context.Context, params *DeregisterInstanceEventNotificationAttributesInput, optFns ...func(*Options)) (*DeregisterInstanceEventNotificationAttributesOutput, error) { if params == nil { params = &DeregisterInstanceEventNotificationAttributesInput{} diff --git a/service/ec2/api_op_DescribeAvailabilityZones.go b/service/ec2/api_op_DescribeAvailabilityZones.go index 37a96420ac4..33528e7ed61 100644 --- a/service/ec2/api_op_DescribeAvailabilityZones.go +++ b/service/ec2/api_op_DescribeAvailabilityZones.go @@ -71,22 +71,21 @@ type DescribeAvailabilityZonesInput struct { // us-east-1). // // * state - The state of the Availability Zone, the Local Zone, or - // the Wavelength Zone (available | information | impaired | unavailable). + // the Wavelength Zone (available). // - // * - // zone-id - The ID of the Availability Zone (for example, use1-az1), the Local - // Zone (for example, usw2-lax1-az1), or the Wavelength Zone (for example, - // us-east-1-wl1-bos-wlz-1). + // * zone-id - The ID of the Availability Zone + // (for example, use1-az1), the Local Zone (for example, usw2-lax1-az1), or the + // Wavelength Zone (for example, us-east-1-wl1-bos-wlz-1). // - // * zone-type - The type of zone, for example, - // local-zone. + // * zone-type - The type + // of zone, for example, local-zone. // - // * zone-name - The name of the Availability Zone (for example, - // us-east-1a), the Local Zone (for example, us-west-2-lax-1a), or the Wavelength - // Zone (for example, us-east-1-wl1-bos-wlz-1). + // * zone-name - The name of the Availability + // Zone (for example, us-east-1a), the Local Zone (for example, us-west-2-lax-1a), + // or the Wavelength Zone (for example, us-east-1-wl1-bos-wlz-1). // - // * zone-type - The type of zone, - // for example, local-zone. + // * zone-type - + // The type of zone, for example, local-zone. Filters []types.Filter // The IDs of the Availability Zones, Local Zones, and Wavelength Zones. diff --git a/service/ec2/api_op_DescribeCapacityReservations.go b/service/ec2/api_op_DescribeCapacityReservations.go index 1e68143dcd7..c23dcbfb0a3 100644 --- a/service/ec2/api_op_DescribeCapacityReservations.go +++ b/service/ec2/api_op_DescribeCapacityReservations.go @@ -125,6 +125,9 @@ type DescribeCapacityReservationsInput struct { // have matching attributes (instance type, platform, and Availability Zone), and // explicitly target the Capacity Reservation. This ensures that only permitted // instances can use the reserved capacity. + // + // * placement-group-arn - The ARN of the + // cluster placement group in which the Capacity Reservation was created. Filters []types.Filter // The maximum number of results to return for the request in a single page. The diff --git a/service/ec2/api_op_DescribeCoipPools.go b/service/ec2/api_op_DescribeCoipPools.go index 82a20c8d04a..21a2d54034b 100644 --- a/service/ec2/api_op_DescribeCoipPools.go +++ b/service/ec2/api_op_DescribeCoipPools.go @@ -37,12 +37,12 @@ type DescribeCoipPoolsInput struct { // UnauthorizedOperation. DryRun *bool - // The filters. The following are the possible values: + // One or more filters. // - // * coip-pool.pool-id + // * coip-pool.local-gateway-route-table-id - The ID of the + // local gateway route table. // - // * - // coip-pool.local-gateway-route-table-id + // * coip-pool.pool-id - The ID of the address pool. Filters []types.Filter // The maximum number of results to return with a single call. To retrieve the diff --git a/service/ec2/api_op_DescribeFleetInstances.go b/service/ec2/api_op_DescribeFleetInstances.go index dbd23afc4d7..2dcda75e1e3 100644 --- a/service/ec2/api_op_DescribeFleetInstances.go +++ b/service/ec2/api_op_DescribeFleetInstances.go @@ -12,8 +12,8 @@ import ( ) // Describes the running instances for the specified EC2 Fleet. For more -// information, see Monitoring your EC2 Fleet -// (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet.html#monitor-ec2-fleet) +// information, see Monitor your EC2 Fleet +// (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/manage-ec2-fleet.html#monitor-ec2-fleet) // in the Amazon EC2 User Guide. func (c *Client) DescribeFleetInstances(ctx context.Context, params *DescribeFleetInstancesInput, optFns ...func(*Options)) (*DescribeFleetInstancesOutput, error) { if params == nil { diff --git a/service/ec2/api_op_DescribeFleets.go b/service/ec2/api_op_DescribeFleets.go index 334478ffc80..ee972207997 100644 --- a/service/ec2/api_op_DescribeFleets.go +++ b/service/ec2/api_op_DescribeFleets.go @@ -13,8 +13,8 @@ import ( ) // Describes the specified EC2 Fleets or all of your EC2 Fleets. For more -// information, see Monitoring your EC2 Fleet -// (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-fleet.html#monitor-ec2-fleet) +// information, see Monitor your EC2 Fleet +// (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/manage-ec2-fleet.html#monitor-ec2-fleet) // in the Amazon EC2 User Guide. func (c *Client) DescribeFleets(ctx context.Context, params *DescribeFleetsInput, optFns ...func(*Options)) (*DescribeFleetsOutput, error) { if params == nil { @@ -60,7 +60,8 @@ type DescribeFleetsInput struct { // request | maintain). Filters []types.Filter - // The ID of the EC2 Fleets. + // The IDs of the EC2 Fleets. If a fleet is of type instant, you must specify the + // fleet ID, otherwise it does not appear in the response. FleetIds []string // The maximum number of results to return in a single call. Specify a value diff --git a/service/ec2/api_op_DescribeInstanceTypes.go b/service/ec2/api_op_DescribeInstanceTypes.go index 9747e083c1b..17e466abec8 100644 --- a/service/ec2/api_op_DescribeInstanceTypes.go +++ b/service/ec2/api_op_DescribeInstanceTypes.go @@ -109,25 +109,25 @@ type DescribeInstanceTypesInput struct { // for the local instance storage disks (hdd | ssd). // // * - // instance-storage-info.encryption-supported - Indicates whether data is encrypted - // at rest (required | unsupported). - // - // * instance-storage-info.nvme-support - - // Indicates whether non-volatile memory express (NVMe) is supported for instance - // store (required | supported | unsupported). + // instance-storage-info.encryption-support - Indicates whether data is encrypted + // at rest (required | supported | unsupported). // // * - // instance-storage-info.total-size-in-gb - The total amount of storage available - // from all local instance storage, in GB. - // - // * instance-storage-supported - - // Indicates whether the instance type has local instance storage (true | - // false). + // instance-storage-info.nvme-support - Indicates whether non-volatile memory + // express (NVMe) is supported for instance store (required | supported | + // unsupported). // - // * instance-type - The instance type (for example c5.2xlarge or c5*). + // * instance-storage-info.total-size-in-gb - The total amount of + // storage available from all local instance storage, in GB. // // * - // memory-info.size-in-mib - The memory size. + // instance-storage-supported - Indicates whether the instance type has local + // instance storage (true | false). + // + // * instance-type - The instance type (for + // example c5.2xlarge or c5*). + // + // * memory-info.size-in-mib - The memory size. // // * // network-info.efa-info.maximum-efa-interfaces - The maximum number of Elastic @@ -156,11 +156,14 @@ type DescribeInstanceTypesInput struct { // whether the instance type supports IPv6 (true | false). // // * - // network-info.maximum-network-interfaces - The maximum number of network - // interfaces per instance. + // network-info.maximum-network-cards - The maximum number of network cards per + // instance. + // + // * network-info.maximum-network-interfaces - The maximum number of + // network interfaces per instance. // - // * network-info.network-performance - The network - // performance (for example, "25 Gigabit"). + // * network-info.network-performance - The + // network performance (for example, "25 Gigabit"). // // * // processor-info.supported-architecture - The CPU architecture (arm64 | i386 | diff --git a/service/ec2/api_op_DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociations.go b/service/ec2/api_op_DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociations.go index 55e4954e313..6ac5f19c431 100644 --- a/service/ec2/api_op_DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociations.go +++ b/service/ec2/api_op_DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociations.go @@ -42,6 +42,10 @@ type DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsInput struct // * local-gateway-id - The ID of a local gateway. // // * + // local-gateway-route-table-arn - The Amazon Resource Name (ARN) of the local + // gateway route table for the virtual interface group. + // + // * // local-gateway-route-table-id - The ID of the local gateway route table. // // * @@ -51,7 +55,11 @@ type DescribeLocalGatewayRouteTableVirtualInterfaceGroupAssociationsInput struct // * local-gateway-route-table-virtual-interface-group-id - The ID of // the virtual interface group. // - // * state - The state of the association. + // * owner-id - The ID of the Amazon Web Services + // account that owns the local gateway virtual interface group association. + // + // * + // state - The state of the association. Filters []types.Filter // The IDs of the associations. diff --git a/service/ec2/api_op_DescribeLocalGatewayRouteTableVpcAssociations.go b/service/ec2/api_op_DescribeLocalGatewayRouteTableVpcAssociations.go index 4ec42fc6a96..21051abe7c7 100644 --- a/service/ec2/api_op_DescribeLocalGatewayRouteTableVpcAssociations.go +++ b/service/ec2/api_op_DescribeLocalGatewayRouteTableVpcAssociations.go @@ -42,15 +42,23 @@ type DescribeLocalGatewayRouteTableVpcAssociationsInput struct { // * local-gateway-id - The ID of a local gateway. // // * - // local-gateway-route-table-id - The ID of the local gateway route table. + // local-gateway-route-table-arn - The Amazon Resource Name (ARN) of the local + // gateway route table for the association. + // + // * local-gateway-route-table-id - The + // ID of the local gateway route table. // // * // local-gateway-route-table-vpc-association-id - The ID of the association. // // * - // state - The state of the association. + // owner-id - The ID of the Amazon Web Services account that owns the local gateway + // route table for the association. + // + // * state - The state of the association. // - // * vpc-id - The ID of the VPC. + // * + // vpc-id - The ID of the VPC. Filters []types.Filter // The IDs of the associations. diff --git a/service/ec2/api_op_DescribeLocalGatewayRouteTables.go b/service/ec2/api_op_DescribeLocalGatewayRouteTables.go index 040e8edaa09..ebf63b6e5a6 100644 --- a/service/ec2/api_op_DescribeLocalGatewayRouteTables.go +++ b/service/ec2/api_op_DescribeLocalGatewayRouteTables.go @@ -42,13 +42,19 @@ type DescribeLocalGatewayRouteTablesInput struct { // * local-gateway-id - The ID of a local gateway. // // * - // local-gateway-route-table-id - The ID of a local gateway route table. + // local-gateway-route-table-arn - The Amazon Resource Name (ARN) of the local + // gateway route table. + // + // * local-gateway-route-table-id - The ID of a local gateway + // route table. + // + // * outpost-arn - The Amazon Resource Name (ARN) of the Outpost. // // * - // outpost-arn - The Amazon Resource Name (ARN) of the Outpost. + // owner-id - The ID of the Amazon Web Services account that owns the local gateway + // route table. // - // * state - The - // state of the local gateway route table. + // * state - The state of the local gateway route table. Filters []types.Filter // The IDs of the local gateway route tables. diff --git a/service/ec2/api_op_DescribeLocalGatewayVirtualInterfaceGroups.go b/service/ec2/api_op_DescribeLocalGatewayVirtualInterfaceGroups.go index ece842c608f..52b8649dc1d 100644 --- a/service/ec2/api_op_DescribeLocalGatewayVirtualInterfaceGroups.go +++ b/service/ec2/api_op_DescribeLocalGatewayVirtualInterfaceGroups.go @@ -41,11 +41,14 @@ type DescribeLocalGatewayVirtualInterfaceGroupsInput struct { // * local-gateway-id - The ID of a local gateway. // // * - // local-gateway-virtual-interface-id - The ID of the virtual interface. - // - // * // local-gateway-virtual-interface-group-id - The ID of the virtual interface // group. + // + // * local-gateway-virtual-interface-id - The ID of the virtual + // interface. + // + // * owner-id - The ID of the Amazon Web Services account that owns the + // local gateway virtual interface group. Filters []types.Filter // The IDs of the virtual interface groups. diff --git a/service/ec2/api_op_DescribeLocalGatewayVirtualInterfaces.go b/service/ec2/api_op_DescribeLocalGatewayVirtualInterfaces.go index 899221e28df..4dba3ce4b86 100644 --- a/service/ec2/api_op_DescribeLocalGatewayVirtualInterfaces.go +++ b/service/ec2/api_op_DescribeLocalGatewayVirtualInterfaces.go @@ -37,6 +37,31 @@ type DescribeLocalGatewayVirtualInterfacesInput struct { DryRun *bool // One or more filters. + // + // * local-address - The local address. + // + // * local-bgp-asn - + // The Border Gateway Protocol (BGP) Autonomous System Number (ASN) of the local + // gateway. + // + // * local-gateway-id - The ID of the local gateway. + // + // * + // local-gateway-virtual-interface-id - The ID of the virtual interface. + // + // * + // local-gateway-virtual-interface-group-id - The ID of the virtual interface + // group. + // + // * owner-id - The ID of the Amazon Web Services account that owns the + // local gateway virtual interface. + // + // * peer-address - The peer address. + // + // * + // peer-bgp-asn - The peer BGP ASN. + // + // * vlan - The ID of the VLAN. Filters []types.Filter // The IDs of the virtual interfaces. diff --git a/service/ec2/api_op_DescribeLocalGateways.go b/service/ec2/api_op_DescribeLocalGateways.go index d9585ae3e59..178e6be2cda 100644 --- a/service/ec2/api_op_DescribeLocalGateways.go +++ b/service/ec2/api_op_DescribeLocalGateways.go @@ -37,27 +37,21 @@ type DescribeLocalGatewaysInput struct { // UnauthorizedOperation. DryRun *bool - // One or more filters. - Filters []types.Filter - // One or more filters. // // * local-gateway-id - The ID of a local gateway. // // * - // local-gateway-route-table-id - The ID of the local gateway route table. - // - // * - // local-gateway-route-table-virtual-interface-group-association-id - The ID of the - // association. - // - // * local-gateway-route-table-virtual-interface-group-id - The ID of - // the virtual interface group. + // outpost-arn - The Amazon Resource Name (ARN) of the Outpost. // - // * outpost-arn - The Amazon Resource Name (ARN) of - // the Outpost. + // * owner-id - The + // ID of the Amazon Web Services account that owns the local gateway. // - // * state - The state of the association. + // * state - + // The state of the association. + Filters []types.Filter + + // The IDs of the local gateways. LocalGatewayIds []string // The maximum number of results to return with a single call. To retrieve the diff --git a/service/ec2/api_op_DescribeNetworkInterfaces.go b/service/ec2/api_op_DescribeNetworkInterfaces.go index 8853ee703ef..ee1f7c46038 100644 --- a/service/ec2/api_op_DescribeNetworkInterfaces.go +++ b/service/ec2/api_op_DescribeNetworkInterfaces.go @@ -114,6 +114,13 @@ type DescribeNetworkInterfacesInput struct { // * ipv6-addresses.ipv6-address - An IPv6 address // associated with the network interface. // + // * interface-type - The type of network + // interface (api_gateway_managed | aws_codestar_connections_managed | branch | efa + // | gateway_load_balancer | gateway_load_balancer_endpoint | + // global_accelerator_managed | interface | iot_rules_managed | lambda | + // load_balancer | nat_gateway | network_load_balancer | quicksight | + // transit_gateway | trunk | vpc_endpoint). + // // * mac-address - The MAC address of the // network interface. // diff --git a/service/ec2/api_op_DisableFastLaunch.go b/service/ec2/api_op_DisableFastLaunch.go index 67721ca2d97..982638bbaf7 100644 --- a/service/ec2/api_op_DisableFastLaunch.go +++ b/service/ec2/api_op_DisableFastLaunch.go @@ -15,7 +15,8 @@ import ( // Discontinue faster launching for a Windows AMI, and clean up existing // pre-provisioned snapshots. When you disable faster launching, the AMI uses the // standard launch process for each instance. All pre-provisioned snapshots must be -// removed before you can enable faster launching again. +// removed before you can enable faster launching again. To change these settings, +// you must own the AMI. func (c *Client) DisableFastLaunch(ctx context.Context, params *DisableFastLaunchInput, optFns ...func(*Options)) (*DisableFastLaunchOutput, error) { if params == nil { params = &DisableFastLaunchInput{} diff --git a/service/ec2/api_op_EnableFastLaunch.go b/service/ec2/api_op_EnableFastLaunch.go index 640e970e666..6f501ff0f5b 100644 --- a/service/ec2/api_op_EnableFastLaunch.go +++ b/service/ec2/api_op_EnableFastLaunch.go @@ -17,7 +17,8 @@ import ( // Windows image, Amazon EC2 launches an instance and runs through Sysprep steps, // rebooting as required. Then it creates a set of reserved snapshots that are used // for subsequent launches. The reserved snapshots are automatically replenished as -// they are used, depending on your settings for launch frequency. +// they are used, depending on your settings for launch frequency. To change these +// settings, you must own the AMI. func (c *Client) EnableFastLaunch(ctx context.Context, params *EnableFastLaunchInput, optFns ...func(*Options)) (*EnableFastLaunchOutput, error) { if params == nil { params = &EnableFastLaunchInput{} @@ -51,7 +52,8 @@ type EnableFastLaunchInput struct { // launch template, but not both. LaunchTemplate *types.FastLaunchLaunchTemplateSpecificationRequest - // The maximum number of parallel instances to launch for creating resources. + // The maximum number of parallel instances to launch for creating resources. Value + // must be 6 or greater. MaxParallelLaunches *int32 // The type of resource to use for pre-provisioning the Windows AMI for faster diff --git a/service/ec2/api_op_GetCoipPoolUsage.go b/service/ec2/api_op_GetCoipPoolUsage.go index 3c383a46904..37c57ead3f4 100644 --- a/service/ec2/api_op_GetCoipPoolUsage.go +++ b/service/ec2/api_op_GetCoipPoolUsage.go @@ -40,17 +40,20 @@ type GetCoipPoolUsageInput struct { // UnauthorizedOperation. DryRun *bool - // The filters. The following are the possible values: + // One or more filters. // - // * - // coip-address-usage.allocation-id + // * coip-address-usage.allocation-id - The allocation ID of + // the address. // - // * coip-address-usage.aws-account-id + // * coip-address-usage.aws-account-id - The ID of the Amazon Web + // Services account that is using the customer-owned IP address. // // * - // coip-address-usage.aws-service + // coip-address-usage.aws-service - The Amazon Web Services service that is using + // the customer-owned IP address. // - // * coip-address-usage.co-ip + // * coip-address-usage.co-ip - The customer-owned + // IP address. Filters []types.Filter // The maximum number of results to return with a single call. To retrieve the diff --git a/service/ec2/api_op_ListImagesInRecycleBin.go b/service/ec2/api_op_ListImagesInRecycleBin.go new file mode 100644 index 00000000000..1b5d6b16ef6 --- /dev/null +++ b/service/ec2/api_op_ListImagesInRecycleBin.go @@ -0,0 +1,236 @@ +// Code generated by smithy-go-codegen DO NOT EDIT. + +package ec2 + +import ( + "context" + "fmt" + awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" + "github.com/aws/aws-sdk-go-v2/aws/signer/v4" + "github.com/aws/aws-sdk-go-v2/service/ec2/types" + "github.com/aws/smithy-go/middleware" + smithyhttp "github.com/aws/smithy-go/transport/http" +) + +// Lists one or more AMIs that are currently in the Recycle Bin. For more +// information, see Recycle Bin +// (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/recycle-bin.html) in the +// Amazon Elastic Compute Cloud User Guide. +func (c *Client) ListImagesInRecycleBin(ctx context.Context, params *ListImagesInRecycleBinInput, optFns ...func(*Options)) (*ListImagesInRecycleBinOutput, error) { + if params == nil { + params = &ListImagesInRecycleBinInput{} + } + + result, metadata, err := c.invokeOperation(ctx, "ListImagesInRecycleBin", params, optFns, c.addOperationListImagesInRecycleBinMiddlewares) + if err != nil { + return nil, err + } + + out := result.(*ListImagesInRecycleBinOutput) + out.ResultMetadata = metadata + return out, nil +} + +type ListImagesInRecycleBinInput struct { + + // Checks whether you have the required permissions for the action, without + // actually making the request, and provides an error response. If you have the + // required permissions, the error response is DryRunOperation. Otherwise, it is + // UnauthorizedOperation. + DryRun *bool + + // The IDs of the AMIs to list. Omit this parameter to list all of the AMIs that + // are in the Recycle Bin. You can specify up to 20 IDs in a single request. + ImageIds []string + + // The maximum number of results to return with a single call. To retrieve the + // remaining results, make another call with the returned nextToken value. If you + // do not specify a value for MaxResults, the request returns 1,000 items per page + // by default. For more information, see Pagination + // (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Query-Requests.html#api-pagination). + MaxResults *int32 + + // The token for the next page of results. + NextToken *string + + noSmithyDocumentSerde +} + +type ListImagesInRecycleBinOutput struct { + + // Information about the AMIs. + Images []types.ImageRecycleBinInfo + + // The token to use to retrieve the next page of results. This value is null when + // there are no more results to return. + NextToken *string + + // Metadata pertaining to the operation's result. + ResultMetadata middleware.Metadata + + noSmithyDocumentSerde +} + +func (c *Client) addOperationListImagesInRecycleBinMiddlewares(stack *middleware.Stack, options Options) (err error) { + err = stack.Serialize.Add(&awsEc2query_serializeOpListImagesInRecycleBin{}, middleware.After) + if err != nil { + return err + } + err = stack.Deserialize.Add(&awsEc2query_deserializeOpListImagesInRecycleBin{}, middleware.After) + if err != nil { + return err + } + if err = addSetLoggerMiddleware(stack, options); err != nil { + return err + } + if err = awsmiddleware.AddClientRequestIDMiddleware(stack); err != nil { + return err + } + if err = smithyhttp.AddComputeContentLengthMiddleware(stack); err != nil { + return err + } + if err = addResolveEndpointMiddleware(stack, options); err != nil { + return err + } + if err = v4.AddComputePayloadSHA256Middleware(stack); err != nil { + return err + } + if err = addRetryMiddlewares(stack, options); err != nil { + return err + } + if err = addHTTPSignerV4Middleware(stack, options); err != nil { + return err + } + if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil { + return err + } + if err = awsmiddleware.AddRecordResponseTiming(stack); err != nil { + return err + } + if err = addClientUserAgent(stack); err != nil { + return err + } + if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil { + return err + } + if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { + return err + } + if err = stack.Initialize.Add(newServiceMetadataMiddleware_opListImagesInRecycleBin(options.Region), middleware.Before); err != nil { + return err + } + if err = addRequestIDRetrieverMiddleware(stack); err != nil { + return err + } + if err = addResponseErrorMiddleware(stack); err != nil { + return err + } + if err = addRequestResponseLogging(stack, options); err != nil { + return err + } + return nil +} + +// ListImagesInRecycleBinAPIClient is a client that implements the +// ListImagesInRecycleBin operation. +type ListImagesInRecycleBinAPIClient interface { + ListImagesInRecycleBin(context.Context, *ListImagesInRecycleBinInput, ...func(*Options)) (*ListImagesInRecycleBinOutput, error) +} + +var _ ListImagesInRecycleBinAPIClient = (*Client)(nil) + +// ListImagesInRecycleBinPaginatorOptions is the paginator options for +// ListImagesInRecycleBin +type ListImagesInRecycleBinPaginatorOptions struct { + // The maximum number of results to return with a single call. To retrieve the + // remaining results, make another call with the returned nextToken value. If you + // do not specify a value for MaxResults, the request returns 1,000 items per page + // by default. For more information, see Pagination + // (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Query-Requests.html#api-pagination). + Limit int32 + + // Set to true if pagination should stop if the service returns a pagination token + // that matches the most recent token provided to the service. + StopOnDuplicateToken bool +} + +// ListImagesInRecycleBinPaginator is a paginator for ListImagesInRecycleBin +type ListImagesInRecycleBinPaginator struct { + options ListImagesInRecycleBinPaginatorOptions + client ListImagesInRecycleBinAPIClient + params *ListImagesInRecycleBinInput + nextToken *string + firstPage bool +} + +// NewListImagesInRecycleBinPaginator returns a new ListImagesInRecycleBinPaginator +func NewListImagesInRecycleBinPaginator(client ListImagesInRecycleBinAPIClient, params *ListImagesInRecycleBinInput, optFns ...func(*ListImagesInRecycleBinPaginatorOptions)) *ListImagesInRecycleBinPaginator { + if params == nil { + params = &ListImagesInRecycleBinInput{} + } + + options := ListImagesInRecycleBinPaginatorOptions{} + if params.MaxResults != nil { + options.Limit = *params.MaxResults + } + + for _, fn := range optFns { + fn(&options) + } + + return &ListImagesInRecycleBinPaginator{ + options: options, + client: client, + params: params, + firstPage: true, + nextToken: params.NextToken, + } +} + +// HasMorePages returns a boolean indicating whether more pages are available +func (p *ListImagesInRecycleBinPaginator) HasMorePages() bool { + return p.firstPage || (p.nextToken != nil && len(*p.nextToken) != 0) +} + +// NextPage retrieves the next ListImagesInRecycleBin page. +func (p *ListImagesInRecycleBinPaginator) NextPage(ctx context.Context, optFns ...func(*Options)) (*ListImagesInRecycleBinOutput, error) { + if !p.HasMorePages() { + return nil, fmt.Errorf("no more pages available") + } + + params := *p.params + params.NextToken = p.nextToken + + var limit *int32 + if p.options.Limit > 0 { + limit = &p.options.Limit + } + params.MaxResults = limit + + result, err := p.client.ListImagesInRecycleBin(ctx, ¶ms, optFns...) + if err != nil { + return nil, err + } + p.firstPage = false + + prevToken := p.nextToken + p.nextToken = result.NextToken + + if p.options.StopOnDuplicateToken && + prevToken != nil && + p.nextToken != nil && + *prevToken == *p.nextToken { + p.nextToken = nil + } + + return result, nil +} + +func newServiceMetadataMiddleware_opListImagesInRecycleBin(region string) *awsmiddleware.RegisterServiceMetadata { + return &awsmiddleware.RegisterServiceMetadata{ + Region: region, + ServiceID: ServiceID, + SigningName: "ec2", + OperationName: "ListImagesInRecycleBin", + } +} diff --git a/service/ec2/api_op_ModifyClientVpnEndpoint.go b/service/ec2/api_op_ModifyClientVpnEndpoint.go index 17d2548787d..fe144458b36 100644 --- a/service/ec2/api_op_ModifyClientVpnEndpoint.go +++ b/service/ec2/api_op_ModifyClientVpnEndpoint.go @@ -38,6 +38,8 @@ type ModifyClientVpnEndpointInput struct { // The options for managing connection authorization for new client connections. ClientConnectOptions *types.ClientConnectOptions + // Options for enabling a customizable text banner that will be displayed on Amazon + // Web Services provided clients when a VPN session is established. ClientLoginBannerOptions *types.ClientLoginBannerOptions // Information about the client connection logging options. If you enable client @@ -79,6 +81,8 @@ type ModifyClientVpnEndpointInput struct { // provisioned in Certificate Manager (ACM). ServerCertificateArn *string + // The maximum VPN session duration time in hours. Valid values: 8 | 10 | 12 | 24 + // Default value: 24 SessionTimeoutHours *int32 // Indicates whether the VPN is split-tunnel. For information about split-tunnel diff --git a/service/ec2/api_op_MonitorInstances.go b/service/ec2/api_op_MonitorInstances.go index 8a0bf09b64e..2f76deddc8e 100644 --- a/service/ec2/api_op_MonitorInstances.go +++ b/service/ec2/api_op_MonitorInstances.go @@ -14,7 +14,9 @@ import ( // Enables detailed monitoring for a running instance. Otherwise, basic monitoring // is enabled. For more information, see Monitor your instances using CloudWatch // (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/using-cloudwatch.html) in -// the Amazon EC2 User Guide. To disable detailed monitoring, see . +// the Amazon EC2 User Guide. To disable detailed monitoring, see +// UnmonitorInstances +// (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_UnmonitorInstances.html). func (c *Client) MonitorInstances(ctx context.Context, params *MonitorInstancesInput, optFns ...func(*Options)) (*MonitorInstancesOutput, error) { if params == nil { params = &MonitorInstancesInput{} diff --git a/service/ec2/api_op_RegisterInstanceEventNotificationAttributes.go b/service/ec2/api_op_RegisterInstanceEventNotificationAttributes.go index 47d82fec6f3..20c33d3847a 100644 --- a/service/ec2/api_op_RegisterInstanceEventNotificationAttributes.go +++ b/service/ec2/api_op_RegisterInstanceEventNotificationAttributes.go @@ -12,7 +12,8 @@ import ( ) // Registers a set of tag keys to include in scheduled event notifications for your -// resources. To remove tags, use . +// resources. To remove tags, use DeregisterInstanceEventNotificationAttributes +// (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DeregisterInstanceEventNotificationAttributes.html). func (c *Client) RegisterInstanceEventNotificationAttributes(ctx context.Context, params *RegisterInstanceEventNotificationAttributesInput, optFns ...func(*Options)) (*RegisterInstanceEventNotificationAttributesOutput, error) { if params == nil { params = &RegisterInstanceEventNotificationAttributesInput{} diff --git a/service/ec2/api_op_RestoreImageFromRecycleBin.go b/service/ec2/api_op_RestoreImageFromRecycleBin.go new file mode 100644 index 00000000000..ea293ea356f --- /dev/null +++ b/service/ec2/api_op_RestoreImageFromRecycleBin.go @@ -0,0 +1,128 @@ +// Code generated by smithy-go-codegen DO NOT EDIT. + +package ec2 + +import ( + "context" + awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" + "github.com/aws/aws-sdk-go-v2/aws/signer/v4" + "github.com/aws/smithy-go/middleware" + smithyhttp "github.com/aws/smithy-go/transport/http" +) + +// Restores an AMI from the Recycle Bin. For more information, see Recycle Bin +// (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/recycle-bin.html) in the +// Amazon Elastic Compute Cloud User Guide. +func (c *Client) RestoreImageFromRecycleBin(ctx context.Context, params *RestoreImageFromRecycleBinInput, optFns ...func(*Options)) (*RestoreImageFromRecycleBinOutput, error) { + if params == nil { + params = &RestoreImageFromRecycleBinInput{} + } + + result, metadata, err := c.invokeOperation(ctx, "RestoreImageFromRecycleBin", params, optFns, c.addOperationRestoreImageFromRecycleBinMiddlewares) + if err != nil { + return nil, err + } + + out := result.(*RestoreImageFromRecycleBinOutput) + out.ResultMetadata = metadata + return out, nil +} + +type RestoreImageFromRecycleBinInput struct { + + // The ID of the AMI to restore. + // + // This member is required. + ImageId *string + + // Checks whether you have the required permissions for the action, without + // actually making the request, and provides an error response. If you have the + // required permissions, the error response is DryRunOperation. Otherwise, it is + // UnauthorizedOperation. + DryRun *bool + + noSmithyDocumentSerde +} + +type RestoreImageFromRecycleBinOutput struct { + + // Returns true if the request succeeds; otherwise, it returns an error. + Return *bool + + // Metadata pertaining to the operation's result. + ResultMetadata middleware.Metadata + + noSmithyDocumentSerde +} + +func (c *Client) addOperationRestoreImageFromRecycleBinMiddlewares(stack *middleware.Stack, options Options) (err error) { + err = stack.Serialize.Add(&awsEc2query_serializeOpRestoreImageFromRecycleBin{}, middleware.After) + if err != nil { + return err + } + err = stack.Deserialize.Add(&awsEc2query_deserializeOpRestoreImageFromRecycleBin{}, middleware.After) + if err != nil { + return err + } + if err = addSetLoggerMiddleware(stack, options); err != nil { + return err + } + if err = awsmiddleware.AddClientRequestIDMiddleware(stack); err != nil { + return err + } + if err = smithyhttp.AddComputeContentLengthMiddleware(stack); err != nil { + return err + } + if err = addResolveEndpointMiddleware(stack, options); err != nil { + return err + } + if err = v4.AddComputePayloadSHA256Middleware(stack); err != nil { + return err + } + if err = addRetryMiddlewares(stack, options); err != nil { + return err + } + if err = addHTTPSignerV4Middleware(stack, options); err != nil { + return err + } + if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil { + return err + } + if err = awsmiddleware.AddRecordResponseTiming(stack); err != nil { + return err + } + if err = addClientUserAgent(stack); err != nil { + return err + } + if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil { + return err + } + if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { + return err + } + if err = addOpRestoreImageFromRecycleBinValidationMiddleware(stack); err != nil { + return err + } + if err = stack.Initialize.Add(newServiceMetadataMiddleware_opRestoreImageFromRecycleBin(options.Region), middleware.Before); err != nil { + return err + } + if err = addRequestIDRetrieverMiddleware(stack); err != nil { + return err + } + if err = addResponseErrorMiddleware(stack); err != nil { + return err + } + if err = addRequestResponseLogging(stack, options); err != nil { + return err + } + return nil +} + +func newServiceMetadataMiddleware_opRestoreImageFromRecycleBin(region string) *awsmiddleware.RegisterServiceMetadata { + return &awsmiddleware.RegisterServiceMetadata{ + Region: region, + ServiceID: ServiceID, + SigningName: "ec2", + OperationName: "RestoreImageFromRecycleBin", + } +} diff --git a/service/ec2/api_op_SearchLocalGatewayRoutes.go b/service/ec2/api_op_SearchLocalGatewayRoutes.go index 5282fb384e5..cfb551f3991 100644 --- a/service/ec2/api_op_SearchLocalGatewayRoutes.go +++ b/service/ec2/api_op_SearchLocalGatewayRoutes.go @@ -42,6 +42,25 @@ type SearchLocalGatewayRoutesInput struct { DryRun *bool // One or more filters. + // + // * route-search.exact-match - The exact match of the + // specified filter. + // + // * route-search.longest-prefix-match - The longest prefix that + // matches the route. + // + // * route-search.subnet-of-match - The routes with a subnet + // that match the specified CIDR filter. + // + // * route-search.supernet-of-match - The + // routes with a CIDR that encompass the CIDR filter. For example, if you have + // 10.0.1.0/29 and 10.0.1.0/31 routes in your route table and you specify + // supernet-of-match as 10.0.1.0/30, then the result returns 10.0.1.0/29. + // + // * state + // - The state of the route. + // + // * type - The route type. Filters []types.Filter // The maximum number of results to return with a single call. To retrieve the diff --git a/service/ec2/deserializers.go b/service/ec2/deserializers.go index 21eee386135..7d9789072c5 100644 --- a/service/ec2/deserializers.go +++ b/service/ec2/deserializers.go @@ -35596,6 +35596,97 @@ func awsEc2query_deserializeOpErrorImportVolume(response *smithyhttp.Response, m } } +type awsEc2query_deserializeOpListImagesInRecycleBin struct { +} + +func (*awsEc2query_deserializeOpListImagesInRecycleBin) ID() string { + return "OperationDeserializer" +} + +func (m *awsEc2query_deserializeOpListImagesInRecycleBin) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( + out middleware.DeserializeOutput, metadata middleware.Metadata, err error, +) { + out, metadata, err = next.HandleDeserialize(ctx, in) + if err != nil { + return out, metadata, err + } + + response, ok := out.RawResponse.(*smithyhttp.Response) + if !ok { + return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} + } + + if response.StatusCode < 200 || response.StatusCode >= 300 { + return out, metadata, awsEc2query_deserializeOpErrorListImagesInRecycleBin(response, &metadata) + } + output := &ListImagesInRecycleBinOutput{} + out.Result = output + + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + body := io.TeeReader(response.Body, ringBuffer) + rootDecoder := xml.NewDecoder(body) + t, err := smithyxml.FetchRootElement(rootDecoder) + if err == io.EOF { + return out, metadata, nil + } + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + return out, metadata, &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + } + + decoder := smithyxml.WrapNodeDecoder(rootDecoder, t) + err = awsEc2query_deserializeOpDocumentListImagesInRecycleBinOutput(&output, decoder) + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return out, metadata, err + } + + return out, metadata, err +} + +func awsEc2query_deserializeOpErrorListImagesInRecycleBin(response *smithyhttp.Response, metadata *middleware.Metadata) error { + var errorBuffer bytes.Buffer + if _, err := io.Copy(&errorBuffer, response.Body); err != nil { + return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} + } + errorBody := bytes.NewReader(errorBuffer.Bytes()) + + errorCode := "UnknownError" + errorMessage := errorCode + + errorComponents, err := ec2query.GetErrorResponseComponents(errorBody) + if err != nil { + return err + } + awsmiddleware.SetRequestIDMetadata(metadata, errorComponents.RequestID) + if len(errorComponents.Code) != 0 { + errorCode = errorComponents.Code + } + if len(errorComponents.Message) != 0 { + errorMessage = errorComponents.Message + } + errorBody.Seek(0, io.SeekStart) + switch { + default: + genericError := &smithy.GenericAPIError{ + Code: errorCode, + Message: errorMessage, + } + return genericError + + } +} + type awsEc2query_deserializeOpListSnapshotsInRecycleBin struct { } @@ -43736,6 +43827,97 @@ func awsEc2query_deserializeOpErrorRestoreAddressToClassic(response *smithyhttp. } } +type awsEc2query_deserializeOpRestoreImageFromRecycleBin struct { +} + +func (*awsEc2query_deserializeOpRestoreImageFromRecycleBin) ID() string { + return "OperationDeserializer" +} + +func (m *awsEc2query_deserializeOpRestoreImageFromRecycleBin) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( + out middleware.DeserializeOutput, metadata middleware.Metadata, err error, +) { + out, metadata, err = next.HandleDeserialize(ctx, in) + if err != nil { + return out, metadata, err + } + + response, ok := out.RawResponse.(*smithyhttp.Response) + if !ok { + return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} + } + + if response.StatusCode < 200 || response.StatusCode >= 300 { + return out, metadata, awsEc2query_deserializeOpErrorRestoreImageFromRecycleBin(response, &metadata) + } + output := &RestoreImageFromRecycleBinOutput{} + out.Result = output + + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + body := io.TeeReader(response.Body, ringBuffer) + rootDecoder := xml.NewDecoder(body) + t, err := smithyxml.FetchRootElement(rootDecoder) + if err == io.EOF { + return out, metadata, nil + } + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + return out, metadata, &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + } + + decoder := smithyxml.WrapNodeDecoder(rootDecoder, t) + err = awsEc2query_deserializeOpDocumentRestoreImageFromRecycleBinOutput(&output, decoder) + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return out, metadata, err + } + + return out, metadata, err +} + +func awsEc2query_deserializeOpErrorRestoreImageFromRecycleBin(response *smithyhttp.Response, metadata *middleware.Metadata) error { + var errorBuffer bytes.Buffer + if _, err := io.Copy(&errorBuffer, response.Body); err != nil { + return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} + } + errorBody := bytes.NewReader(errorBuffer.Bytes()) + + errorCode := "UnknownError" + errorMessage := errorCode + + errorComponents, err := ec2query.GetErrorResponseComponents(errorBody) + if err != nil { + return err + } + awsmiddleware.SetRequestIDMetadata(metadata, errorComponents.RequestID) + if len(errorComponents.Code) != 0 { + errorCode = errorComponents.Code + } + if len(errorComponents.Message) != 0 { + errorMessage = errorComponents.Message + } + errorBody.Seek(0, io.SeekStart) + switch { + default: + genericError := &smithy.GenericAPIError{ + Code: errorCode, + Message: errorMessage, + } + return genericError + + } +} + type awsEc2query_deserializeOpRestoreManagedPrefixListVersion struct { } @@ -67983,6 +68165,183 @@ func awsEc2query_deserializeDocumentImageListUnwrapped(v *[]types.Image, decoder *v = sv return nil } +func awsEc2query_deserializeDocumentImageRecycleBinInfo(v **types.ImageRecycleBinInfo, decoder smithyxml.NodeDecoder) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + var sv *types.ImageRecycleBinInfo + if *v == nil { + sv = &types.ImageRecycleBinInfo{} + } else { + sv = *v + } + + for { + t, done, err := decoder.Token() + if err != nil { + return err + } + if done { + break + } + originalDecoder := decoder + decoder = smithyxml.WrapNodeDecoder(originalDecoder.Decoder, t) + switch { + case strings.EqualFold("description", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + sv.Description = ptr.String(xtv) + } + + case strings.EqualFold("imageId", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + sv.ImageId = ptr.String(xtv) + } + + case strings.EqualFold("name", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + sv.Name = ptr.String(xtv) + } + + case strings.EqualFold("recycleBinEnterTime", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + t, err := smithytime.ParseDateTime(xtv) + if err != nil { + return err + } + sv.RecycleBinEnterTime = ptr.Time(t) + } + + case strings.EqualFold("recycleBinExitTime", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + t, err := smithytime.ParseDateTime(xtv) + if err != nil { + return err + } + sv.RecycleBinExitTime = ptr.Time(t) + } + + default: + // Do nothing and ignore the unexpected tag element + err = decoder.Decoder.Skip() + if err != nil { + return err + } + + } + decoder = originalDecoder + } + *v = sv + return nil +} + +func awsEc2query_deserializeDocumentImageRecycleBinInfoList(v *[]types.ImageRecycleBinInfo, decoder smithyxml.NodeDecoder) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + var sv []types.ImageRecycleBinInfo + if *v == nil { + sv = make([]types.ImageRecycleBinInfo, 0) + } else { + sv = *v + } + + originalDecoder := decoder + for { + t, done, err := decoder.Token() + if err != nil { + return err + } + if done { + break + } + switch { + case strings.EqualFold("item", t.Name.Local): + var col types.ImageRecycleBinInfo + nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) + destAddr := &col + if err := awsEc2query_deserializeDocumentImageRecycleBinInfo(&destAddr, nodeDecoder); err != nil { + return err + } + col = *destAddr + sv = append(sv, col) + + default: + err = decoder.Decoder.Skip() + if err != nil { + return err + } + + } + decoder = originalDecoder + } + *v = sv + return nil +} + +func awsEc2query_deserializeDocumentImageRecycleBinInfoListUnwrapped(v *[]types.ImageRecycleBinInfo, decoder smithyxml.NodeDecoder) error { + var sv []types.ImageRecycleBinInfo + if *v == nil { + sv = make([]types.ImageRecycleBinInfo, 0) + } else { + sv = *v + } + + switch { + default: + var mv types.ImageRecycleBinInfo + t := decoder.StartEl + _ = t + nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) + destAddr := &mv + if err := awsEc2query_deserializeDocumentImageRecycleBinInfo(&destAddr, nodeDecoder); err != nil { + return err + } + mv = *destAddr + sv = append(sv, mv) + } + *v = sv + return nil +} func awsEc2query_deserializeDocumentImportImageLicenseConfigurationResponse(v **types.ImportImageLicenseConfigurationResponse, decoder smithyxml.NodeDecoder) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) @@ -137681,6 +138040,61 @@ func awsEc2query_deserializeOpDocumentImportVolumeOutput(v **ImportVolumeOutput, return nil } +func awsEc2query_deserializeOpDocumentListImagesInRecycleBinOutput(v **ListImagesInRecycleBinOutput, decoder smithyxml.NodeDecoder) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + var sv *ListImagesInRecycleBinOutput + if *v == nil { + sv = &ListImagesInRecycleBinOutput{} + } else { + sv = *v + } + + for { + t, done, err := decoder.Token() + if err != nil { + return err + } + if done { + break + } + originalDecoder := decoder + decoder = smithyxml.WrapNodeDecoder(originalDecoder.Decoder, t) + switch { + case strings.EqualFold("imageSet", t.Name.Local): + nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) + if err := awsEc2query_deserializeDocumentImageRecycleBinInfoList(&sv.Images, nodeDecoder); err != nil { + return err + } + + case strings.EqualFold("nextToken", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + sv.NextToken = ptr.String(xtv) + } + + default: + // Do nothing and ignore the unexpected tag element + err = decoder.Decoder.Skip() + if err != nil { + return err + } + + } + decoder = originalDecoder + } + *v = sv + return nil +} + func awsEc2query_deserializeOpDocumentListSnapshotsInRecycleBinOutput(v **ListSnapshotsInRecycleBinOutput, decoder smithyxml.NodeDecoder) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) @@ -141304,6 +141718,58 @@ func awsEc2query_deserializeOpDocumentRestoreAddressToClassicOutput(v **RestoreA return nil } +func awsEc2query_deserializeOpDocumentRestoreImageFromRecycleBinOutput(v **RestoreImageFromRecycleBinOutput, decoder smithyxml.NodeDecoder) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + var sv *RestoreImageFromRecycleBinOutput + if *v == nil { + sv = &RestoreImageFromRecycleBinOutput{} + } else { + sv = *v + } + + for { + t, done, err := decoder.Token() + if err != nil { + return err + } + if done { + break + } + originalDecoder := decoder + decoder = smithyxml.WrapNodeDecoder(originalDecoder.Decoder, t) + switch { + case strings.EqualFold("return", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv, err := strconv.ParseBool(string(val)) + if err != nil { + return fmt.Errorf("expected Boolean to be of type *bool, got %T instead", val) + } + sv.Return = ptr.Bool(xtv) + } + + default: + // Do nothing and ignore the unexpected tag element + err = decoder.Decoder.Skip() + if err != nil { + return err + } + + } + decoder = originalDecoder + } + *v = sv + return nil +} + func awsEc2query_deserializeOpDocumentRestoreManagedPrefixListVersionOutput(v **RestoreManagedPrefixListVersionOutput, decoder smithyxml.NodeDecoder) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) diff --git a/service/ec2/generated.json b/service/ec2/generated.json index 3c6400eef5b..57dc453704e 100644 --- a/service/ec2/generated.json +++ b/service/ec2/generated.json @@ -411,6 +411,7 @@ "api_op_ImportKeyPair.go", "api_op_ImportSnapshot.go", "api_op_ImportVolume.go", + "api_op_ListImagesInRecycleBin.go", "api_op_ListSnapshotsInRecycleBin.go", "api_op_ModifyAddressAttribute.go", "api_op_ModifyAvailabilityZoneGroup.go", @@ -505,6 +506,7 @@ "api_op_ResetNetworkInterfaceAttribute.go", "api_op_ResetSnapshotAttribute.go", "api_op_RestoreAddressToClassic.go", + "api_op_RestoreImageFromRecycleBin.go", "api_op_RestoreManagedPrefixListVersion.go", "api_op_RestoreSnapshotFromRecycleBin.go", "api_op_RestoreSnapshotTier.go", diff --git a/service/ec2/internal/endpoints/endpoints.go b/service/ec2/internal/endpoints/endpoints.go index e2065127c4c..38205085fb4 100644 --- a/service/ec2/internal/endpoints/endpoints.go +++ b/service/ec2/internal/endpoints/endpoints.go @@ -425,7 +425,7 @@ var defaultPartitions = endpoints.Partitions{ { Variant: endpoints.FIPSVariant, }: { - Hostname: "ec2-fips.{region}.amazonaws.com", + Hostname: "ec2.{region}.amazonaws.com", Protocols: []string{"https"}, SignatureVersions: []string{"v4"}, }, diff --git a/service/ec2/serializers.go b/service/ec2/serializers.go index c6bfecaf366..024615764ff 100644 --- a/service/ec2/serializers.go +++ b/service/ec2/serializers.go @@ -25617,6 +25617,70 @@ func (m *awsEc2query_serializeOpImportVolume) HandleSerialize(ctx context.Contex return next.HandleSerialize(ctx, in) } +type awsEc2query_serializeOpListImagesInRecycleBin struct { +} + +func (*awsEc2query_serializeOpListImagesInRecycleBin) ID() string { + return "OperationSerializer" +} + +func (m *awsEc2query_serializeOpListImagesInRecycleBin) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( + out middleware.SerializeOutput, metadata middleware.Metadata, err error, +) { + request, ok := in.Request.(*smithyhttp.Request) + if !ok { + return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} + } + + input, ok := in.Parameters.(*ListImagesInRecycleBinInput) + _ = input + if !ok { + return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} + } + + operationPath := "/" + if len(request.Request.URL.Path) == 0 { + request.Request.URL.Path = operationPath + } else { + request.Request.URL.Path = path.Join(request.Request.URL.Path, operationPath) + if request.Request.URL.Path != "/" && operationPath[len(operationPath)-1] == '/' { + request.Request.URL.Path += "/" + } + } + request.Request.Method = "POST" + httpBindingEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header) + if err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + httpBindingEncoder.SetHeader("Content-Type").String("application/x-www-form-urlencoded") + + bodyWriter := bytes.NewBuffer(nil) + bodyEncoder := query.NewEncoder(bodyWriter) + body := bodyEncoder.Object() + body.Key("Action").String("ListImagesInRecycleBin") + body.Key("Version").String("2016-11-15") + + if err := awsEc2query_serializeOpDocumentListImagesInRecycleBinInput(input, bodyEncoder.Value); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + err = bodyEncoder.Encode() + if err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + if request, err = request.SetStream(bytes.NewReader(bodyWriter.Bytes())); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + if request.Request, err = httpBindingEncoder.Encode(request.Request); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + in.Request = request + + return next.HandleSerialize(ctx, in) +} + type awsEc2query_serializeOpListSnapshotsInRecycleBin struct { } @@ -31633,6 +31697,70 @@ func (m *awsEc2query_serializeOpRestoreAddressToClassic) HandleSerialize(ctx con return next.HandleSerialize(ctx, in) } +type awsEc2query_serializeOpRestoreImageFromRecycleBin struct { +} + +func (*awsEc2query_serializeOpRestoreImageFromRecycleBin) ID() string { + return "OperationSerializer" +} + +func (m *awsEc2query_serializeOpRestoreImageFromRecycleBin) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( + out middleware.SerializeOutput, metadata middleware.Metadata, err error, +) { + request, ok := in.Request.(*smithyhttp.Request) + if !ok { + return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} + } + + input, ok := in.Parameters.(*RestoreImageFromRecycleBinInput) + _ = input + if !ok { + return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} + } + + operationPath := "/" + if len(request.Request.URL.Path) == 0 { + request.Request.URL.Path = operationPath + } else { + request.Request.URL.Path = path.Join(request.Request.URL.Path, operationPath) + if request.Request.URL.Path != "/" && operationPath[len(operationPath)-1] == '/' { + request.Request.URL.Path += "/" + } + } + request.Request.Method = "POST" + httpBindingEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header) + if err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + httpBindingEncoder.SetHeader("Content-Type").String("application/x-www-form-urlencoded") + + bodyWriter := bytes.NewBuffer(nil) + bodyEncoder := query.NewEncoder(bodyWriter) + body := bodyEncoder.Object() + body.Key("Action").String("RestoreImageFromRecycleBin") + body.Key("Version").String("2016-11-15") + + if err := awsEc2query_serializeOpDocumentRestoreImageFromRecycleBinInput(input, bodyEncoder.Value); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + err = bodyEncoder.Encode() + if err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + if request, err = request.SetStream(bytes.NewReader(bodyWriter.Bytes())); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + if request.Request, err = httpBindingEncoder.Encode(request.Request); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + in.Request = request + + return next.HandleSerialize(ctx, in) +} + type awsEc2query_serializeOpRestoreManagedPrefixListVersion struct { } @@ -54253,6 +54381,35 @@ func awsEc2query_serializeOpDocumentImportVolumeInput(v *ImportVolumeInput, valu return nil } +func awsEc2query_serializeOpDocumentListImagesInRecycleBinInput(v *ListImagesInRecycleBinInput, value query.Value) error { + object := value.Object() + _ = object + + if v.DryRun != nil { + objectKey := object.Key("DryRun") + objectKey.Boolean(*v.DryRun) + } + + if v.ImageIds != nil { + objectKey := object.FlatKey("ImageId") + if err := awsEc2query_serializeDocumentImageIdStringList(v.ImageIds, objectKey); err != nil { + return err + } + } + + if v.MaxResults != nil { + objectKey := object.Key("MaxResults") + objectKey.Integer(*v.MaxResults) + } + + if v.NextToken != nil { + objectKey := object.Key("NextToken") + objectKey.String(*v.NextToken) + } + + return nil +} + func awsEc2query_serializeOpDocumentListSnapshotsInRecycleBinInput(v *ListSnapshotsInRecycleBinInput, value query.Value) error { object := value.Object() _ = object @@ -57542,6 +57699,23 @@ func awsEc2query_serializeOpDocumentRestoreAddressToClassicInput(v *RestoreAddre return nil } +func awsEc2query_serializeOpDocumentRestoreImageFromRecycleBinInput(v *RestoreImageFromRecycleBinInput, value query.Value) error { + object := value.Object() + _ = object + + if v.DryRun != nil { + objectKey := object.Key("DryRun") + objectKey.Boolean(*v.DryRun) + } + + if v.ImageId != nil { + objectKey := object.Key("ImageId") + objectKey.String(*v.ImageId) + } + + return nil +} + func awsEc2query_serializeOpDocumentRestoreManagedPrefixListVersionInput(v *RestoreManagedPrefixListVersionInput, value query.Value) error { object := value.Object() _ = object diff --git a/service/ec2/types/enums.go b/service/ec2/types/enums.go index 4f027eaed2f..7064db1300f 100644 --- a/service/ec2/types/enums.go +++ b/service/ec2/types/enums.go @@ -3013,6 +3013,12 @@ const ( InstanceTypeX1e8xlarge InstanceType = "x1e.8xlarge" InstanceTypeX1e16xlarge InstanceType = "x1e.16xlarge" InstanceTypeX1e32xlarge InstanceType = "x1e.32xlarge" + InstanceTypeX2iezn2xlarge InstanceType = "x2iezn.2xlarge" + InstanceTypeX2iezn4xlarge InstanceType = "x2iezn.4xlarge" + InstanceTypeX2iezn6xlarge InstanceType = "x2iezn.6xlarge" + InstanceTypeX2iezn8xlarge InstanceType = "x2iezn.8xlarge" + InstanceTypeX2iezn12xlarge InstanceType = "x2iezn.12xlarge" + InstanceTypeX2ieznMetal InstanceType = "x2iezn.metal" InstanceTypeX2gdMedium InstanceType = "x2gd.medium" InstanceTypeX2gdLarge InstanceType = "x2gd.large" InstanceTypeX2gdXlarge InstanceType = "x2gd.xlarge" @@ -3499,6 +3505,12 @@ func (InstanceType) Values() []InstanceType { "x1e.8xlarge", "x1e.16xlarge", "x1e.32xlarge", + "x2iezn.2xlarge", + "x2iezn.4xlarge", + "x2iezn.6xlarge", + "x2iezn.8xlarge", + "x2iezn.12xlarge", + "x2iezn.metal", "x2gd.medium", "x2gd.large", "x2gd.xlarge", @@ -4429,10 +4441,23 @@ type NetworkInterfaceType string // Enum values for NetworkInterfaceType const ( - NetworkInterfaceTypeInterface NetworkInterfaceType = "interface" - NetworkInterfaceTypeNatGateway NetworkInterfaceType = "natGateway" - NetworkInterfaceTypeEfa NetworkInterfaceType = "efa" - NetworkInterfaceTypeTrunk NetworkInterfaceType = "trunk" + NetworkInterfaceTypeInterface NetworkInterfaceType = "interface" + NetworkInterfaceTypeNatGateway NetworkInterfaceType = "natGateway" + NetworkInterfaceTypeEfa NetworkInterfaceType = "efa" + NetworkInterfaceTypeTrunk NetworkInterfaceType = "trunk" + NetworkInterfaceTypeLoadBalancer NetworkInterfaceType = "load_balancer" + NetworkInterfaceTypeNetworkLoadBalancer NetworkInterfaceType = "network_load_balancer" + NetworkInterfaceTypeVpcEndpoint NetworkInterfaceType = "vpc_endpoint" + NetworkInterfaceTypeBranch NetworkInterfaceType = "branch" + NetworkInterfaceTypeTransitGateway NetworkInterfaceType = "transit_gateway" + NetworkInterfaceTypeLambda NetworkInterfaceType = "lambda" + NetworkInterfaceTypeQuicksight NetworkInterfaceType = "quicksight" + NetworkInterfaceTypeGlobalAcceleratorManaged NetworkInterfaceType = "global_accelerator_managed" + NetworkInterfaceTypeApiGatewayManaged NetworkInterfaceType = "api_gateway_managed" + NetworkInterfaceTypeGatewayLoadBalancer NetworkInterfaceType = "gateway_load_balancer" + NetworkInterfaceTypeGatewayLoadBalancerEndpoint NetworkInterfaceType = "gateway_load_balancer_endpoint" + NetworkInterfaceTypeIotRulesManaged NetworkInterfaceType = "iot_rules_managed" + NetworkInterfaceTypeAwsCodestarConnectionsManaged NetworkInterfaceType = "aws_codestar_connections_managed" ) // Values returns all known values for NetworkInterfaceType. Note that this can be @@ -4444,6 +4469,19 @@ func (NetworkInterfaceType) Values() []NetworkInterfaceType { "natGateway", "efa", "trunk", + "load_balancer", + "network_load_balancer", + "vpc_endpoint", + "branch", + "transit_gateway", + "lambda", + "quicksight", + "global_accelerator_managed", + "api_gateway_managed", + "gateway_load_balancer", + "gateway_load_balancer_endpoint", + "iot_rules_managed", + "aws_codestar_connections_managed", } } diff --git a/service/ec2/types/types.go b/service/ec2/types/types.go index 57c0904129e..b5c86bb7770 100644 --- a/service/ec2/types/types.go +++ b/service/ec2/types/types.go @@ -593,7 +593,8 @@ type AvailabilityZone struct { // The name of the Region. RegionName *string - // The state of the Availability Zone, Local Zone, or Wavelength Zone. + // The state of the Availability Zone, Local Zone, or Wavelength Zone. This value + // is always available. State AvailabilityZoneState // The ID of the Availability Zone, Local Zone, or Wavelength Zone. @@ -1405,17 +1406,33 @@ type ClientData struct { noSmithyDocumentSerde } +// Options for enabling a customizable text banner that will be displayed on Amazon +// Web Services provided clients when a VPN session is established. type ClientLoginBannerOptions struct { + + // Customizable text that will be displayed in a banner on Amazon Web Services + // provided clients when a VPN session is established. UTF-8 encoded characters + // only. Maximum of 1400 characters. BannerText *string + // Enable or disable a customizable text banner that will be displayed on Amazon + // Web Services provided clients when a VPN session is established. Valid values: + // true | false Default value: false Enabled *bool noSmithyDocumentSerde } +// Current state of options for customizable text banner that will be displayed on +// Amazon Web Services provided clients when a VPN session is established. type ClientLoginBannerResponseOptions struct { + + // Customizable text that will be displayed in a banner on Amazon Web Services + // provided clients when a VPN session is established. UTF-8 encoded characters + // only. Maximum of 1400 characters. BannerText *string + // Current state of text banner feature. Valid values: true | false Enabled *bool noSmithyDocumentSerde @@ -1562,6 +1579,8 @@ type ClientVpnEndpoint struct { // The options for managing connection authorization for new client connections. ClientConnectOptions *ClientConnectResponseOptions + // Options for enabling a customizable text banner that will be displayed on Amazon + // Web Services provided clients when a VPN session is established. ClientLoginBannerOptions *ClientLoginBannerResponseOptions // The ID of the Client VPN endpoint. @@ -1595,6 +1614,8 @@ type ClientVpnEndpoint struct { // The ARN of the server certificate. ServerCertificateArn *string + // The maximum VPN session duration time in hours. Valid values: 8 | 10 | 12 | 24 + // Default value: 24 SessionTimeoutHours *int32 // Indicates whether split-tunnel is enabled in the Client VPN endpoint. For @@ -1869,12 +1890,12 @@ type CpuOptionsRequest struct { type CreateFleetError struct { // The error code that indicates why the instance could not be launched. For more - // information about error codes, see Error Codes + // information about error codes, see Error codes // (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/errors-overview.html.html). ErrorCode *string // The error message that describes why the instance could not be launched. For - // more information about error messages, see Error Codes + // more information about error messages, see Error codes // (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/errors-overview.html.html). ErrorMessage *string @@ -2232,12 +2253,12 @@ type DescribeFastSnapshotRestoreSuccessItem struct { type DescribeFleetError struct { // The error code that indicates why the instance could not be launched. For more - // information about error codes, see Error Codes + // information about error codes, see Error codes // (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/errors-overview.html.html). ErrorCode *string // The error message that describes why the instance could not be launched. For - // more information about error messages, see Error Codes + // more information about error messages, see Error codes // (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/errors-overview.html.html). ErrorMessage *string @@ -2585,7 +2606,8 @@ type EbsBlockDevice struct { // support Amazon EBS encryption. For more information, see Supported instance // types // (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/EBSEncryption.html#EBSEncryption_supported_instances). - // This parameter is not returned by . + // This parameter is not returned by DescribeImageAttribute + // (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeImageAttribute.html). Encrypted *bool // The number of I/O operations per second (IOPS). For gp3, io1, and io2 volumes, @@ -3551,7 +3573,7 @@ type FleetData struct { ActivityStatus FleetActivityStatus // Unique, case-sensitive identifier that you provide to ensure the idempotency of - // the request. For more information, see Ensuring Idempotency + // the request. For more information, see Ensuring idempotency // (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/Run_Instance_Idempotency.html). // Constraints: Maximum 64 ASCII characters ClientToken *string @@ -4627,6 +4649,28 @@ type ImageDiskContainer struct { noSmithyDocumentSerde } +// Information about an AMI that is currently in the Recycle Bin. +type ImageRecycleBinInfo struct { + + // The description of the AMI. + Description *string + + // The ID of the AMI. + ImageId *string + + // The name of the AMI. + Name *string + + // The date and time when the AMI entered the Recycle Bin. + RecycleBinEnterTime *time.Time + + // The date and time when the AMI is to be permanently deleted from the Recycle + // Bin. + RecycleBinExitTime *time.Time + + noSmithyDocumentSerde +} + // The request information of license configurations. type ImportImageLicenseConfigurationRequest struct { @@ -5447,7 +5491,7 @@ type InstanceNetworkInterface struct { // One or more security groups. Groups []GroupIdentifier - // Describes the type of network interface. Valid values: interface | efa | trunk + // The type of network interface. Valid values: interface | efa | trunk InterfaceType *string // The IPv4 delegated prefixes that are assigned to the network interface. @@ -5572,10 +5616,7 @@ type InstanceNetworkInterfaceSpecification struct { // creating a network interface when launching an instance. Groups []string - // The type of network interface. To create an Elastic Fabric Adapter (EFA), - // specify efa. For more information, see Elastic Fabric Adapter - // (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/efa.html) in the Amazon - // Elastic Compute Cloud User Guide. Valid values: interface | efa + // The type of network interface. Valid values: interface | efa InterfaceType *string // The number of IPv4 delegated prefixes to be automatically assigned to the @@ -7647,7 +7688,11 @@ type LaunchTemplateInstanceMetadataOptions struct { // credentials are not available. HttpTokens LaunchTemplateHttpTokensState - // + // Set to enabled to allow access to instance tags from the instance metadata. Set + // to disabled to turn off access to instance tags from the instance metadata. For + // more information, see Work with instance tags using the instance metadata + // (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/Using_Tags.html#work-with-tags-in-IMDS). + // Default: disabled InstanceMetadataTags LaunchTemplateInstanceMetadataTagsState // The state of the metadata option changes. pending - The metadata options are @@ -8120,8 +8165,9 @@ type LaunchTemplateTagSpecification struct { type LaunchTemplateTagSpecificationRequest struct { // The type of resource to tag. Currently, the resource types that support tagging - // on creation are instance and volume. To tag a resource after it has been - // created, see CreateTags + // on creation are instance, volume, elastic-gpu, network-interface, and + // spot-instances-request. To tag a resource after it has been created, see + // CreateTags // (https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_CreateTags.html). ResourceType ResourceType @@ -13390,7 +13436,7 @@ type Tag struct { Key *string // The value of the tag. Constraints: Tag values are case-sensitive and accept a - // maximum of 255 Unicode characters. + // maximum of 256 Unicode characters. Value *string noSmithyDocumentSerde diff --git a/service/ec2/validators.go b/service/ec2/validators.go index 33f4b0ec87f..8d32945f1dc 100644 --- a/service/ec2/validators.go +++ b/service/ec2/validators.go @@ -6590,6 +6590,26 @@ func (m *validateOpRestoreAddressToClassic) HandleInitialize(ctx context.Context return next.HandleInitialize(ctx, in) } +type validateOpRestoreImageFromRecycleBin struct { +} + +func (*validateOpRestoreImageFromRecycleBin) ID() string { + return "OperationInputValidation" +} + +func (m *validateOpRestoreImageFromRecycleBin) HandleInitialize(ctx context.Context, in middleware.InitializeInput, next middleware.InitializeHandler) ( + out middleware.InitializeOutput, metadata middleware.Metadata, err error, +) { + input, ok := in.Parameters.(*RestoreImageFromRecycleBinInput) + if !ok { + return out, metadata, fmt.Errorf("unknown input parameters type %T", in.Parameters) + } + if err := validateOpRestoreImageFromRecycleBinInput(input); err != nil { + return out, metadata, err + } + return next.HandleInitialize(ctx, in) +} + type validateOpRestoreManagedPrefixListVersion struct { } @@ -8326,6 +8346,10 @@ func addOpRestoreAddressToClassicValidationMiddleware(stack *middleware.Stack) e return stack.Initialize.Add(&validateOpRestoreAddressToClassic{}, middleware.After) } +func addOpRestoreImageFromRecycleBinValidationMiddleware(stack *middleware.Stack) error { + return stack.Initialize.Add(&validateOpRestoreImageFromRecycleBin{}, middleware.After) +} + func addOpRestoreManagedPrefixListVersionValidationMiddleware(stack *middleware.Stack) error { return stack.Initialize.Add(&validateOpRestoreManagedPrefixListVersion{}, middleware.After) } @@ -14696,6 +14720,21 @@ func validateOpRestoreAddressToClassicInput(v *RestoreAddressToClassicInput) err } } +func validateOpRestoreImageFromRecycleBinInput(v *RestoreImageFromRecycleBinInput) error { + if v == nil { + return nil + } + invalidParams := smithy.InvalidParamsError{Context: "RestoreImageFromRecycleBinInput"} + if v.ImageId == nil { + invalidParams.Add(smithy.NewErrParamRequired("ImageId")) + } + if invalidParams.Len() > 0 { + return invalidParams + } else { + return nil + } +} + func validateOpRestoreManagedPrefixListVersionInput(v *RestoreManagedPrefixListVersionInput) error { if v == nil { return nil diff --git a/service/efs/internal/endpoints/endpoints.go b/service/efs/internal/endpoints/endpoints.go index a9d47bd1f9d..92925eabaa0 100644 --- a/service/efs/internal/endpoints/endpoints.go +++ b/service/efs/internal/endpoints/endpoints.go @@ -207,6 +207,15 @@ var defaultPartitions = endpoints.Partitions{ }: { Hostname: "elasticfilesystem-fips.ap-southeast-2.amazonaws.com", }, + endpoints.EndpointKey{ + Region: "ap-southeast-3", + }: endpoints.Endpoint{}, + endpoints.EndpointKey{ + Region: "ap-southeast-3", + Variant: endpoints.FIPSVariant, + }: { + Hostname: "elasticfilesystem-fips.ap-southeast-3.amazonaws.com", + }, endpoints.EndpointKey{ Region: "ca-central-1", }: endpoints.Endpoint{}, @@ -342,6 +351,15 @@ var defaultPartitions = endpoints.Partitions{ }, Deprecated: aws.TrueTernary, }, + endpoints.EndpointKey{ + Region: "fips-ap-southeast-3", + }: endpoints.Endpoint{ + Hostname: "elasticfilesystem-fips.ap-southeast-3.amazonaws.com", + CredentialScope: endpoints.CredentialScope{ + Region: "ap-southeast-3", + }, + Deprecated: aws.TrueTernary, + }, endpoints.EndpointKey{ Region: "fips-ca-central-1", }: endpoints.Endpoint{ diff --git a/service/elasticache/api_op_CreateCacheCluster.go b/service/elasticache/api_op_CreateCacheCluster.go index 4d9dfe0c1f7..7f3db552fb2 100644 --- a/service/elasticache/api_op_CreateCacheCluster.go +++ b/service/elasticache/api_op_CreateCacheCluster.go @@ -225,8 +225,7 @@ type CreateCacheClusterInput struct { // Specifies the weekly time range during which maintenance on the cluster is // performed. It is specified as a range in the format ddd:hh24:mi-ddd:hh24:mi (24H - // Clock UTC). The minimum maintenance window is a 60 minute period. Valid values - // for ddd are: + // Clock UTC). The minimum maintenance window is a 60 minute period. PreferredMaintenanceWindow *string // The outpost ARN in which the cache cluster is created. diff --git a/service/elasticache/api_op_CreateCacheParameterGroup.go b/service/elasticache/api_op_CreateCacheParameterGroup.go index 0ccafe9d88b..a238f764e8b 100644 --- a/service/elasticache/api_op_CreateCacheParameterGroup.go +++ b/service/elasticache/api_op_CreateCacheParameterGroup.go @@ -46,7 +46,7 @@ type CreateCacheParameterGroupInput struct { // The name of the cache parameter group family that the cache parameter group can // be used with. Valid values are: memcached1.4 | memcached1.5 | memcached1.6 | - // redis2.6 | redis2.8 | redis3.2 | redis4.0 | redis5.0 | redis6.0 | redis6.2 + // redis2.6 | redis2.8 | redis3.2 | redis4.0 | redis5.0 | redis6.x // // This member is required. CacheParameterGroupFamily *string diff --git a/service/elasticache/types/types.go b/service/elasticache/types/types.go index f1f39230dfc..c72643a8fc0 100644 --- a/service/elasticache/types/types.go +++ b/service/elasticache/types/types.go @@ -468,7 +468,7 @@ type CacheParameterGroup struct { // The name of the cache parameter group family that this cache parameter group is // compatible with. Valid values are: memcached1.4 | memcached1.5 | memcached1.6 | - // redis2.6 | redis2.8 | redis3.2 | redis4.0 | redis5.0 | redis6.0 | + // redis2.6 | redis2.8 | redis3.2 | redis4.0 | redis5.0 | redis6.x | CacheParameterGroupFamily *string // The name of the cache parameter group. diff --git a/service/elasticsearchservice/api_op_DescribeDomainChangeProgress.go b/service/elasticsearchservice/api_op_DescribeDomainChangeProgress.go new file mode 100644 index 00000000000..683e144b2b8 --- /dev/null +++ b/service/elasticsearchservice/api_op_DescribeDomainChangeProgress.go @@ -0,0 +1,133 @@ +// Code generated by smithy-go-codegen DO NOT EDIT. + +package elasticsearchservice + +import ( + "context" + awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" + "github.com/aws/aws-sdk-go-v2/aws/signer/v4" + "github.com/aws/aws-sdk-go-v2/service/elasticsearchservice/types" + "github.com/aws/smithy-go/middleware" + smithyhttp "github.com/aws/smithy-go/transport/http" +) + +// Returns information about the current blue/green deployment happening on a +// domain, including a change ID, status, and progress stages. +func (c *Client) DescribeDomainChangeProgress(ctx context.Context, params *DescribeDomainChangeProgressInput, optFns ...func(*Options)) (*DescribeDomainChangeProgressOutput, error) { + if params == nil { + params = &DescribeDomainChangeProgressInput{} + } + + result, metadata, err := c.invokeOperation(ctx, "DescribeDomainChangeProgress", params, optFns, c.addOperationDescribeDomainChangeProgressMiddlewares) + if err != nil { + return nil, err + } + + out := result.(*DescribeDomainChangeProgressOutput) + out.ResultMetadata = metadata + return out, nil +} + +// Container for the parameters to the DescribeDomainChangeProgress operation. +// Specifies the domain name and optional change specific identity for which you +// want progress information. +type DescribeDomainChangeProgressInput struct { + + // The domain you want to get the progress information about. + // + // This member is required. + DomainName *string + + // The specific change ID for which you want to get progress information. This is + // an optional parameter. If omitted, the service returns information about the + // most recent configuration change. + ChangeId *string + + noSmithyDocumentSerde +} + +// The result of a DescribeDomainChangeProgress request. Contains the progress +// information of the requested domain change. +type DescribeDomainChangeProgressOutput struct { + + // Progress information for the configuration change that is requested in the + // DescribeDomainChangeProgress request. + ChangeProgressStatus *types.ChangeProgressStatusDetails + + // Metadata pertaining to the operation's result. + ResultMetadata middleware.Metadata + + noSmithyDocumentSerde +} + +func (c *Client) addOperationDescribeDomainChangeProgressMiddlewares(stack *middleware.Stack, options Options) (err error) { + err = stack.Serialize.Add(&awsRestjson1_serializeOpDescribeDomainChangeProgress{}, middleware.After) + if err != nil { + return err + } + err = stack.Deserialize.Add(&awsRestjson1_deserializeOpDescribeDomainChangeProgress{}, middleware.After) + if err != nil { + return err + } + if err = addSetLoggerMiddleware(stack, options); err != nil { + return err + } + if err = awsmiddleware.AddClientRequestIDMiddleware(stack); err != nil { + return err + } + if err = smithyhttp.AddComputeContentLengthMiddleware(stack); err != nil { + return err + } + if err = addResolveEndpointMiddleware(stack, options); err != nil { + return err + } + if err = v4.AddComputePayloadSHA256Middleware(stack); err != nil { + return err + } + if err = addRetryMiddlewares(stack, options); err != nil { + return err + } + if err = addHTTPSignerV4Middleware(stack, options); err != nil { + return err + } + if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil { + return err + } + if err = awsmiddleware.AddRecordResponseTiming(stack); err != nil { + return err + } + if err = addClientUserAgent(stack); err != nil { + return err + } + if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil { + return err + } + if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { + return err + } + if err = addOpDescribeDomainChangeProgressValidationMiddleware(stack); err != nil { + return err + } + if err = stack.Initialize.Add(newServiceMetadataMiddleware_opDescribeDomainChangeProgress(options.Region), middleware.Before); err != nil { + return err + } + if err = addRequestIDRetrieverMiddleware(stack); err != nil { + return err + } + if err = addResponseErrorMiddleware(stack); err != nil { + return err + } + if err = addRequestResponseLogging(stack, options); err != nil { + return err + } + return nil +} + +func newServiceMetadataMiddleware_opDescribeDomainChangeProgress(region string) *awsmiddleware.RegisterServiceMetadata { + return &awsmiddleware.RegisterServiceMetadata{ + Region: region, + ServiceID: ServiceID, + SigningName: "es", + OperationName: "DescribeDomainChangeProgress", + } +} diff --git a/service/elasticsearchservice/api_op_UpgradeElasticsearchDomain.go b/service/elasticsearchservice/api_op_UpgradeElasticsearchDomain.go index d6b86c570f4..30bf2202909 100644 --- a/service/elasticsearchservice/api_op_UpgradeElasticsearchDomain.go +++ b/service/elasticsearchservice/api_op_UpgradeElasticsearchDomain.go @@ -6,6 +6,7 @@ import ( "context" awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" "github.com/aws/aws-sdk-go-v2/aws/signer/v4" + "github.com/aws/aws-sdk-go-v2/service/elasticsearchservice/types" "github.com/aws/smithy-go/middleware" smithyhttp "github.com/aws/smithy-go/transport/http" ) @@ -53,6 +54,9 @@ type UpgradeElasticsearchDomainInput struct { // Container for response returned by UpgradeElasticsearchDomain operation. type UpgradeElasticsearchDomainOutput struct { + // Specifies change details of the domain configuration change. + ChangeProgressDetails *types.ChangeProgressDetails + // The name of an Elasticsearch domain. Domain names are unique across the domains // owned by an account within an AWS region. Domain names start with a letter or // number and can contain the following characters: a-z (lowercase), 0-9, and - diff --git a/service/elasticsearchservice/deserializers.go b/service/elasticsearchservice/deserializers.go index 4b83ea731f5..b23d70d0f3c 100644 --- a/service/elasticsearchservice/deserializers.go +++ b/service/elasticsearchservice/deserializers.go @@ -1982,6 +1982,162 @@ func awsRestjson1_deserializeOpDocumentDescribeDomainAutoTunesOutput(v **Describ return nil } +type awsRestjson1_deserializeOpDescribeDomainChangeProgress struct { +} + +func (*awsRestjson1_deserializeOpDescribeDomainChangeProgress) ID() string { + return "OperationDeserializer" +} + +func (m *awsRestjson1_deserializeOpDescribeDomainChangeProgress) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( + out middleware.DeserializeOutput, metadata middleware.Metadata, err error, +) { + out, metadata, err = next.HandleDeserialize(ctx, in) + if err != nil { + return out, metadata, err + } + + response, ok := out.RawResponse.(*smithyhttp.Response) + if !ok { + return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} + } + + if response.StatusCode < 200 || response.StatusCode >= 300 { + return out, metadata, awsRestjson1_deserializeOpErrorDescribeDomainChangeProgress(response, &metadata) + } + output := &DescribeDomainChangeProgressOutput{} + out.Result = output + + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + + body := io.TeeReader(response.Body, ringBuffer) + + decoder := json.NewDecoder(body) + decoder.UseNumber() + var shape interface{} + if err := decoder.Decode(&shape); err != nil && err != io.EOF { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return out, metadata, err + } + + err = awsRestjson1_deserializeOpDocumentDescribeDomainChangeProgressOutput(&output, shape) + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + return out, metadata, &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body with invalid JSON, %w", err), + Snapshot: snapshot.Bytes(), + } + } + + return out, metadata, err +} + +func awsRestjson1_deserializeOpErrorDescribeDomainChangeProgress(response *smithyhttp.Response, metadata *middleware.Metadata) error { + var errorBuffer bytes.Buffer + if _, err := io.Copy(&errorBuffer, response.Body); err != nil { + return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} + } + errorBody := bytes.NewReader(errorBuffer.Bytes()) + + errorCode := "UnknownError" + errorMessage := errorCode + + code := response.Header.Get("X-Amzn-ErrorType") + if len(code) != 0 { + errorCode = restjson.SanitizeErrorCode(code) + } + + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + + body := io.TeeReader(errorBody, ringBuffer) + decoder := json.NewDecoder(body) + decoder.UseNumber() + code, message, err := restjson.GetErrorInfo(decoder) + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return err + } + + errorBody.Seek(0, io.SeekStart) + if len(code) != 0 { + errorCode = restjson.SanitizeErrorCode(code) + } + if len(message) != 0 { + errorMessage = message + } + + switch { + case strings.EqualFold("BaseException", errorCode): + return awsRestjson1_deserializeErrorBaseException(response, errorBody) + + case strings.EqualFold("InternalException", errorCode): + return awsRestjson1_deserializeErrorInternalException(response, errorBody) + + case strings.EqualFold("ResourceNotFoundException", errorCode): + return awsRestjson1_deserializeErrorResourceNotFoundException(response, errorBody) + + case strings.EqualFold("ValidationException", errorCode): + return awsRestjson1_deserializeErrorValidationException(response, errorBody) + + default: + genericError := &smithy.GenericAPIError{ + Code: errorCode, + Message: errorMessage, + } + return genericError + + } +} + +func awsRestjson1_deserializeOpDocumentDescribeDomainChangeProgressOutput(v **DescribeDomainChangeProgressOutput, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.(map[string]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var sv *DescribeDomainChangeProgressOutput + if *v == nil { + sv = &DescribeDomainChangeProgressOutput{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "ChangeProgressStatus": + if err := awsRestjson1_deserializeDocumentChangeProgressStatusDetails(&sv.ChangeProgressStatus, value); err != nil { + return err + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + type awsRestjson1_deserializeOpDescribeElasticsearchDomain struct { } @@ -6297,6 +6453,11 @@ func awsRestjson1_deserializeOpDocumentUpgradeElasticsearchDomainOutput(v **Upgr for key, value := range shape { switch key { + case "ChangeProgressDetails": + if err := awsRestjson1_deserializeDocumentChangeProgressDetails(&sv.ChangeProgressDetails, value); err != nil { + return err + } + case "DomainName": if value != nil { jtv, ok := value.(string) @@ -7587,6 +7748,256 @@ func awsRestjson1_deserializeDocumentBaseException(v **types.BaseException, valu return nil } +func awsRestjson1_deserializeDocumentChangeProgressDetails(v **types.ChangeProgressDetails, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.(map[string]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var sv *types.ChangeProgressDetails + if *v == nil { + sv = &types.ChangeProgressDetails{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "ChangeId": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected GUID to be of type string, got %T instead", value) + } + sv.ChangeId = ptr.String(jtv) + } + + case "Message": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected Message to be of type string, got %T instead", value) + } + sv.Message = ptr.String(jtv) + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + +func awsRestjson1_deserializeDocumentChangeProgressStage(v **types.ChangeProgressStage, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.(map[string]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var sv *types.ChangeProgressStage + if *v == nil { + sv = &types.ChangeProgressStage{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "Description": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected Description to be of type string, got %T instead", value) + } + sv.Description = ptr.String(jtv) + } + + case "LastUpdated": + if value != nil { + switch jtv := value.(type) { + case json.Number: + f64, err := jtv.Float64() + if err != nil { + return err + } + sv.LastUpdated = ptr.Time(smithytime.ParseEpochSeconds(f64)) + + default: + return fmt.Errorf("expected LastUpdated to be a JSON Number, got %T instead", value) + + } + } + + case "Name": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected ChangeProgressStageName to be of type string, got %T instead", value) + } + sv.Name = ptr.String(jtv) + } + + case "Status": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected ChangeProgressStageStatus to be of type string, got %T instead", value) + } + sv.Status = ptr.String(jtv) + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + +func awsRestjson1_deserializeDocumentChangeProgressStageList(v *[]types.ChangeProgressStage, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.([]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var cv []types.ChangeProgressStage + if *v == nil { + cv = []types.ChangeProgressStage{} + } else { + cv = *v + } + + for _, value := range shape { + var col types.ChangeProgressStage + destAddr := &col + if err := awsRestjson1_deserializeDocumentChangeProgressStage(&destAddr, value); err != nil { + return err + } + col = *destAddr + cv = append(cv, col) + + } + *v = cv + return nil +} + +func awsRestjson1_deserializeDocumentChangeProgressStatusDetails(v **types.ChangeProgressStatusDetails, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.(map[string]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var sv *types.ChangeProgressStatusDetails + if *v == nil { + sv = &types.ChangeProgressStatusDetails{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "ChangeId": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected GUID to be of type string, got %T instead", value) + } + sv.ChangeId = ptr.String(jtv) + } + + case "ChangeProgressStages": + if err := awsRestjson1_deserializeDocumentChangeProgressStageList(&sv.ChangeProgressStages, value); err != nil { + return err + } + + case "CompletedProperties": + if err := awsRestjson1_deserializeDocumentStringList(&sv.CompletedProperties, value); err != nil { + return err + } + + case "PendingProperties": + if err := awsRestjson1_deserializeDocumentStringList(&sv.PendingProperties, value); err != nil { + return err + } + + case "StartTime": + if value != nil { + switch jtv := value.(type) { + case json.Number: + f64, err := jtv.Float64() + if err != nil { + return err + } + sv.StartTime = ptr.Time(smithytime.ParseEpochSeconds(f64)) + + default: + return fmt.Errorf("expected UpdateTimestamp to be a JSON Number, got %T instead", value) + + } + } + + case "Status": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected OverallChangeStatus to be of type string, got %T instead", value) + } + sv.Status = types.OverallChangeStatus(jtv) + } + + case "TotalNumberOfStages": + if value != nil { + jtv, ok := value.(json.Number) + if !ok { + return fmt.Errorf("expected TotalNumberOfStages to be json.Number, got %T instead", value) + } + i64, err := jtv.Int64() + if err != nil { + return err + } + sv.TotalNumberOfStages = int32(i64) + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + func awsRestjson1_deserializeDocumentCognitoOptions(v **types.CognitoOptions, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) @@ -8736,6 +9147,11 @@ func awsRestjson1_deserializeDocumentElasticsearchDomainConfig(v **types.Elastic return err } + case "ChangeProgressDetails": + if err := awsRestjson1_deserializeDocumentChangeProgressDetails(&sv.ChangeProgressDetails, value); err != nil { + return err + } + case "CognitoOptions": if err := awsRestjson1_deserializeDocumentCognitoOptionsStatus(&sv.CognitoOptions, value); err != nil { return err @@ -8850,6 +9266,11 @@ func awsRestjson1_deserializeDocumentElasticsearchDomainStatus(v **types.Elastic return err } + case "ChangeProgressDetails": + if err := awsRestjson1_deserializeDocumentChangeProgressDetails(&sv.ChangeProgressDetails, value); err != nil { + return err + } + case "CognitoOptions": if err := awsRestjson1_deserializeDocumentCognitoOptions(&sv.CognitoOptions, value); err != nil { return err diff --git a/service/elasticsearchservice/generated.json b/service/elasticsearchservice/generated.json index ddcce5d5dbf..41d46ec90c2 100644 --- a/service/elasticsearchservice/generated.json +++ b/service/elasticsearchservice/generated.json @@ -21,6 +21,7 @@ "api_op_DeleteOutboundCrossClusterSearchConnection.go", "api_op_DeletePackage.go", "api_op_DescribeDomainAutoTunes.go", + "api_op_DescribeDomainChangeProgress.go", "api_op_DescribeElasticsearchDomain.go", "api_op_DescribeElasticsearchDomainConfig.go", "api_op_DescribeElasticsearchDomains.go", diff --git a/service/elasticsearchservice/serializers.go b/service/elasticsearchservice/serializers.go index 80a158cf9a4..da1888c2f3e 100644 --- a/service/elasticsearchservice/serializers.go +++ b/service/elasticsearchservice/serializers.go @@ -982,6 +982,68 @@ func awsRestjson1_serializeOpDocumentDescribeDomainAutoTunesInput(v *DescribeDom return nil } +type awsRestjson1_serializeOpDescribeDomainChangeProgress struct { +} + +func (*awsRestjson1_serializeOpDescribeDomainChangeProgress) ID() string { + return "OperationSerializer" +} + +func (m *awsRestjson1_serializeOpDescribeDomainChangeProgress) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( + out middleware.SerializeOutput, metadata middleware.Metadata, err error, +) { + request, ok := in.Request.(*smithyhttp.Request) + if !ok { + return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} + } + + input, ok := in.Parameters.(*DescribeDomainChangeProgressInput) + _ = input + if !ok { + return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} + } + + opPath, opQuery := httpbinding.SplitURI("/2015-01-01/es/domain/{DomainName}/progress") + request.URL.Path = smithyhttp.JoinPath(request.URL.Path, opPath) + request.URL.RawQuery = smithyhttp.JoinRawQuery(request.URL.RawQuery, opQuery) + request.Method = "GET" + restEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header) + if err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + if err := awsRestjson1_serializeOpHttpBindingsDescribeDomainChangeProgressInput(input, restEncoder); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + if request.Request, err = restEncoder.Encode(request.Request); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + in.Request = request + + return next.HandleSerialize(ctx, in) +} +func awsRestjson1_serializeOpHttpBindingsDescribeDomainChangeProgressInput(v *DescribeDomainChangeProgressInput, encoder *httpbinding.Encoder) error { + if v == nil { + return fmt.Errorf("unsupported serialization of nil %T", v) + } + + if v.ChangeId != nil { + encoder.SetQuery("changeid").String(*v.ChangeId) + } + + if v.DomainName == nil || len(*v.DomainName) == 0 { + return &smithy.SerializationError{Err: fmt.Errorf("input member DomainName must not be empty")} + } + if v.DomainName != nil { + if err := encoder.SetURI("DomainName").String(*v.DomainName); err != nil { + return err + } + } + + return nil +} + type awsRestjson1_serializeOpDescribeElasticsearchDomain struct { } diff --git a/service/elasticsearchservice/types/enums.go b/service/elasticsearchservice/types/enums.go index 82784e80656..43d79365a89 100644 --- a/service/elasticsearchservice/types/enums.go +++ b/service/elasticsearchservice/types/enums.go @@ -402,6 +402,28 @@ func (OutboundCrossClusterSearchConnectionStatusCode) Values() []OutboundCrossCl } } +type OverallChangeStatus string + +// Enum values for OverallChangeStatus +const ( + OverallChangeStatusPending OverallChangeStatus = "PENDING" + OverallChangeStatusProcessing OverallChangeStatus = "PROCESSING" + OverallChangeStatusCompleted OverallChangeStatus = "COMPLETED" + OverallChangeStatusFailed OverallChangeStatus = "FAILED" +) + +// Values returns all known values for OverallChangeStatus. Note that this can be +// expanded in the future, and so it is only as up to date as the client. The +// ordering of this slice is not guaranteed to be stable across updates. +func (OverallChangeStatus) Values() []OverallChangeStatus { + return []OverallChangeStatus{ + "PENDING", + "PROCESSING", + "COMPLETED", + "FAILED", + } +} + type PackageStatus string // Enum values for PackageStatus diff --git a/service/elasticsearchservice/types/types.go b/service/elasticsearchservice/types/types.go index fb2a0a7e1a9..3a899f632c4 100644 --- a/service/elasticsearchservice/types/types.go +++ b/service/elasticsearchservice/types/types.go @@ -294,6 +294,69 @@ type AutoTuneStatus struct { noSmithyDocumentSerde } +// Specifies change details of the domain configuration change. +type ChangeProgressDetails struct { + + // The unique change identifier associated with a specific domain configuration + // change. + ChangeId *string + + // Contains an optional message associated with the domain configuration change. + Message *string + + noSmithyDocumentSerde +} + +// A progress stage details of a specific domain configuration change. +type ChangeProgressStage struct { + + // The description of the progress stage. + Description *string + + // The last updated timestamp of the progress stage. + LastUpdated *time.Time + + // The name of the specific progress stage. + Name *string + + // The overall status of a specific progress stage. + Status *string + + noSmithyDocumentSerde +} + +// The progress details of a specific domain configuration change. +type ChangeProgressStatusDetails struct { + + // The unique change identifier associated with a specific domain configuration + // change. + ChangeId *string + + // The specific stages that the domain is going through to perform the + // configuration change. + ChangeProgressStages []ChangeProgressStage + + // The list of properties involved in the domain configuration change that are + // completed. + CompletedProperties []string + + // The list of properties involved in the domain configuration change that are + // still in pending. + PendingProperties []string + + // The time at which the configuration change is made on the domain. + StartTime *time.Time + + // The overall status of the domain configuration change. This field can take the + // following values: PENDING, PROCESSING, COMPLETED and FAILED + Status OverallChangeStatus + + // The total number of stages required for the configuration change. + TotalNumberOfStages int32 + + noSmithyDocumentSerde +} + // Options to specify the Cognito user and identity pools for Kibana // authentication. For more information, see Amazon Cognito Authentication for // Kibana @@ -635,6 +698,9 @@ type ElasticsearchDomainConfig struct { // Specifies AutoTuneOptions for the domain. AutoTuneOptions *AutoTuneOptionsStatus + // Specifies change details of the domain configuration change. + ChangeProgressDetails *ChangeProgressDetails + // The CognitoOptions for the specified domain. For more information, see Amazon // Cognito Authentication for Kibana // (http://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/es-cognito-auth.html). @@ -713,6 +779,9 @@ type ElasticsearchDomainStatus struct { // The current status of the Elasticsearch domain's Auto-Tune options. AutoTuneOptions *AutoTuneOptionsOutput + // Specifies change details of the domain configuration change. + ChangeProgressDetails *ChangeProgressDetails + // The CognitoOptions for the specified domain. For more information, see Amazon // Cognito Authentication for Kibana // (http://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/es-cognito-auth.html). diff --git a/service/elasticsearchservice/validators.go b/service/elasticsearchservice/validators.go index e221a0a0683..6a2413771da 100644 --- a/service/elasticsearchservice/validators.go +++ b/service/elasticsearchservice/validators.go @@ -250,6 +250,26 @@ func (m *validateOpDescribeDomainAutoTunes) HandleInitialize(ctx context.Context return next.HandleInitialize(ctx, in) } +type validateOpDescribeDomainChangeProgress struct { +} + +func (*validateOpDescribeDomainChangeProgress) ID() string { + return "OperationInputValidation" +} + +func (m *validateOpDescribeDomainChangeProgress) HandleInitialize(ctx context.Context, in middleware.InitializeInput, next middleware.InitializeHandler) ( + out middleware.InitializeOutput, metadata middleware.Metadata, err error, +) { + input, ok := in.Parameters.(*DescribeDomainChangeProgressInput) + if !ok { + return out, metadata, fmt.Errorf("unknown input parameters type %T", in.Parameters) + } + if err := validateOpDescribeDomainChangeProgressInput(input); err != nil { + return out, metadata, err + } + return next.HandleInitialize(ctx, in) +} + type validateOpDescribeElasticsearchDomainConfig struct { } @@ -678,6 +698,10 @@ func addOpDescribeDomainAutoTunesValidationMiddleware(stack *middleware.Stack) e return stack.Initialize.Add(&validateOpDescribeDomainAutoTunes{}, middleware.After) } +func addOpDescribeDomainChangeProgressValidationMiddleware(stack *middleware.Stack) error { + return stack.Initialize.Add(&validateOpDescribeDomainChangeProgress{}, middleware.After) +} + func addOpDescribeElasticsearchDomainConfigValidationMiddleware(stack *middleware.Stack) error { return stack.Initialize.Add(&validateOpDescribeElasticsearchDomainConfig{}, middleware.After) } @@ -1113,6 +1137,21 @@ func validateOpDescribeDomainAutoTunesInput(v *DescribeDomainAutoTunesInput) err } } +func validateOpDescribeDomainChangeProgressInput(v *DescribeDomainChangeProgressInput) error { + if v == nil { + return nil + } + invalidParams := smithy.InvalidParamsError{Context: "DescribeDomainChangeProgressInput"} + if v.DomainName == nil { + invalidParams.Add(smithy.NewErrParamRequired("DomainName")) + } + if invalidParams.Len() > 0 { + return invalidParams + } else { + return nil + } +} + func validateOpDescribeElasticsearchDomainConfigInput(v *DescribeElasticsearchDomainConfigInput) error { if v == nil { return nil diff --git a/service/emr/api_op_AddJobFlowSteps.go b/service/emr/api_op_AddJobFlowSteps.go index 1c4d528d421..9d1fee3254d 100644 --- a/service/emr/api_op_AddJobFlowSteps.go +++ b/service/emr/api_op_AddJobFlowSteps.go @@ -27,7 +27,9 @@ import ( // step to be considered complete, the main function must exit with a zero exit // code and all Hadoop jobs started while the step was running must have completed // and run successfully. You can only add steps to a cluster that is in one of the -// following states: STARTING, BOOTSTRAPPING, RUNNING, or WAITING. +// following states: STARTING, BOOTSTRAPPING, RUNNING, or WAITING. The string +// values passed into HadoopJarStep object cannot exceed a total of 10240 +// characters. func (c *Client) AddJobFlowSteps(ctx context.Context, params *AddJobFlowStepsInput, optFns ...func(*Options)) (*AddJobFlowStepsOutput, error) { if params == nil { params = &AddJobFlowStepsInput{} diff --git a/service/emr/api_op_PutAutoTerminationPolicy.go b/service/emr/api_op_PutAutoTerminationPolicy.go index 44fb655af0a..1951a07ca91 100644 --- a/service/emr/api_op_PutAutoTerminationPolicy.go +++ b/service/emr/api_op_PutAutoTerminationPolicy.go @@ -11,6 +11,9 @@ import ( smithyhttp "github.com/aws/smithy-go/transport/http" ) +// Auto-termination is supported in Amazon EMR versions 5.30.0 and 6.1.0 and later. +// For more information, see Using an auto-termination policy +// (https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-auto-termination-policy.html). // Creates or updates an auto-termination policy for an Amazon EMR cluster. An // auto-termination policy defines the amount of idle time in seconds after which a // cluster automatically terminates. For alternative cluster termination options, diff --git a/service/emr/api_op_RunJobFlow.go b/service/emr/api_op_RunJobFlow.go index db2dc1a22b1..74227a8ca2f 100644 --- a/service/emr/api_op_RunJobFlow.go +++ b/service/emr/api_op_RunJobFlow.go @@ -71,7 +71,7 @@ type RunJobFlowInput struct { // Applies to Amazon EMR releases 4.0 and later. A case-insensitive list of // applications for Amazon EMR to install and configure when launching the cluster. // For a list of applications available for each Amazon EMR release version, see - // the Amazon EMR Release Guide + // the Amazon EMRRelease Guide // (https://docs.aws.amazon.com/emr/latest/ReleaseGuide/). Applications []types.Application @@ -237,10 +237,12 @@ type RunJobFlowInput struct { // instances. Tags []types.Tag - // Set this value to true so that IAM principals in the Amazon Web Services account - // associated with the cluster can perform EMR actions on the cluster that their - // IAM policies allow. This value defaults to true for clusters created using the - // EMR API or the CLI create-cluster + // The VisibleToAllUsers parameter is no longer supported. By default, the value is + // set to true. Setting it to false now has no effect. Set this value to true so + // that IAM principals in the Amazon Web Services account associated with the + // cluster can perform EMR actions on the cluster that their IAM policies allow. + // This value defaults to true for clusters created using the EMR API or the CLI + // create-cluster // (https://docs.aws.amazon.com/cli/latest/reference/emr/create-cluster.html) // command. When set to false, only the IAM principal that created the cluster and // the Amazon Web Services account root user can perform EMR actions for the diff --git a/service/emr/api_op_SetVisibleToAllUsers.go b/service/emr/api_op_SetVisibleToAllUsers.go index 19f9c863e10..54bd4f47da8 100644 --- a/service/emr/api_op_SetVisibleToAllUsers.go +++ b/service/emr/api_op_SetVisibleToAllUsers.go @@ -10,6 +10,10 @@ import ( smithyhttp "github.com/aws/smithy-go/transport/http" ) +// The SetVisibleToAllUsers parameter is no longer supported. Your cluster may be +// visible to all users in your account. To restrict cluster access using an IAM +// policy, see Identity and Access Management for EMR +// (https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-plan-access-iam.html). // Sets the Cluster$VisibleToAllUsers value for an EMR cluster. When true, IAM // principals in the Amazon Web Services account can perform EMR cluster actions // that their IAM policies allow. When false, only the IAM principal that created diff --git a/service/emr/types/types.go b/service/emr/types/types.go index eee2e4c3aa0..2bf0ddb8d8f 100644 --- a/service/emr/types/types.go +++ b/service/emr/types/types.go @@ -412,12 +412,7 @@ type Cluster struct { // default value is true if a value is not provided when creating a cluster using // the EMR API RunJobFlow command, the CLI create-cluster // (https://docs.aws.amazon.com/cli/latest/reference/emr/create-cluster.html) - // command, or the Amazon Web Services Management Console. IAM principals that are - // allowed to perform actions on the cluster can use the SetVisibleToAllUsers - // action to change the value on a running cluster. For more information, see - // Understanding the EMR Cluster VisibleToAllUsers Setting - // (https://docs.aws.amazon.com/emr/latest/ManagementGuide/security_iam_emr-with-iam.html#security_set_visible_to_all_users) - // in the Amazon EMRManagement Guide. + // command, or the Amazon Web Services Management Console. VisibleToAllUsers bool noSmithyDocumentSerde @@ -1234,7 +1229,7 @@ type InstanceGroupDetail struct { // This member is required. Market MarketType - // State of instance group. The following values are deprecated: STARTING, + // State of instance group. The following values are no longer supported: STARTING, // TERMINATED, and FAILED. // // This member is required. @@ -1566,12 +1561,7 @@ type JobFlowDetail struct { // true if a value is not provided when creating a cluster using the EMR API // RunJobFlow command, the CLI create-cluster // (https://docs.aws.amazon.com/cli/latest/reference/emr/create-cluster.html) - // command, or the Amazon Web Services Management Console. IAM principals that are - // authorized to perform actions on the cluster can use the SetVisibleToAllUsers - // action to change the value on a running cluster. For more information, see - // Understanding the EMR Cluster VisibleToAllUsers Setting - // (https://docs.aws.amazon.com/emr/latest/ManagementGuide/security_iam_emr-with-iam.html#security_set_visible_to_all_users) - // in the Amazon EMRManagement Guide. + // command, or the Amazon Web Services Management Console. VisibleToAllUsers bool noSmithyDocumentSerde @@ -2336,7 +2326,11 @@ type SimplifiedApplication struct { // determines the defined duration, provisioning timeout behavior, and allocation // strategy. The instance fleet configuration is available only in Amazon EMR // versions 4.8.0 and later, excluding 5.0.x versions. Spot Instance allocation -// strategy is available in Amazon EMR version 5.12.1 and later. +// strategy is available in Amazon EMR version 5.12.1 and later. Spot Instances +// with a defined duration (also known as Spot blocks) are no longer available to +// new customers from July 1, 2021. For customers who have previously used the +// feature, we will continue to support Spot Instances with a defined duration +// until December 31, 2022. type SpotProvisioningSpecification struct { // The action to take when TargetSpotCapacity has not been fulfilled when the @@ -2369,7 +2363,11 @@ type SpotProvisioningSpecification struct { // are 60, 120, 180, 240, 300, or 360. The duration period starts as soon as a Spot // Instance receives its instance ID. At the end of the duration, Amazon EC2 marks // the Spot Instance for termination and provides a Spot Instance termination - // notice, which gives the instance a two-minute warning before it terminates. + // notice, which gives the instance a two-minute warning before it terminates. Spot + // Instances with a defined duration (also known as Spot blocks) are no longer + // available to new customers from July 1, 2021. For customers who have previously + // used the feature, we will continue to support Spot Instances with a defined + // duration until December 31, 2022. BlockDurationMinutes *int32 noSmithyDocumentSerde @@ -2701,7 +2699,7 @@ type VolumeSpecification struct { // This member is required. SizeInGB *int32 - // The volume type. Volume types supported are gp2, io1, standard. + // The volume type. Volume types supported are gp2, io1, and standard. // // This member is required. VolumeType *string diff --git a/service/eventbridge/api_op_PutPermission.go b/service/eventbridge/api_op_PutPermission.go index 6c2a21d615e..ed12ea43a2c 100644 --- a/service/eventbridge/api_op_PutPermission.go +++ b/service/eventbridge/api_op_PutPermission.go @@ -82,6 +82,7 @@ type PutPermissionInput struct { // to. If you later want to revoke the permission for this external account, // specify this StatementId when you run RemovePermission // (https://docs.aws.amazon.com/eventbridge/latest/APIReference/API_RemovePermission.html). + // Each StatementId must be unique. StatementId *string noSmithyDocumentSerde diff --git a/service/eventbridge/api_op_PutTargets.go b/service/eventbridge/api_op_PutTargets.go index 1ad98ff5240..2bd57a2f5db 100644 --- a/service/eventbridge/api_op_PutTargets.go +++ b/service/eventbridge/api_op_PutTargets.go @@ -13,10 +13,11 @@ import ( // Adds the specified targets to the specified rule, or updates the targets if they // are already associated with the rule. Targets are the resources that are invoked -// when a rule is triggered. You can configure the following as targets for -// Events: +// when a rule is triggered. Each rule can have up to five (5) targets associated +// with it at one time. You can configure the following as targets for Events: // -// * API destination +// * +// API destination // (https://docs.aws.amazon.com/eventbridge/latest/userguide/eb-api-destinations.html) // // * @@ -36,61 +37,64 @@ import ( // * Amazon EC2 // CreateSnapshot API call // -// * Amazon EC2 RebootInstances API call +// * EC2 Image Builder // -// * Amazon EC2 -// StopInstances API call +// * Amazon EC2 RebootInstances API +// call // -// * Amazon EC2 TerminateInstances API call +// * Amazon EC2 StopInstances API call // -// * Amazon ECS -// tasks +// * Amazon EC2 TerminateInstances API +// call // -// * Event bus in a different Amazon Web Services account or Region. You can -// use an event bus in the US East (N. Virginia) us-east-1, US West (Oregon) -// us-west-2, or Europe (Ireland) eu-west-1 Regions as a target for a rule. +// * Amazon ECS tasks // -// * -// Firehose delivery stream (Kinesis Data Firehose) +// * Event bus in a different Amazon Web Services account +// or Region. You can use an event bus in the US East (N. Virginia) us-east-1, US +// West (Oregon) us-west-2, or Europe (Ireland) eu-west-1 Regions as a target for a +// rule. // -// * Inspector assessment -// template (Amazon Inspector) +// * Firehose delivery stream (Kinesis Data Firehose) // -// * Kinesis stream (Kinesis Data Stream) +// * Inspector +// assessment template (Amazon Inspector) // -// * Lambda -// function +// * Kinesis stream (Kinesis Data +// Stream) // -// * Redshift clusters (Data API statement execution) +// * Lambda function // -// * Amazon SNS -// topic +// * Redshift clusters (Data API statement +// execution) // -// * Amazon SQS queues (includes FIFO queues +// * Amazon SNS topic // -// * SSM Automation +// * Amazon SQS queues (includes FIFO queues) +// +// * +// SSM Automation // -// * SSM -// OpsItem +// * SSM OpsItem // // * SSM Run Command // -// * Step Functions state machines +// * Step Functions state +// machines // -// Creating rules with -// built-in targets is supported only in the Amazon Web Services Management -// Console. The built-in targets are EC2 CreateSnapshot API call, EC2 -// RebootInstances API call, EC2 StopInstances API call, and EC2 TerminateInstances -// API call. For some target types, PutTargets provides target-specific parameters. -// If the target is a Kinesis data stream, you can optionally specify which shard -// the event goes to by using the KinesisParameters argument. To invoke a command -// on multiple EC2 instances with one rule, you can use the RunCommandParameters -// field. To be able to make API calls against the resources that you own, Amazon -// EventBridge needs the appropriate permissions. For Lambda and Amazon SNS -// resources, EventBridge relies on resource-based policies. For EC2 instances, -// Kinesis Data Streams, Step Functions state machines and API Gateway REST APIs, -// EventBridge relies on IAM roles that you specify in the RoleARN argument in -// PutTargets. For more information, see Authentication and Access Control +// Creating rules with built-in targets is supported only in the Amazon +// Web Services Management Console. The built-in targets are EC2 CreateSnapshot API +// call, EC2 RebootInstances API call, EC2 StopInstances API call, and EC2 +// TerminateInstances API call. For some target types, PutTargets provides +// target-specific parameters. If the target is a Kinesis data stream, you can +// optionally specify which shard the event goes to by using the KinesisParameters +// argument. To invoke a command on multiple EC2 instances with one rule, you can +// use the RunCommandParameters field. To be able to make API calls against the +// resources that you own, Amazon EventBridge needs the appropriate permissions. +// For Lambda and Amazon SNS resources, EventBridge relies on resource-based +// policies. For EC2 instances, Kinesis Data Streams, Step Functions state machines +// and API Gateway REST APIs, EventBridge relies on IAM roles that you specify in +// the RoleARN argument in PutTargets. For more information, see Authentication and +// Access Control // (https://docs.aws.amazon.com/eventbridge/latest/userguide/auth-and-access-control-eventbridge.html) // in the Amazon EventBridge User Guide. If another Amazon Web Services account is // in the same region and has granted you permission (using PutPermission), you can diff --git a/service/eventbridge/api_op_RemoveTargets.go b/service/eventbridge/api_op_RemoveTargets.go index 5ebfedb8cf2..63ca19b61ad 100644 --- a/service/eventbridge/api_op_RemoveTargets.go +++ b/service/eventbridge/api_op_RemoveTargets.go @@ -12,7 +12,9 @@ import ( ) // Removes the specified targets from the specified rule. When the rule is -// triggered, those targets are no longer be invoked. When you remove a target, +// triggered, those targets are no longer be invoked. A successful execution of +// RemoveTargets doesn't guarantee all targets are removed from the rule, it means +// that the target(s) listed in the request are removed. When you remove a target, // when the associated rule triggers, removed targets might continue to be invoked. // Allow a short period of time for changes to take effect. This action can // partially fail if too many requests are made at the same time. If that happens, diff --git a/service/eventbridge/types/types.go b/service/eventbridge/types/types.go index c5d8adcc243..bc24fde173f 100644 --- a/service/eventbridge/types/types.go +++ b/service/eventbridge/types/types.go @@ -509,7 +509,7 @@ type EcsParameters struct { // Specifies the launch type on which your task is running. The launch type that // you specify here must match one of the launch type (compatibilities) of the // target task. The FARGATE value is supported only in the Regions where Fargate - // witt Amazon ECS is supported. For more information, see Fargate on Amazon ECS + // with Amazon ECS is supported. For more information, see Fargate on Amazon ECS // (https://docs.aws.amazon.com/AmazonECS/latest/developerguide/AWS-Fargate.html) // in the Amazon Elastic Container Service Developer Guide. LaunchType LaunchType @@ -836,7 +836,7 @@ type PutEventsRequestEntry struct { // call is used. Time *time.Time - // An X-Ray trade header, which is an http header (X-Amzn-Trace-Id) that contains + // An X-Ray trace header, which is an http header (X-Amzn-Trace-Id) that contains // the trace-id associated with the event. To learn more about X-Ray trace headers, // see Tracing header // (https://docs.aws.amazon.com/xray/latest/devguide/xray-concepts.html#xray-concepts-tracingheader) @@ -846,7 +846,9 @@ type PutEventsRequestEntry struct { noSmithyDocumentSerde } -// Represents an event that failed to be submitted. +// Represents an event that failed to be submitted. For information about the +// errors that are common to all actions, see Common Errors +// (https://docs.aws.amazon.com/eventbridge/latest/APIReference/CommonErrors.html). type PutEventsResultEntry struct { // The error code that indicates why the event submission failed. @@ -1182,7 +1184,8 @@ type Target struct { // This member is required. Arn *string - // The ID of the target. We recommend using a memorable and unique string. + // The ID of the target within the specified rule. Use this ID to reference the + // target when updating the rule. We recommend using a memorable and unique string. // // This member is required. Id *string diff --git a/service/evidently/api_op_ListExperiments.go b/service/evidently/api_op_ListExperiments.go index dda3a0a8bd9..d7ef6d8ecfe 100644 --- a/service/evidently/api_op_ListExperiments.go +++ b/service/evidently/api_op_ListExperiments.go @@ -43,6 +43,10 @@ type ListExperimentsInput struct { // token from a previous ListExperiments operation. NextToken *string + // Use this optional parameter to limit the returned results to only the + // experiments with the status that you specify here. + Status types.ExperimentStatus + noSmithyDocumentSerde } diff --git a/service/evidently/api_op_ListLaunches.go b/service/evidently/api_op_ListLaunches.go index d68e00c3a4a..4b902717b33 100644 --- a/service/evidently/api_op_ListLaunches.go +++ b/service/evidently/api_op_ListLaunches.go @@ -42,6 +42,10 @@ type ListLaunchesInput struct { // token from a previous ListLaunches operation. NextToken *string + // Use this optional parameter to limit the returned results to only the launches + // with the status that you specify here. + Status types.LaunchStatus + noSmithyDocumentSerde } diff --git a/service/evidently/deserializers.go b/service/evidently/deserializers.go index f8658994ce3..59b5b4b65d9 100644 --- a/service/evidently/deserializers.go +++ b/service/evidently/deserializers.go @@ -895,6 +895,9 @@ func awsRestjson1_deserializeOpErrorDeleteExperiment(response *smithyhttp.Respon case strings.EqualFold("ServiceUnavailableException", errorCode): return awsRestjson1_deserializeErrorServiceUnavailableException(response, errorBody) + case strings.EqualFold("ValidationException", errorCode): + return awsRestjson1_deserializeErrorValidationException(response, errorBody) + default: genericError := &smithy.GenericAPIError{ Code: errorCode, @@ -1480,6 +1483,9 @@ func awsRestjson1_deserializeOpErrorGetExperiment(response *smithyhttp.Response, case strings.EqualFold("ThrottlingException", errorCode): return awsRestjson1_deserializeErrorThrottlingException(response, errorBody) + case strings.EqualFold("ValidationException", errorCode): + return awsRestjson1_deserializeErrorValidationException(response, errorBody) + default: genericError := &smithy.GenericAPIError{ Code: errorCode, @@ -1958,6 +1964,9 @@ func awsRestjson1_deserializeOpErrorGetLaunch(response *smithyhttp.Response, met case strings.EqualFold("ThrottlingException", errorCode): return awsRestjson1_deserializeErrorThrottlingException(response, errorBody) + case strings.EqualFold("ValidationException", errorCode): + return awsRestjson1_deserializeErrorValidationException(response, errorBody) + default: genericError := &smithy.GenericAPIError{ Code: errorCode, @@ -2258,6 +2267,9 @@ func awsRestjson1_deserializeOpErrorListExperiments(response *smithyhttp.Respons } switch { + case strings.EqualFold("AccessDeniedException", errorCode): + return awsRestjson1_deserializeErrorAccessDeniedException(response, errorBody) + case strings.EqualFold("ResourceNotFoundException", errorCode): return awsRestjson1_deserializeErrorResourceNotFoundException(response, errorBody) @@ -3404,6 +3416,9 @@ func awsRestjson1_deserializeOpErrorStartLaunch(response *smithyhttp.Response, m case strings.EqualFold("AccessDeniedException", errorCode): return awsRestjson1_deserializeErrorAccessDeniedException(response, errorBody) + case strings.EqualFold("ConflictException", errorCode): + return awsRestjson1_deserializeErrorConflictException(response, errorBody) + case strings.EqualFold("ResourceNotFoundException", errorCode): return awsRestjson1_deserializeErrorResourceNotFoundException(response, errorBody) diff --git a/service/evidently/serializers.go b/service/evidently/serializers.go index 30df0d6997e..f75b1b80606 100644 --- a/service/evidently/serializers.go +++ b/service/evidently/serializers.go @@ -1355,6 +1355,10 @@ func awsRestjson1_serializeOpHttpBindingsListExperimentsInput(v *ListExperiments } } + if len(v.Status) > 0 { + encoder.SetQuery("status").String(string(v.Status)) + } + return nil } @@ -1487,6 +1491,10 @@ func awsRestjson1_serializeOpHttpBindingsListLaunchesInput(v *ListLaunchesInput, } } + if len(v.Status) > 0 { + encoder.SetQuery("status").String(string(v.Status)) + } + return nil } diff --git a/service/evidently/types/types.go b/service/evidently/types/types.go index c4a83048a21..8b616404efc 100644 --- a/service/evidently/types/types.go +++ b/service/evidently/types/types.go @@ -572,8 +572,20 @@ type MetricDefinitionConfig struct { // The entity, such as a user or session, that does an action that causes a metric // value to be recorded. An example is userDetails.userID. + // + // This member is required. EntityIdKey *string + // A name for the metric. + // + // This member is required. + Name *string + + // The value that is tracked to produce the metric. + // + // This member is required. + ValueKey *string + // The EventBridge event pattern that defines how the metric is recorded. For more // information about EventBridge event patterns, see Amazon EventBridge event // patterns @@ -582,15 +594,9 @@ type MetricDefinitionConfig struct { // This value conforms to the media type: application/json EventPattern *string - // A name for the metric. - Name *string - // A label for the units that the metric is measuring. UnitLabel *string - // The value that is tracked to produce the metric. - ValueKey *string - noSmithyDocumentSerde } diff --git a/service/evidently/validators.go b/service/evidently/validators.go index 8644986c0b6..29ff10f3472 100644 --- a/service/evidently/validators.go +++ b/service/evidently/validators.go @@ -865,6 +865,27 @@ func validateLaunchGroupConfigList(v []types.LaunchGroupConfig) error { } } +func validateMetricDefinitionConfig(v *types.MetricDefinitionConfig) error { + if v == nil { + return nil + } + invalidParams := smithy.InvalidParamsError{Context: "MetricDefinitionConfig"} + if v.Name == nil { + invalidParams.Add(smithy.NewErrParamRequired("Name")) + } + if v.EntityIdKey == nil { + invalidParams.Add(smithy.NewErrParamRequired("EntityIdKey")) + } + if v.ValueKey == nil { + invalidParams.Add(smithy.NewErrParamRequired("ValueKey")) + } + if invalidParams.Len() > 0 { + return invalidParams + } else { + return nil + } +} + func validateMetricGoalConfig(v *types.MetricGoalConfig) error { if v == nil { return nil @@ -872,6 +893,10 @@ func validateMetricGoalConfig(v *types.MetricGoalConfig) error { invalidParams := smithy.InvalidParamsError{Context: "MetricGoalConfig"} if v.MetricDefinition == nil { invalidParams.Add(smithy.NewErrParamRequired("MetricDefinition")) + } else if v.MetricDefinition != nil { + if err := validateMetricDefinitionConfig(v.MetricDefinition); err != nil { + invalidParams.AddNested("MetricDefinition", err.(smithy.InvalidParamsError)) + } } if invalidParams.Len() > 0 { return invalidParams @@ -904,6 +929,10 @@ func validateMetricMonitorConfig(v *types.MetricMonitorConfig) error { invalidParams := smithy.InvalidParamsError{Context: "MetricMonitorConfig"} if v.MetricDefinition == nil { invalidParams.Add(smithy.NewErrParamRequired("MetricDefinition")) + } else if v.MetricDefinition != nil { + if err := validateMetricDefinitionConfig(v.MetricDefinition); err != nil { + invalidParams.AddNested("MetricDefinition", err.(smithy.InvalidParamsError)) + } } if invalidParams.Len() > 0 { return invalidParams diff --git a/service/fis/api_op_GetTargetResourceType.go b/service/fis/api_op_GetTargetResourceType.go new file mode 100644 index 00000000000..bcceec8e295 --- /dev/null +++ b/service/fis/api_op_GetTargetResourceType.go @@ -0,0 +1,121 @@ +// Code generated by smithy-go-codegen DO NOT EDIT. + +package fis + +import ( + "context" + awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" + "github.com/aws/aws-sdk-go-v2/aws/signer/v4" + "github.com/aws/aws-sdk-go-v2/service/fis/types" + "github.com/aws/smithy-go/middleware" + smithyhttp "github.com/aws/smithy-go/transport/http" +) + +// Gets information about the specified resource type. +func (c *Client) GetTargetResourceType(ctx context.Context, params *GetTargetResourceTypeInput, optFns ...func(*Options)) (*GetTargetResourceTypeOutput, error) { + if params == nil { + params = &GetTargetResourceTypeInput{} + } + + result, metadata, err := c.invokeOperation(ctx, "GetTargetResourceType", params, optFns, c.addOperationGetTargetResourceTypeMiddlewares) + if err != nil { + return nil, err + } + + out := result.(*GetTargetResourceTypeOutput) + out.ResultMetadata = metadata + return out, nil +} + +type GetTargetResourceTypeInput struct { + + // The resource type. + // + // This member is required. + ResourceType *string + + noSmithyDocumentSerde +} + +type GetTargetResourceTypeOutput struct { + + // Information about the resource type. + TargetResourceType *types.TargetResourceType + + // Metadata pertaining to the operation's result. + ResultMetadata middleware.Metadata + + noSmithyDocumentSerde +} + +func (c *Client) addOperationGetTargetResourceTypeMiddlewares(stack *middleware.Stack, options Options) (err error) { + err = stack.Serialize.Add(&awsRestjson1_serializeOpGetTargetResourceType{}, middleware.After) + if err != nil { + return err + } + err = stack.Deserialize.Add(&awsRestjson1_deserializeOpGetTargetResourceType{}, middleware.After) + if err != nil { + return err + } + if err = addSetLoggerMiddleware(stack, options); err != nil { + return err + } + if err = awsmiddleware.AddClientRequestIDMiddleware(stack); err != nil { + return err + } + if err = smithyhttp.AddComputeContentLengthMiddleware(stack); err != nil { + return err + } + if err = addResolveEndpointMiddleware(stack, options); err != nil { + return err + } + if err = v4.AddComputePayloadSHA256Middleware(stack); err != nil { + return err + } + if err = addRetryMiddlewares(stack, options); err != nil { + return err + } + if err = addHTTPSignerV4Middleware(stack, options); err != nil { + return err + } + if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil { + return err + } + if err = awsmiddleware.AddRecordResponseTiming(stack); err != nil { + return err + } + if err = addClientUserAgent(stack); err != nil { + return err + } + if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil { + return err + } + if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { + return err + } + if err = addOpGetTargetResourceTypeValidationMiddleware(stack); err != nil { + return err + } + if err = stack.Initialize.Add(newServiceMetadataMiddleware_opGetTargetResourceType(options.Region), middleware.Before); err != nil { + return err + } + if err = addRequestIDRetrieverMiddleware(stack); err != nil { + return err + } + if err = addResponseErrorMiddleware(stack); err != nil { + return err + } + if err = addRequestResponseLogging(stack, options); err != nil { + return err + } + return nil +} + +func newServiceMetadataMiddleware_opGetTargetResourceType(region string) *awsmiddleware.RegisterServiceMetadata { + return &awsmiddleware.RegisterServiceMetadata{ + Region: region, + ServiceID: ServiceID, + SigningName: "fis", + OperationName: "GetTargetResourceType", + } +} diff --git a/service/fis/api_op_ListTargetResourceTypes.go b/service/fis/api_op_ListTargetResourceTypes.go new file mode 100644 index 00000000000..e4ff44b9189 --- /dev/null +++ b/service/fis/api_op_ListTargetResourceTypes.go @@ -0,0 +1,214 @@ +// Code generated by smithy-go-codegen DO NOT EDIT. + +package fis + +import ( + "context" + "fmt" + awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" + "github.com/aws/aws-sdk-go-v2/aws/signer/v4" + "github.com/aws/aws-sdk-go-v2/service/fis/types" + "github.com/aws/smithy-go/middleware" + smithyhttp "github.com/aws/smithy-go/transport/http" +) + +// Lists the target resource types. +func (c *Client) ListTargetResourceTypes(ctx context.Context, params *ListTargetResourceTypesInput, optFns ...func(*Options)) (*ListTargetResourceTypesOutput, error) { + if params == nil { + params = &ListTargetResourceTypesInput{} + } + + result, metadata, err := c.invokeOperation(ctx, "ListTargetResourceTypes", params, optFns, c.addOperationListTargetResourceTypesMiddlewares) + if err != nil { + return nil, err + } + + out := result.(*ListTargetResourceTypesOutput) + out.ResultMetadata = metadata + return out, nil +} + +type ListTargetResourceTypesInput struct { + + // The maximum number of results to return with a single call. To retrieve the + // remaining results, make another call with the returned nextToken value. + MaxResults int32 + + // The token for the next page of results. + NextToken *string + + noSmithyDocumentSerde +} + +type ListTargetResourceTypesOutput struct { + + // The token to use to retrieve the next page of results. This value is null when + // there are no more results to return. + NextToken *string + + // The target resource types. + TargetResourceTypes []types.TargetResourceTypeSummary + + // Metadata pertaining to the operation's result. + ResultMetadata middleware.Metadata + + noSmithyDocumentSerde +} + +func (c *Client) addOperationListTargetResourceTypesMiddlewares(stack *middleware.Stack, options Options) (err error) { + err = stack.Serialize.Add(&awsRestjson1_serializeOpListTargetResourceTypes{}, middleware.After) + if err != nil { + return err + } + err = stack.Deserialize.Add(&awsRestjson1_deserializeOpListTargetResourceTypes{}, middleware.After) + if err != nil { + return err + } + if err = addSetLoggerMiddleware(stack, options); err != nil { + return err + } + if err = awsmiddleware.AddClientRequestIDMiddleware(stack); err != nil { + return err + } + if err = smithyhttp.AddComputeContentLengthMiddleware(stack); err != nil { + return err + } + if err = addResolveEndpointMiddleware(stack, options); err != nil { + return err + } + if err = v4.AddComputePayloadSHA256Middleware(stack); err != nil { + return err + } + if err = addRetryMiddlewares(stack, options); err != nil { + return err + } + if err = addHTTPSignerV4Middleware(stack, options); err != nil { + return err + } + if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil { + return err + } + if err = awsmiddleware.AddRecordResponseTiming(stack); err != nil { + return err + } + if err = addClientUserAgent(stack); err != nil { + return err + } + if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil { + return err + } + if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { + return err + } + if err = stack.Initialize.Add(newServiceMetadataMiddleware_opListTargetResourceTypes(options.Region), middleware.Before); err != nil { + return err + } + if err = addRequestIDRetrieverMiddleware(stack); err != nil { + return err + } + if err = addResponseErrorMiddleware(stack); err != nil { + return err + } + if err = addRequestResponseLogging(stack, options); err != nil { + return err + } + return nil +} + +// ListTargetResourceTypesAPIClient is a client that implements the +// ListTargetResourceTypes operation. +type ListTargetResourceTypesAPIClient interface { + ListTargetResourceTypes(context.Context, *ListTargetResourceTypesInput, ...func(*Options)) (*ListTargetResourceTypesOutput, error) +} + +var _ ListTargetResourceTypesAPIClient = (*Client)(nil) + +// ListTargetResourceTypesPaginatorOptions is the paginator options for +// ListTargetResourceTypes +type ListTargetResourceTypesPaginatorOptions struct { + // The maximum number of results to return with a single call. To retrieve the + // remaining results, make another call with the returned nextToken value. + Limit int32 + + // Set to true if pagination should stop if the service returns a pagination token + // that matches the most recent token provided to the service. + StopOnDuplicateToken bool +} + +// ListTargetResourceTypesPaginator is a paginator for ListTargetResourceTypes +type ListTargetResourceTypesPaginator struct { + options ListTargetResourceTypesPaginatorOptions + client ListTargetResourceTypesAPIClient + params *ListTargetResourceTypesInput + nextToken *string + firstPage bool +} + +// NewListTargetResourceTypesPaginator returns a new +// ListTargetResourceTypesPaginator +func NewListTargetResourceTypesPaginator(client ListTargetResourceTypesAPIClient, params *ListTargetResourceTypesInput, optFns ...func(*ListTargetResourceTypesPaginatorOptions)) *ListTargetResourceTypesPaginator { + if params == nil { + params = &ListTargetResourceTypesInput{} + } + + options := ListTargetResourceTypesPaginatorOptions{} + if params.MaxResults != 0 { + options.Limit = params.MaxResults + } + + for _, fn := range optFns { + fn(&options) + } + + return &ListTargetResourceTypesPaginator{ + options: options, + client: client, + params: params, + firstPage: true, + nextToken: params.NextToken, + } +} + +// HasMorePages returns a boolean indicating whether more pages are available +func (p *ListTargetResourceTypesPaginator) HasMorePages() bool { + return p.firstPage || (p.nextToken != nil && len(*p.nextToken) != 0) +} + +// NextPage retrieves the next ListTargetResourceTypes page. +func (p *ListTargetResourceTypesPaginator) NextPage(ctx context.Context, optFns ...func(*Options)) (*ListTargetResourceTypesOutput, error) { + if !p.HasMorePages() { + return nil, fmt.Errorf("no more pages available") + } + + params := *p.params + params.NextToken = p.nextToken + + params.MaxResults = p.options.Limit + + result, err := p.client.ListTargetResourceTypes(ctx, ¶ms, optFns...) + if err != nil { + return nil, err + } + p.firstPage = false + + prevToken := p.nextToken + p.nextToken = result.NextToken + + if p.options.StopOnDuplicateToken && + prevToken != nil && + p.nextToken != nil && + *prevToken == *p.nextToken { + p.nextToken = nil + } + + return result, nil +} + +func newServiceMetadataMiddleware_opListTargetResourceTypes(region string) *awsmiddleware.RegisterServiceMetadata { + return &awsmiddleware.RegisterServiceMetadata{ + Region: region, + ServiceID: ServiceID, + SigningName: "fis", + OperationName: "ListTargetResourceTypes", + } +} diff --git a/service/fis/deserializers.go b/service/fis/deserializers.go index a97853efc54..0f724c9f457 100644 --- a/service/fis/deserializers.go +++ b/service/fis/deserializers.go @@ -775,6 +775,156 @@ func awsRestjson1_deserializeOpDocumentGetExperimentTemplateOutput(v **GetExperi return nil } +type awsRestjson1_deserializeOpGetTargetResourceType struct { +} + +func (*awsRestjson1_deserializeOpGetTargetResourceType) ID() string { + return "OperationDeserializer" +} + +func (m *awsRestjson1_deserializeOpGetTargetResourceType) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( + out middleware.DeserializeOutput, metadata middleware.Metadata, err error, +) { + out, metadata, err = next.HandleDeserialize(ctx, in) + if err != nil { + return out, metadata, err + } + + response, ok := out.RawResponse.(*smithyhttp.Response) + if !ok { + return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} + } + + if response.StatusCode < 200 || response.StatusCode >= 300 { + return out, metadata, awsRestjson1_deserializeOpErrorGetTargetResourceType(response, &metadata) + } + output := &GetTargetResourceTypeOutput{} + out.Result = output + + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + + body := io.TeeReader(response.Body, ringBuffer) + + decoder := json.NewDecoder(body) + decoder.UseNumber() + var shape interface{} + if err := decoder.Decode(&shape); err != nil && err != io.EOF { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return out, metadata, err + } + + err = awsRestjson1_deserializeOpDocumentGetTargetResourceTypeOutput(&output, shape) + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + return out, metadata, &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body with invalid JSON, %w", err), + Snapshot: snapshot.Bytes(), + } + } + + return out, metadata, err +} + +func awsRestjson1_deserializeOpErrorGetTargetResourceType(response *smithyhttp.Response, metadata *middleware.Metadata) error { + var errorBuffer bytes.Buffer + if _, err := io.Copy(&errorBuffer, response.Body); err != nil { + return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} + } + errorBody := bytes.NewReader(errorBuffer.Bytes()) + + errorCode := "UnknownError" + errorMessage := errorCode + + code := response.Header.Get("X-Amzn-ErrorType") + if len(code) != 0 { + errorCode = restjson.SanitizeErrorCode(code) + } + + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + + body := io.TeeReader(errorBody, ringBuffer) + decoder := json.NewDecoder(body) + decoder.UseNumber() + code, message, err := restjson.GetErrorInfo(decoder) + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return err + } + + errorBody.Seek(0, io.SeekStart) + if len(code) != 0 { + errorCode = restjson.SanitizeErrorCode(code) + } + if len(message) != 0 { + errorMessage = message + } + + switch { + case strings.EqualFold("ResourceNotFoundException", errorCode): + return awsRestjson1_deserializeErrorResourceNotFoundException(response, errorBody) + + case strings.EqualFold("ValidationException", errorCode): + return awsRestjson1_deserializeErrorValidationException(response, errorBody) + + default: + genericError := &smithy.GenericAPIError{ + Code: errorCode, + Message: errorMessage, + } + return genericError + + } +} + +func awsRestjson1_deserializeOpDocumentGetTargetResourceTypeOutput(v **GetTargetResourceTypeOutput, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.(map[string]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var sv *GetTargetResourceTypeOutput + if *v == nil { + sv = &GetTargetResourceTypeOutput{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "targetResourceType": + if err := awsRestjson1_deserializeDocumentTargetResourceType(&sv.TargetResourceType, value); err != nil { + return err + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + type awsRestjson1_deserializeOpListActions struct { } @@ -1387,14 +1537,14 @@ func awsRestjson1_deserializeOpDocumentListTagsForResourceOutput(v **ListTagsFor return nil } -type awsRestjson1_deserializeOpStartExperiment struct { +type awsRestjson1_deserializeOpListTargetResourceTypes struct { } -func (*awsRestjson1_deserializeOpStartExperiment) ID() string { +func (*awsRestjson1_deserializeOpListTargetResourceTypes) ID() string { return "OperationDeserializer" } -func (m *awsRestjson1_deserializeOpStartExperiment) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsRestjson1_deserializeOpListTargetResourceTypes) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -1408,9 +1558,9 @@ func (m *awsRestjson1_deserializeOpStartExperiment) HandleDeserialize(ctx contex } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsRestjson1_deserializeOpErrorStartExperiment(response, &metadata) + return out, metadata, awsRestjson1_deserializeOpErrorListTargetResourceTypes(response, &metadata) } - output := &StartExperimentOutput{} + output := &ListTargetResourceTypesOutput{} out.Result = output var buff [1024]byte @@ -1431,7 +1581,7 @@ func (m *awsRestjson1_deserializeOpStartExperiment) HandleDeserialize(ctx contex return out, metadata, err } - err = awsRestjson1_deserializeOpDocumentStartExperimentOutput(&output, shape) + err = awsRestjson1_deserializeOpDocumentListTargetResourceTypesOutput(&output, shape) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -1444,7 +1594,7 @@ func (m *awsRestjson1_deserializeOpStartExperiment) HandleDeserialize(ctx contex return out, metadata, err } -func awsRestjson1_deserializeOpErrorStartExperiment(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsRestjson1_deserializeOpErrorListTargetResourceTypes(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -1485,15 +1635,6 @@ func awsRestjson1_deserializeOpErrorStartExperiment(response *smithyhttp.Respons } switch { - case strings.EqualFold("ConflictException", errorCode): - return awsRestjson1_deserializeErrorConflictException(response, errorBody) - - case strings.EqualFold("ResourceNotFoundException", errorCode): - return awsRestjson1_deserializeErrorResourceNotFoundException(response, errorBody) - - case strings.EqualFold("ServiceQuotaExceededException", errorCode): - return awsRestjson1_deserializeErrorServiceQuotaExceededException(response, errorBody) - case strings.EqualFold("ValidationException", errorCode): return awsRestjson1_deserializeErrorValidationException(response, errorBody) @@ -1507,7 +1648,7 @@ func awsRestjson1_deserializeOpErrorStartExperiment(response *smithyhttp.Respons } } -func awsRestjson1_deserializeOpDocumentStartExperimentOutput(v **StartExperimentOutput, value interface{}) error { +func awsRestjson1_deserializeOpDocumentListTargetResourceTypesOutput(v **ListTargetResourceTypesOutput, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) } @@ -1520,17 +1661,26 @@ func awsRestjson1_deserializeOpDocumentStartExperimentOutput(v **StartExperiment return fmt.Errorf("unexpected JSON type %v", value) } - var sv *StartExperimentOutput + var sv *ListTargetResourceTypesOutput if *v == nil { - sv = &StartExperimentOutput{} + sv = &ListTargetResourceTypesOutput{} } else { sv = *v } for key, value := range shape { switch key { - case "experiment": - if err := awsRestjson1_deserializeDocumentExperiment(&sv.Experiment, value); err != nil { + case "nextToken": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected NextToken to be of type string, got %T instead", value) + } + sv.NextToken = ptr.String(jtv) + } + + case "targetResourceTypes": + if err := awsRestjson1_deserializeDocumentTargetResourceTypeSummaryList(&sv.TargetResourceTypes, value); err != nil { return err } @@ -1543,14 +1693,14 @@ func awsRestjson1_deserializeOpDocumentStartExperimentOutput(v **StartExperiment return nil } -type awsRestjson1_deserializeOpStopExperiment struct { +type awsRestjson1_deserializeOpStartExperiment struct { } -func (*awsRestjson1_deserializeOpStopExperiment) ID() string { +func (*awsRestjson1_deserializeOpStartExperiment) ID() string { return "OperationDeserializer" } -func (m *awsRestjson1_deserializeOpStopExperiment) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsRestjson1_deserializeOpStartExperiment) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -1564,9 +1714,9 @@ func (m *awsRestjson1_deserializeOpStopExperiment) HandleDeserialize(ctx context } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsRestjson1_deserializeOpErrorStopExperiment(response, &metadata) + return out, metadata, awsRestjson1_deserializeOpErrorStartExperiment(response, &metadata) } - output := &StopExperimentOutput{} + output := &StartExperimentOutput{} out.Result = output var buff [1024]byte @@ -1587,7 +1737,7 @@ func (m *awsRestjson1_deserializeOpStopExperiment) HandleDeserialize(ctx context return out, metadata, err } - err = awsRestjson1_deserializeOpDocumentStopExperimentOutput(&output, shape) + err = awsRestjson1_deserializeOpDocumentStartExperimentOutput(&output, shape) if err != nil { var snapshot bytes.Buffer io.Copy(&snapshot, ringBuffer) @@ -1600,7 +1750,7 @@ func (m *awsRestjson1_deserializeOpStopExperiment) HandleDeserialize(ctx context return out, metadata, err } -func awsRestjson1_deserializeOpErrorStopExperiment(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsRestjson1_deserializeOpErrorStartExperiment(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -1641,9 +1791,15 @@ func awsRestjson1_deserializeOpErrorStopExperiment(response *smithyhttp.Response } switch { + case strings.EqualFold("ConflictException", errorCode): + return awsRestjson1_deserializeErrorConflictException(response, errorBody) + case strings.EqualFold("ResourceNotFoundException", errorCode): return awsRestjson1_deserializeErrorResourceNotFoundException(response, errorBody) + case strings.EqualFold("ServiceQuotaExceededException", errorCode): + return awsRestjson1_deserializeErrorServiceQuotaExceededException(response, errorBody) + case strings.EqualFold("ValidationException", errorCode): return awsRestjson1_deserializeErrorValidationException(response, errorBody) @@ -1657,7 +1813,7 @@ func awsRestjson1_deserializeOpErrorStopExperiment(response *smithyhttp.Response } } -func awsRestjson1_deserializeOpDocumentStopExperimentOutput(v **StopExperimentOutput, value interface{}) error { +func awsRestjson1_deserializeOpDocumentStartExperimentOutput(v **StartExperimentOutput, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) } @@ -1670,9 +1826,9 @@ func awsRestjson1_deserializeOpDocumentStopExperimentOutput(v **StopExperimentOu return fmt.Errorf("unexpected JSON type %v", value) } - var sv *StopExperimentOutput + var sv *StartExperimentOutput if *v == nil { - sv = &StopExperimentOutput{} + sv = &StartExperimentOutput{} } else { sv = *v } @@ -1693,14 +1849,14 @@ func awsRestjson1_deserializeOpDocumentStopExperimentOutput(v **StopExperimentOu return nil } -type awsRestjson1_deserializeOpTagResource struct { +type awsRestjson1_deserializeOpStopExperiment struct { } -func (*awsRestjson1_deserializeOpTagResource) ID() string { +func (*awsRestjson1_deserializeOpStopExperiment) ID() string { return "OperationDeserializer" } -func (m *awsRestjson1_deserializeOpTagResource) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( +func (m *awsRestjson1_deserializeOpStopExperiment) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, ) { out, metadata, err = next.HandleDeserialize(ctx, in) @@ -1714,15 +1870,43 @@ func (m *awsRestjson1_deserializeOpTagResource) HandleDeserialize(ctx context.Co } if response.StatusCode < 200 || response.StatusCode >= 300 { - return out, metadata, awsRestjson1_deserializeOpErrorTagResource(response, &metadata) + return out, metadata, awsRestjson1_deserializeOpErrorStopExperiment(response, &metadata) } - output := &TagResourceOutput{} + output := &StopExperimentOutput{} out.Result = output + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + + body := io.TeeReader(response.Body, ringBuffer) + + decoder := json.NewDecoder(body) + decoder.UseNumber() + var shape interface{} + if err := decoder.Decode(&shape); err != nil && err != io.EOF { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return out, metadata, err + } + + err = awsRestjson1_deserializeOpDocumentStopExperimentOutput(&output, shape) + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + return out, metadata, &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body with invalid JSON, %w", err), + Snapshot: snapshot.Bytes(), + } + } + return out, metadata, err } -func awsRestjson1_deserializeOpErrorTagResource(response *smithyhttp.Response, metadata *middleware.Metadata) error { +func awsRestjson1_deserializeOpErrorStopExperiment(response *smithyhttp.Response, metadata *middleware.Metadata) error { var errorBuffer bytes.Buffer if _, err := io.Copy(&errorBuffer, response.Body); err != nil { return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} @@ -1763,6 +1947,12 @@ func awsRestjson1_deserializeOpErrorTagResource(response *smithyhttp.Response, m } switch { + case strings.EqualFold("ResourceNotFoundException", errorCode): + return awsRestjson1_deserializeErrorResourceNotFoundException(response, errorBody) + + case strings.EqualFold("ValidationException", errorCode): + return awsRestjson1_deserializeErrorValidationException(response, errorBody) + default: genericError := &smithy.GenericAPIError{ Code: errorCode, @@ -1773,12 +1963,128 @@ func awsRestjson1_deserializeOpErrorTagResource(response *smithyhttp.Response, m } } -type awsRestjson1_deserializeOpUntagResource struct { -} +func awsRestjson1_deserializeOpDocumentStopExperimentOutput(v **StopExperimentOutput, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } -func (*awsRestjson1_deserializeOpUntagResource) ID() string { - return "OperationDeserializer" -} + shape, ok := value.(map[string]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var sv *StopExperimentOutput + if *v == nil { + sv = &StopExperimentOutput{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "experiment": + if err := awsRestjson1_deserializeDocumentExperiment(&sv.Experiment, value); err != nil { + return err + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + +type awsRestjson1_deserializeOpTagResource struct { +} + +func (*awsRestjson1_deserializeOpTagResource) ID() string { + return "OperationDeserializer" +} + +func (m *awsRestjson1_deserializeOpTagResource) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( + out middleware.DeserializeOutput, metadata middleware.Metadata, err error, +) { + out, metadata, err = next.HandleDeserialize(ctx, in) + if err != nil { + return out, metadata, err + } + + response, ok := out.RawResponse.(*smithyhttp.Response) + if !ok { + return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} + } + + if response.StatusCode < 200 || response.StatusCode >= 300 { + return out, metadata, awsRestjson1_deserializeOpErrorTagResource(response, &metadata) + } + output := &TagResourceOutput{} + out.Result = output + + return out, metadata, err +} + +func awsRestjson1_deserializeOpErrorTagResource(response *smithyhttp.Response, metadata *middleware.Metadata) error { + var errorBuffer bytes.Buffer + if _, err := io.Copy(&errorBuffer, response.Body); err != nil { + return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} + } + errorBody := bytes.NewReader(errorBuffer.Bytes()) + + errorCode := "UnknownError" + errorMessage := errorCode + + code := response.Header.Get("X-Amzn-ErrorType") + if len(code) != 0 { + errorCode = restjson.SanitizeErrorCode(code) + } + + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + + body := io.TeeReader(errorBody, ringBuffer) + decoder := json.NewDecoder(body) + decoder.UseNumber() + code, message, err := restjson.GetErrorInfo(decoder) + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return err + } + + errorBody.Seek(0, io.SeekStart) + if len(code) != 0 { + errorCode = restjson.SanitizeErrorCode(code) + } + if len(message) != 0 { + errorMessage = message + } + + switch { + default: + genericError := &smithy.GenericAPIError{ + Code: errorCode, + Message: errorMessage, + } + return genericError + + } +} + +type awsRestjson1_deserializeOpUntagResource struct { +} + +func (*awsRestjson1_deserializeOpUntagResource) ID() string { + return "OperationDeserializer" +} func (m *awsRestjson1_deserializeOpUntagResource) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( out middleware.DeserializeOutput, metadata middleware.Metadata, err error, @@ -2417,7 +2723,7 @@ func awsRestjson1_deserializeDocumentActionTarget(v **types.ActionTarget, value if value != nil { jtv, ok := value.(string) if !ok { - return fmt.Errorf("expected TargetResourceType to be of type string, got %T instead", value) + return fmt.Errorf("expected TargetResourceTypeId to be of type string, got %T instead", value) } sv.ResourceType = ptr.String(jtv) } @@ -3198,6 +3504,11 @@ func awsRestjson1_deserializeDocumentExperimentTarget(v **types.ExperimentTarget return err } + case "parameters": + if err := awsRestjson1_deserializeDocumentExperimentTargetParameterMap(&sv.Parameters, value); err != nil { + return err + } + case "resourceArns": if err := awsRestjson1_deserializeDocumentResourceArnList(&sv.ResourceArns, value); err != nil { return err @@ -3212,7 +3523,7 @@ func awsRestjson1_deserializeDocumentExperimentTarget(v **types.ExperimentTarget if value != nil { jtv, ok := value.(string) if !ok { - return fmt.Errorf("expected ResourceType to be of type string, got %T instead", value) + return fmt.Errorf("expected TargetResourceTypeId to be of type string, got %T instead", value) } sv.ResourceType = ptr.String(jtv) } @@ -3385,6 +3696,42 @@ func awsRestjson1_deserializeDocumentExperimentTargetMap(v *map[string]types.Exp return nil } +func awsRestjson1_deserializeDocumentExperimentTargetParameterMap(v *map[string]string, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.(map[string]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var mv map[string]string + if *v == nil { + mv = map[string]string{} + } else { + mv = *v + } + + for key, value := range shape { + var parsedVal string + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected ExperimentTargetParameterValue to be of type string, got %T instead", value) + } + parsedVal = jtv + } + mv[key] = parsedVal + + } + *v = mv + return nil +} + func awsRestjson1_deserializeDocumentExperimentTemplate(v **types.ExperimentTemplate, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) @@ -3932,6 +4279,11 @@ func awsRestjson1_deserializeDocumentExperimentTemplateTarget(v **types.Experime return err } + case "parameters": + if err := awsRestjson1_deserializeDocumentExperimentTemplateTargetParameterMap(&sv.Parameters, value); err != nil { + return err + } + case "resourceArns": if err := awsRestjson1_deserializeDocumentResourceArnList(&sv.ResourceArns, value); err != nil { return err @@ -3946,7 +4298,7 @@ func awsRestjson1_deserializeDocumentExperimentTemplateTarget(v **types.Experime if value != nil { jtv, ok := value.(string) if !ok { - return fmt.Errorf("expected ResourceType to be of type string, got %T instead", value) + return fmt.Errorf("expected TargetResourceTypeId to be of type string, got %T instead", value) } sv.ResourceType = ptr.String(jtv) } @@ -4119,6 +4471,42 @@ func awsRestjson1_deserializeDocumentExperimentTemplateTargetMap(v *map[string]t return nil } +func awsRestjson1_deserializeDocumentExperimentTemplateTargetParameterMap(v *map[string]string, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.(map[string]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var mv map[string]string + if *v == nil { + mv = map[string]string{} + } else { + mv = *v + } + + for key, value := range shape { + var parsedVal string + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected ExperimentTemplateTargetParameterValue to be of type string, got %T instead", value) + } + parsedVal = jtv + } + mv[key] = parsedVal + + } + *v = mv + return nil +} + func awsRestjson1_deserializeDocumentResourceArnList(v *[]string, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) @@ -4271,6 +4659,227 @@ func awsRestjson1_deserializeDocumentTagMap(v *map[string]string, value interfac return nil } +func awsRestjson1_deserializeDocumentTargetResourceType(v **types.TargetResourceType, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.(map[string]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var sv *types.TargetResourceType + if *v == nil { + sv = &types.TargetResourceType{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "description": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected TargetResourceTypeDescription to be of type string, got %T instead", value) + } + sv.Description = ptr.String(jtv) + } + + case "parameters": + if err := awsRestjson1_deserializeDocumentTargetResourceTypeParameterMap(&sv.Parameters, value); err != nil { + return err + } + + case "resourceType": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected TargetResourceTypeId to be of type string, got %T instead", value) + } + sv.ResourceType = ptr.String(jtv) + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + +func awsRestjson1_deserializeDocumentTargetResourceTypeParameter(v **types.TargetResourceTypeParameter, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.(map[string]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var sv *types.TargetResourceTypeParameter + if *v == nil { + sv = &types.TargetResourceTypeParameter{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "description": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected TargetResourceTypeParameterDescription to be of type string, got %T instead", value) + } + sv.Description = ptr.String(jtv) + } + + case "required": + if value != nil { + jtv, ok := value.(bool) + if !ok { + return fmt.Errorf("expected TargetResourceTypeParameterRequired to be of type *bool, got %T instead", value) + } + sv.Required = jtv + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + +func awsRestjson1_deserializeDocumentTargetResourceTypeParameterMap(v *map[string]types.TargetResourceTypeParameter, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.(map[string]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var mv map[string]types.TargetResourceTypeParameter + if *v == nil { + mv = map[string]types.TargetResourceTypeParameter{} + } else { + mv = *v + } + + for key, value := range shape { + var parsedVal types.TargetResourceTypeParameter + mapVar := parsedVal + destAddr := &mapVar + if err := awsRestjson1_deserializeDocumentTargetResourceTypeParameter(&destAddr, value); err != nil { + return err + } + parsedVal = *destAddr + mv[key] = parsedVal + + } + *v = mv + return nil +} + +func awsRestjson1_deserializeDocumentTargetResourceTypeSummary(v **types.TargetResourceTypeSummary, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.(map[string]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var sv *types.TargetResourceTypeSummary + if *v == nil { + sv = &types.TargetResourceTypeSummary{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "description": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected TargetResourceTypeDescription to be of type string, got %T instead", value) + } + sv.Description = ptr.String(jtv) + } + + case "resourceType": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected TargetResourceTypeId to be of type string, got %T instead", value) + } + sv.ResourceType = ptr.String(jtv) + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + +func awsRestjson1_deserializeDocumentTargetResourceTypeSummaryList(v *[]types.TargetResourceTypeSummary, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.([]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var cv []types.TargetResourceTypeSummary + if *v == nil { + cv = []types.TargetResourceTypeSummary{} + } else { + cv = *v + } + + for _, value := range shape { + var col types.TargetResourceTypeSummary + destAddr := &col + if err := awsRestjson1_deserializeDocumentTargetResourceTypeSummary(&destAddr, value); err != nil { + return err + } + col = *destAddr + cv = append(cv, col) + + } + *v = cv + return nil +} + func awsRestjson1_deserializeDocumentValidationException(v **types.ValidationException, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) diff --git a/service/fis/generated.json b/service/fis/generated.json index fe685abd817..19493ad73b9 100644 --- a/service/fis/generated.json +++ b/service/fis/generated.json @@ -13,10 +13,12 @@ "api_op_GetAction.go", "api_op_GetExperiment.go", "api_op_GetExperimentTemplate.go", + "api_op_GetTargetResourceType.go", "api_op_ListActions.go", "api_op_ListExperimentTemplates.go", "api_op_ListExperiments.go", "api_op_ListTagsForResource.go", + "api_op_ListTargetResourceTypes.go", "api_op_StartExperiment.go", "api_op_StopExperiment.go", "api_op_TagResource.go", diff --git a/service/fis/serializers.go b/service/fis/serializers.go index 5113ef878e2..5049420026d 100644 --- a/service/fis/serializers.go +++ b/service/fis/serializers.go @@ -352,6 +352,64 @@ func awsRestjson1_serializeOpHttpBindingsGetExperimentTemplateInput(v *GetExperi return nil } +type awsRestjson1_serializeOpGetTargetResourceType struct { +} + +func (*awsRestjson1_serializeOpGetTargetResourceType) ID() string { + return "OperationSerializer" +} + +func (m *awsRestjson1_serializeOpGetTargetResourceType) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( + out middleware.SerializeOutput, metadata middleware.Metadata, err error, +) { + request, ok := in.Request.(*smithyhttp.Request) + if !ok { + return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} + } + + input, ok := in.Parameters.(*GetTargetResourceTypeInput) + _ = input + if !ok { + return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} + } + + opPath, opQuery := httpbinding.SplitURI("/targetResourceTypes/{resourceType}") + request.URL.Path = smithyhttp.JoinPath(request.URL.Path, opPath) + request.URL.RawQuery = smithyhttp.JoinRawQuery(request.URL.RawQuery, opQuery) + request.Method = "GET" + restEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header) + if err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + if err := awsRestjson1_serializeOpHttpBindingsGetTargetResourceTypeInput(input, restEncoder); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + if request.Request, err = restEncoder.Encode(request.Request); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + in.Request = request + + return next.HandleSerialize(ctx, in) +} +func awsRestjson1_serializeOpHttpBindingsGetTargetResourceTypeInput(v *GetTargetResourceTypeInput, encoder *httpbinding.Encoder) error { + if v == nil { + return fmt.Errorf("unsupported serialization of nil %T", v) + } + + if v.ResourceType == nil || len(*v.ResourceType) == 0 { + return &smithy.SerializationError{Err: fmt.Errorf("input member resourceType must not be empty")} + } + if v.ResourceType != nil { + if err := encoder.SetURI("resourceType").String(*v.ResourceType); err != nil { + return err + } + } + + return nil +} + type awsRestjson1_serializeOpListActions struct { } @@ -581,6 +639,63 @@ func awsRestjson1_serializeOpHttpBindingsListTagsForResourceInput(v *ListTagsFor return nil } +type awsRestjson1_serializeOpListTargetResourceTypes struct { +} + +func (*awsRestjson1_serializeOpListTargetResourceTypes) ID() string { + return "OperationSerializer" +} + +func (m *awsRestjson1_serializeOpListTargetResourceTypes) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( + out middleware.SerializeOutput, metadata middleware.Metadata, err error, +) { + request, ok := in.Request.(*smithyhttp.Request) + if !ok { + return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} + } + + input, ok := in.Parameters.(*ListTargetResourceTypesInput) + _ = input + if !ok { + return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} + } + + opPath, opQuery := httpbinding.SplitURI("/targetResourceTypes") + request.URL.Path = smithyhttp.JoinPath(request.URL.Path, opPath) + request.URL.RawQuery = smithyhttp.JoinRawQuery(request.URL.RawQuery, opQuery) + request.Method = "GET" + restEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header) + if err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + if err := awsRestjson1_serializeOpHttpBindingsListTargetResourceTypesInput(input, restEncoder); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + if request.Request, err = restEncoder.Encode(request.Request); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + in.Request = request + + return next.HandleSerialize(ctx, in) +} +func awsRestjson1_serializeOpHttpBindingsListTargetResourceTypesInput(v *ListTargetResourceTypesInput, encoder *httpbinding.Encoder) error { + if v == nil { + return fmt.Errorf("unsupported serialization of nil %T", v) + } + + if v.MaxResults != 0 { + encoder.SetQuery("maxResults").Integer(v.MaxResults) + } + + if v.NextToken != nil { + encoder.SetQuery("nextToken").String(*v.NextToken) + } + + return nil +} + type awsRestjson1_serializeOpStartExperiment struct { } @@ -1066,6 +1181,13 @@ func awsRestjson1_serializeDocumentCreateExperimentTemplateTargetInput(v *types. } } + if v.Parameters != nil { + ok := object.Key("parameters") + if err := awsRestjson1_serializeDocumentExperimentTemplateTargetParameterMap(v.Parameters, ok); err != nil { + return err + } + } + if v.ResourceArns != nil { ok := object.Key("resourceArns") if err := awsRestjson1_serializeDocumentResourceArnList(v.ResourceArns, ok); err != nil { @@ -1183,6 +1305,17 @@ func awsRestjson1_serializeDocumentExperimentTemplateTargetInputFilter(v *types. return nil } +func awsRestjson1_serializeDocumentExperimentTemplateTargetParameterMap(v map[string]string, value smithyjson.Value) error { + object := value.Object() + defer object.Close() + + for key := range v { + om := object.Key(key) + om.String(v[key]) + } + return nil +} + func awsRestjson1_serializeDocumentResourceArnList(v []string, value smithyjson.Value) error { array := value.Array() defer array.Close() @@ -1298,6 +1431,13 @@ func awsRestjson1_serializeDocumentUpdateExperimentTemplateTargetInput(v *types. } } + if v.Parameters != nil { + ok := object.Key("parameters") + if err := awsRestjson1_serializeDocumentExperimentTemplateTargetParameterMap(v.Parameters, ok); err != nil { + return err + } + } + if v.ResourceArns != nil { ok := object.Key("resourceArns") if err := awsRestjson1_serializeDocumentResourceArnList(v.ResourceArns, ok); err != nil { diff --git a/service/fis/types/types.go b/service/fis/types/types.go index 816f7ce200a..cb76c544587 100644 --- a/service/fis/types/types.go +++ b/service/fis/types/types.go @@ -120,8 +120,7 @@ type CreateExperimentTemplateStopConditionInput struct { // Injection Simulator User Guide. type CreateExperimentTemplateTargetInput struct { - // The Amazon Web Services resource type. The resource type must be supported for - // the specified action. + // The resource type. The resource type must be supported for the specified action. // // This member is required. ResourceType *string @@ -147,6 +146,9 @@ type CreateExperimentTemplateTargetInput struct { // The filters to apply to identify target resources using specific attributes. Filters []ExperimentTemplateTargetInputFilter + // The resource type parameters. + Parameters map[string]string + // The Amazon Resource Names (ARNs) of the resources. ResourceArns []string @@ -289,6 +291,9 @@ type ExperimentTarget struct { // The filters to apply to identify target resources using specific attributes. Filters []ExperimentTargetFilter + // The resource type parameters. + Parameters map[string]string + // The Amazon Resource Names (ARNs) of the resources. ResourceArns []string @@ -409,6 +414,9 @@ type ExperimentTemplateTarget struct { // The filters to apply to identify target resources using specific attributes. Filters []ExperimentTemplateTargetFilter + // The resource type parameters. + Parameters map[string]string + // The Amazon Resource Names (ARNs) of the targets. ResourceArns []string @@ -455,6 +463,46 @@ type ExperimentTemplateTargetInputFilter struct { noSmithyDocumentSerde } +// Describes a resource type. +type TargetResourceType struct { + + // A description of the resource type. + Description *string + + // The parameters for the resource type. + Parameters map[string]TargetResourceTypeParameter + + // The resource type. + ResourceType *string + + noSmithyDocumentSerde +} + +// Describes the parameters for a resource type. Use parameters to determine which +// tasks are identified during target resolution. +type TargetResourceTypeParameter struct { + + // A description of the parameter. + Description *string + + // Indicates whether the parameter is required. + Required bool + + noSmithyDocumentSerde +} + +// Describes a resource type. +type TargetResourceTypeSummary struct { + + // A description of the resource type. + Description *string + + // The resource type. + ResourceType *string + + noSmithyDocumentSerde +} + // Specifies an action for an experiment template. type UpdateExperimentTemplateActionInputItem struct { @@ -498,8 +546,7 @@ type UpdateExperimentTemplateStopConditionInput struct { // Resource Name (ARN) or at least one resource tag. You cannot specify both. type UpdateExperimentTemplateTargetInput struct { - // The Amazon Web Services resource type. The resource type must be supported for - // the specified action. + // The resource type. The resource type must be supported for the specified action. // // This member is required. ResourceType *string @@ -512,6 +559,9 @@ type UpdateExperimentTemplateTargetInput struct { // The filters to apply to identify target resources using specific attributes. Filters []ExperimentTemplateTargetInputFilter + // The resource type parameters. + Parameters map[string]string + // The Amazon Resource Names (ARNs) of the targets. ResourceArns []string diff --git a/service/fis/validators.go b/service/fis/validators.go index 5bd2e22200d..3c6867bddc8 100644 --- a/service/fis/validators.go +++ b/service/fis/validators.go @@ -110,6 +110,26 @@ func (m *validateOpGetExperimentTemplate) HandleInitialize(ctx context.Context, return next.HandleInitialize(ctx, in) } +type validateOpGetTargetResourceType struct { +} + +func (*validateOpGetTargetResourceType) ID() string { + return "OperationInputValidation" +} + +func (m *validateOpGetTargetResourceType) HandleInitialize(ctx context.Context, in middleware.InitializeInput, next middleware.InitializeHandler) ( + out middleware.InitializeOutput, metadata middleware.Metadata, err error, +) { + input, ok := in.Parameters.(*GetTargetResourceTypeInput) + if !ok { + return out, metadata, fmt.Errorf("unknown input parameters type %T", in.Parameters) + } + if err := validateOpGetTargetResourceTypeInput(input); err != nil { + return out, metadata, err + } + return next.HandleInitialize(ctx, in) +} + type validateOpListTagsForResource struct { } @@ -250,6 +270,10 @@ func addOpGetExperimentTemplateValidationMiddleware(stack *middleware.Stack) err return stack.Initialize.Add(&validateOpGetExperimentTemplate{}, middleware.After) } +func addOpGetTargetResourceTypeValidationMiddleware(stack *middleware.Stack) error { + return stack.Initialize.Add(&validateOpGetTargetResourceType{}, middleware.After) +} + func addOpListTagsForResourceValidationMiddleware(stack *middleware.Stack) error { return stack.Initialize.Add(&validateOpListTagsForResource{}, middleware.After) } @@ -588,6 +612,21 @@ func validateOpGetExperimentTemplateInput(v *GetExperimentTemplateInput) error { } } +func validateOpGetTargetResourceTypeInput(v *GetTargetResourceTypeInput) error { + if v == nil { + return nil + } + invalidParams := smithy.InvalidParamsError{Context: "GetTargetResourceTypeInput"} + if v.ResourceType == nil { + invalidParams.Add(smithy.NewErrParamRequired("ResourceType")) + } + if invalidParams.Len() > 0 { + return invalidParams + } else { + return nil + } +} + func validateOpListTagsForResourceInput(v *ListTagsForResourceInput) error { if v == nil { return nil diff --git a/service/gamelift/api_op_CreateAlias.go b/service/gamelift/api_op_CreateAlias.go index 5df816bef32..e0b93976532 100644 --- a/service/gamelift/api_op_CreateAlias.go +++ b/service/gamelift/api_op_CreateAlias.go @@ -14,7 +14,7 @@ import ( // Creates an alias for a fleet. In most situations, you can use an alias ID in // place of a fleet ID. An alias provides a level of abstraction for a fleet that // is useful when redirecting player traffic from one fleet to another, such as -// when updating your game build. Amazon GameLift supports two types of routing +// when updating your game build. Amazon Web Services supports two types of routing // strategies for aliases: simple and terminal. A simple alias points to an active // fleet. A terminal alias is used to display messaging or link to a URL instead of // routing players to an active fleet. For example, you might use a terminal alias @@ -60,13 +60,14 @@ type CreateAliasInput struct { Description *string // A list of labels to assign to the new alias resource. Tags are developer-defined - // key-value pairs. Tagging AWS resources are useful for resource management, - // access management and cost allocation. For more information, see Tagging AWS - // Resources (https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html) in - // the AWS General Reference. Once the resource is created, you can use + // key-value pairs. Tagging Amazon Web Services resources are useful for resource + // management, access management and cost allocation. For more information, see + // Tagging Amazon Web Services Resources + // (https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html) in the Amazon + // Web Services General Reference. Once the resource is created, you can use // TagResource, UntagResource, and ListTagsForResource to add, remove, and view - // tags. The maximum tag limit may be lower than stated. See the AWS General - // Reference for actual tagging limits. + // tags. The maximum tag limit may be lower than stated. See the Amazon Web + // Services General Reference for actual tagging limits. Tags []types.Tag noSmithyDocumentSerde diff --git a/service/gamelift/api_op_CreateBuild.go b/service/gamelift/api_op_CreateBuild.go index 594f86cff83..d193122cdd2 100644 --- a/service/gamelift/api_op_CreateBuild.go +++ b/service/gamelift/api_op_CreateBuild.go @@ -11,10 +11,10 @@ import ( smithyhttp "github.com/aws/smithy-go/transport/http" ) -// Creates a new Amazon GameLift build resource for your game server binary files. -// Game server binaries must be combined into a zip file for use with Amazon -// GameLift. When setting up a new game build for GameLift, we recommend using the -// AWS CLI command upload-build +// Creates a new Amazon Web Services build resource for your game server binary +// files. Game server binaries must be combined into a zip file for use with Amazon +// Web Services. When setting up a new game build for GameLift, we recommend using +// the Amazon Web Services CLI command upload-build // (https://docs.aws.amazon.com/cli/latest/reference/gamelift/upload-build.html) . // This helper command combines two tasks: (1) it uploads your build files from a // file directory to a GameLift Amazon S3 location, and (2) it creates a new build @@ -22,25 +22,25 @@ import ( // // * To // create a new game build with build files that are in an Amazon S3 location under -// an AWS account that you control. To use this option, you must first give Amazon -// GameLift access to the Amazon S3 bucket. With permissions in place, call -// CreateBuild and specify a build name, operating system, and the Amazon S3 -// storage location of your game build. +// an Amazon Web Services account that you control. To use this option, you must +// first give Amazon Web Services access to the Amazon S3 bucket. With permissions +// in place, call CreateBuild and specify a build name, operating system, and the +// Amazon S3 storage location of your game build. // -// * To directly upload your build files to a -// GameLift Amazon S3 location. To use this option, first call CreateBuild and -// specify a build name and operating system. This operation creates a new build -// resource and also returns an Amazon S3 location with temporary access -// credentials. Use the credentials to manually upload your build files to the -// specified Amazon S3 location. For more information, see Uploading Objects -// (https://docs.aws.amazon.com/AmazonS3/latest/dev/UploadingObjects.html) in the -// Amazon S3 Developer Guide. Build files can be uploaded to the GameLift Amazon S3 -// location once only; that can't be updated. +// * To directly upload your build +// files to a GameLift Amazon S3 location. To use this option, first call +// CreateBuild and specify a build name and operating system. This operation +// creates a new build resource and also returns an Amazon S3 location with +// temporary access credentials. Use the credentials to manually upload your build +// files to the specified Amazon S3 location. For more information, see Uploading +// Objects (https://docs.aws.amazon.com/AmazonS3/latest/dev/UploadingObjects.html) +// in the Amazon S3 Developer Guide. Build files can be uploaded to the GameLift +// Amazon S3 location once only; that can't be updated. // -// If successful, this operation -// creates a new build resource with a unique build ID and places it in INITIALIZED -// status. A build must be in READY status before you can create fleets with it. -// Learn more Uploading Your Game +// If successful, this +// operation creates a new build resource with a unique build ID and places it in +// INITIALIZED status. A build must be in READY status before you can create fleets +// with it. Learn more Uploading Your Game // (https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-build-intro.html) // Create a Build with Files in Amazon S3 // (https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-build-cli-uploading.html#gamelift-build-cli-uploading-create-build) @@ -81,18 +81,21 @@ type CreateBuildInput struct { // parameter only when creating a build with files stored in an Amazon S3 bucket // that you own. The storage location must specify an Amazon S3 bucket name and // key. The location must also specify a role ARN that you set up to allow Amazon - // GameLift to access your Amazon S3 bucket. The S3 bucket and your new build must - // be in the same Region. + // Web Services to access your Amazon S3 bucket. The S3 bucket and your new build + // must be in the same Region. If a StorageLocation is specified, the size of your + // file can be found in your Amazon S3 bucket. Amazon Web Services will report a + // SizeOnDisk of 0. StorageLocation *types.S3Location // A list of labels to assign to the new build resource. Tags are developer-defined - // key-value pairs. Tagging AWS resources are useful for resource management, - // access management and cost allocation. For more information, see Tagging AWS - // Resources (https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html) in - // the AWS General Reference. Once the resource is created, you can use + // key-value pairs. Tagging Amazon Web Services resources are useful for resource + // management, access management and cost allocation. For more information, see + // Tagging Amazon Web Services Resources + // (https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html) in the Amazon + // Web Services General Reference. Once the resource is created, you can use // TagResource, UntagResource, and ListTagsForResource to add, remove, and view - // tags. The maximum tag limit may be lower than stated. See the AWS General - // Reference for actual tagging limits. + // tags. The maximum tag limit may be lower than stated. See the Amazon Web + // Services General Reference for actual tagging limits. Tags []types.Tag // Version information that is associated with a build or script. Version strings @@ -113,8 +116,8 @@ type CreateBuildOutput struct { // This element is returned only when the operation is called without a storage // location. It contains credentials to use when you are uploading a build file to - // an Amazon S3 bucket that is owned by Amazon GameLift. Credentials have a limited - // life span. To refresh these credentials, call RequestUploadCredentials. + // an Amazon S3 bucket that is owned by Amazon Web Services. Credentials have a + // limited life span. To refresh these credentials, call RequestUploadCredentials. UploadCredentials *types.AwsCredentials // Metadata pertaining to the operation's result. diff --git a/service/gamelift/api_op_CreateFleet.go b/service/gamelift/api_op_CreateFleet.go index 54c14519801..b4f8633c9e8 100644 --- a/service/gamelift/api_op_CreateFleet.go +++ b/service/gamelift/api_op_CreateFleet.go @@ -11,26 +11,30 @@ import ( smithyhttp "github.com/aws/smithy-go/transport/http" ) -// Creates a fleet of Amazon Elastic Compute Cloud (Amazon EC2) instances to host -// your custom game server or Realtime Servers. Use this operation to configure the -// computing resources for your fleet and provide instructions for running game -// servers on each instance. Most GameLift fleets can deploy instances to multiple -// locations, including the home Region (where the fleet is created) and an -// optional set of remote locations. Fleets that are created in the following AWS -// Regions support multiple locations: us-east-1 (N. Virginia), us-west-2 (Oregon), -// eu-central-1 (Frankfurt), eu-west-1 (Ireland), ap-southeast-2 (Sydney), -// ap-northeast-1 (Tokyo), and ap-northeast-2 (Seoul). Fleets that are created in -// other GameLift Regions can deploy instances in the fleet's home Region only. All -// fleet instances use the same configuration regardless of location; however, you -// can adjust capacity settings and turn auto-scaling on/off for each location. To -// create a fleet, choose the hardware for your instances, specify a game server -// build or Realtime script to deploy, and provide a runtime configuration to -// direct GameLift how to start and run game servers on each instance in the fleet. -// Set permissions for inbound traffic to your game servers, and enable optional -// features as needed. When creating a multi-location fleet, provide a list of -// additional remote locations. If successful, this operation creates a new Fleet -// resource and places it in NEW status, which prompts GameLift to initiate the -// fleet creation workflow +// Creates a fleet of Amazon Elastic Compute Cloud (Amazon Elastic Compute Cloud) +// instances to host your custom game server or Realtime Servers. Use this +// operation to configure the computing resources for your fleet and provide +// instructions for running game servers on each instance. Most GameLift fleets can +// deploy instances to multiple locations, including the home Region (where the +// fleet is created) and an optional set of remote locations. Fleets that are +// created in the following Amazon Web Services Regions support multiple locations: +// us-east-1 (N. Virginia), us-west-2 (Oregon), eu-central-1 (Frankfurt), eu-west-1 +// (Ireland), ap-southeast-2 (Sydney), ap-northeast-1 (Tokyo), and ap-northeast-2 +// (Seoul). Fleets that are created in other GameLift Regions can deploy instances +// in the fleet's home Region only. All fleet instances use the same configuration +// regardless of location; however, you can adjust capacity settings and turn +// auto-scaling on/off for each location. To create a fleet, choose the hardware +// for your instances, specify a game server build or Realtime script to deploy, +// and provide a runtime configuration to direct GameLift how to start and run game +// servers on each instance in the fleet. Set permissions for inbound traffic to +// your game servers, and enable optional features as needed. When creating a +// multi-location fleet, provide a list of additional remote locations. If you need +// to debug your fleet, fetch logs, view performance metrics or other actions on +// the fleet, create the development fleet with port 22/3389 open. As a best +// practice, we recommend opening ports for remote access only when you need them +// and closing them when you're finished. If successful, this operation creates a +// new Fleet resource and places it in NEW status, which prompts GameLift to +// initiate the fleet creation workflow // (https://docs.aws.amazon.com/gamelift/latest/developerguide/fleets-creation-workflow.html). // You can track fleet creation by checking fleet status using // DescribeFleetAttributes and DescribeFleetLocationAttributes/, or by monitoring @@ -67,11 +71,12 @@ func (c *Client) CreateFleet(ctx context.Context, params *CreateFleetInput, optF // Represents the input for a request operation. type CreateFleetInput struct { - // The GameLift-supported EC2 instance type to use for all fleet instances. + // The GameLift-supported Amazon EC2 instance type to use for all fleet instances. // Instance type determines the computing resources that will be used to host your // game servers, including CPU, memory, storage, and networking capacity. See - // Amazon EC2 Instance Types (http://aws.amazon.com/ec2/instance-types/) for - // detailed descriptions of EC2 instance types. + // Amazon Elastic Compute Cloud Instance Types + // (http://aws.amazon.com/ec2/instance-types/) for detailed descriptions of Amazon + // EC2 instance types. // // This member is required. EC2InstanceType types.EC2InstanceType @@ -90,12 +95,11 @@ type CreateFleetInput struct { // Prompts GameLift to generate a TLS/SSL certificate for the fleet. TLS // certificates are used for encrypting traffic between game clients and the game // servers that are running on GameLift. By default, the CertificateConfiguration - // is set to DISABLED. Learn more at Securing Client/Server Communication - // (https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-howitworks.html#gamelift-howitworks-security). - // This property cannot be changed after the fleet is created. Note: This feature - // requires the AWS Certificate Manager (ACM) service, which is not available in - // all AWS regions. When working in a region that does not support this feature, a - // fleet creation request with certificate generation fails with a 4xx error. + // is set to DISABLED. This property cannot be changed after the fleet is created. + // Note: This feature requires the Amazon Web Services Certificate Manager (ACM) + // service, which is not available in all Amazon Web Services regions. When working + // in a region that does not support this feature, a fleet creation request with + // certificate generation fails with a 4xx error. CertificateConfiguration *types.CertificateConfiguration // A human-readable description of the fleet. @@ -114,23 +118,24 @@ type CreateFleetInput struct { // This property cannot be changed after the fleet is created. FleetType types.FleetType - // A unique identifier for an AWS IAM role that manages access to your AWS - // services. With an instance role ARN set, any application that runs on an - // instance in this fleet can assume the role, including install scripts, server + // A unique identifier for an IAM role that manages access to your Amazon Web + // Services services. With an instance role ARN set, any application that runs on + // an instance in this fleet can assume the role, including install scripts, server // processes, and daemons (background processes). Create a role or look up a role's - // ARN by using the IAM dashboard (https://console.aws.amazon.com/iam/) in the AWS - // Management Console. Learn more about using on-box credentials for your game - // servers at Access external resources from a game server + // ARN by using the IAM dashboard (https://console.aws.amazon.com/iam/) in the + // Amazon Web Services Management Console. Learn more about using on-box + // credentials for your game servers at Access external resources from a game + // server // (https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-resources.html). // This property cannot be changed after the fleet is created. InstanceRoleArn *string // A set of remote locations to deploy additional instances to and manage as part - // of the fleet. This parameter can only be used when creating fleets in AWS - // Regions that support multiple locations. You can add any GameLift-supported AWS - // Region as a remote location, in the form of an AWS Region code such as - // us-west-2. To create a fleet with instances in the home Region only, omit this - // parameter. + // of the fleet. This parameter can only be used when creating fleets in Amazon Web + // Services Regions that support multiple locations. You can add any + // GameLift-supported Amazon Web Services Region as a remote location, in the form + // of an Amazon Web Services Region code such as us-west-2. To create a fleet with + // instances in the home Region only, omit this parameter. Locations []types.LocationConfiguration // This parameter is no longer used. To specify where GameLift should store log @@ -140,10 +145,10 @@ type CreateFleetInput struct { // (https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api-ref.html#gamelift-sdk-server-api-ref-dataypes-process). LogPaths []string - // The name of an AWS CloudWatch metric group to add this fleet to. A metric group - // is used to aggregate the metrics for multiple fleets. You can specify an - // existing metric group name or set a new name to create a new metric group. A - // fleet can be included in only one metric group at a time. + // The name of an Amazon Web Services CloudWatch metric group to add this fleet to. + // A metric group is used to aggregate the metrics for multiple fleets. You can + // specify an existing metric group name or set a new name to create a new metric + // group. A fleet can be included in only one metric group at a time. MetricGroups []string // The status of termination protection for active game sessions on the fleet. By @@ -159,15 +164,15 @@ type CreateFleetInput struct { NewGameSessionProtectionPolicy types.ProtectionPolicy // Used when peering your GameLift fleet with a VPC, the unique identifier for the - // AWS account that owns the VPC. You can find your account ID in the AWS - // Management Console under account settings. + // Amazon Web Services account that owns the VPC. You can find your account ID in + // the Amazon Web Services Management Console under account settings. PeerVpcAwsAccountId *string // A unique identifier for a VPC with resources to be accessed by your GameLift // fleet. The VPC must be in the same Region as your fleet. To look up a VPC ID, - // use the VPC Dashboard (https://console.aws.amazon.com/vpc/) in the AWS - // Management Console. Learn more about VPC peering in VPC Peering with GameLift - // Fleets + // use the VPC Dashboard (https://console.aws.amazon.com/vpc/) in the Amazon Web + // Services Management Console. Learn more about VPC peering in VPC Peering with + // GameLift Fleets // (https://docs.aws.amazon.com/gamelift/latest/developerguide/vpc-peering.html). PeerVpcId *string @@ -201,13 +206,14 @@ type CreateFleetInput struct { ServerLaunchPath *string // A list of labels to assign to the new fleet resource. Tags are developer-defined - // key-value pairs. Tagging AWS resources are useful for resource management, - // access management and cost allocation. For more information, see Tagging AWS - // Resources (https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html) in - // the AWS General Reference. Once the fleet is created, you can use TagResource, - // UntagResource, and ListTagsForResource to add, remove, and view tags. The - // maximum tag limit may be lower than stated. See the AWS General Reference for - // actual tagging limits. + // key-value pairs. Tagging Amazon Web Services resources are useful for resource + // management, access management and cost allocation. For more information, see + // Tagging Amazon Web Services Resources + // (https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html) in the Amazon + // Web Services General Reference. Once the fleet is created, you can use + // TagResource, UntagResource, and ListTagsForResource to add, remove, and view + // tags. The maximum tag limit may be lower than stated. See the Amazon Web + // Services General Reference for actual tagging limits. Tags []types.Tag noSmithyDocumentSerde diff --git a/service/gamelift/api_op_CreateFleetLocations.go b/service/gamelift/api_op_CreateFleetLocations.go index 020458a92f2..2f0c1fc09a9 100644 --- a/service/gamelift/api_op_CreateFleetLocations.go +++ b/service/gamelift/api_op_CreateFleetLocations.go @@ -15,14 +15,14 @@ import ( // EC2 instances. The new instances conform to the fleet's instance type, // auto-scaling, and other configuration settings. This operation cannot be used // with fleets that don't support remote locations. Fleets can have multiple -// locations only if they reside in AWS Regions that support this feature (see -// CreateFleet for the complete list) and were created after the feature was -// released in March 2021. To add fleet locations, specify the fleet to be updated -// and provide a list of one or more locations. If successful, this operation -// returns the list of added locations with their status set to NEW. GameLift -// initiates the process of starting an instance in each added location. You can -// track the status of each new location by monitoring location creation events -// using DescribeFleetEvents. Alternatively, you can poll location status by +// locations only if they reside in Amazon Web Services Regions that support this +// feature (see CreateFleet for the complete list) and were created after the +// feature was released in March 2021. To add fleet locations, specify the fleet to +// be updated and provide a list of one or more locations. If successful, this +// operation returns the list of added locations with their status set to NEW. +// GameLift initiates the process of starting an instance in each added location. +// You can track the status of each new location by monitoring location creation +// events using DescribeFleetEvents. Alternatively, you can poll location status by // calling DescribeFleetLocationAttributes. After a location status becomes ACTIVE, // you can adjust the location's capacity as needed with UpdateFleetCapacity. Learn // more Setting up fleets @@ -59,8 +59,8 @@ type CreateFleetLocationsInput struct { FleetId *string // A list of locations to deploy additional instances to and manage as part of the - // fleet. You can add any GameLift-supported AWS Region as a remote location, in - // the form of an AWS Region code such as us-west-2. + // fleet. You can add any GameLift-supported Amazon Web Services Region as a remote + // location, in the form of an Amazon Web Services Region code such as us-west-2. // // This member is required. Locations []types.LocationConfiguration diff --git a/service/gamelift/api_op_CreateGameServerGroup.go b/service/gamelift/api_op_CreateGameServerGroup.go index 8b3173b92e9..26ea6ce8302 100644 --- a/service/gamelift/api_op_CreateGameServerGroup.go +++ b/service/gamelift/api_op_CreateGameServerGroup.go @@ -13,39 +13,40 @@ import ( // This operation is used with the GameLift FleetIQ solution and game server // groups. Creates a GameLift FleetIQ game server group for managing game hosting -// on a collection of Amazon EC2 instances for game hosting. This operation creates -// the game server group, creates an Auto Scaling group in your AWS account, and -// establishes a link between the two groups. You can view the status of your game -// server groups in the GameLift console. Game server group metrics and events are -// emitted to Amazon CloudWatch. Before creating a new game server group, you must -// have the following: +// on a collection of Amazon Elastic Compute Cloud instances for game hosting. This +// operation creates the game server group, creates an Auto Scaling group in your +// Amazon Web Services account, and establishes a link between the two groups. You +// can view the status of your game server groups in the GameLift console. Game +// server group metrics and events are emitted to Amazon CloudWatch. Before +// creating a new game server group, you must have the following: // -// * An Amazon EC2 launch template that specifies how to -// launch Amazon EC2 instances with your game server build. For more information, -// see Launching an Instance from a Launch Template +// * An Amazon +// Elastic Compute Cloud launch template that specifies how to launch Amazon +// Elastic Compute Cloud instances with your game server build. For more +// information, see Launching an Instance from a Launch Template // (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-launch-templates.html) -// in the Amazon EC2 User Guide. +// in the Amazon Elastic Compute Cloud User Guide. // -// * An IAM role that extends limited access to your -// AWS account to allow GameLift FleetIQ to create and interact with the Auto -// Scaling group. For more information, see Create IAM roles for cross-service -// interaction +// * An IAM role that extends +// limited access to your Amazon Web Services account to allow GameLift FleetIQ to +// create and interact with the Auto Scaling group. For more information, see +// Create IAM roles for cross-service interaction // (https://docs.aws.amazon.com/gamelift/latest/fleetiqguide/gsg-iam-permissions-roles.html) // in the GameLift FleetIQ Developer Guide. // // To create a new game server group, -// specify a unique group name, IAM role and Amazon EC2 launch template, and -// provide a list of instance types that can be used in the group. You must also -// set initial maximum and minimum limits on the group's instance count. You can -// optionally set an Auto Scaling policy with target tracking based on a GameLift -// FleetIQ metric. Once the game server group and corresponding Auto Scaling group -// are created, you have full access to change the Auto Scaling group's -// configuration as needed. Several properties that are set when creating a game -// server group, including maximum/minimum size and auto-scaling policy settings, -// must be updated directly in the Auto Scaling group. Keep in mind that some Auto -// Scaling group properties are periodically updated by GameLift FleetIQ as part of -// its balancing activities to optimize for availability and cost. Learn more -// GameLift FleetIQ Guide +// specify a unique group name, IAM role and Amazon Elastic Compute Cloud launch +// template, and provide a list of instance types that can be used in the group. +// You must also set initial maximum and minimum limits on the group's instance +// count. You can optionally set an Auto Scaling policy with target tracking based +// on a GameLift FleetIQ metric. Once the game server group and corresponding Auto +// Scaling group are created, you have full access to change the Auto Scaling +// group's configuration as needed. Several properties that are set when creating a +// game server group, including maximum/minimum size and auto-scaling policy +// settings, must be updated directly in the Auto Scaling group. Keep in mind that +// some Auto Scaling group properties are periodically updated by GameLift FleetIQ +// as part of its balancing activities to optimize for availability and cost. Learn +// more GameLift FleetIQ Guide // (https://docs.aws.amazon.com/gamelift/latest/fleetiqguide/gsg-intro.html) // Related actions CreateGameServerGroup | ListGameServerGroups | // DescribeGameServerGroup | UpdateGameServerGroup | DeleteGameServerGroup | @@ -70,62 +71,66 @@ func (c *Client) CreateGameServerGroup(ctx context.Context, params *CreateGameSe type CreateGameServerGroupInput struct { // An identifier for the new game server group. This value is used to generate - // unique ARN identifiers for the EC2 Auto Scaling group and the GameLift FleetIQ - // game server group. The name must be unique per Region per AWS account. + // unique ARN identifiers for the Amazon EC2 Auto Scaling group and the GameLift + // FleetIQ game server group. The name must be unique per Region per Amazon Web + // Services account. // // This member is required. GameServerGroupName *string - // The EC2 instance types and sizes to use in the Auto Scaling group. The instance - // definitions must specify at least two different instance types that are + // The Amazon EC2 instance types and sizes to use in the Auto Scaling group. The + // instance definitions must specify at least two different instance types that are // supported by GameLift FleetIQ. For more information on instance types, see EC2 // Instance Types // (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html) in the - // Amazon EC2 User Guide. You can optionally specify capacity weighting for each - // instance type. If no weight value is specified for an instance type, it is set - // to the default value "1". For more information about capacity weighting, see - // Instance Weighting for Amazon EC2 Auto Scaling + // Amazon Elastic Compute Cloud User Guide. You can optionally specify capacity + // weighting for each instance type. If no weight value is specified for an + // instance type, it is set to the default value "1". For more information about + // capacity weighting, see Instance Weighting for Amazon EC2 Auto Scaling // (https://docs.aws.amazon.com/autoscaling/ec2/userguide/asg-instance-weighting.html) // in the Amazon EC2 Auto Scaling User Guide. // // This member is required. InstanceDefinitions []types.InstanceDefinition - // The EC2 launch template that contains configuration settings and game server - // code to be deployed to all instances in the game server group. You can specify - // the template using either the template name or ID. For help with creating a - // launch template, see Creating a Launch Template for an Auto Scaling Group + // The Amazon EC2 launch template that contains configuration settings and game + // server code to be deployed to all instances in the game server group. You can + // specify the template using either the template name or ID. For help with + // creating a launch template, see Creating a Launch Template for an Auto Scaling + // Group // (https://docs.aws.amazon.com/autoscaling/ec2/userguide/create-launch-template.html) - // in the Amazon EC2 Auto Scaling User Guide. After the Auto Scaling group is - // created, update this value directly in the Auto Scaling group using the AWS - // console or APIs. If you specify network interfaces in your launch template, you - // must explicitly set the property AssociatePublicIpAddress to "true". If no - // network interface is specified in the launch template, GameLift FleetIQ uses - // your account's default VPC. + // in the Amazon Elastic Compute Cloud Auto Scaling User Guide. After the Auto + // Scaling group is created, update this value directly in the Auto Scaling group + // using the Amazon Web Services console or APIs. If you specify network interfaces + // in your launch template, you must explicitly set the property + // AssociatePublicIpAddress to "true". If no network interface is specified in the + // launch template, GameLift FleetIQ uses your account's default VPC. // // This member is required. LaunchTemplate *types.LaunchTemplateSpecification - // The maximum number of instances allowed in the EC2 Auto Scaling group. During - // automatic scaling events, GameLift FleetIQ and EC2 do not scale up the group - // above this maximum. After the Auto Scaling group is created, update this value - // directly in the Auto Scaling group using the AWS console or APIs. + // The maximum number of instances allowed in the Amazon EC2 Auto Scaling group. + // During automatic scaling events, GameLift FleetIQ and EC2 do not scale up the + // group above this maximum. After the Auto Scaling group is created, update this + // value directly in the Auto Scaling group using the Amazon Web Services console + // or APIs. // // This member is required. MaxSize *int32 - // The minimum number of instances allowed in the EC2 Auto Scaling group. During - // automatic scaling events, GameLift FleetIQ and EC2 do not scale down the group - // below this minimum. In production, this value should be set to at least 1. After - // the Auto Scaling group is created, update this value directly in the Auto - // Scaling group using the AWS console or APIs. + // The minimum number of instances allowed in the Amazon EC2 Auto Scaling group. + // During automatic scaling events, GameLift FleetIQ and Amazon EC2 do not scale + // down the group below this minimum. In production, this value should be set to at + // least 1. After the Auto Scaling group is created, update this value directly in + // the Auto Scaling group using the Amazon Web Services console or APIs. // // This member is required. MinSize *int32 // The Amazon Resource Name (ARN // (https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html)) for an IAM - // role that allows Amazon GameLift to access your EC2 Auto Scaling groups. + // role that allows Amazon Web Services to access your Amazon EC2 Auto Scaling + // groups. // // This member is required. RoleArn *string @@ -134,8 +139,8 @@ type CreateGameServerGroupInput struct { // that is optimized for game hosting. The scaling policy uses the metric // "PercentUtilizedGameServers" to maintain a buffer of idle game servers that can // immediately accommodate new games and players. After the Auto Scaling group is - // created, update this value directly in the Auto Scaling group using the AWS - // console or APIs. + // created, update this value directly in the Auto Scaling group using the Amazon + // Web Services console or APIs. AutoScalingPolicy *types.GameServerGroupAutoScalingPolicy // Indicates how GameLift FleetIQ balances the use of Spot Instances and On-Demand @@ -166,19 +171,19 @@ type CreateGameServerGroupInput struct { // dropped from the game. Protected instances cannot be terminated while there are // active game servers running except in the event of a forced game server group // deletion (see ). An exception to this is with Spot Instances, which can be - // terminated by AWS regardless of protection status. This property is set to - // NO_PROTECTION by default. + // terminated by Amazon Web Services regardless of protection status. This property + // is set to NO_PROTECTION by default. GameServerProtectionPolicy types.GameServerProtectionPolicy // A list of labels to assign to the new game server group resource. Tags are - // developer-defined key-value pairs. Tagging AWS resources is useful for resource - // management, access management, and cost allocation. For more information, see - // Tagging AWS Resources - // (https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html) in the AWS - // General Reference. Once the resource is created, you can use TagResource, - // UntagResource, and ListTagsForResource to add, remove, and view tags, - // respectively. The maximum tag limit may be lower than stated. See the AWS - // General Reference for actual tagging limits. + // developer-defined key-value pairs. Tagging Amazon Web Services resources is + // useful for resource management, access management, and cost allocation. For more + // information, see Tagging Amazon Web Services Resources + // (https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html) in the Amazon + // Web Services General Reference. Once the resource is created, you can use + // TagResource, UntagResource, and ListTagsForResource to add, remove, and view + // tags, respectively. The maximum tag limit may be lower than stated. See the + // Amazon Web Services General Reference for actual tagging limits. Tags []types.Tag // A list of virtual private cloud (VPC) subnets to use with instances in the game @@ -195,9 +200,9 @@ type CreateGameServerGroupInput struct { type CreateGameServerGroupOutput struct { // The newly created game server group object, including the new ARN value for the - // GameLift FleetIQ game server group and the object's status. The EC2 Auto Scaling - // group ARN is initially null, since the group has not yet been created. This - // value is added once the game server group status reaches ACTIVE. + // GameLift FleetIQ game server group and the object's status. The Amazon EC2 Auto + // Scaling group ARN is initially null, since the group has not yet been created. + // This value is added once the game server group status reaches ACTIVE. GameServerGroup *types.GameServerGroup // Metadata pertaining to the operation's result. diff --git a/service/gamelift/api_op_CreateGameSession.go b/service/gamelift/api_op_CreateGameSession.go index c45ec8a88ce..50a3194e9b7 100644 --- a/service/gamelift/api_op_CreateGameSession.go +++ b/service/gamelift/api_op_CreateGameSession.go @@ -37,8 +37,8 @@ import ( // You can restrict new player access by using UpdateGameSession to change the game // session's player session creation policy. Game session logs are retained for all // active game sessions for 14 days. To access the logs, call GetGameSessionLogUrl -// to download the log files. Available in GameLift Local. Learn more Start a game -// session +// to download the log files. Available in Amazon Web Services Local. Learn more +// Start a game session // (https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession) // Related actions CreateGameSession | DescribeGameSessions | // DescribeGameSessionDetails | SearchGameSessions | UpdateGameSession | @@ -89,12 +89,14 @@ type CreateGameSessionInput struct { // A set of custom properties for a game session, formatted as key:value pairs. // These properties are passed to a game server process in the GameSession object - // with a request to start a new game session. + // with a request to start a new game session (see Start a Game Session + // (https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession)). GameProperties []types.GameProperty // A set of custom game session properties, formatted as a single string value. // This data is passed to a game server process in the GameSession object with a - // request to start a new game session. + // request to start a new game session (see Start a Game Session + // (https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession)). GameSessionData *string // This parameter is no longer preferred. Please use IdempotencyToken instead. @@ -115,7 +117,7 @@ type CreateGameSessionInput struct { // A fleet's remote location to place the new game session in. If this parameter is // not set, the new game session is placed in the fleet's home Region. Specify a - // remote location with an AWS Region code such as us-west-2. + // remote location with an Amazon Web Services Region code such as us-west-2. Location *string // A descriptive label that is associated with a game session. Session names do not diff --git a/service/gamelift/api_op_CreateGameSessionQueue.go b/service/gamelift/api_op_CreateGameSessionQueue.go index 1b05b435887..d0ab9cc82a6 100644 --- a/service/gamelift/api_op_CreateGameSessionQueue.go +++ b/service/gamelift/api_op_CreateGameSessionQueue.go @@ -17,9 +17,9 @@ import ( // game session. A game session queue is configured with a set of destinations // (GameLift fleets or aliases), which determine the locations where the queue can // place new game sessions. These destinations can span multiple fleet types (Spot -// and On-Demand), instance types, and AWS Regions. If the queue includes -// multi-location fleets, the queue is able to place game sessions in all of a -// fleet's remote locations. You can opt to filter out individual locations if +// and On-Demand), instance types, and Amazon Web Services Regions. If the queue +// includes multi-location fleets, the queue is able to place game sessions in all +// of a fleet's remote locations. You can opt to filter out individual locations if // needed. The queue configuration also determines how FleetIQ selects the best // available placement for a new game session. Before searching for an available // game server, FleetIQ first prioritizes the queue's destinations and locations, @@ -32,13 +32,23 @@ import ( // placement activity. Notifications using SNS or CloudWatch events is the // preferred way to track placement activity. If successful, a new GameSessionQueue // object is returned with an assigned queue ARN. New game session requests, which -// are submitted to the queue with StartGameSessionPlacement or StartMatchmaking, +// are submitted to queue with StartGameSessionPlacement +// (https://docs.aws.amazon.com/gamelift/latest/apireference/API_StartGameSessionPlacement.html) +// or StartMatchmaking +// (https://docs.aws.amazon.com/gamelift/latest/apireference/API_StartMatchmaking.html), // reference a queue's name or ARN. Learn more Design a game session queue // (https://docs.aws.amazon.com/gamelift/latest/developerguide/queues-design.html) // Create a game session queue // (https://docs.aws.amazon.com/gamelift/latest/developerguide/queues-creating.html) -// Related actions CreateGameSessionQueue | DescribeGameSessionQueues | -// UpdateGameSessionQueue | DeleteGameSessionQueue | All APIs by task +// Related actions CreateGameSessionQueue +// (https://docs.aws.amazon.com/gamelift/latest/apireference/API_CreateGameSessionQueue.html) +// | DescribeGameSessionQueues +// (https://docs.aws.amazon.com/gamelift/latest/apireference/API_DescribeGameSessionQueues.html) +// | UpdateGameSessionQueue +// (https://docs.aws.amazon.com/gamelift/latest/apireference/API_UpdateGameSessionQueue.html) +// | DeleteGameSessionQueue +// (https://docs.aws.amazon.com/gamelift/latest/apireference/API_DeleteGameSessionQueue.html) +// | All APIs by task // (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets) func (c *Client) CreateGameSessionQueue(ctx context.Context, params *CreateGameSessionQueueInput, optFns ...func(*Options)) (*CreateGameSessionQueueOutput, error) { if params == nil { @@ -74,8 +84,9 @@ type CreateGameSessionQueueInput struct { Destinations []types.GameSessionQueueDestination // A list of locations where a queue is allowed to place new game sessions. - // Locations are specified in the form of AWS Region codes, such as us-west-2. If - // this parameter is not set, game sessions can be placed in any queue location. + // Locations are specified in the form of Amazon Web Services Region codes, such as + // us-west-2. If this parameter is not set, game sessions can be placed in any + // queue location. FilterConfiguration *types.FilterConfiguration // An SNS topic ARN that is set up to receive game session placement notifications. @@ -98,14 +109,14 @@ type CreateGameSessionQueueInput struct { PriorityConfiguration *types.PriorityConfiguration // A list of labels to assign to the new game session queue resource. Tags are - // developer-defined key-value pairs. Tagging AWS resources are useful for resource - // management, access management and cost allocation. For more information, see - // Tagging AWS Resources - // (https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html) in the AWS - // General Reference. Once the resource is created, you can use TagResource, - // UntagResource, and ListTagsForResource to add, remove, and view tags. The - // maximum tag limit may be lower than stated. See the AWS General Reference for - // actual tagging limits. + // developer-defined key-value pairs. Tagging Amazon Web Services resources are + // useful for resource management, access management and cost allocation. For more + // information, see Tagging Amazon Web Services Resources + // (https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html) in the Amazon + // Web Services General Reference. Once the resource is created, you can use + // TagResource, UntagResource, and ListTagsForResource to add, remove, and view + // tags. The maximum tag limit may be lower than stated. See the Amazon Web + // Services General Reference for actual tagging limits. Tags []types.Tag // The maximum time, in seconds, that a new game session placement request remains diff --git a/service/gamelift/api_op_CreateMatchmakingConfiguration.go b/service/gamelift/api_op_CreateMatchmakingConfiguration.go index 76d5b86cafd..d9939e020aa 100644 --- a/service/gamelift/api_op_CreateMatchmakingConfiguration.go +++ b/service/gamelift/api_op_CreateMatchmakingConfiguration.go @@ -25,7 +25,7 @@ import ( // required; and the maximum time allowed for a matchmaking attempt. When using // FlexMatch with GameLift hosting, you also need to identify the game session // queue to use when starting a game session for the match. In addition, you must -// set up an Amazon Simple Notification Service (SNS) topic to receive matchmaking +// set up an Amazon Simple Notification Service topic to receive matchmaking // notifications. Provide the topic ARN in the matchmaking configuration. An // alternative method, continuously polling ticket status with DescribeMatchmaking, // is only suitable for games in development with low matchmaking usage. Learn more @@ -160,14 +160,14 @@ type CreateMatchmakingConfigurationInput struct { NotificationTarget *string // A list of labels to assign to the new matchmaking configuration resource. Tags - // are developer-defined key-value pairs. Tagging AWS resources are useful for - // resource management, access management and cost allocation. For more - // information, see Tagging AWS Resources - // (https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html) in the AWS - // General Reference. Once the resource is created, you can use TagResource, - // UntagResource, and ListTagsForResource to add, remove, and view tags. The - // maximum tag limit may be lower than stated. See the AWS General Reference for - // actual tagging limits. + // are developer-defined key-value pairs. Tagging Amazon Web Services resources are + // useful for resource management, access management and cost allocation. For more + // information, see Tagging Amazon Web Services Resources + // (https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html) in the Amazon + // Web Services General Reference. Once the resource is created, you can use + // TagResource, UntagResource, and ListTagsForResource to add, remove, and view + // tags. The maximum tag limit may be lower than stated. See the Amazon Web + // Services General Reference for actual tagging limits. Tags []types.Tag noSmithyDocumentSerde diff --git a/service/gamelift/api_op_CreateMatchmakingRuleSet.go b/service/gamelift/api_op_CreateMatchmakingRuleSet.go index 9448075e5de..899dc3c01bf 100644 --- a/service/gamelift/api_op_CreateMatchmakingRuleSet.go +++ b/service/gamelift/api_op_CreateMatchmakingRuleSet.go @@ -70,14 +70,14 @@ type CreateMatchmakingRuleSetInput struct { RuleSetBody *string // A list of labels to assign to the new matchmaking rule set resource. Tags are - // developer-defined key-value pairs. Tagging AWS resources are useful for resource - // management, access management and cost allocation. For more information, see - // Tagging AWS Resources - // (https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html) in the AWS - // General Reference. Once the resource is created, you can use TagResource, - // UntagResource, and ListTagsForResource to add, remove, and view tags. The - // maximum tag limit may be lower than stated. See the AWS General Reference for - // actual tagging limits. + // developer-defined key-value pairs. Tagging Amazon Web Services resources are + // useful for resource management, access management and cost allocation. For more + // information, see Tagging Amazon Web Services Resources + // (https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html) in the Amazon + // Web Services General Reference. Once the resource is created, you can use + // TagResource, UntagResource, and ListTagsForResource to add, remove, and view + // tags. The maximum tag limit may be lower than stated. See the Amazon Web + // Services General Reference for actual tagging limits. Tags []types.Tag noSmithyDocumentSerde diff --git a/service/gamelift/api_op_CreatePlayerSession.go b/service/gamelift/api_op_CreatePlayerSession.go index f36a103db56..a39f35b211b 100644 --- a/service/gamelift/api_op_CreatePlayerSession.go +++ b/service/gamelift/api_op_CreatePlayerSession.go @@ -20,8 +20,9 @@ import ( // PlayerSession object is returned with a player session ID. The player references // the player session ID when sending a connection request to the game session, and // the game server can use it to validate the player reservation with the GameLift -// service. Player sessions cannot be updated. Available in Amazon GameLift Local. -// Related actions CreatePlayerSession | CreatePlayerSessions | +// service. Player sessions cannot be updated. The maximum number of players per +// game session is 200. It is not adjustable. Available in Amazon Web Services +// Local. Related actions CreatePlayerSession | CreatePlayerSessions | // DescribePlayerSessions | StartGameSessionPlacement | // DescribeGameSessionPlacement | All APIs by task // (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets) diff --git a/service/gamelift/api_op_CreatePlayerSessions.go b/service/gamelift/api_op_CreatePlayerSessions.go index dbdcfd6a8ef..75e8609cb08 100644 --- a/service/gamelift/api_op_CreatePlayerSessions.go +++ b/service/gamelift/api_op_CreatePlayerSessions.go @@ -21,7 +21,8 @@ import ( // IDs. Each player references their player session ID when sending a connection // request to the game session, and the game server can use it to validate the // player reservation with the GameLift service. Player sessions cannot be updated. -// Available in Amazon GameLift Local. Related actions CreatePlayerSession | +// The maximum number of players per game session is 200. It is not adjustable. +// Available in Amazon Web Services Local. Related actions CreatePlayerSession | // CreatePlayerSessions | DescribePlayerSessions | StartGameSessionPlacement | // DescribeGameSessionPlacement | All APIs by task // (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets) @@ -54,9 +55,9 @@ type CreatePlayerSessionsInput struct { PlayerIds []string // Map of string pairs, each specifying a player ID and a set of developer-defined - // information related to the player. Amazon GameLift does not use this data, so it - // can be formatted as needed for use in the game. Any player data strings for - // player IDs that are not included in the PlayerIds parameter are ignored. + // information related to the player. Amazon Web Services does not use this data, + // so it can be formatted as needed for use in the game. Any player data strings + // for player IDs that are not included in the PlayerIds parameter are ignored. PlayerDataMap map[string]string noSmithyDocumentSerde diff --git a/service/gamelift/api_op_CreateScript.go b/service/gamelift/api_op_CreateScript.go index 13fe3b0b7e3..b53853b8a07 100644 --- a/service/gamelift/api_op_CreateScript.go +++ b/service/gamelift/api_op_CreateScript.go @@ -23,19 +23,20 @@ import ( // locally available directory. Use the ZipFile parameter for this option. // // * An -// Amazon Simple Storage Service (Amazon S3) bucket under your AWS account. Use the -// StorageLocation parameter for this option. You'll need to have an Identity -// Access Management (IAM) role that allows the Amazon GameLift service to access -// your S3 bucket. +// Amazon Simple Storage Service (Amazon S3) bucket under your Amazon Web Services +// account. Use the StorageLocation parameter for this option. You'll need to have +// an Identity Access Management (IAM) role that allows the Amazon Web Services +// service to access your S3 bucket. // -// If the call is successful, a new script record is created with -// a unique script ID. If the script file is provided as a local file, the file is -// uploaded to an Amazon GameLift-owned S3 bucket and the script record's storage -// location reflects this location. If the script file is provided as an S3 bucket, -// Amazon GameLift accesses the file at this storage location as needed for -// deployment. Learn more Amazon GameLift Realtime Servers +// If the call is successful, a new script +// record is created with a unique script ID. If the script file is provided as a +// local file, the file is uploaded to an Amazon Web Services-owned S3 bucket and +// the script record's storage location reflects this location. If the script file +// is provided as an S3 bucket, Amazon Web Services accesses the file at this +// storage location as needed for deployment. Learn more Amazon Web Services +// Realtime Servers // (https://docs.aws.amazon.com/gamelift/latest/developerguide/realtime-intro.html)Set -// Up a Role for Amazon GameLift Access +// Up a Role for Amazon Web Services Access // (https://docs.aws.amazon.com/gamelift/latest/developerguide/setting-up-role.html) // Related actions CreateScript | ListScripts | DescribeScript | UpdateScript | // DeleteScript | All APIs by task @@ -64,22 +65,22 @@ type CreateScriptInput struct { // The location of the Amazon S3 bucket where a zipped file containing your // Realtime scripts is stored. The storage location must specify the Amazon S3 // bucket name, the zip file name (the "key"), and a role ARN that allows Amazon - // GameLift to access the Amazon S3 storage location. The S3 bucket must be in the - // same Region where you want to create a new script. By default, Amazon GameLift - // uploads the latest version of the zip file; if you have S3 object versioning - // turned on, you can use the ObjectVersion parameter to specify an earlier - // version. + // Web Services to access the Amazon S3 storage location. The S3 bucket must be in + // the same Region where you want to create a new script. By default, Amazon Web + // Services uploads the latest version of the zip file; if you have S3 object + // versioning turned on, you can use the ObjectVersion parameter to specify an + // earlier version. StorageLocation *types.S3Location // A list of labels to assign to the new script resource. Tags are - // developer-defined key-value pairs. Tagging AWS resources are useful for resource - // management, access management and cost allocation. For more information, see - // Tagging AWS Resources - // (https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html) in the AWS - // General Reference. Once the resource is created, you can use TagResource, - // UntagResource, and ListTagsForResource to add, remove, and view tags. The - // maximum tag limit may be lower than stated. See the AWS General Reference for - // actual tagging limits. + // developer-defined key-value pairs. Tagging Amazon Web Services resources are + // useful for resource management, access management and cost allocation. For more + // information, see Tagging Amazon Web Services Resources + // (https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html) in the Amazon + // Web Services General Reference. Once the resource is created, you can use + // TagResource, UntagResource, and ListTagsForResource to add, remove, and view + // tags. The maximum tag limit may be lower than stated. See the Amazon Web + // Services General Reference for actual tagging limits. Tags []types.Tag // Version information that is associated with a build or script. Version strings @@ -88,9 +89,9 @@ type CreateScriptInput struct { // A data object containing your Realtime scripts and dependencies as a zip file. // The zip file can have one or multiple files. Maximum size of a zip file is 5 MB. - // When using the AWS CLI tool to create a script, this parameter is set to the zip - // file name. It must be prepended with the string "fileb://" to indicate that the - // file data is a binary object. For example: --zip-file + // When using the Amazon Web Services CLI tool to create a script, this parameter + // is set to the zip file name. It must be prepended with the string "fileb://" to + // indicate that the file data is a binary object. For example: --zip-file // fileb://myRealtimeScript.zip. ZipFile []byte @@ -104,7 +105,7 @@ type CreateScriptOutput struct { // uploaded from an S3 bucket under your account, the storage location reflects the // information that was provided in the CreateScript request; (2) If the script // file was uploaded from a local zip file, the storage location reflects an S3 - // location controls by the Amazon GameLift service. + // location controls by the Amazon Web Services service. Script *types.Script // Metadata pertaining to the operation's result. diff --git a/service/gamelift/api_op_CreateVpcPeeringAuthorization.go b/service/gamelift/api_op_CreateVpcPeeringAuthorization.go index 78a06982e23..83a432b9f0a 100644 --- a/service/gamelift/api_op_CreateVpcPeeringAuthorization.go +++ b/service/gamelift/api_op_CreateVpcPeeringAuthorization.go @@ -12,30 +12,32 @@ import ( ) // Requests authorization to create or delete a peer connection between the VPC for -// your Amazon GameLift fleet and a virtual private cloud (VPC) in your AWS -// account. VPC peering enables the game servers on your fleet to communicate -// directly with other AWS resources. Once you've received authorization, call -// CreateVpcPeeringConnection to establish the peering connection. For more -// information, see VPC Peering with Amazon GameLift Fleets +// your Amazon Web Services fleet and a virtual private cloud (VPC) in your Amazon +// Web Services account. VPC peering enables the game servers on your fleet to +// communicate directly with other Amazon Web Services resources. Once you've +// received authorization, call CreateVpcPeeringConnection to establish the peering +// connection. For more information, see VPC Peering with Amazon Web Services +// Fleets // (https://docs.aws.amazon.com/gamelift/latest/developerguide/vpc-peering.html). -// You can peer with VPCs that are owned by any AWS account you have access to, -// including the account that you use to manage your Amazon GameLift fleets. You -// cannot peer with VPCs that are in different Regions. To request authorization to -// create a connection, call this operation from the AWS account with the VPC that -// you want to peer to your Amazon GameLift fleet. For example, to enable your game -// servers to retrieve data from a DynamoDB table, use the account that manages -// that DynamoDB resource. Identify the following values: (1) The ID of the VPC -// that you want to peer with, and (2) the ID of the AWS account that you use to -// manage Amazon GameLift. If successful, VPC peering is authorized for the -// specified VPC. To request authorization to delete a connection, call this -// operation from the AWS account with the VPC that is peered with your Amazon -// GameLift fleet. Identify the following values: (1) VPC ID that you want to -// delete the peering connection for, and (2) ID of the AWS account that you use to -// manage Amazon GameLift. The authorization remains valid for 24 hours unless it -// is canceled by a call to DeleteVpcPeeringAuthorization. You must create or -// delete the peering connection while the authorization is valid. Related actions -// CreateVpcPeeringAuthorization | DescribeVpcPeeringAuthorizations | -// DeleteVpcPeeringAuthorization | CreateVpcPeeringConnection | +// You can peer with VPCs that are owned by any Amazon Web Services account you +// have access to, including the account that you use to manage your Amazon Web +// Services fleets. You cannot peer with VPCs that are in different Regions. To +// request authorization to create a connection, call this operation from the +// Amazon Web Services account with the VPC that you want to peer to your Amazon +// Web Services fleet. For example, to enable your game servers to retrieve data +// from a DynamoDB table, use the account that manages that DynamoDB resource. +// Identify the following values: (1) The ID of the VPC that you want to peer with, +// and (2) the ID of the Amazon Web Services account that you use to manage Amazon +// Web Services. If successful, VPC peering is authorized for the specified VPC. To +// request authorization to delete a connection, call this operation from the +// Amazon Web Services account with the VPC that is peered with your Amazon Web +// Services fleet. Identify the following values: (1) VPC ID that you want to +// delete the peering connection for, and (2) ID of the Amazon Web Services account +// that you use to manage Amazon Web Services. The authorization remains valid for +// 24 hours unless it is canceled by a call to DeleteVpcPeeringAuthorization. You +// must create or delete the peering connection while the authorization is valid. +// Related actions CreateVpcPeeringAuthorization | DescribeVpcPeeringAuthorizations +// | DeleteVpcPeeringAuthorization | CreateVpcPeeringConnection | // DescribeVpcPeeringConnections | DeleteVpcPeeringConnection | All APIs by task // (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets) func (c *Client) CreateVpcPeeringAuthorization(ctx context.Context, params *CreateVpcPeeringAuthorizationInput, optFns ...func(*Options)) (*CreateVpcPeeringAuthorizationOutput, error) { @@ -56,18 +58,18 @@ func (c *Client) CreateVpcPeeringAuthorization(ctx context.Context, params *Crea // Represents the input for a request operation. type CreateVpcPeeringAuthorizationInput struct { - // A unique identifier for the AWS account that you use to manage your GameLift - // fleet. You can find your Account ID in the AWS Management Console under account - // settings. + // A unique identifier for the Amazon Web Services account that you use to manage + // your GameLift fleet. You can find your Account ID in the Amazon Web Services + // Management Console under account settings. // // This member is required. GameLiftAwsAccountId *string // A unique identifier for a VPC with resources to be accessed by your GameLift // fleet. The VPC must be in the same Region as your fleet. To look up a VPC ID, - // use the VPC Dashboard (https://console.aws.amazon.com/vpc/) in the AWS - // Management Console. Learn more about VPC peering in VPC Peering with GameLift - // Fleets + // use the VPC Dashboard (https://console.aws.amazon.com/vpc/) in the Amazon Web + // Services Management Console. Learn more about VPC peering in VPC Peering with + // GameLift Fleets // (https://docs.aws.amazon.com/gamelift/latest/developerguide/vpc-peering.html). // // This member is required. diff --git a/service/gamelift/api_op_CreateVpcPeeringConnection.go b/service/gamelift/api_op_CreateVpcPeeringConnection.go index 31ddf3e821d..7fbe1cc640c 100644 --- a/service/gamelift/api_op_CreateVpcPeeringConnection.go +++ b/service/gamelift/api_op_CreateVpcPeeringConnection.go @@ -11,29 +11,31 @@ import ( ) // Establishes a VPC peering connection between a virtual private cloud (VPC) in an -// AWS account with the VPC for your Amazon GameLift fleet. VPC peering enables the -// game servers on your fleet to communicate directly with other AWS resources. You -// can peer with VPCs in any AWS account that you have access to, including the -// account that you use to manage your Amazon GameLift fleets. You cannot peer with -// VPCs that are in different Regions. For more information, see VPC Peering with -// Amazon GameLift Fleets +// Amazon Web Services account with the VPC for your Amazon Web Services fleet. VPC +// peering enables the game servers on your fleet to communicate directly with +// other Amazon Web Services resources. You can peer with VPCs in any Amazon Web +// Services account that you have access to, including the account that you use to +// manage your Amazon Web Services fleets. You cannot peer with VPCs that are in +// different Regions. For more information, see VPC Peering with Amazon Web +// Services Fleets // (https://docs.aws.amazon.com/gamelift/latest/developerguide/vpc-peering.html). // Before calling this operation to establish the peering connection, you first // need to call CreateVpcPeeringAuthorization and identify the VPC you want to peer // with. Once the authorization for the specified VPC is issued, you have 24 hours // to establish the connection. These two operations handle all tasks necessary to // peer the two VPCs, including acceptance, updating routing tables, etc. To -// establish the connection, call this operation from the AWS account that is used -// to manage the Amazon GameLift fleets. Identify the following values: (1) The ID -// of the fleet you want to be enable a VPC peering connection for; (2) The AWS -// account with the VPC that you want to peer with; and (3) The ID of the VPC you -// want to peer with. This operation is asynchronous. If successful, a -// VpcPeeringConnection request is created. You can use continuous polling to track -// the request's status using DescribeVpcPeeringConnections, or by monitoring fleet -// events for success or failure using DescribeFleetEvents. Related actions -// CreateVpcPeeringAuthorization | DescribeVpcPeeringAuthorizations | -// DeleteVpcPeeringAuthorization | CreateVpcPeeringConnection | -// DescribeVpcPeeringConnections | DeleteVpcPeeringConnection | All APIs by task +// establish the connection, call this operation from the Amazon Web Services +// account that is used to manage the Amazon Web Services fleets. Identify the +// following values: (1) The ID of the fleet you want to be enable a VPC peering +// connection for; (2) The Amazon Web Services account with the VPC that you want +// to peer with; and (3) The ID of the VPC you want to peer with. This operation is +// asynchronous. If successful, a VpcPeeringConnection request is created. You can +// use continuous polling to track the request's status using +// DescribeVpcPeeringConnections, or by monitoring fleet events for success or +// failure using DescribeFleetEvents. Related actions CreateVpcPeeringAuthorization +// | DescribeVpcPeeringAuthorizations | DeleteVpcPeeringAuthorization | +// CreateVpcPeeringConnection | DescribeVpcPeeringConnections | +// DeleteVpcPeeringConnection | All APIs by task // (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets) func (c *Client) CreateVpcPeeringConnection(ctx context.Context, params *CreateVpcPeeringConnectionInput, optFns ...func(*Options)) (*CreateVpcPeeringConnectionOutput, error) { if params == nil { @@ -54,23 +56,23 @@ func (c *Client) CreateVpcPeeringConnection(ctx context.Context, params *CreateV type CreateVpcPeeringConnectionInput struct { // A unique identifier for the fleet. You can use either the fleet ID or ARN value. - // This tells Amazon GameLift which GameLift VPC to peer with. + // This tells Amazon Web Services which GameLift VPC to peer with. // // This member is required. FleetId *string - // A unique identifier for the AWS account with the VPC that you want to peer your - // Amazon GameLift fleet with. You can find your Account ID in the AWS Management - // Console under account settings. + // A unique identifier for the Amazon Web Services account with the VPC that you + // want to peer your Amazon Web Services fleet with. You can find your Account ID + // in the Amazon Web Services Management Console under account settings. // // This member is required. PeerVpcAwsAccountId *string // A unique identifier for a VPC with resources to be accessed by your GameLift // fleet. The VPC must be in the same Region as your fleet. To look up a VPC ID, - // use the VPC Dashboard (https://console.aws.amazon.com/vpc/) in the AWS - // Management Console. Learn more about VPC peering in VPC Peering with GameLift - // Fleets + // use the VPC Dashboard (https://console.aws.amazon.com/vpc/) in the Amazon Web + // Services Management Console. Learn more about VPC peering in VPC Peering with + // GameLift Fleets // (https://docs.aws.amazon.com/gamelift/latest/developerguide/vpc-peering.html). // // This member is required. diff --git a/service/gamelift/api_op_DeleteFleetLocations.go b/service/gamelift/api_op_DeleteFleetLocations.go index e99d6995efc..2528ffc4225 100644 --- a/service/gamelift/api_op_DeleteFleetLocations.go +++ b/service/gamelift/api_op_DeleteFleetLocations.go @@ -48,8 +48,8 @@ type DeleteFleetLocationsInput struct { // This member is required. FleetId *string - // The list of fleet locations to delete. Specify locations in the form of an AWS - // Region code, such as us-west-2. + // The list of fleet locations to delete. Specify locations in the form of an + // Amazon Web Services Region code, such as us-west-2. // // This member is required. Locations []string diff --git a/service/gamelift/api_op_DeleteGameServerGroup.go b/service/gamelift/api_op_DeleteGameServerGroup.go index 7ce5e30c64c..da7c7205578 100644 --- a/service/gamelift/api_op_DeleteGameServerGroup.go +++ b/service/gamelift/api_op_DeleteGameServerGroup.go @@ -67,15 +67,16 @@ type DeleteGameServerGroupInput struct { // The type of delete to perform. Options include the following: // // * SAFE_DELETE – - // (default) Terminates the game server group and EC2 Auto Scaling group only when - // it has no game servers that are in UTILIZED status. + // (default) Terminates the game server group and Amazon EC2 Auto Scaling group + // only when it has no game servers that are in UTILIZED status. // - // * FORCE_DELETE – Terminates - // the game server group, including all active game servers regardless of their - // utilization status, and the EC2 Auto Scaling group. + // * FORCE_DELETE – + // Terminates the game server group, including all active game servers regardless + // of their utilization status, and the Amazon EC2 Auto Scaling group. // - // * RETAIN – Does a safe - // delete of the game server group but retains the EC2 Auto Scaling group as is. + // * RETAIN – + // Does a safe delete of the game server group but retains the Amazon EC2 Auto + // Scaling group as is. DeleteOption types.GameServerGroupDeleteOption noSmithyDocumentSerde diff --git a/service/gamelift/api_op_DeleteGameSessionQueue.go b/service/gamelift/api_op_DeleteGameSessionQueue.go index 28188dcf167..d6ecbb6b589 100644 --- a/service/gamelift/api_op_DeleteGameSessionQueue.go +++ b/service/gamelift/api_op_DeleteGameSessionQueue.go @@ -11,11 +11,20 @@ import ( ) // Deletes a game session queue. Once a queue is successfully deleted, unfulfilled -// StartGameSessionPlacement requests that reference the queue will fail. To delete -// a queue, specify the queue name. Learn more Using Multi-Region Queues +// StartGameSessionPlacement +// (https://docs.aws.amazon.com/gamelift/latest/apireference/API_StartGameSessionPlacement.html) +// requests that reference the queue will fail. To delete a queue, specify the +// queue name. Learn more Using Multi-Region Queues // (https://docs.aws.amazon.com/gamelift/latest/developerguide/queues-intro.html) -// Related actions CreateGameSessionQueue | DescribeGameSessionQueues | -// UpdateGameSessionQueue | DeleteGameSessionQueue | All APIs by task +// Related actions CreateGameSessionQueue +// (https://docs.aws.amazon.com/gamelift/latest/apireference/API_CreateGameSessionQueue.html) +// | DescribeGameSessionQueues +// (https://docs.aws.amazon.com/gamelift/latest/apireference/API_DescribeGameSessionQueues.html) +// | UpdateGameSessionQueue +// (https://docs.aws.amazon.com/gamelift/latest/apireference/API_UpdateGameSessionQueue.html) +// | DeleteGameSessionQueue +// (https://docs.aws.amazon.com/gamelift/latest/apireference/API_DeleteGameSessionQueue.html) +// | All APIs by task // (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets) func (c *Client) DeleteGameSessionQueue(ctx context.Context, params *DeleteGameSessionQueueInput, optFns ...func(*Options)) (*DeleteGameSessionQueueOutput, error) { if params == nil { diff --git a/service/gamelift/api_op_DeleteScript.go b/service/gamelift/api_op_DeleteScript.go index ee7864d5374..98bdc318f90 100644 --- a/service/gamelift/api_op_DeleteScript.go +++ b/service/gamelift/api_op_DeleteScript.go @@ -16,7 +16,8 @@ import ( // deleting a script, be sure to terminate all fleets that are deployed with the // script being deleted. Fleet instances periodically check for script updates, and // if the script record no longer exists, the instance will go into an error state -// and be unable to host game sessions. Learn more Amazon GameLift Realtime Servers +// and be unable to host game sessions. Learn more Amazon Web Services Realtime +// Servers // (https://docs.aws.amazon.com/gamelift/latest/developerguide/realtime-intro.html) // Related actions CreateScript | ListScripts | DescribeScript | UpdateScript | // DeleteScript | All APIs by task diff --git a/service/gamelift/api_op_DeleteVpcPeeringAuthorization.go b/service/gamelift/api_op_DeleteVpcPeeringAuthorization.go index 7c60c6c9fc9..a34d2a81dff 100644 --- a/service/gamelift/api_op_DeleteVpcPeeringAuthorization.go +++ b/service/gamelift/api_op_DeleteVpcPeeringAuthorization.go @@ -34,18 +34,18 @@ func (c *Client) DeleteVpcPeeringAuthorization(ctx context.Context, params *Dele // Represents the input for a request operation. type DeleteVpcPeeringAuthorizationInput struct { - // A unique identifier for the AWS account that you use to manage your GameLift - // fleet. You can find your Account ID in the AWS Management Console under account - // settings. + // A unique identifier for the Amazon Web Services account that you use to manage + // your GameLift fleet. You can find your Account ID in the Amazon Web Services + // Management Console under account settings. // // This member is required. GameLiftAwsAccountId *string // A unique identifier for a VPC with resources to be accessed by your GameLift // fleet. The VPC must be in the same Region as your fleet. To look up a VPC ID, - // use the VPC Dashboard (https://console.aws.amazon.com/vpc/) in the AWS - // Management Console. Learn more about VPC peering in VPC Peering with GameLift - // Fleets + // use the VPC Dashboard (https://console.aws.amazon.com/vpc/) in the Amazon Web + // Services Management Console. Learn more about VPC peering in VPC Peering with + // GameLift Fleets // (https://docs.aws.amazon.com/gamelift/latest/developerguide/vpc-peering.html). // // This member is required. diff --git a/service/gamelift/api_op_DeleteVpcPeeringConnection.go b/service/gamelift/api_op_DeleteVpcPeeringConnection.go index 676729eda5f..7b899074959 100644 --- a/service/gamelift/api_op_DeleteVpcPeeringConnection.go +++ b/service/gamelift/api_op_DeleteVpcPeeringConnection.go @@ -14,12 +14,13 @@ import ( // valid authorization for the VPC peering connection that you want to delete. You // can check for an authorization by calling DescribeVpcPeeringAuthorizations or // request a new one using CreateVpcPeeringAuthorization. Once a valid -// authorization exists, call this operation from the AWS account that is used to -// manage the Amazon GameLift fleets. Identify the connection to delete by the -// connection ID and fleet ID. If successful, the connection is removed. Related -// actions CreateVpcPeeringAuthorization | DescribeVpcPeeringAuthorizations | -// DeleteVpcPeeringAuthorization | CreateVpcPeeringConnection | -// DescribeVpcPeeringConnections | DeleteVpcPeeringConnection | All APIs by task +// authorization exists, call this operation from the Amazon Web Services account +// that is used to manage the Amazon Web Services fleets. Identify the connection +// to delete by the connection ID and fleet ID. If successful, the connection is +// removed. Related actions CreateVpcPeeringAuthorization | +// DescribeVpcPeeringAuthorizations | DeleteVpcPeeringAuthorization | +// CreateVpcPeeringConnection | DescribeVpcPeeringConnections | +// DeleteVpcPeeringConnection | All APIs by task // (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets) func (c *Client) DeleteVpcPeeringConnection(ctx context.Context, params *DeleteVpcPeeringConnectionInput, optFns ...func(*Options)) (*DeleteVpcPeeringConnectionOutput, error) { if params == nil { diff --git a/service/gamelift/api_op_DescribeEC2InstanceLimits.go b/service/gamelift/api_op_DescribeEC2InstanceLimits.go index a19a4408e2d..3769c91ba8c 100644 --- a/service/gamelift/api_op_DescribeEC2InstanceLimits.go +++ b/service/gamelift/api_op_DescribeEC2InstanceLimits.go @@ -11,17 +11,18 @@ import ( smithyhttp "github.com/aws/smithy-go/transport/http" ) -// The GameLift service limits and current utilization for an AWS Region or -// location. Instance limits control the number of instances, per instance type, -// per location, that your AWS account can use. Learn more at Amazon EC2 Instance -// Types (http://aws.amazon.com/ec2/instance-types/). The information returned -// includes the maximum number of instances allowed and your account's current -// usage across all fleets. This information can affect your ability to scale your -// GameLift fleets. You can request a limit increase for your account by using the -// Service limits page in the GameLift console. Instance limits differ based on -// whether the instances are deployed in a fleet's home Region or in a remote -// location. For remote locations, limits also differ based on the combination of -// home Region and remote location. All requests must specify an AWS Region (either +// The GameLift service limits and current utilization for an Amazon Web Services +// Region or location. Instance limits control the number of instances, per +// instance type, per location, that your Amazon Web Services account can use. +// Learn more at Amazon EC2 Instance Types +// (http://aws.amazon.com/ec2/instance-types/). The information returned includes +// the maximum number of instances allowed and your account's current usage across +// all fleets. This information can affect your ability to scale your GameLift +// fleets. You can request a limit increase for your account by using the Service +// limits page in the GameLift console. Instance limits differ based on whether the +// instances are deployed in a fleet's home Region or in a remote location. For +// remote locations, limits also differ based on the combination of home Region and +// remote location. All requests must specify an Amazon Web Services Region (either // explicitly or as your default settings). To get the limit for a remote location, // you must also specify the location. For example, the following requests all // return different results: @@ -45,18 +46,19 @@ import ( // ways: // // * To get limit and usage data for all instance types that are deployed in -// an AWS Region by fleets that reside in the same Region: Specify the Region only. -// Optionally, specify a single instance type to retrieve information for. +// an Amazon Web Services Region by fleets that reside in the same Region: Specify +// the Region only. Optionally, specify a single instance type to retrieve +// information for. // -// * To -// get limit and usage data for all instance types that are deployed to a remote -// location by fleets that reside in different AWS Region: Provide both the AWS -// Region and the remote location. Optionally, specify a single instance type to -// retrieve information for. +// * To get limit and usage data for all instance types that are +// deployed to a remote location by fleets that reside in different Amazon Web +// Services Region: Provide both the Amazon Web Services Region and the remote +// location. Optionally, specify a single instance type to retrieve information +// for. // -// If successful, an EC2InstanceLimits object is -// returned with limits and usage data for each requested instance type. Learn more -// Setting up GameLift fleets +// If successful, an EC2InstanceLimits object is returned with limits and +// usage data for each requested instance type. Learn more Setting up GameLift +// fleets // (https://docs.aws.amazon.com/gamelift/latest/developerguide/fleets-intro.html) // Related actions CreateFleet | UpdateFleetCapacity | PutScalingPolicy | // DescribeEC2InstanceLimits | DescribeFleetAttributes | @@ -81,14 +83,14 @@ func (c *Client) DescribeEC2InstanceLimits(ctx context.Context, params *Describe // Represents the input for a request operation. type DescribeEC2InstanceLimitsInput struct { - // Name of an EC2 instance type that is supported in GameLift. A fleet instance - // type determines the computing resources of each instance in the fleet, including - // CPU, memory, storage, and networking capacity. Do not specify a value for this - // parameter to retrieve limits for all instance types. + // Name of an Amazon EC2 instance type that is supported in GameLift. A fleet + // instance type determines the computing resources of each instance in the fleet, + // including CPU, memory, storage, and networking capacity. Do not specify a value + // for this parameter to retrieve limits for all instance types. EC2InstanceType types.EC2InstanceType // The name of a remote location to request instance limits for, in the form of an - // AWS Region code such as us-west-2. + // Amazon Web Services Region code such as us-west-2. Location *string noSmithyDocumentSerde diff --git a/service/gamelift/api_op_DescribeFleetLocationAttributes.go b/service/gamelift/api_op_DescribeFleetLocationAttributes.go index 25a564055d2..412a5dc577a 100644 --- a/service/gamelift/api_op_DescribeFleetLocationAttributes.go +++ b/service/gamelift/api_op_DescribeFleetLocationAttributes.go @@ -65,7 +65,7 @@ type DescribeFleetLocationAttributesInput struct { Limit *int32 // A list of fleet locations to retrieve information for. Specify locations in the - // form of an AWS Region code, such as us-west-2. + // form of an Amazon Web Services Region code, such as us-west-2. Locations []string // A token that indicates the start of the next sequential page of results. Use the diff --git a/service/gamelift/api_op_DescribeFleetLocationCapacity.go b/service/gamelift/api_op_DescribeFleetLocationCapacity.go index ff51cd1cf58..3f528a5e3d3 100644 --- a/service/gamelift/api_op_DescribeFleetLocationCapacity.go +++ b/service/gamelift/api_op_DescribeFleetLocationCapacity.go @@ -52,7 +52,7 @@ type DescribeFleetLocationCapacityInput struct { FleetId *string // The fleet location to retrieve capacity information for. Specify a location in - // the form of an AWS Region code, such as us-west-2. + // the form of an Amazon Web Services Region code, such as us-west-2. // // This member is required. Location *string diff --git a/service/gamelift/api_op_DescribeFleetLocationUtilization.go b/service/gamelift/api_op_DescribeFleetLocationUtilization.go index ca19faf91f3..09e923d9e3e 100644 --- a/service/gamelift/api_op_DescribeFleetLocationUtilization.go +++ b/service/gamelift/api_op_DescribeFleetLocationUtilization.go @@ -51,7 +51,7 @@ type DescribeFleetLocationUtilizationInput struct { FleetId *string // The fleet location to retrieve utilization information for. Specify a location - // in the form of an AWS Region code, such as us-west-2. + // in the form of an Amazon Web Services Region code, such as us-west-2. // // This member is required. Location *string diff --git a/service/gamelift/api_op_DescribeFleetPortSettings.go b/service/gamelift/api_op_DescribeFleetPortSettings.go index 53f057ae55d..0d463d74663 100644 --- a/service/gamelift/api_op_DescribeFleetPortSettings.go +++ b/service/gamelift/api_op_DescribeFleetPortSettings.go @@ -59,8 +59,8 @@ type DescribeFleetPortSettingsInput struct { // This member is required. FleetId *string - // A remote location to check for status of port setting updates. Use the AWS - // Region code format, such as us-west-2. + // A remote location to check for status of port setting updates. Use the Amazon + // Web Services Region code format, such as us-west-2. Location *string noSmithyDocumentSerde @@ -82,8 +82,8 @@ type DescribeFleetPortSettingsOutput struct { // The port settings for the requested fleet ID. InboundPermissions []types.IpPermission - // The requested fleet location, expressed as an AWS Region code, such as - // us-west-2. + // The requested fleet location, expressed as an Amazon Web Services Region code, + // such as us-west-2. Location *string // The current status of updates to the fleet's port settings in the requested diff --git a/service/gamelift/api_op_DescribeGameServerInstances.go b/service/gamelift/api_op_DescribeGameServerInstances.go index 3288eee8ce6..77273dddcba 100644 --- a/service/gamelift/api_op_DescribeGameServerInstances.go +++ b/service/gamelift/api_op_DescribeGameServerInstances.go @@ -55,9 +55,9 @@ type DescribeGameServerInstancesInput struct { // This member is required. GameServerGroupName *string - // The EC2 instance IDs that you want to retrieve status on. EC2 instance IDs use a - // 17-character format, for example: i-1234567890abcdef0. To retrieve all instances - // in the game server group, leave this parameter empty. + // The Amazon EC2 instance IDs that you want to retrieve status on. Amazon EC2 + // instance IDs use a 17-character format, for example: i-1234567890abcdef0. To + // retrieve all instances in the game server group, leave this parameter empty. InstanceIds []string // The maximum number of results to return. Use this parameter with NextToken to diff --git a/service/gamelift/api_op_DescribeGameSessionDetails.go b/service/gamelift/api_op_DescribeGameSessionDetails.go index 402acc32c8c..826825a8243 100644 --- a/service/gamelift/api_op_DescribeGameSessionDetails.go +++ b/service/gamelift/api_op_DescribeGameSessionDetails.go @@ -32,12 +32,12 @@ import ( // // * To retrieve details for a // specific game session, provide the game session ID. This approach looks for the -// game session ID in all fleets that reside in the AWS Region defined in the -// request. +// game session ID in all fleets that reside in the Amazon Web Services Region +// defined in the request. // -// Use the pagination parameters to retrieve results as a set of -// sequential pages. If successful, a GameSessionDetail object is returned for each -// game session that matches the request. Learn more Find a game session +// Use the pagination parameters to retrieve results as a +// set of sequential pages. If successful, a GameSessionDetail object is returned +// for each game session that matches the request. Learn more Find a game session // (https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-client-api.html#gamelift-sdk-client-api-find) // Related actions CreateGameSession | DescribeGameSessions | // DescribeGameSessionDetails | SearchGameSessions | UpdateGameSession | @@ -78,7 +78,8 @@ type DescribeGameSessionDetailsInput struct { Limit *int32 // A fleet location to get game sessions for. You can specify a fleet's home Region - // or a remote location. Use the AWS Region code format, such as us-west-2. + // or a remote location. Use the Amazon Web Services Region code format, such as + // us-west-2. Location *string // A token that indicates the start of the next sequential page of results. Use the diff --git a/service/gamelift/api_op_DescribeGameSessionPlacement.go b/service/gamelift/api_op_DescribeGameSessionPlacement.go index f8d7b8c59b8..e2f900804c0 100644 --- a/service/gamelift/api_op_DescribeGameSessionPlacement.go +++ b/service/gamelift/api_op_DescribeGameSessionPlacement.go @@ -12,12 +12,17 @@ import ( ) // Retrieves information, including current status, about a game session placement -// request. To get game session placement details, specify the placement ID. If -// successful, a GameSessionPlacement object is returned. Related actions -// CreateGameSession | DescribeGameSessions | DescribeGameSessionDetails | -// SearchGameSessions | UpdateGameSession | GetGameSessionLogUrl | -// StartGameSessionPlacement | DescribeGameSessionPlacement | -// StopGameSessionPlacement | All APIs by task +// request. To get game session placement details, specify the placement ID. This +// operation is not designed to be continually called to track game session status. +// This practice can cause you to exceed your API limit, which results in errors. +// Instead, you must configure configure an Amazon Simple Notification Service +// (SNS) topic to receive notifications from FlexMatch or queues. Continuously +// polling with DescribeGameSessionPlacement should only be used for games in +// development with low game session usage. If successful, a GameSessionPlacement +// object is returned. Related actions CreateGameSession | DescribeGameSessions | +// DescribeGameSessionDetails | SearchGameSessions | UpdateGameSession | +// GetGameSessionLogUrl | StartGameSessionPlacement | DescribeGameSessionPlacement +// | StopGameSessionPlacement | All APIs by task // (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets) func (c *Client) DescribeGameSessionPlacement(ctx context.Context, params *DescribeGameSessionPlacementInput, optFns ...func(*Options)) (*DescribeGameSessionPlacementOutput, error) { if params == nil { diff --git a/service/gamelift/api_op_DescribeGameSessionQueues.go b/service/gamelift/api_op_DescribeGameSessionQueues.go index 2c815af7ab3..2cfceed5172 100644 --- a/service/gamelift/api_op_DescribeGameSessionQueues.go +++ b/service/gamelift/api_op_DescribeGameSessionQueues.go @@ -18,8 +18,15 @@ import ( // requested queue. When specifying a list of queues, objects are returned only for // queues that currently exist in the Region. Learn more View Your Queues // (https://docs.aws.amazon.com/gamelift/latest/developerguide/queues-console.html) -// Related actions CreateGameSessionQueue | DescribeGameSessionQueues | -// UpdateGameSessionQueue | DeleteGameSessionQueue | All APIs by task +// Related actions CreateGameSessionQueue +// (https://docs.aws.amazon.com/gamelift/latest/apireference/API_CreateGameSessionQueue.html) +// | DescribeGameSessionQueues +// (https://docs.aws.amazon.com/gamelift/latest/apireference/API_DescribeGameSessionQueues.html) +// | UpdateGameSessionQueue +// (https://docs.aws.amazon.com/gamelift/latest/apireference/API_UpdateGameSessionQueue.html) +// | DeleteGameSessionQueue +// (https://docs.aws.amazon.com/gamelift/latest/apireference/API_DeleteGameSessionQueue.html) +// | All APIs by task // (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets) func (c *Client) DescribeGameSessionQueues(ctx context.Context, params *DescribeGameSessionQueuesInput, optFns ...func(*Options)) (*DescribeGameSessionQueuesOutput, error) { if params == nil { diff --git a/service/gamelift/api_op_DescribeGameSessions.go b/service/gamelift/api_op_DescribeGameSessions.go index fb87e2afd79..f279d9deb38 100644 --- a/service/gamelift/api_op_DescribeGameSessions.go +++ b/service/gamelift/api_op_DescribeGameSessions.go @@ -16,27 +16,40 @@ import ( // can optionally filter the results by current game session status. Alternatively, // use SearchGameSessions to request a set of active game sessions that are // filtered by certain criteria. To retrieve the protection policy for game -// sessions, use DescribeGameSessionDetails. This operation can be used in the -// following ways: +// sessions, use DescribeGameSessionDetails. This operation is not designed to be +// continually called to track game session status. This practice can cause you to +// exceed your API limit, which results in errors. Instead, you must configure +// configure an Amazon Simple Notification Service (SNS) topic to receive +// notifications from FlexMatch or queues. Continuously polling with +// DescribeGameSessions should only be used for games in development with low game +// session usage. This operation can be used in the following ways: // -// * To retrieve all game sessions that are currently running on -// all locations in a fleet, provide a fleet or alias ID, with an optional status -// filter. This approach returns all game sessions in the fleet's home Region and -// all remote locations. +// * To retrieve +// all game sessions that are currently running on all locations in a fleet, +// provide a fleet or alias ID, with an optional status filter. This approach +// returns all game sessions in the fleet's home Region and all remote +// locations. // -// * To retrieve all game sessions that are currently -// running on a specific fleet location, provide a fleet or alias ID and a location -// name, with optional status filter. The location can be the fleet's home Region -// or any remote location. +// * To retrieve all game sessions that are currently running on a +// specific fleet location, provide a fleet or alias ID and a location name, with +// optional status filter. The location can be the fleet's home Region or any +// remote location. // // * To retrieve a specific game session, provide the game // session ID. This approach looks for the game session ID in all fleets that -// reside in the AWS Region defined in the request. +// reside in the Amazon Web Services Region defined in the request. // -// Use the pagination parameters -// to retrieve results as a set of sequential pages. If successful, a GameSession -// object is returned for each game session that matches the request. Available in -// GameLift Local. Learn more Find a game session +// Use the +// pagination parameters to retrieve results as a set of sequential pages. If +// successful, a GameSession object is returned for each game session that matches +// the request. This operation is not designed to be continually called to track +// matchmaking ticket status. This practice can cause you to exceed your API limit, +// which results in errors. Instead, as a best practice, set up an Amazon Simple +// Notification Service to receive notifications, and provide the topic ARN in the +// matchmaking configuration. Continuously poling ticket status with +// DescribeGameSessions should only be used for games in development with low +// matchmaking usage. Available in Amazon Web Services Local. Learn more Find a +// game session // (https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-client-api.html#gamelift-sdk-client-api-find) // Related actions CreateGameSession | DescribeGameSessions | // DescribeGameSessionDetails | SearchGameSessions | UpdateGameSession | @@ -77,7 +90,8 @@ type DescribeGameSessionsInput struct { Limit *int32 // A fleet location to get game session details for. You can specify a fleet's home - // Region or a remote location. Use the AWS Region code format, such as us-west-2. + // Region or a remote location. Use the Amazon Web Services Region code format, + // such as us-west-2. Location *string // A token that indicates the start of the next sequential page of results. Use the diff --git a/service/gamelift/api_op_DescribeInstances.go b/service/gamelift/api_op_DescribeInstances.go index 7de81e255f9..f57cfc8c7fc 100644 --- a/service/gamelift/api_op_DescribeInstances.go +++ b/service/gamelift/api_op_DescribeInstances.go @@ -69,7 +69,7 @@ type DescribeInstancesInput struct { Limit *int32 // The name of a location to retrieve instance information for, in the form of an - // AWS Region code such as us-west-2. + // Amazon Web Services Region code such as us-west-2. Location *string // A token that indicates the start of the next sequential page of results. Use the diff --git a/service/gamelift/api_op_DescribeMatchmaking.go b/service/gamelift/api_op_DescribeMatchmaking.go index c6317434b7c..98fb6a7372b 100644 --- a/service/gamelift/api_op_DescribeMatchmaking.go +++ b/service/gamelift/api_op_DescribeMatchmaking.go @@ -18,8 +18,8 @@ import ( // returned for each requested ID that currently exists. This operation is not // designed to be continually called to track matchmaking ticket status. This // practice can cause you to exceed your API limit, which results in errors. -// Instead, as a best practice, set up an Amazon Simple Notification Service (SNS) -// to receive notifications, and provide the topic ARN in the matchmaking +// Instead, as a best practice, set up an Amazon Simple Notification Service to +// receive notifications, and provide the topic ARN in the matchmaking // configuration. Continuously poling ticket status with DescribeMatchmaking should // only be used for games in development with low matchmaking usage. Learn more // Add FlexMatch to a game client diff --git a/service/gamelift/api_op_DescribePlayerSessions.go b/service/gamelift/api_op_DescribePlayerSessions.go index 05d325db1a3..52c601f69b4 100644 --- a/service/gamelift/api_op_DescribePlayerSessions.go +++ b/service/gamelift/api_op_DescribePlayerSessions.go @@ -28,7 +28,7 @@ import ( // player session ID, game session ID, or player ID. You can filter this request by // player session status. Use the pagination parameters to retrieve results as a // set of sequential pages. If successful, a PlayerSession object is returned for -// each session that matches the request. Available in Amazon GameLift Local. +// each session that matches the request. Available in Amazon Web Services Local. // Related actions CreatePlayerSession | CreatePlayerSessions | // DescribePlayerSessions | StartGameSessionPlacement | // DescribeGameSessionPlacement | All APIs by task diff --git a/service/gamelift/api_op_DescribeScalingPolicies.go b/service/gamelift/api_op_DescribeScalingPolicies.go index e66ec789346..be6f329264b 100644 --- a/service/gamelift/api_op_DescribeScalingPolicies.go +++ b/service/gamelift/api_op_DescribeScalingPolicies.go @@ -43,8 +43,8 @@ func (c *Client) DescribeScalingPolicies(ctx context.Context, params *DescribeSc // Represents the input for a request operation. type DescribeScalingPoliciesInput struct { - // A unique identifier for the fleet to retrieve scaling policies for. You can use - // either the fleet ID or ARN value. + // A unique identifier for the fleet for which to retrieve scaling policies. You + // can use either the fleet ID or ARN value. // // This member is required. FleetId *string @@ -53,7 +53,8 @@ type DescribeScalingPoliciesInput struct { // get results as a set of sequential pages. Limit *int32 - // CONTENT TODO + // The fleet location. If you don't specify this value, the response contains the + // scaling policies of every location in the fleet. Location *string // A token that indicates the start of the next sequential page of results. Use the diff --git a/service/gamelift/api_op_DescribeScript.go b/service/gamelift/api_op_DescribeScript.go index c696a0bb964..05ae0de8a7f 100644 --- a/service/gamelift/api_op_DescribeScript.go +++ b/service/gamelift/api_op_DescribeScript.go @@ -13,7 +13,7 @@ import ( // Retrieves properties for a Realtime script. To request a script record, specify // the script ID. If successful, an object containing the script properties is -// returned. Learn more Amazon GameLift Realtime Servers +// returned. Learn more Amazon Web Services Realtime Servers // (https://docs.aws.amazon.com/gamelift/latest/developerguide/realtime-intro.html) // Related actions CreateScript | ListScripts | DescribeScript | UpdateScript | // DeleteScript | All APIs by task diff --git a/service/gamelift/api_op_DescribeVpcPeeringAuthorizations.go b/service/gamelift/api_op_DescribeVpcPeeringAuthorizations.go index 537b9c58752..e1918c91534 100644 --- a/service/gamelift/api_op_DescribeVpcPeeringAuthorizations.go +++ b/service/gamelift/api_op_DescribeVpcPeeringAuthorizations.go @@ -11,12 +11,13 @@ import ( smithyhttp "github.com/aws/smithy-go/transport/http" ) -// Retrieves valid VPC peering authorizations that are pending for the AWS account. -// This operation returns all VPC peering authorizations and requests for peering. -// This includes those initiated and received by this account. Related actions -// CreateVpcPeeringAuthorization | DescribeVpcPeeringAuthorizations | -// DeleteVpcPeeringAuthorization | CreateVpcPeeringConnection | -// DescribeVpcPeeringConnections | DeleteVpcPeeringConnection | All APIs by task +// Retrieves valid VPC peering authorizations that are pending for the Amazon Web +// Services account. This operation returns all VPC peering authorizations and +// requests for peering. This includes those initiated and received by this +// account. Related actions CreateVpcPeeringAuthorization | +// DescribeVpcPeeringAuthorizations | DeleteVpcPeeringAuthorization | +// CreateVpcPeeringConnection | DescribeVpcPeeringConnections | +// DeleteVpcPeeringConnection | All APIs by task // (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets) func (c *Client) DescribeVpcPeeringAuthorizations(ctx context.Context, params *DescribeVpcPeeringAuthorizationsInput, optFns ...func(*Options)) (*DescribeVpcPeeringAuthorizationsOutput, error) { if params == nil { @@ -40,7 +41,7 @@ type DescribeVpcPeeringAuthorizationsInput struct { type DescribeVpcPeeringAuthorizationsOutput struct { // A collection of objects that describe all valid VPC peering operations for the - // current AWS account. + // current Amazon Web Services account. VpcPeeringAuthorizations []types.VpcPeeringAuthorization // Metadata pertaining to the operation's result. diff --git a/service/gamelift/api_op_DescribeVpcPeeringConnections.go b/service/gamelift/api_op_DescribeVpcPeeringConnections.go index 387c9febb2a..391b60acd33 100644 --- a/service/gamelift/api_op_DescribeVpcPeeringConnections.go +++ b/service/gamelift/api_op_DescribeVpcPeeringConnections.go @@ -13,12 +13,12 @@ import ( // Retrieves information on VPC peering connections. Use this operation to get // peering information for all fleets or for one specific fleet ID. To retrieve -// connection information, call this operation from the AWS account that is used to -// manage the Amazon GameLift fleets. Specify a fleet ID or leave the parameter -// empty to retrieve all connection records. If successful, the retrieved -// information includes both active and pending connections. Active connections -// identify the IpV4 CIDR block that the VPC uses to connect. Related actions -// CreateVpcPeeringAuthorization | DescribeVpcPeeringAuthorizations | +// connection information, call this operation from the Amazon Web Services account +// that is used to manage the Amazon Web Services fleets. Specify a fleet ID or +// leave the parameter empty to retrieve all connection records. If successful, the +// retrieved information includes both active and pending connections. Active +// connections identify the IpV4 CIDR block that the VPC uses to connect. Related +// actions CreateVpcPeeringAuthorization | DescribeVpcPeeringAuthorizations | // DeleteVpcPeeringAuthorization | CreateVpcPeeringConnection | // DescribeVpcPeeringConnections | DeleteVpcPeeringConnection | All APIs by task // (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets) diff --git a/service/gamelift/api_op_GetGameSessionLogUrl.go b/service/gamelift/api_op_GetGameSessionLogUrl.go index 2158bb02abc..34749fcadad 100644 --- a/service/gamelift/api_op_GetGameSessionLogUrl.go +++ b/service/gamelift/api_op_GetGameSessionLogUrl.go @@ -13,7 +13,7 @@ import ( // Retrieves the location of stored game session logs for a specified game session. // When a game session is terminated, GameLift automatically stores the logs in // Amazon S3 and retains them for 14 days. Use this URL to download the logs. See -// the AWS Service Limits +// the Amazon Web Services Service Limits // (https://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html#limits_gamelift) // page for maximum log file sizes. Log files that exceed this limit are not saved. // Related actions CreateGameSession | DescribeGameSessions | diff --git a/service/gamelift/api_op_GetInstanceAccess.go b/service/gamelift/api_op_GetInstanceAccess.go index 8a1305ce60c..26aac359118 100644 --- a/service/gamelift/api_op_GetInstanceAccess.go +++ b/service/gamelift/api_op_GetInstanceAccess.go @@ -18,13 +18,13 @@ import ( // password as strings for use with a Windows Remote Desktop client. For a Linux // instance, GameLift returns a user name and RSA private key, also as strings, for // use with an SSH client. The private key must be saved in the proper format to a -// .pem file before using. If you're making this request using the AWS CLI, saving -// the secret can be handled as part of the GetInstanceAccess request, as shown in -// one of the examples for this operation. To request access to a specific -// instance, specify the IDs of both the instance and the fleet it belongs to. You -// can retrieve a fleet's instance IDs by calling DescribeInstances. If successful, -// an InstanceAccess object is returned that contains the instance's IP address and -// a set of credentials. Learn more Remotely Access Fleet Instances +// .pem file before using. If you're making this request using the CLI, saving the +// secret can be handled as part of the GetInstanceAccess request, as shown in one +// of the examples for this operation. To request access to a specific instance, +// specify the IDs of both the instance and the fleet it belongs to. You can +// retrieve a fleet's instance IDs by calling DescribeInstances. If successful, an +// InstanceAccess object is returned that contains the instance's IP address and a +// set of credentials. Learn more Remotely Access Fleet Instances // (https://docs.aws.amazon.com/gamelift/latest/developerguide/fleets-remote-access.html)Debug // Fleet Issues // (https://docs.aws.amazon.com/gamelift/latest/developerguide/fleets-creating-debug.html) diff --git a/service/gamelift/api_op_ListAliases.go b/service/gamelift/api_op_ListAliases.go index c617719b7f9..598c369a7cb 100644 --- a/service/gamelift/api_op_ListAliases.go +++ b/service/gamelift/api_op_ListAliases.go @@ -12,11 +12,11 @@ import ( smithyhttp "github.com/aws/smithy-go/transport/http" ) -// Retrieves all aliases for this AWS account. You can filter the result set by -// alias name and/or routing strategy type. Use the pagination parameters to -// retrieve results in sequential pages. Returned aliases are not listed in any -// particular order. Related actions CreateAlias | ListAliases | DescribeAlias | -// UpdateAlias | DeleteAlias | ResolveAlias | All APIs by task +// Retrieves all aliases for this Amazon Web Services account. You can filter the +// result set by alias name and/or routing strategy type. Use the pagination +// parameters to retrieve results in sequential pages. Returned aliases are not +// listed in any particular order. Related actions CreateAlias | ListAliases | +// DescribeAlias | UpdateAlias | DeleteAlias | ResolveAlias | All APIs by task // (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets) func (c *Client) ListAliases(ctx context.Context, params *ListAliasesInput, optFns ...func(*Options)) (*ListAliasesOutput, error) { if params == nil { diff --git a/service/gamelift/api_op_ListBuilds.go b/service/gamelift/api_op_ListBuilds.go index 962acdfa43d..a2f38312e75 100644 --- a/service/gamelift/api_op_ListBuilds.go +++ b/service/gamelift/api_op_ListBuilds.go @@ -12,11 +12,11 @@ import ( smithyhttp "github.com/aws/smithy-go/transport/http" ) -// Retrieves build resources for all builds associated with the AWS account in use. -// You can limit results to builds that are in a specific status by using the -// Status parameter. Use the pagination parameters to retrieve results in a set of -// sequential pages. Build resources are not listed in any particular order. Learn -// more Upload a Custom Server Build +// Retrieves build resources for all builds associated with the Amazon Web Services +// account in use. You can limit results to builds that are in a specific status by +// using the Status parameter. Use the pagination parameters to retrieve results in +// a set of sequential pages. Build resources are not listed in any particular +// order. Learn more Upload a Custom Server Build // (https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-build-intro.html) // Related actions CreateBuild | ListBuilds | DescribeBuild | UpdateBuild | // DeleteBuild | All APIs by task diff --git a/service/gamelift/api_op_ListFleets.go b/service/gamelift/api_op_ListFleets.go index ebd5b39ff60..0a5cf8bc914 100644 --- a/service/gamelift/api_op_ListFleets.go +++ b/service/gamelift/api_op_ListFleets.go @@ -11,8 +11,9 @@ import ( smithyhttp "github.com/aws/smithy-go/transport/http" ) -// Retrieves a collection of fleet resources in an AWS Region. You can call this -// operation to get fleets in a previously selected default Region (see +// Retrieves a collection of fleet resources in an Amazon Web Services Region. You +// can call this operation to get fleets in a previously selected default Region +// (see // https://docs.aws.amazon.com/credref/latest/refdocs/setting-global-region.html // (https://docs.aws.amazon.com/credref/latest/refdocs/setting-global-region.html)or // specify a Region in your request. You can filter the result set to find only diff --git a/service/gamelift/api_op_ListGameServerGroups.go b/service/gamelift/api_op_ListGameServerGroups.go index 43856ac1748..c2bf4cb14ec 100644 --- a/service/gamelift/api_op_ListGameServerGroups.go +++ b/service/gamelift/api_op_ListGameServerGroups.go @@ -14,9 +14,10 @@ import ( // This operation is used with the GameLift FleetIQ solution and game server // groups. Retrieves information on all game servers groups that exist in the -// current AWS account for the selected Region. Use the pagination parameters to -// retrieve results in a set of sequential segments. Learn more GameLift FleetIQ -// Guide (https://docs.aws.amazon.com/gamelift/latest/fleetiqguide/gsg-intro.html) +// current Amazon Web Services account for the selected Region. Use the pagination +// parameters to retrieve results in a set of sequential segments. Learn more +// GameLift FleetIQ Guide +// (https://docs.aws.amazon.com/gamelift/latest/fleetiqguide/gsg-intro.html) // Related actions CreateGameServerGroup | ListGameServerGroups | // DescribeGameServerGroup | UpdateGameServerGroup | DeleteGameServerGroup | // ResumeGameServerGroup | SuspendGameServerGroup | DescribeGameServerInstances | diff --git a/service/gamelift/api_op_ListScripts.go b/service/gamelift/api_op_ListScripts.go index 0fecca20a17..cb5e70689ed 100644 --- a/service/gamelift/api_op_ListScripts.go +++ b/service/gamelift/api_op_ListScripts.go @@ -13,7 +13,8 @@ import ( ) // Retrieves script records for all Realtime scripts that are associated with the -// AWS account in use. Learn more Amazon GameLift Realtime Servers +// Amazon Web Services account in use. Learn more Amazon Web Services Realtime +// Servers // (https://docs.aws.amazon.com/gamelift/latest/developerguide/realtime-intro.html) // Related actions CreateScript | ListScripts | DescribeScript | UpdateScript | // DeleteScript | All APIs by task diff --git a/service/gamelift/api_op_ListTagsForResource.go b/service/gamelift/api_op_ListTagsForResource.go index 9baf5dd57c4..dbe4f45ad41 100644 --- a/service/gamelift/api_op_ListTagsForResource.go +++ b/service/gamelift/api_op_ListTagsForResource.go @@ -12,9 +12,9 @@ import ( ) // Retrieves all tags that are assigned to a GameLift resource. Resource tags are -// used to organize AWS resources for a range of purposes. This operation handles -// the permissions necessary to manage tags for the following GameLift resource -// types: +// used to organize Amazon Web Services resources for a range of purposes. This +// operation handles the permissions necessary to manage tags for the following +// GameLift resource types: // // * Build // @@ -24,17 +24,18 @@ import ( // // * Alias // -// * GameSessionQueue -// // * -// MatchmakingConfiguration +// GameSessionQueue +// +// * MatchmakingConfiguration // // * MatchmakingRuleSet // -// To list tags for a resource, -// specify the unique ARN value for the resource. Learn more Tagging AWS Resources -// (https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html) in the AWS -// General Reference AWS Tagging Strategies +// To list tags +// for a resource, specify the unique ARN value for the resource. Learn more +// Tagging Amazon Web Services Resources +// (https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html) in the Amazon +// Web Services General Reference Amazon Web Services Tagging Strategies // (http://aws.amazon.com/answers/account-management/aws-tagging-strategies/) // Related actions TagResource | UntagResource | ListTagsForResource | All APIs by // task diff --git a/service/gamelift/api_op_PutScalingPolicy.go b/service/gamelift/api_op_PutScalingPolicy.go index 311cff4494d..bdff0e00bf7 100644 --- a/service/gamelift/api_op_PutScalingPolicy.go +++ b/service/gamelift/api_op_PutScalingPolicy.go @@ -13,7 +13,7 @@ import ( // Creates or updates a scaling policy for a fleet. Scaling policies are used to // automatically scale a fleet's hosting capacity to meet player demand. An active -// scaling policy instructs Amazon GameLift to track a fleet metric and +// scaling policy instructs Amazon Web Services to track a fleet metric and // automatically change the fleet's capacity when a certain threshold is reached. // There are two types of scaling policies: target-based and rule-based. Use a // target-based policy to quickly and efficiently manage fleet scaling; this option @@ -34,14 +34,14 @@ import ( // capacity is ready to host game sessions but is not currently in use. This is the // fleet's buffer; it measures the additional player demand that the fleet could // handle at current capacity. With a target-based policy, you set your ideal -// buffer size and leave it to Amazon GameLift to take whatever action is needed to -// maintain that target. For example, you might choose to maintain a 10% buffer for -// a fleet that has the capacity to host 100 simultaneous game sessions. This -// policy tells Amazon GameLift to take action whenever the fleet's available -// capacity falls below or rises above 10 game sessions. Amazon GameLift will start -// new instances or stop unused instances in order to return to the 10% buffer. To -// create or update a target-based policy, specify a fleet ID and name, and set the -// policy type to "TargetBased". Specify the metric to track +// buffer size and leave it to Amazon Web Services to take whatever action is +// needed to maintain that target. For example, you might choose to maintain a 10% +// buffer for a fleet that has the capacity to host 100 simultaneous game sessions. +// This policy tells Amazon Web Services to take action whenever the fleet's +// available capacity falls below or rises above 10 game sessions. Amazon Web +// Services will start new instances or stop unused instances in order to return to +// the 10% buffer. To create or update a target-based policy, specify a fleet ID +// and name, and set the policy type to "TargetBased". Specify the metric to track // (PercentAvailableGameSessions) and reference a TargetConfiguration object with // your desired buffer value. Exclude all other parameters. On a successful // request, the policy name is returned. The scaling policy is automatically in @@ -94,9 +94,9 @@ type PutScalingPolicyInput struct { // This member is required. FleetId *string - // Name of the Amazon GameLift-defined metric that is used to trigger a scaling - // adjustment. For detailed descriptions of fleet metrics, see Monitor Amazon - // GameLift with Amazon CloudWatch + // Name of the Amazon Web Services-defined metric that is used to trigger a scaling + // adjustment. For detailed descriptions of fleet metrics, see Monitor Amazon Web + // Services with Amazon CloudWatch // (https://docs.aws.amazon.com/gamelift/latest/developerguide/monitoring-cloudwatch.html). // // * diff --git a/service/gamelift/api_op_RegisterGameServer.go b/service/gamelift/api_op_RegisterGameServer.go index 26941dd1e5e..8a59a5e57bd 100644 --- a/service/gamelift/api_op_RegisterGameServer.go +++ b/service/gamelift/api_op_RegisterGameServer.go @@ -54,7 +54,7 @@ type RegisterGameServerInput struct { // A custom string that uniquely identifies the game server to register. Game // server IDs are developer-defined and must be unique across all game server - // groups in your AWS account. + // groups in your Amazon Web Services account. // // This member is required. GameServerId *string diff --git a/service/gamelift/api_op_RequestUploadCredentials.go b/service/gamelift/api_op_RequestUploadCredentials.go index d3043c3b8ab..e72b5ff3000 100644 --- a/service/gamelift/api_op_RequestUploadCredentials.go +++ b/service/gamelift/api_op_RequestUploadCredentials.go @@ -12,11 +12,11 @@ import ( ) // Retrieves a fresh set of credentials for use when uploading a new set of game -// build files to Amazon GameLift's Amazon S3. This is done as part of the build -// creation process; see CreateBuild. To request new credentials, specify the build -// ID as returned with an initial CreateBuild request. If successful, a new set of -// credentials are returned, along with the S3 storage location associated with the -// build ID. Learn more Create a Build with Files in S3 +// build files to Amazon Web Services's Amazon S3. This is done as part of the +// build creation process; see CreateBuild. To request new credentials, specify the +// build ID as returned with an initial CreateBuild request. If successful, a new +// set of credentials are returned, along with the S3 storage location associated +// with the build ID. Learn more Create a Build with Files in S3 // (https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-build-cli-uploading.html#gamelift-build-cli-uploading-create-build) // Related actions CreateBuild | ListBuilds | DescribeBuild | UpdateBuild | // DeleteBuild | All APIs by task @@ -54,9 +54,9 @@ type RequestUploadCredentialsOutput struct { // Amazon S3 path and key, identifying where the game build files are stored. StorageLocation *types.S3Location - // AWS credentials required when uploading a game build to the storage location. - // These credentials have a limited lifespan and are valid only for the build they - // were issued for. + // Amazon Web Services credentials required when uploading a game build to the + // storage location. These credentials have a limited lifespan and are valid only + // for the build they were issued for. UploadCredentials *types.AwsCredentials // Metadata pertaining to the operation's result. diff --git a/service/gamelift/api_op_SearchGameSessions.go b/service/gamelift/api_op_SearchGameSessions.go index 4e682c0e877..f74ba09c512 100644 --- a/service/gamelift/api_op_SearchGameSessions.go +++ b/service/gamelift/api_op_SearchGameSessions.go @@ -13,71 +13,76 @@ import ( ) // Retrieves all active game sessions that match a set of search criteria and sorts -// them into a specified order. When searching for game sessions, you specify -// exactly where you want to search and provide a search filter expression, a sort -// expression, or both. A search request can search only one fleet, but it can -// search all of a fleet's locations. This operation can be used in the following -// ways: +// them into a specified order. This operation is not designed to be continually +// called to track game session status. This practice can cause you to exceed your +// API limit, which results in errors. Instead, you must configure configure an +// Amazon Simple Notification Service (SNS) topic to receive notifications from +// FlexMatch or queues. Continuously polling game session status with +// DescribeGameSessions should only be used for games in development with low game +// session usage. When searching for game sessions, you specify exactly where you +// want to search and provide a search filter expression, a sort expression, or +// both. A search request can search only one fleet, but it can search all of a +// fleet's locations. This operation can be used in the following ways: // -// * To search all game sessions that are currently running on all locations -// in a fleet, provide a fleet or alias ID. This approach returns game sessions in -// the fleet's home Region and all remote locations that fit the search -// criteria. +// * To +// search all game sessions that are currently running on all locations in a fleet, +// provide a fleet or alias ID. This approach returns game sessions in the fleet's +// home Region and all remote locations that fit the search criteria. // -// * To search all game sessions that are currently running on a -// specific fleet location, provide a fleet or alias ID and a location name. For -// location, you can specify a fleet's home Region or any remote location. +// * To search +// all game sessions that are currently running on a specific fleet location, +// provide a fleet or alias ID and a location name. For location, you can specify a +// fleet's home Region or any remote location. // -// Use the -// pagination parameters to retrieve results as a set of sequential pages. If -// successful, a GameSession object is returned for each game session that matches -// the request. Search finds game sessions that are in ACTIVE status only. To -// retrieve information on game sessions in other statuses, use -// DescribeGameSessions. You can search or sort by the following game session -// attributes: +// Use the pagination parameters to +// retrieve results as a set of sequential pages. If successful, a GameSession +// object is returned for each game session that matches the request. Search finds +// game sessions that are in ACTIVE status only. To retrieve information on game +// sessions in other statuses, use DescribeGameSessions. You can search or sort by +// the following game session attributes: // -// * gameSessionId -- A unique identifier for the game session. You -// can use either a GameSessionId or GameSessionArn value. +// * gameSessionId -- A unique identifier +// for the game session. You can use either a GameSessionId or GameSessionArn +// value. // -// * gameSessionName -- -// Name assigned to a game session. This value is set when requesting a new game -// session with CreateGameSession or updating with UpdateGameSession. Game session -// names do not need to be unique to a game session. +// * gameSessionName -- Name assigned to a game session. This value is set +// when requesting a new game session with CreateGameSession or updating with +// UpdateGameSession. Game session names do not need to be unique to a game +// session. // -// * gameSessionProperties -- -// Custom data defined in a game session's GameProperty parameter. GameProperty -// values are stored as key:value pairs; the filter expression must indicate the -// key and a string to search the data values for. For example, to search for game -// sessions with custom data containing the key:value pair "gameMode:brawl", -// specify the following: gameSessionProperties.gameMode = "brawl". All custom data -// values are searched as strings. +// * gameSessionProperties -- Custom data defined in a game session's +// GameProperty parameter. GameProperty values are stored as key:value pairs; the +// filter expression must indicate the key and a string to search the data values +// for. For example, to search for game sessions with custom data containing the +// key:value pair "gameMode:brawl", specify the following: +// gameSessionProperties.gameMode = "brawl". All custom data values are searched as +// strings. // -// * maximumSessions -- Maximum number of player -// sessions allowed for a game session. This value is set when requesting a new -// game session with CreateGameSession or updating with UpdateGameSession. +// * maximumSessions -- Maximum number of player sessions allowed for a +// game session. This value is set when requesting a new game session with +// CreateGameSession or updating with UpdateGameSession. // -// * -// creationTimeMillis -- Value indicating when a game session was created. It is -// expressed in Unix time as milliseconds. +// * creationTimeMillis -- +// Value indicating when a game session was created. It is expressed in Unix time +// as milliseconds. // -// * playerSessionCount -- Number of -// players currently connected to a game session. This value changes rapidly as -// players join the session or drop out. +// * playerSessionCount -- Number of players currently connected +// to a game session. This value changes rapidly as players join the session or +// drop out. // -// * hasAvailablePlayerSessions -- Boolean -// value indicating whether a game session has reached its maximum number of -// players. It is highly recommended that all search requests include this filter -// attribute to optimize search performance and return only sessions that players -// can join. +// * hasAvailablePlayerSessions -- Boolean value indicating whether a +// game session has reached its maximum number of players. It is highly recommended +// that all search requests include this filter attribute to optimize search +// performance and return only sessions that players can join. // -// Returned values for playerSessionCount and hasAvailablePlayerSessions -// change quickly as players join sessions and others drop out. Results should be -// considered a snapshot in time. Be sure to refresh search results often, and -// handle sessions that fill up before a player can join. Related actions -// CreateGameSession | DescribeGameSessions | DescribeGameSessionDetails | -// SearchGameSessions | UpdateGameSession | GetGameSessionLogUrl | -// StartGameSessionPlacement | DescribeGameSessionPlacement | -// StopGameSessionPlacement | All APIs by task +// Returned values for +// playerSessionCount and hasAvailablePlayerSessions change quickly as players join +// sessions and others drop out. Results should be considered a snapshot in time. +// Be sure to refresh search results often, and handle sessions that fill up before +// a player can join. Related actions CreateGameSession | DescribeGameSessions | +// DescribeGameSessionDetails | SearchGameSessions | UpdateGameSession | +// GetGameSessionLogUrl | StartGameSessionPlacement | DescribeGameSessionPlacement +// | StopGameSessionPlacement | All APIs by task // (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets) func (c *Client) SearchGameSessions(ctx context.Context, params *SearchGameSessionsInput, optFns ...func(*Options)) (*SearchGameSessionsOutput, error) { if params == nil { @@ -155,7 +160,8 @@ type SearchGameSessionsInput struct { Limit *int32 // A fleet location to search for game sessions. You can specify a fleet's home - // Region or a remote location. Use the AWS Region code format, such as us-west-2. + // Region or a remote location. Use the Amazon Web Services Region code format, + // such as us-west-2. Location *string // A token that indicates the start of the next sequential page of results. Use the diff --git a/service/gamelift/api_op_StartFleetActions.go b/service/gamelift/api_op_StartFleetActions.go index a60fb515e0f..0493b28ba7c 100644 --- a/service/gamelift/api_op_StartFleetActions.go +++ b/service/gamelift/api_op_StartFleetActions.go @@ -65,7 +65,7 @@ type StartFleetActionsInput struct { FleetId *string // The fleet location to restart fleet actions for. Specify a location in the form - // of an AWS Region code, such as us-west-2. + // of an Amazon Web Services Region code, such as us-west-2. Location *string noSmithyDocumentSerde diff --git a/service/gamelift/api_op_StartGameSessionPlacement.go b/service/gamelift/api_op_StartGameSessionPlacement.go index 45edf673727..e740bd45d26 100644 --- a/service/gamelift/api_op_StartGameSessionPlacement.go +++ b/service/gamelift/api_op_StartGameSessionPlacement.go @@ -12,46 +12,47 @@ import ( ) // Places a request for a new game session in a queue (see CreateGameSessionQueue). -// When processing a placement request, Amazon GameLift searches for available +// When processing a placement request, Amazon Web Services searches for available // resources on the queue's destinations, scanning each until it finds resources or // the placement request times out. A game session placement request can also // request player sessions. When a new game session is successfully created, Amazon -// GameLift creates a player session for each player included in the request. When -// placing a game session, by default Amazon GameLift tries each fleet in the order -// they are listed in the queue configuration. Ideally, a queue's destinations are -// listed in preference order. Alternatively, when requesting a game session with -// players, you can also provide latency data for each player in relevant Regions. -// Latency data indicates the performance lag a player experiences when connected -// to a fleet in the Region. Amazon GameLift uses latency data to reorder the list -// of destinations to place the game session in a Region with minimal lag. If -// latency data is provided for multiple players, Amazon GameLift calculates each -// Region's average lag for all players and reorders to get the best game play -// across all players. To place a new game session request, specify the -// following: +// Web Services creates a player session for each player included in the request. +// When placing a game session, by default Amazon Web Services tries each fleet in +// the order they are listed in the queue configuration. Ideally, a queue's +// destinations are listed in preference order. Alternatively, when requesting a +// game session with players, you can also provide latency data for each player in +// relevant Regions. Latency data indicates the performance lag a player +// experiences when connected to a fleet in the Region. Amazon Web Services uses +// latency data to reorder the list of destinations to place the game session in a +// Region with minimal lag. If latency data is provided for multiple players, +// Amazon Web Services calculates each Region's average lag for all players and +// reorders to get the best game play across all players. To place a new game +// session request, specify the following: // -// * The queue name and a set of game session properties and -// settings +// * The queue name and a set of game +// session properties and settings // -// * A unique ID (such as a UUID) for the placement. You use this ID to -// track the status of the placement request +// * A unique ID (such as a UUID) for the +// placement. You use this ID to track the status of the placement request // -// * (Optional) A set of player data and -// a unique player ID for each player that you are joining to the new game session -// (player data is optional, but if you include it, you must also provide a unique -// ID for each player) +// * +// (Optional) A set of player data and a unique player ID for each player that you +// are joining to the new game session (player data is optional, but if you include +// it, you must also provide a unique ID for each player) // -// * Latency data for all players (if you want to optimize -// game play for the players) +// * Latency data for all +// players (if you want to optimize game play for the players) // -// If successful, a new game session placement is -// created. To track the status of a placement request, call -// DescribeGameSessionPlacement and check the request's status. If the status is -// FULFILLED, a new game session has been created and a game session ARN and Region -// are referenced. If the placement request times out, you can resubmit the request -// or retry it with a different queue. Related actions CreateGameSession | -// DescribeGameSessions | DescribeGameSessionDetails | SearchGameSessions | -// UpdateGameSession | GetGameSessionLogUrl | StartGameSessionPlacement | -// DescribeGameSessionPlacement | StopGameSessionPlacement | All APIs by task +// If successful, a +// new game session placement is created. To track the status of a placement +// request, call DescribeGameSessionPlacement and check the request's status. If +// the status is FULFILLED, a new game session has been created and a game session +// ARN and Region are referenced. If the placement request times out, you can +// resubmit the request or retry it with a different queue. Related actions +// CreateGameSession | DescribeGameSessions | DescribeGameSessionDetails | +// SearchGameSessions | UpdateGameSession | GetGameSessionLogUrl | +// StartGameSessionPlacement | DescribeGameSessionPlacement | +// StopGameSessionPlacement | All APIs by task // (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets) func (c *Client) StartGameSessionPlacement(ctx context.Context, params *StartGameSessionPlacementInput, optFns ...func(*Options)) (*StartGameSessionPlacementOutput, error) { if params == nil { @@ -110,7 +111,7 @@ type StartGameSessionPlacementInput struct { GameSessionName *string // A set of values, expressed in milliseconds, that indicates the amount of latency - // that a player experiences when connected to AWS Regions. This information is + // that a player experiences when connected to @aws; Regions. This information is // used to try to place the new game session where it can offer the best possible // gameplay experience for the players. PlayerLatencies []types.PlayerLatency diff --git a/service/gamelift/api_op_StartMatchBackfill.go b/service/gamelift/api_op_StartMatchBackfill.go index b4d16f820c2..032b72d8978 100644 --- a/service/gamelift/api_op_StartMatchBackfill.go +++ b/service/gamelift/api_op_StartMatchBackfill.go @@ -33,7 +33,8 @@ import ( // matchmaking data for all current players in the game session being backfilled. // Optionally, specify the GameSession ARN. If successful, a match backfill ticket // is created and returned with status set to QUEUED. Track the status of backfill -// tickets using the same method for tracking tickets for new matches. Learn more +// tickets using the same method for tracking tickets for new matches. Only game +// sessions created by FlexMatch are supported for match backfill. Learn more // Backfill existing games with FlexMatch // (https://docs.aws.amazon.com/gamelift/latest/flexmatchguide/match-backfill.html) // Matchmaking events @@ -78,11 +79,13 @@ type StartMatchBackfillInput struct { // for all players who are currently assigned to the game session. The matchmaker // data is in JSON syntax, formatted as a string. For more details, see Match Data // (https://docs.aws.amazon.com/gamelift/latest/flexmatchguide/match-server.html#match-server-data). + // The backfill request must specify the team membership for every player. Do not + // specify team if you are not using backfill. // - // * - // LatencyInMs -- If the matchmaker uses player latency, include a latency value, - // in milliseconds, for the Region that the game session is currently in. Do not - // include latency values for any other Region. + // * LatencyInMs -- If the matchmaker + // uses player latency, include a latency value, in milliseconds, for the Region + // that the game session is currently in. Do not include latency values for any + // other Region. // // This member is required. Players []types.Player @@ -92,8 +95,8 @@ type StartMatchBackfillInput struct { GameSessionArn *string // A unique identifier for a matchmaking ticket. If no ticket ID is specified here, - // Amazon GameLift will generate one in the form of a UUID. Use this identifier to - // track the match backfill ticket status and retrieve match results. + // Amazon Web Services will generate one in the form of a UUID. Use this identifier + // to track the match backfill ticket status and retrieve match results. TicketId *string noSmithyDocumentSerde diff --git a/service/gamelift/api_op_StartMatchmaking.go b/service/gamelift/api_op_StartMatchmaking.go index 882907501eb..2a2d43b86f3 100644 --- a/service/gamelift/api_op_StartMatchmaking.go +++ b/service/gamelift/api_op_StartMatchmaking.go @@ -25,8 +25,8 @@ import ( // status set to QUEUED. Track matchmaking events to respond as needed and acquire // game session connection information for successfully completed matches. Ticket // status updates are tracked using event notification through Amazon Simple -// Notification Service (SNS), which is defined in the matchmaking configuration. -// Learn more Add FlexMatch to a game client +// Notification Service, which is defined in the matchmaking configuration. Learn +// more Add FlexMatch to a game client // (https://docs.aws.amazon.com/gamelift/latest/flexmatchguide/match-client.html) // Set Up FlexMatch event notification // (https://docs.aws.amazon.com/gamelift/latest/flexmatchguide/match-notification.html) @@ -69,8 +69,8 @@ type StartMatchmakingInput struct { Players []types.Player // A unique identifier for a matchmaking ticket. If no ticket ID is specified here, - // Amazon GameLift will generate one in the form of a UUID. Use this identifier to - // track the matchmaking ticket status and retrieve match results. + // Amazon Web Services will generate one in the form of a UUID. Use this identifier + // to track the matchmaking ticket status and retrieve match results. TicketId *string noSmithyDocumentSerde diff --git a/service/gamelift/api_op_StopFleetActions.go b/service/gamelift/api_op_StopFleetActions.go index 4a51b068bba..365e657eb90 100644 --- a/service/gamelift/api_op_StopFleetActions.go +++ b/service/gamelift/api_op_StopFleetActions.go @@ -68,7 +68,7 @@ type StopFleetActionsInput struct { FleetId *string // The fleet location to stop fleet actions for. Specify a location in the form of - // an AWS Region code, such as us-west-2. + // an Amazon Web Services Region code, such as us-west-2. Location *string noSmithyDocumentSerde diff --git a/service/gamelift/api_op_TagResource.go b/service/gamelift/api_op_TagResource.go index 4c0f2a4489f..6ada67b423a 100644 --- a/service/gamelift/api_op_TagResource.go +++ b/service/gamelift/api_op_TagResource.go @@ -11,11 +11,12 @@ import ( smithyhttp "github.com/aws/smithy-go/transport/http" ) -// Assigns a tag to a GameLift resource. AWS resource tags provide an additional -// management tool set. You can use tags to organize resources, create IAM -// permissions policies to manage access to groups of resources, customize AWS cost -// breakdowns, etc. This operation handles the permissions necessary to manage tags -// for the following GameLift resource types: +// Assigns a tag to a GameLift resource. Amazon Web Services resource tags provide +// an additional management tool set. You can use tags to organize resources, +// create IAM permissions policies to manage access to groups of resources, +// customize Amazon Web Services cost breakdowns, etc. This operation handles the +// permissions necessary to manage tags for the following GameLift resource +// types: // // * Build // @@ -23,22 +24,22 @@ import ( // // * Fleet // -// * -// Alias +// * Alias // // * GameSessionQueue // -// * MatchmakingConfiguration +// * +// MatchmakingConfiguration // // * MatchmakingRuleSet // -// To -// add a tag to a resource, specify the unique ARN value for the resource and -// provide a tag list containing one or more tags. The operation succeeds even if -// the list includes tags that are already assigned to the specified resource. -// Learn more Tagging AWS Resources -// (https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html) in the AWS -// General Reference AWS Tagging Strategies +// To add a tag to a resource, +// specify the unique ARN value for the resource and provide a tag list containing +// one or more tags. The operation succeeds even if the list includes tags that are +// already assigned to the specified resource. Learn more Tagging Amazon Web +// Services Resources +// (https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html) in the Amazon +// Web Services General Reference Amazon Web Services Tagging Strategies // (http://aws.amazon.com/answers/account-management/aws-tagging-strategies/) // Related actions TagResource | UntagResource | ListTagsForResource | All APIs by // task @@ -72,7 +73,7 @@ type TagResourceInput struct { // A list of one or more tags to assign to the specified GameLift resource. Tags // are developer-defined and structured as key-value pairs. The maximum tag limit - // may be lower than stated. See Tagging AWS Resources + // may be lower than stated. See Tagging Amazon Web Services Resources // (https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html) for actual // tagging limits. // diff --git a/service/gamelift/api_op_UntagResource.go b/service/gamelift/api_op_UntagResource.go index aa61e3ded84..b1fb5884b53 100644 --- a/service/gamelift/api_op_UntagResource.go +++ b/service/gamelift/api_op_UntagResource.go @@ -11,9 +11,9 @@ import ( ) // Removes a tag that is assigned to a GameLift resource. Resource tags are used to -// organize AWS resources for a range of purposes. This operation handles the -// permissions necessary to manage tags for the following GameLift resource -// types: +// organize Amazon Web Services resources for a range of purposes. This operation +// handles the permissions necessary to manage tags for the following GameLift +// resource types: // // * Build // @@ -34,9 +34,9 @@ import ( // specify the unique ARN value for the resource and provide a string list // containing one or more tags to be removed. This operation succeeds even if the // list includes tags that are not currently assigned to the specified resource. -// Learn more Tagging AWS Resources -// (https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html) in the AWS -// General Reference AWS Tagging Strategies +// Learn more Tagging Amazon Web Services Resources +// (https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html) in the Amazon +// Web Services General Reference Amazon Web Services Tagging Strategies // (http://aws.amazon.com/answers/account-management/aws-tagging-strategies/) // Related actions TagResource | UntagResource | ListTagsForResource | All APIs by // task @@ -69,8 +69,8 @@ type UntagResourceInput struct { ResourceARN *string // A list of one or more tag keys to remove from the specified GameLift resource. - // An AWS resource can have only one tag with a specific tag key, so specifying the - // tag key identifies which tag to remove. + // An Amazon Web Services resource can have only one tag with a specific tag key, + // so specifying the tag key identifies which tag to remove. // // This member is required. TagKeys []string diff --git a/service/gamelift/api_op_UpdateFleetCapacity.go b/service/gamelift/api_op_UpdateFleetCapacity.go index bd85bda3ef0..871ed1bd11e 100644 --- a/service/gamelift/api_op_UpdateFleetCapacity.go +++ b/service/gamelift/api_op_UpdateFleetCapacity.go @@ -21,28 +21,28 @@ import ( // whether the capacity is changed manually or through automatic scaling. // // * -// Desired capacity: Manually set the number of EC2 instances to be maintained in a -// fleet location. Before changing a fleet's desired capacity, you may want to call -// DescribeEC2InstanceLimits to get the maximum capacity of the fleet's EC2 -// instance type. Alternatively, consider using automatic scaling to adjust -// capacity based on player demand. +// Desired capacity: Manually set the number of Amazon EC2 instances to be +// maintained in a fleet location. Before changing a fleet's desired capacity, you +// may want to call DescribeEC2InstanceLimits to get the maximum capacity of the +// fleet's Amazon EC2 instance type. Alternatively, consider using automatic +// scaling to adjust capacity based on player demand. // -// This operation can be used in the following -// ways: +// This operation can be used +// in the following ways: // -// * To update capacity for a fleet's home Region, or if the fleet has no -// remote locations, omit the Location parameter. The fleet must be in ACTIVE -// status. +// * To update capacity for a fleet's home Region, or if +// the fleet has no remote locations, omit the Location parameter. The fleet must +// be in ACTIVE status. // -// * To update capacity for a fleet's remote location, include the -// Location parameter set to the location to be updated. The location must be in -// ACTIVE status. +// * To update capacity for a fleet's remote location, +// include the Location parameter set to the location to be updated. The location +// must be in ACTIVE status. // -// If successful, capacity settings are updated immediately. In -// response a change in desired capacity, GameLift initiates steps to start new -// instances or terminate existing instances in the requested fleet location. This -// continues until the location's active instance count matches the new desired -// instance count. You can track a fleet's current capacity by calling +// If successful, capacity settings are updated +// immediately. In response a change in desired capacity, GameLift initiates steps +// to start new instances or terminate existing instances in the requested fleet +// location. This continues until the location's active instance count matches the +// new desired instance count. You can track a fleet's current capacity by calling // DescribeFleetCapacity or DescribeFleetLocationCapacity. If the requested desired // instance count is higher than the instance type's limit, the LimitExceeded // exception occurs. Learn more Scaling fleet capacity @@ -76,12 +76,12 @@ type UpdateFleetCapacityInput struct { // This member is required. FleetId *string - // The number of EC2 instances you want to maintain in the specified fleet + // The number of Amazon EC2 instances you want to maintain in the specified fleet // location. This value must fall between the minimum and maximum size limits. DesiredInstances *int32 // The name of a remote location to update fleet capacity settings for, in the form - // of an AWS Region code such as us-west-2. + // of an Amazon Web Services Region code such as us-west-2. Location *string // The maximum number of instances that are allowed in the specified fleet @@ -108,8 +108,8 @@ type UpdateFleetCapacityOutput struct { // A unique identifier for the fleet that was updated. FleetId *string - // The remote location being updated, expressed as an AWS Region code, such as - // us-west-2. + // The remote location being updated, expressed as an Amazon Web Services Region + // code, such as us-west-2. Location *string // Metadata pertaining to the operation's result. diff --git a/service/gamelift/api_op_UpdateGameServerGroup.go b/service/gamelift/api_op_UpdateGameServerGroup.go index 49bae29fea0..3e8b1dc4aae 100644 --- a/service/gamelift/api_op_UpdateGameServerGroup.go +++ b/service/gamelift/api_op_UpdateGameServerGroup.go @@ -77,13 +77,13 @@ type UpdateGameServerGroupInput struct { // dropped from the game. Protected instances cannot be terminated while there are // active game servers running except in the event of a forced game server group // deletion (see ). An exception to this is with Spot Instances, which can be - // terminated by AWS regardless of protection status. This property is set to - // NO_PROTECTION by default. + // terminated by Amazon Web Services regardless of protection status. This property + // is set to NO_PROTECTION by default. GameServerProtectionPolicy types.GameServerProtectionPolicy - // An updated list of EC2 instance types to use in the Auto Scaling group. The - // instance definitions must specify at least two different instance types that are - // supported by GameLift FleetIQ. This updated list replaces the entire current + // An updated list of Amazon EC2 instance types to use in the Auto Scaling group. + // The instance definitions must specify at least two different instance types that + // are supported by GameLift FleetIQ. This updated list replaces the entire current // list of instance definitions for the game server group. For more information on // instance types, see EC2 Instance Types // (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/instance-types.html) in the @@ -97,7 +97,8 @@ type UpdateGameServerGroupInput struct { // The Amazon Resource Name (ARN // (https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html)) for an IAM - // role that allows Amazon GameLift to access your EC2 Auto Scaling groups. + // role that allows Amazon Web Services to access your Amazon EC2 Auto Scaling + // groups. RoleArn *string noSmithyDocumentSerde diff --git a/service/gamelift/api_op_UpdateGameSessionQueue.go b/service/gamelift/api_op_UpdateGameSessionQueue.go index fa5207ce6ed..c97be6a781e 100644 --- a/service/gamelift/api_op_UpdateGameSessionQueue.go +++ b/service/gamelift/api_op_UpdateGameSessionQueue.go @@ -16,8 +16,15 @@ import ( // name to be updated and provide the new settings. When updating destinations, // provide a complete list of destinations. Learn more Using Multi-Region Queues // (https://docs.aws.amazon.com/gamelift/latest/developerguide/queues-intro.html) -// Related actions CreateGameSessionQueue | DescribeGameSessionQueues | -// UpdateGameSessionQueue | DeleteGameSessionQueue | All APIs by task +// Related actions CreateGameSessionQueue +// (https://docs.aws.amazon.com/gamelift/latest/apireference/API_CreateGameSessionQueue.html) +// | DescribeGameSessionQueues +// (https://docs.aws.amazon.com/gamelift/latest/apireference/API_DescribeGameSessionQueues.html) +// | UpdateGameSessionQueue +// (https://docs.aws.amazon.com/gamelift/latest/apireference/API_UpdateGameSessionQueue.html) +// | DeleteGameSessionQueue +// (https://docs.aws.amazon.com/gamelift/latest/apireference/API_DeleteGameSessionQueue.html) +// | All APIs by task // (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets) func (c *Client) UpdateGameSessionQueue(ctx context.Context, params *UpdateGameSessionQueueInput, optFns ...func(*Options)) (*UpdateGameSessionQueueOutput, error) { if params == nil { @@ -54,9 +61,10 @@ type UpdateGameSessionQueueInput struct { Destinations []types.GameSessionQueueDestination // A list of locations where a queue is allowed to place new game sessions. - // Locations are specified in the form of AWS Region codes, such as us-west-2. If - // this parameter is not set, game sessions can be placed in any queue location. To - // remove an existing filter configuration, pass in an empty set. + // Locations are specified in the form of Amazon Web Services Region codes, such as + // us-west-2. If this parameter is not set, game sessions can be placed in any + // queue location. To remove an existing filter configuration, pass in an empty + // set. FilterConfiguration *types.FilterConfiguration // An SNS topic ARN that is set up to receive game session placement notifications. diff --git a/service/gamelift/api_op_UpdateScript.go b/service/gamelift/api_op_UpdateScript.go index 5e6d2fe1be1..374c4f6192b 100644 --- a/service/gamelift/api_op_UpdateScript.go +++ b/service/gamelift/api_op_UpdateScript.go @@ -17,9 +17,9 @@ import ( // Amazon S3 bucket location. You can use either method regardless of how the // original script was uploaded. Use the Version parameter to track updates to the // script. If the call is successful, the updated metadata is stored in the script -// record and a revised script is uploaded to the Amazon GameLift service. Once the -// script is updated and acquired by a fleet instance, the new version is used for -// all new game sessions. Learn more Amazon GameLift Realtime Servers +// record and a revised script is uploaded to the Amazon Web Services service. Once +// the script is updated and acquired by a fleet instance, the new version is used +// for all new game sessions. Learn more Amazon Web Services Realtime Servers // (https://docs.aws.amazon.com/gamelift/latest/developerguide/realtime-intro.html) // Related actions CreateScript | ListScripts | DescribeScript | UpdateScript | // DeleteScript | All APIs by task @@ -54,11 +54,11 @@ type UpdateScriptInput struct { // The location of the Amazon S3 bucket where a zipped file containing your // Realtime scripts is stored. The storage location must specify the Amazon S3 // bucket name, the zip file name (the "key"), and a role ARN that allows Amazon - // GameLift to access the Amazon S3 storage location. The S3 bucket must be in the - // same Region where you want to create a new script. By default, Amazon GameLift - // uploads the latest version of the zip file; if you have S3 object versioning - // turned on, you can use the ObjectVersion parameter to specify an earlier - // version. + // Web Services to access the Amazon S3 storage location. The S3 bucket must be in + // the same Region where you want to create a new script. By default, Amazon Web + // Services uploads the latest version of the zip file; if you have S3 object + // versioning turned on, you can use the ObjectVersion parameter to specify an + // earlier version. StorageLocation *types.S3Location // Version information that is associated with a build or script. Version strings @@ -67,9 +67,9 @@ type UpdateScriptInput struct { // A data object containing your Realtime scripts and dependencies as a zip file. // The zip file can have one or multiple files. Maximum size of a zip file is 5 MB. - // When using the AWS CLI tool to create a script, this parameter is set to the zip - // file name. It must be prepended with the string "fileb://" to indicate that the - // file data is a binary object. For example: --zip-file + // When using the Amazon Web Services CLI tool to create a script, this parameter + // is set to the zip file name. It must be prepended with the string "fileb://" to + // indicate that the file data is a binary object. For example: --zip-file // fileb://myRealtimeScript.zip. ZipFile []byte @@ -83,7 +83,7 @@ type UpdateScriptOutput struct { // from an S3 bucket under your account, the storage location reflects the // information that was provided in the CreateScript request; (2) If the script // file was uploaded from a local zip file, the storage location reflects an S3 - // location controls by the Amazon GameLift service. + // location controls by the Amazon Web Services service. Script *types.Script // Metadata pertaining to the operation's result. diff --git a/service/gamelift/doc.go b/service/gamelift/doc.go index d47b03ce6eb..4cba70ace75 100644 --- a/service/gamelift/doc.go +++ b/service/gamelift/doc.go @@ -3,13 +3,13 @@ // Package gamelift provides the API client, operations, and parameter types for // Amazon GameLift. // -// Amazon GameLift Service GameLift provides solutions for hosting session-based -// multiplayer game servers in the cloud, including tools for deploying, operating, -// and scaling game servers. Built on AWS global computing infrastructure, GameLift -// helps you deliver high-performance, high-reliability, low-cost game servers -// while dynamically scaling your resource usage to meet player demand. About -// GameLift solutions Get more information on these GameLift solutions in the -// GameLift Developer Guide +// GameLift Service Amazon Web Services provides solutions for hosting +// session-based multiplayer game servers in the cloud, including tools for +// deploying, operating, and scaling game servers. Built on Amazon Web Services +// global computing infrastructure, GameLift helps you deliver high-performance, +// high-reliability, low-cost game servers while dynamically scaling your resource +// usage to meet player demand. About GameLift solutions Get more information on +// these GameLift solutions in the GameLift Developer Guide // (https://docs.aws.amazon.com/gamelift/latest/developerguide/). // // * GameLift @@ -40,9 +40,9 @@ // solution. // // About this API Reference This reference guide describes the low-level -// service API for Amazon GameLift. With each topic in this guide, you can find -// links to language-specific SDK guides and the AWS CLI reference. Useful -// links: +// service API for Amazon Web Services. With each topic in this guide, you can find +// links to language-specific SDK guides and the Amazon Web Services CLI reference. +// Useful links: // // * GameLift API operations listed by tasks // (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html) diff --git a/service/gamelift/types/types.go b/service/gamelift/types/types.go index 90c9226734d..6ffda2ef326 100644 --- a/service/gamelift/types/types.go +++ b/service/gamelift/types/types.go @@ -62,7 +62,7 @@ type AttributeValue struct { // value is 100 characters. SDM map[string]float64 - // For a list of up to 10 strings. Maximum length for each string is 100 + // For a list of up to 100 strings. Maximum length for each string is 100 // characters. Duplicate values are not recognized; all occurrences of the repeated // value after the first of a repeated value are ignored. SL []string @@ -70,15 +70,15 @@ type AttributeValue struct { noSmithyDocumentSerde } -// Temporary access credentials used for uploading game build files to Amazon -// GameLift. They are valid for a limited time. If they expire before you upload +// Temporary access credentials used for uploading game build files to Amazon Web +// Services. They are valid for a limited time. If they expire before you upload // your game build, get a new set by calling RequestUploadCredentials. type AwsCredentials struct { - // Temporary key allowing access to the Amazon GameLift S3 account. + // Temporary key allowing access to the Amazon Web Services S3 account. AccessKeyId *string - // Temporary secret key allowing access to the Amazon GameLift S3 account. + // Temporary secret key allowing access to the Amazon Web Services S3 account. SecretAccessKey *string // Token used to associate a specific build ID with the files uploaded using these @@ -117,7 +117,8 @@ type Build struct { OperatingSystem OperatingSystem // File size of the uploaded game build, expressed in bytes. When the build status - // is INITIALIZED, this value is 0. + // is INITIALIZED or when using a custom Amazon S3 storage location, this value is + // 0. SizeOnDisk *int64 // Current status of the build. Possible build statuses include the following: @@ -179,10 +180,10 @@ type DesiredPlayerSession struct { noSmithyDocumentSerde } -// Resource capacity settings. Fleet capacity is measured in EC2 instances. Pending -// and terminating counts are non-zero when the fleet capacity is adjusting to a -// scaling event or if access to resources is temporarily affected. EC2 instance -// counts are part of FleetCapacity. +// Resource capacity settings. Fleet capacity is measured in Amazon EC2 instances. +// Pending and terminating counts are non-zero when the fleet capacity is adjusting +// to a scaling event or if access to resources is temporarily affected. EC2 +// instance counts are part of FleetCapacity. type EC2InstanceCounts struct { // Actual number of instances that are ready to host game sessions. @@ -211,26 +212,28 @@ type EC2InstanceCounts struct { noSmithyDocumentSerde } -// The GameLift service limits for an EC2 instance type and current utilization. -// GameLift allows AWS accounts a maximum number of instances, per instance type, -// per AWS Region or location, for use with GameLift. You can request an limit -// increase for your account by using the Service limits page in the GameLift -// console. Related actions DescribeEC2InstanceLimits +// The GameLift service limits for an Amazon EC2 instance type and current +// utilization. GameLift allows Amazon Web Services accounts a maximum number of +// instances, per instance type, per Amazon Web Services Region or location, for +// use with GameLift. You can request an limit increase for your account by using +// the Service limits page in the GameLift console. Related actions +// DescribeEC2InstanceLimits type EC2InstanceLimit struct { // The number of instances for the specified type and location that are currently - // being used by the AWS account. + // being used by the Amazon Web Services account. CurrentInstances *int32 - // The name of an EC2 instance type. See Amazon EC2 Instance Types - // (http://aws.amazon.com/ec2/instance-types/) for detailed descriptions. + // The name of an Amazon EC2 instance type. See Amazon Elastic Compute Cloud + // Instance Types (http://aws.amazon.com/ec2/instance-types/) for detailed + // descriptions. EC2InstanceType EC2InstanceType // The number of instances that is allowed for the specified instance type and // location. InstanceLimit *int32 - // An AWS Region code, such as us-west-2. + // An Amazon Web Services Region code, such as us-west-2. Location *string noSmithyDocumentSerde @@ -242,86 +245,108 @@ type EC2InstanceLimit struct { // actions DescribeFleetEvents type Event struct { - // The type of event being logged. Fleet creation events (ordered by fleet creation - // activity): + // The type of event being logged. Fleet state transition events: + // + // * FLEET_CREATED + // -- A fleet resource was successfully created with a status of NEW. Event + // messaging includes the fleet ID. + // + // * FLEET_STATE_DOWNLOADING -- Fleet status + // changed from NEW to DOWNLOADING. The compressed build has started downloading to + // a fleet instance for installation. // - // * FLEET_CREATED -- A fleet resource was successfully created with a - // status of NEW. Event messaging includes the fleet ID. + // * FLEET_STATE_VALIDATING -- Fleet status + // changed from DOWNLOADING to VALIDATING. GameLift has successfully downloaded the + // build and is now validating the build files. // - // * FLEET_STATE_DOWNLOADING - // -- Fleet status changed from NEW to DOWNLOADING. The compressed build has - // started downloading to a fleet instance for installation. + // * FLEET_STATE_BUILDING -- Fleet + // status changed from VALIDATING to BUILDING. GameLift has successfully verified + // the build files and is now running the installation scripts. // // * - // FLEET_BINARY_DOWNLOAD_FAILED -- The build failed to download to the fleet - // instance. - // - // * FLEET_CREATION_EXTRACTING_BUILD – The game server build was - // successfully downloaded to an instance, and the build files are now being - // extracted from the uploaded build and saved to an instance. Failure at this - // stage prevents a fleet from moving to ACTIVE status. Logs for this stage display - // a list of the files that are extracted and saved on the instance. Access the - // logs by using the URL in PreSignedLogUrl. - // - // * FLEET_CREATION_RUNNING_INSTALLER – - // The game server build files were successfully extracted, and the GameLift is now - // running the build's install script (if one is included). Failure in this stage - // prevents a fleet from moving to ACTIVE status. Logs for this stage list the - // installation steps and whether or not the install completed successfully. Access - // the logs by using the URL in PreSignedLogUrl. + // FLEET_STATE_ACTIVATING -- Fleet status changed from BUILDING to ACTIVATING. + // GameLift is trying to launch an instance and test the connectivity between the + // build and the GameLift Service via the Server SDK. + // + // * FLEET_STATE_ACTIVE -- The + // fleet's status changed from ACTIVATING to ACTIVE. The fleet is now ready to host + // game sessions. + // + // * FLEET_STATE_ERROR -- The Fleet's status changed to ERROR. + // Describe the fleet event message for more details. + // + // Fleet creation events + // (ordered by fleet creation activity): + // + // * FLEET_BINARY_DOWNLOAD_FAILED -- The + // build failed to download to the fleet instance. // // * - // FLEET_CREATION_VALIDATING_RUNTIME_CONFIG -- The build process was successful, - // and the GameLift is now verifying that the game server launch paths, which are - // specified in the fleet's runtime configuration, exist. If any listed launch path - // exists, GameLift tries to launch a game server process and waits for the process - // to report ready. Failures in this stage prevent a fleet from moving to ACTIVE - // status. Logs for this stage list the launch paths in the runtime configuration - // and indicate whether each is found. Access the logs by using the URL in - // PreSignedLogUrl. - // - // * FLEET_STATE_VALIDATING -- Fleet status changed from - // DOWNLOADING to VALIDATING. + // FLEET_CREATION_EXTRACTING_BUILD -- The game server build was successfully + // downloaded to an instance, and the build files are now being extracted from the + // uploaded build and saved to an instance. Failure at this stage prevents a fleet + // from moving to ACTIVE status. Logs for this stage display a list of the files + // that are extracted and saved on the instance. Access the logs by using the URL + // in PreSignedLogUrl. + // + // * FLEET_CREATION_RUNNING_INSTALLER -- The game server build + // files were successfully extracted, and the GameLift is now running the build's + // install script (if one is included). Failure in this stage prevents a fleet from + // moving to ACTIVE status. Logs for this stage list the installation steps and + // whether or not the install completed successfully. Access the logs by using the + // URL in PreSignedLogUrl. + // + // * FLEET_CREATION_VALIDATING_RUNTIME_CONFIG -- The build + // process was successful, and the GameLift is now verifying that the game server + // launch paths, which are specified in the fleet's runtime configuration, exist. + // If any listed launch path exists, GameLift tries to launch a game server process + // and waits for the process to report ready. Failures in this stage prevent a + // fleet from moving to ACTIVE status. Logs for this stage list the launch paths in + // the runtime configuration and indicate whether each is found. Access the logs by + // using the URL in PreSignedLogUrl. // // * FLEET_VALIDATION_LAUNCH_PATH_NOT_FOUND -- // Validation of the runtime configuration failed because the executable specified // in a launch path does not exist on the instance. // - // * FLEET_STATE_BUILDING -- - // Fleet status changed from VALIDATING to BUILDING. - // // * // FLEET_VALIDATION_EXECUTABLE_RUNTIME_FAILURE -- Validation of the runtime // configuration failed because the executable specified in a launch path failed to // run on the fleet instance. // - // * FLEET_STATE_ACTIVATING -- Fleet status changed - // from BUILDING to ACTIVATING. + // * FLEET_VALIDATION_TIMED_OUT -- Validation of the + // fleet at the end of creation timed out. Try fleet creation again. // - // * FLEET_ACTIVATION_FAILED - The fleet failed to - // successfully complete one of the steps in the fleet activation process. This - // event code indicates that the game build was successfully downloaded to a fleet - // instance, built, and validated, but was not able to start a server process. - // Learn more at Debug Fleet Creation Issues - // (https://docs.aws.amazon.com/gamelift/latest/developerguide/fleets-creating-debug.html#fleets-creating-debug-creation) + // * + // FLEET_ACTIVATION_FAILED -- The fleet failed to successfully complete one of the + // steps in the fleet activation process. This event code indicates that the game + // build was successfully downloaded to a fleet instance, built, and validated, but + // was not able to start a server process. For more information, see Debug Fleet + // Creation Issues + // (https://docs.aws.amazon.com/gamelift/latest/developerguide/fleets-creating-debug.html#fleets-creating-debug-creation). // // * - // FLEET_STATE_ACTIVE -- The fleet's status changed from ACTIVATING to ACTIVE. The - // fleet is now ready to host game sessions. + // FLEET_ACTIVATION_FAILED_NO_INSTANCES -- Fleet creation was not able to obtain + // any instances based on the input fleet attributes. Try again at a different time + // or choose a different combination of fleet attributes such as fleet type, + // instance type, etc. + // + // * FLEET_INITIALIZATION_FAILED -- A generic exception + // occurred during fleet creation. Describe the fleet event message for more + // details. // // VPC peering events: // - // * - // FLEET_VPC_PEERING_SUCCEEDED -- A VPC peering connection has been established - // between the VPC for an GameLift fleet and a VPC in your AWS account. + // * FLEET_VPC_PEERING_SUCCEEDED -- A VPC peering + // connection has been established between the VPC for an GameLift fleet and a VPC + // in your Amazon Web Services account. // - // * - // FLEET_VPC_PEERING_FAILED -- A requested VPC peering connection has failed. Event - // details and status information (see DescribeVpcPeeringConnections) provide - // additional detail. A common reason for peering failure is that the two VPCs have - // overlapping CIDR blocks of IPv4 addresses. To resolve this, change the CIDR - // block for the VPC in your AWS account. For more information on VPC peering - // failures, see + // * FLEET_VPC_PEERING_FAILED -- A requested + // VPC peering connection has failed. Event details and status information (see + // DescribeVpcPeeringConnections) provide additional detail. A common reason for + // peering failure is that the two VPCs have overlapping CIDR blocks of IPv4 + // addresses. To resolve this, change the CIDR block for the VPC in your Amazon Web + // Services account. For more information on VPC peering failures, see // https://docs.aws.amazon.com/AmazonVPC/latest/PeeringGuide/invalid-peering-configurations.html // (https://docs.aws.amazon.com/AmazonVPC/latest/PeeringGuide/invalid-peering-configurations.html) // @@ -334,22 +359,64 @@ type Event struct { // * INSTANCE_INTERRUPTED -- A spot instance was // interrupted by EC2 with a two-minute notification. // - // Other fleet events: + // Spot process events: + // + // * + // SERVER_PROCESS_INVALID_PATH -- The game server executable or script could not be + // found based on the Fleet runtime configuration. Check that the launch path is + // correct based on the operating system of the Fleet. // // * - // FLEET_SCALING_EVENT -- A change was made to the fleet's capacity settings - // (desired instances, minimum/maximum scaling limits). Event messaging includes - // the new capacity settings. + // SERVER_PROCESS_SDK_INITIALIZATION_TIMEOUT -- The server process did not call + // InitSDK() within the time expected. Check your game session log to see why + // InitSDK() was not called in time. + // + // * SERVER_PROCESS_PROCESS_READY_TIMEOUT -- The + // server process did not call ProcessReady() within the time expected after + // calling InitSDK(). Check your game session log to see why ProcessReady() was not + // called in time. + // + // * SERVER_PROCESS_CRASHED -- The server process exited without + // calling ProcessEnding(). Check your game session log to see why ProcessEnding() + // was not called. // - // * FLEET_NEW_GAME_SESSION_PROTECTION_POLICY_UPDATED - // -- A change was made to the fleet's game session protection policy setting. - // Event messaging includes both the old and new policy setting. + // * SERVER_PROCESS_TERMINATED_UNHEALTHY -- The server process did + // not report a valid health check for too long and was therefore terminated by + // GameLift. Check your game session log to see if the thread became stuck + // processing a synchronous task for too long. // - // * FLEET_DELETED - // -- A request to delete a fleet was initiated. + // * SERVER_PROCESS_FORCE_TERMINATED + // -- The server process did not exit cleanly after OnProcessTerminate() was sent + // within the time expected. Check your game session log to see why termination + // took longer than expected. + // + // * SERVER_PROCESS_PROCESS_EXIT_TIMEOUT -- The server + // process did not exit cleanly within the time expected after calling + // ProcessEnding(). Check your game session log to see why termination took longer + // than expected. + // + // Game session events: + // + // * GAME_SESSION_ACTIVATION_TIMEOUT -- + // GameSession failed to activate within the expected time. Check your game session + // log to see why ActivateGameSession() took longer to complete than + // expected. + // + // Other fleet events: // - // * GENERIC_EVENT -- An unspecified - // event has occurred. + // * FLEET_SCALING_EVENT -- A change was made to + // the fleet's capacity settings (desired instances, minimum/maximum scaling + // limits). Event messaging includes the new capacity settings. + // + // * + // FLEET_NEW_GAME_SESSION_PROTECTION_POLICY_UPDATED -- A change was made to the + // fleet's game session protection policy setting. Event messaging includes both + // the old and new policy setting. + // + // * FLEET_DELETED -- A request to delete a fleet + // was initiated. + // + // * GENERIC_EVENT -- An unspecified event has occurred. EventCode EventCode // A unique identifier for a fleet event. @@ -380,8 +447,8 @@ type Event struct { // configurations are part of a GameSessionQueue. type FilterConfiguration struct { - // A list of locations to allow game session placement in, in the form of AWS - // Region codes such as us-west-2. + // A list of locations to allow game session placement in, in the form of Amazon + // Web Services Region codes such as us-west-2. AllowedLocations []string noSmithyDocumentSerde @@ -425,19 +492,20 @@ type FleetAttributes struct { // The kind of instances, On-Demand or Spot, that this fleet uses. FleetType FleetType - // A unique identifier for an AWS IAM role that manages access to your AWS - // services. With an instance role ARN set, any application that runs on an - // instance in this fleet can assume the role, including install scripts, server + // A unique identifier for an IAM role that manages access to your Amazon Web + // Services services. With an instance role ARN set, any application that runs on + // an instance in this fleet can assume the role, including install scripts, server // processes, and daemons (background processes). Create a role or look up a role's - // ARN by using the IAM dashboard (https://console.aws.amazon.com/iam/) in the AWS - // Management Console. Learn more about using on-box credentials for your game - // servers at Access external resources from a game server + // ARN by using the IAM dashboard (https://console.aws.amazon.com/iam/) in the + // Amazon Web Services Management Console. Learn more about using on-box + // credentials for your game servers at Access external resources from a game + // server // (https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-resources.html). InstanceRoleArn *string - // The EC2 instance type that determines the computing resources of each instance - // in the fleet. Instance type defines the CPU, memory, storage, and networking - // capacity. See Amazon EC2 Instance Types + // The Amazon EC2 instance type that determines the computing resources of each + // instance in the fleet. Instance type defines the CPU, memory, storage, and + // networking capacity. See Amazon Elastic Compute Cloud Instance Types // (http://aws.amazon.com/ec2/instance-types/) for detailed descriptions. InstanceType EC2InstanceType @@ -530,8 +598,12 @@ type FleetAttributes struct { // Current resource capacity settings in a specified fleet or location. The // location value might refer to a fleet's remote location or its home Region. -// Related actions DescribeFleetCapacity | DescribeFleetLocationCapacity | -// UpdateFleetCapacity +// Related actions DescribeFleetCapacity +// (https://docs.aws.amazon.com/gamelift/latest/apireference/API_DescribeFleetCapacity.html) +// | DescribeFleetLocationCapacity +// (https://docs.aws.amazon.com/gamelift/latest/apireference/API_DescribeFleetLocationCapacity.html) +// | UpdateFleetCapacity +// (https://docs.aws.amazon.com/gamelift/latest/apireference/API_UpdateFleetCapacity.html) type FleetCapacity struct { // The Amazon Resource Name (ARN @@ -547,14 +619,14 @@ type FleetCapacity struct { // The current instance count and capacity settings for the fleet location. InstanceCounts *EC2InstanceCounts - // The EC2 instance type that is used for all instances in a fleet. The instance - // type determines the computing resources in use, including CPU, memory, storage, - // and networking capacity. See Amazon EC2 Instance Types - // (http://aws.amazon.com/ec2/instance-types/) for detailed descriptions. + // The Amazon EC2 instance type that is used for all instances in a fleet. The + // instance type determines the computing resources in use, including CPU, memory, + // storage, and networking capacity. See Amazon Elastic Compute Cloud Instance + // Types (http://aws.amazon.com/ec2/instance-types/) for detailed descriptions. InstanceType EC2InstanceType - // The fleet location for the instance count information, expressed as an AWS - // Region code, such as us-west-2. + // The fleet location for the instance count information, expressed as an Amazon + // Web Services Region code, such as us-west-2. Location *string noSmithyDocumentSerde @@ -587,8 +659,8 @@ type FleetUtilization struct { // A unique identifier for the fleet associated with the location. FleetId *string - // The fleet location for the fleet utilization information, expressed as an AWS - // Region code, such as us-west-2. + // The fleet location for the fleet utilization information, expressed as an Amazon + // Web Services Region code, such as us-west-2. Location *string // The maximum number of players allowed across all game sessions that are @@ -655,8 +727,8 @@ type GameServer struct { GameServerGroupName *string // A custom string that uniquely identifies the game server. Game server IDs are - // developer-defined and are unique across all game server groups in an AWS - // account. + // developer-defined and are unique across all game server groups in an Amazon Web + // Services account. GameServerId *string // The unique identifier for the instance where the game server is running. This ID @@ -698,19 +770,19 @@ type GameServer struct { // This data type is used with the GameLift FleetIQ and game server groups. // Properties that describe a game server group resource. A game server group -// manages certain properties related to a corresponding EC2 Auto Scaling group. A -// game server group is created by a successful call to CreateGameServerGroup and -// deleted by calling DeleteGameServerGroup. Game server group activity can be -// temporarily suspended and resumed by calling SuspendGameServerGroup and -// ResumeGameServerGroup, respectively. Related actions CreateGameServerGroup | -// ListGameServerGroups | DescribeGameServerGroup | UpdateGameServerGroup | -// DeleteGameServerGroup | ResumeGameServerGroup | SuspendGameServerGroup | -// DescribeGameServerInstances | All APIs by task +// manages certain properties related to a corresponding Amazon EC2 Auto Scaling +// group. A game server group is created by a successful call to +// CreateGameServerGroup and deleted by calling DeleteGameServerGroup. Game server +// group activity can be temporarily suspended and resumed by calling +// SuspendGameServerGroup and ResumeGameServerGroup, respectively. Related actions +// CreateGameServerGroup | ListGameServerGroups | DescribeGameServerGroup | +// UpdateGameServerGroup | DeleteGameServerGroup | ResumeGameServerGroup | +// SuspendGameServerGroup | DescribeGameServerInstances | All APIs by task // (https://docs.aws.amazon.com/gamelift/latest/fleetiqguide/reference-awssdk-fleetiq.html) type GameServerGroup struct { - // A generated unique ID for the EC2 Auto Scaling group that is associated with - // this game server group. + // A generated unique ID for the Amazon EC2 Auto Scaling group that is associated + // with this game server group. AutoScalingGroupArn *string // Indicates how GameLift FleetIQ balances the use of Spot Instances and On-Demand @@ -743,7 +815,7 @@ type GameServerGroup struct { GameServerGroupArn *string // A developer-defined identifier for the game server group. The name is unique for - // each Region in each AWS account. + // each Region in each Amazon Web Services account. GameServerGroupName *string // A flag that indicates whether instances in the game server group are protected @@ -752,11 +824,12 @@ type GameServerGroup struct { // dropped from the game. Protected instances cannot be terminated while there are // active game servers running except in the event of a forced game server group // deletion (see ). An exception to this is with Spot Instances, which can be - // terminated by AWS regardless of protection status. + // terminated by Amazon Web Services regardless of protection status. GameServerProtectionPolicy GameServerProtectionPolicy - // The set of EC2 instance types that GameLift FleetIQ can use when balancing and - // automatically scaling instances in the corresponding Auto Scaling group. + // The set of Amazon EC2 instance types that GameLift FleetIQ can use when + // balancing and automatically scaling instances in the corresponding Auto Scaling + // group. InstanceDefinitions []InstanceDefinition // A timestamp that indicates when this game server group was last updated. @@ -764,7 +837,8 @@ type GameServerGroup struct { // The Amazon Resource Name (ARN // (https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html)) for an IAM - // role that allows Amazon GameLift to access your EC2 Auto Scaling groups. + // role that allows Amazon Web Services to access your Amazon EC2 Auto Scaling + // groups. RoleArn *string // The current status of the game server group. Possible statuses include: @@ -774,24 +848,25 @@ type GameServerGroup struct { // // * // ACTIVATING - GameLift FleetIQ is setting up a game server group, which includes - // creating an Auto Scaling group in your AWS account. + // creating an Auto Scaling group in your Amazon Web Services account. // - // * ACTIVE - The game server - // group has been successfully created. + // * ACTIVE - + // The game server group has been successfully created. // - // * DELETE_SCHEDULED - A request to delete - // the game server group has been received. + // * DELETE_SCHEDULED - A + // request to delete the game server group has been received. // - // * DELETING - GameLift FleetIQ has - // received a valid DeleteGameServerGroup() request and is processing it. GameLift - // FleetIQ must first complete and release hosts before it deletes the Auto Scaling - // group and the game server group. + // * DELETING - + // GameLift FleetIQ has received a valid DeleteGameServerGroup() request and is + // processing it. GameLift FleetIQ must first complete and release hosts before it + // deletes the Auto Scaling group and the game server group. // - // * DELETED - The game server group has been - // successfully deleted. + // * DELETED - The game + // server group has been successfully deleted. // - // * ERROR - The asynchronous processes of activating or - // deleting a game server group has failed, resulting in an error state. + // * ERROR - The asynchronous + // processes of activating or deleting a game server group has failed, resulting in + // an error state. Status GameServerGroupStatus // Additional information about the current game server group status. This @@ -849,7 +924,8 @@ type GameServerInstance struct { GameServerGroupArn *string // A developer-defined identifier for the game server group that includes the game - // server instance. The name is unique for each Region in each AWS account. + // server instance. The name is unique for each Region in each Amazon Web Services + // account. GameServerGroupName *string // The unique identifier for the instance where the game server is running. This ID @@ -925,13 +1001,16 @@ type GameSession struct { // A set of custom properties for a game session, formatted as key:value pairs. // These properties are passed to a game server process in the GameSession object - // with a request to start a new game session. You can search for active game - // sessions based on this custom data with SearchGameSessions. + // with a request to start a new game session (see Start a Game Session + // (https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession)). + // You can search for active game sessions based on this custom data with + // SearchGameSessions. GameProperties []GameProperty // A set of custom game session properties, formatted as a single string value. // This data is passed to a game server process in the GameSession object with a - // request to start a new game session. + // request to start a new game session (see Start a Game Session + // (https://docs.aws.amazon.com/gamelift/latest/developerguide/gamelift-sdk-server-api.html#gamelift-sdk-server-startsession)). GameSessionData *string // A unique identifier for the game session. A game session ARN has the following @@ -943,8 +1022,8 @@ type GameSession struct { IpAddress *string // The fleet location where the game session is running. This value might specify - // the fleet's home Region or a remote location. Location is expressed as an AWS - // Region code such as us-west-2. + // the fleet's home Region or a remote location. Location is expressed as an Amazon + // Web Services Region code such as us-west-2. Location *string // Information about the matchmaking process that was used to create the game @@ -955,7 +1034,8 @@ type GameSession struct { // (https://docs.aws.amazon.com/gamelift/latest/flexmatchguide/match-server.html#match-server-data). // Matchmaker data is useful when requesting match backfills, and is updated // whenever new players are added during a successful backfill (see - // StartMatchBackfill). + // StartMatchBackfill + // (https://docs.aws.amazon.com/gamelift/latest/apireference/API_StartMatchBackfill.html)). MatchmakerData *string // The maximum number of players that can be connected simultaneously to the game @@ -1144,7 +1224,7 @@ type GameSessionPlacement struct { PlacementId *string // A set of values, expressed in milliseconds, that indicates the amount of latency - // that a player experiences when connected to AWS Regions. + // that a player experiences when connected to @aws; Regions. PlayerLatencies []PlayerLatency // The port number for the game session. To connect to a GameLift game server, an @@ -1184,8 +1264,12 @@ type GameSessionPlacement struct { // Configuration for a game session placement mechanism that processes requests for // new game sessions. A queue can be used on its own or as part of a matchmaking -// solution. Related actions CreateGameSessionQueue | DescribeGameSessionQueues | -// UpdateGameSessionQueue +// solution. Related actions CreateGameSessionQueue +// (https://docs.aws.amazon.com/gamelift/latest/apireference/API_CreateGameSessionQueue.html) +// | DescribeGameSessionQueues +// (https://docs.aws.amazon.com/gamelift/latest/apireference/API_DescribeGameSessionQueues.html) +// | UpdateGameSessionQueue +// (https://docs.aws.amazon.com/gamelift/latest/apireference/API_UpdateGameSessionQueue.html) type GameSessionQueue struct { // Information that is added to all events that are related to this game session @@ -1198,8 +1282,9 @@ type GameSessionQueue struct { Destinations []GameSessionQueueDestination // A list of locations where a queue is allowed to place new game sessions. - // Locations are specified in the form of AWS Region codes, such as us-west-2. If - // this parameter is not set, game sessions can be placed in any queue location. + // Locations are specified in the form of Amazon Web Services Region codes, such as + // us-west-2. If this parameter is not set, game sessions can be placed in any + // queue location. FilterConfiguration *FilterConfiguration // The Amazon Resource Name (ARN @@ -1294,8 +1379,8 @@ type Instance struct { // IP address that is assigned to the instance. IpAddress *string - // The fleet location of the instance, expressed as an AWS Region code, such as - // us-west-2. + // The fleet location of the instance, expressed as an Amazon Web Services Region + // code, such as us-west-2. Location *string // Operating system that is running on this instance. @@ -1318,7 +1403,7 @@ type Instance struct { // event of a problem. Status InstanceStatus - // EC2 instance type that defines the computing resources of this instance. + // Amazon EC2 instance type that defines the computing resources of this instance. Type EC2InstanceType noSmithyDocumentSerde @@ -1369,7 +1454,7 @@ type InstanceCredentials struct { // with the list of viable instance types. type InstanceDefinition struct { - // An EC2 instance type designation. + // An Amazon EC2 instance type designation. // // This member is required. InstanceType GameServerGroupInstanceType @@ -1380,7 +1465,8 @@ type InstanceDefinition struct { // the most cost-effective options. For detailed information on weighting instance // capacity, see Instance Weighting // (https://docs.aws.amazon.com/autoscaling/ec2/userguide/asg-instance-weighting.html) - // in the Amazon EC2 Auto Scaling User Guide. Default value is "1". + // in the Amazon Elastic Compute Cloud Auto Scaling User Guide. Default value is + // "1". WeightedCapacity *string noSmithyDocumentSerde @@ -1394,7 +1480,9 @@ type InstanceDefinition struct { // TCP messaging and one for UDP. Related actions DescribeFleetPortSettings type IpPermission struct { - // A starting value for a range of allowed port numbers. + // A starting value for a range of allowed port numbers. For fleets using Linux + // builds, only port 22, 443, 1026-60000 are valid. For fleets using Windows + // builds, only port 443, 1026-60000 are valid. // // This member is required. FromPort *int32 @@ -1412,7 +1500,9 @@ type IpPermission struct { Protocol IpProtocol // An ending value for a range of allowed port numbers. Port numbers are - // end-inclusive. This value must be higher than FromPort. + // end-inclusive. This value must be higher than FromPort. For fleets using Linux + // builds, only port 22, 443, 1026-60000 are valid. For fleets using Windows + // builds, only port 443, 1026-60000 are valid. // // This member is required. ToPort *int32 @@ -1420,21 +1510,22 @@ type IpPermission struct { noSmithyDocumentSerde } -// This data type is used with the GameLift FleetIQ and game server groups. An EC2 -// launch template that contains configuration settings and game server code to be -// deployed to all instances in a game server group. The launch template is -// specified when creating a new game server group with CreateGameServerGroup. +// This data type is used with the GameLift FleetIQ and game server groups. An +// Amazon EC2 launch template that contains configuration settings and game server +// code to be deployed to all instances in a game server group. The launch template +// is specified when creating a new game server group with CreateGameServerGroup. type LaunchTemplateSpecification struct { - // A unique identifier for an existing EC2 launch template. + // A unique identifier for an existing Amazon EC2 launch template. LaunchTemplateId *string - // A readable identifier for an existing EC2 launch template. + // A readable identifier for an existing Amazon EC2 launch template. LaunchTemplateName *string - // The version of the EC2 launch template to use. If no version is specified, the - // default version will be used. With Amazon EC2, you can specify a default version - // for a launch template. If none is set, the default is the first version created. + // The version of the Amazon EC2 launch template to use. If no version is + // specified, the default version will be used. With Amazon Elastic Compute Cloud, + // you can specify a default version for a launch template. If none is set, the + // default is the first version created. Version *string noSmithyDocumentSerde @@ -1460,9 +1551,10 @@ type LocationAttributes struct { // A remote location where a multi-location fleet can deploy EC2 instances for game // hosting. Related actions CreateFleet +// (https://docs.aws.amazon.com/gamelift/latest/apireference/API_CreateFleet.html) type LocationConfiguration struct { - // An AWS Region code, such as us-west-2. + // An Amazon Web Services Region code, such as us-west-2. Location *string noSmithyDocumentSerde @@ -1476,7 +1568,8 @@ type LocationConfiguration struct { // DeleteFleetLocations type LocationState struct { - // The fleet location, expressed as an AWS Region code such as us-west-2. + // The fleet location, expressed as an Amazon Web Services Region code such as + // us-west-2. Location *string // The life-cycle status of a fleet location. @@ -1795,7 +1888,7 @@ type PlacedPlayerSession struct { type Player struct { // A set of values, expressed in milliseconds, that indicates the amount of latency - // that a player experiences when connected to AWS Regions. If this property is + // that a player experiences when connected to @aws; Regions. If this property is // present, FlexMatch considers placing the match only in Regions for which latency // is reported. If a matchmaker has a rule that evaluates player latency, players // must report latency in order to be matched. If no latency is reported in this @@ -1918,7 +2011,7 @@ type PlayerSession struct { // A unique identifier for a player session. PlayerSessionId *string - // Port number for the game session. To connect to a Amazon GameLift server + // Port number for the game session. To connect to a Amazon Web Services server // process, an app needs both the IP address and port number. Port *int32 @@ -1971,8 +2064,8 @@ type PlayerSession struct { type PriorityConfiguration struct { // The prioritization order to use for fleet locations, when the PriorityOrder - // property includes LOCATION. Locations are identified by AWS Region codes such as - // us-west-2. Each location can only be listed once. + // property includes LOCATION. Locations are identified by Amazon Web Services + // Region codes such as us-west-2. Each location can only be listed once. LocationOrder []string // The recommended sequence to use when prioritizing where to place new game @@ -2076,8 +2169,8 @@ type RuntimeConfiguration struct { } // The location in Amazon S3 where build or script files are stored for access by -// Amazon GameLift. This location is specified in CreateBuild, CreateScript, and -// UpdateScript requests. +// Amazon Web Services. This location is specified in CreateBuild, CreateScript, +// and UpdateScript requests. type S3Location struct { // An Amazon S3 bucket identifier. This is the name of the S3 bucket. GameLift @@ -2089,14 +2182,14 @@ type S3Location struct { Key *string // The version of the file, if object versioning is turned on for the bucket. - // Amazon GameLift uses this information when retrieving files from an S3 bucket - // that you own. Use this parameter to specify a specific version of the file. If - // not set, the latest version of the file is retrieved. + // Amazon Web Services uses this information when retrieving files from an S3 + // bucket that you own. Use this parameter to specify a specific version of the + // file. If not set, the latest version of the file is retrieved. ObjectVersion *string // The Amazon Resource Name (ARN // (https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-arn-format.html)) for an IAM - // role that allows Amazon GameLift to access the S3 bucket. + // role that allows Amazon Web Services to access the S3 bucket. RoleArn *string noSmithyDocumentSerde @@ -2127,12 +2220,12 @@ type ScalingPolicy struct { // A unique identifier for the fleet that is associated with this scaling policy. FleetId *string - // + // The fleet location. Location *string - // Name of the Amazon GameLift-defined metric that is used to trigger a scaling - // adjustment. For detailed descriptions of fleet metrics, see Monitor Amazon - // GameLift with Amazon CloudWatch + // Name of the Amazon Web Services-defined metric that is used to trigger a scaling + // adjustment. For detailed descriptions of fleet metrics, see Monitor Amazon Web + // Services with Amazon CloudWatch // (https://docs.aws.amazon.com/gamelift/latest/developerguide/monitoring-cloudwatch.html). // // * @@ -2274,8 +2367,8 @@ type Script struct { SizeOnDisk *int64 // The location in Amazon S3 where build or script files are stored for access by - // Amazon GameLift. This location is specified in CreateBuild, CreateScript, and - // UpdateScript requests. + // Amazon Web Services. This location is specified in CreateBuild, CreateScript, + // and UpdateScript requests. StorageLocation *S3Location // Version information that is associated with a build or script. Version strings @@ -2317,21 +2410,24 @@ type ServerProcess struct { noSmithyDocumentSerde } -// A label that can be assigned to a GameLift resource. Learn more Tagging AWS -// Resources (https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html) in -// the AWS General Reference AWS Tagging Strategies +// A label that can be assigned to a GameLift resource. Learn more Tagging Amazon +// Web Services Resources +// (https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html) in the Amazon +// Web Services General Reference Amazon Web Services Tagging Strategies // (http://aws.amazon.com/answers/account-management/aws-tagging-strategies/) // Related actions TagResource | UntagResource | ListTagsForResource | All APIs by // task // (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets) type Tag struct { - // The key for a developer-defined key:value pair for tagging an AWS resource. + // The key for a developer-defined key:value pair for tagging an Amazon Web + // Services resource. // // This member is required. Key *string - // The value for a developer-defined key:value pair for tagging an AWS resource. + // The value for a developer-defined key:value pair for tagging an Amazon Web + // Services resource. // // This member is required. Value *string @@ -2341,12 +2437,13 @@ type Tag struct { // Settings for a target-based scaling policy (see ScalingPolicy. A target-based // policy tracks a particular fleet metric specifies a target value for the metric. -// As player usage changes, the policy triggers Amazon GameLift to adjust capacity -// so that the metric returns to the target value. The target configuration -// specifies settings as needed for the target based policy, including the target -// value. Related actions DescribeFleetCapacity | UpdateFleetCapacity | -// DescribeEC2InstanceLimits | PutScalingPolicy | DescribeScalingPolicies | -// DeleteScalingPolicy | StopFleetActions | StartFleetActions | All APIs by task +// As player usage changes, the policy triggers Amazon Web Services to adjust +// capacity so that the metric returns to the target value. The target +// configuration specifies settings as needed for the target based policy, +// including the target value. Related actions DescribeFleetCapacity | +// UpdateFleetCapacity | DescribeEC2InstanceLimits | PutScalingPolicy | +// DescribeScalingPolicies | DeleteScalingPolicy | StopFleetActions | +// StartFleetActions | All APIs by task // (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets) type TargetConfiguration struct { @@ -2380,7 +2477,7 @@ type TargetTrackingConfiguration struct { } // Represents an authorization for a VPC peering connection between the VPC for an -// Amazon GameLift fleet and another VPC on an account you have access to. This +// Amazon Web Services fleet and another VPC on an account you have access to. This // authorization must exist and be valid for the peering connection to be // established. Authorizations are valid for 24 hours after they are issued. // Related actions CreateVpcPeeringAuthorization | DescribeVpcPeeringAuthorizations @@ -2398,9 +2495,9 @@ type VpcPeeringAuthorization struct { // "1469498468.057"). ExpirationTime *time.Time - // A unique identifier for the AWS account that you use to manage your GameLift - // fleet. You can find your Account ID in the AWS Management Console under account - // settings. + // A unique identifier for the Amazon Web Services account that you use to manage + // your GameLift fleet. You can find your Account ID in the Amazon Web Services + // Management Console under account settings. GameLiftAwsAccountId *string // @@ -2408,21 +2505,22 @@ type VpcPeeringAuthorization struct { // A unique identifier for a VPC with resources to be accessed by your GameLift // fleet. The VPC must be in the same Region as your fleet. To look up a VPC ID, - // use the VPC Dashboard (https://console.aws.amazon.com/vpc/) in the AWS - // Management Console. Learn more about VPC peering in VPC Peering with GameLift - // Fleets + // use the VPC Dashboard (https://console.aws.amazon.com/vpc/) in the Amazon Web + // Services Management Console. Learn more about VPC peering in VPC Peering with + // GameLift Fleets // (https://docs.aws.amazon.com/gamelift/latest/developerguide/vpc-peering.html). PeerVpcId *string noSmithyDocumentSerde } -// Represents a peering connection between a VPC on one of your AWS accounts and -// the VPC for your Amazon GameLift fleets. This record may be for an active -// peering connection or a pending connection that has not yet been established. -// Related actions CreateVpcPeeringAuthorization | DescribeVpcPeeringAuthorizations -// | DeleteVpcPeeringAuthorization | CreateVpcPeeringConnection | -// DescribeVpcPeeringConnections | DeleteVpcPeeringConnection | All APIs by task +// Represents a peering connection between a VPC on one of your Amazon Web Services +// accounts and the VPC for your Amazon Web Services fleets. This record may be for +// an active peering connection or a pending connection that has not yet been +// established. Related actions CreateVpcPeeringAuthorization | +// DescribeVpcPeeringAuthorizations | DeleteVpcPeeringAuthorization | +// CreateVpcPeeringConnection | DescribeVpcPeeringConnections | +// DeleteVpcPeeringConnection | All APIs by task // (https://docs.aws.amazon.com/gamelift/latest/developerguide/reference-awssdk.html#reference-awssdk-resources-fleets) type VpcPeeringConnection struct { @@ -2431,13 +2529,13 @@ type VpcPeeringConnection struct { // with the GameLift fleet resource for this connection. FleetArn *string - // A unique identifier for the fleet. This ID determines the ID of the Amazon - // GameLift VPC for your fleet. + // A unique identifier for the fleet. This ID determines the ID of the Amazon Web + // Services VPC for your fleet. FleetId *string - // A unique identifier for the VPC that contains the Amazon GameLift fleet for this - // connection. This VPC is managed by Amazon GameLift and does not appear in your - // AWS account. + // A unique identifier for the VPC that contains the Amazon Web Services fleet for + // this connection. This VPC is managed by Amazon Web Services and does not appear + // in your Amazon Web Services account. GameLiftVpcId *string // CIDR block of IPv4 addresses assigned to the VPC peering connection for the @@ -2447,9 +2545,9 @@ type VpcPeeringConnection struct { // A unique identifier for a VPC with resources to be accessed by your GameLift // fleet. The VPC must be in the same Region as your fleet. To look up a VPC ID, - // use the VPC Dashboard (https://console.aws.amazon.com/vpc/) in the AWS - // Management Console. Learn more about VPC peering in VPC Peering with GameLift - // Fleets + // use the VPC Dashboard (https://console.aws.amazon.com/vpc/) in the Amazon Web + // Services Management Console. Learn more about VPC peering in VPC Peering with + // GameLift Fleets // (https://docs.aws.amazon.com/gamelift/latest/developerguide/vpc-peering.html). PeerVpcId *string diff --git a/service/glue/api_op_CheckSchemaVersionValidity.go b/service/glue/api_op_CheckSchemaVersionValidity.go index 0047b5a1b63..18c3b457f06 100644 --- a/service/glue/api_op_CheckSchemaVersionValidity.go +++ b/service/glue/api_op_CheckSchemaVersionValidity.go @@ -31,7 +31,8 @@ func (c *Client) CheckSchemaVersionValidity(ctx context.Context, params *CheckSc type CheckSchemaVersionValidityInput struct { - // The data format of the schema definition. Currently AVRO and JSON are supported. + // The data format of the schema definition. Currently AVRO, JSON and PROTOBUF are + // supported. // // This member is required. DataFormat types.DataFormat diff --git a/service/glue/api_op_CreateSchema.go b/service/glue/api_op_CreateSchema.go index 549297cb297..80b870723d3 100644 --- a/service/glue/api_op_CreateSchema.go +++ b/service/glue/api_op_CreateSchema.go @@ -37,7 +37,8 @@ func (c *Client) CreateSchema(ctx context.Context, params *CreateSchemaInput, op type CreateSchemaInput struct { - // The data format of the schema definition. Currently AVRO and JSON are supported. + // The data format of the schema definition. Currently AVRO, JSON and PROTOBUF are + // supported. // // This member is required. DataFormat types.DataFormat @@ -119,7 +120,8 @@ type CreateSchemaOutput struct { // The schema compatibility mode. Compatibility types.Compatibility - // The data format of the schema definition. Currently AVRO and JSON are supported. + // The data format of the schema definition. Currently AVRO, JSON and PROTOBUF are + // supported. DataFormat types.DataFormat // A description of the schema if specified when created. diff --git a/service/glue/api_op_GetSchema.go b/service/glue/api_op_GetSchema.go index 5c83acad50d..0a130bcff1a 100644 --- a/service/glue/api_op_GetSchema.go +++ b/service/glue/api_op_GetSchema.go @@ -53,7 +53,8 @@ type GetSchemaOutput struct { // The date and time the schema was created. CreatedTime *string - // The data format of the schema definition. Currently AVRO and JSON are supported. + // The data format of the schema definition. Currently AVRO, JSON and PROTOBUF are + // supported. DataFormat types.DataFormat // A description of schema if specified when created diff --git a/service/glue/api_op_GetSchemaByDefinition.go b/service/glue/api_op_GetSchemaByDefinition.go index e2db1f8fc85..bc311f60c70 100644 --- a/service/glue/api_op_GetSchemaByDefinition.go +++ b/service/glue/api_op_GetSchemaByDefinition.go @@ -59,7 +59,7 @@ type GetSchemaByDefinitionOutput struct { // The date and time the schema was created. CreatedTime *string - // The data format of the schema definition. Currently only AVRO and JSON are + // The data format of the schema definition. Currently AVRO, JSON and PROTOBUF are // supported. DataFormat types.DataFormat diff --git a/service/glue/api_op_GetSchemaVersion.go b/service/glue/api_op_GetSchemaVersion.go index b4c6239883f..28b8f0d4dce 100644 --- a/service/glue/api_op_GetSchemaVersion.go +++ b/service/glue/api_op_GetSchemaVersion.go @@ -57,7 +57,8 @@ type GetSchemaVersionOutput struct { // The date and time the schema version was created. CreatedTime *string - // The data format of the schema definition. Currently AVRO and JSON are supported. + // The data format of the schema definition. Currently AVRO, JSON and PROTOBUF are + // supported. DataFormat types.DataFormat // The Amazon Resource Name (ARN) of the schema. diff --git a/service/glue/api_op_UpdateTable.go b/service/glue/api_op_UpdateTable.go index b5b25503d62..c37dd8091b2 100644 --- a/service/glue/api_op_UpdateTable.go +++ b/service/glue/api_op_UpdateTable.go @@ -52,6 +52,8 @@ type UpdateTableInput struct { // The transaction ID at which to update the table contents. TransactionId *string + VersionId *string + noSmithyDocumentSerde } diff --git a/service/glue/deserializers.go b/service/glue/deserializers.go index 915ea4c8491..8fb01aff097 100644 --- a/service/glue/deserializers.go +++ b/service/glue/deserializers.go @@ -3299,6 +3299,9 @@ func awsAwsjson11_deserializeOpErrorCreateRegistry(response *smithyhttp.Response case strings.EqualFold("AlreadyExistsException", errorCode): return awsAwsjson11_deserializeErrorAlreadyExistsException(response, errorBody) + case strings.EqualFold("ConcurrentModificationException", errorCode): + return awsAwsjson11_deserializeErrorConcurrentModificationException(response, errorBody) + case strings.EqualFold("InternalServiceException", errorCode): return awsAwsjson11_deserializeErrorInternalServiceException(response, errorBody) @@ -3422,6 +3425,9 @@ func awsAwsjson11_deserializeOpErrorCreateSchema(response *smithyhttp.Response, case strings.EqualFold("AlreadyExistsException", errorCode): return awsAwsjson11_deserializeErrorAlreadyExistsException(response, errorBody) + case strings.EqualFold("ConcurrentModificationException", errorCode): + return awsAwsjson11_deserializeErrorConcurrentModificationException(response, errorBody) + case strings.EqualFold("EntityNotFoundException", errorCode): return awsAwsjson11_deserializeErrorEntityNotFoundException(response, errorBody) @@ -34026,6 +34032,15 @@ func awsAwsjson11_deserializeDocumentTable(v **types.Table, value interface{}) e } } + case "VersionId": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected VersionString to be of type string, got %T instead", value) + } + sv.VersionId = ptr.String(jtv) + } + case "ViewExpandedText": if value != nil { jtv, ok := value.(string) diff --git a/service/glue/serializers.go b/service/glue/serializers.go index 56f530cd053..5e5cd66d426 100644 --- a/service/glue/serializers.go +++ b/service/glue/serializers.go @@ -16989,6 +16989,11 @@ func awsAwsjson11_serializeOpDocumentUpdateTableInput(v *UpdateTableInput, value ok.String(*v.TransactionId) } + if v.VersionId != nil { + ok := object.Key("VersionId") + ok.String(*v.VersionId) + } + return nil } diff --git a/service/glue/types/enums.go b/service/glue/types/enums.go index 2722ee441f7..05ce27e2f6f 100644 --- a/service/glue/types/enums.go +++ b/service/glue/types/enums.go @@ -376,8 +376,9 @@ type DataFormat string // Enum values for DataFormat const ( - DataFormatAvro DataFormat = "AVRO" - DataFormatJson DataFormat = "JSON" + DataFormatAvro DataFormat = "AVRO" + DataFormatJson DataFormat = "JSON" + DataFormatProtobuf DataFormat = "PROTOBUF" ) // Values returns all known values for DataFormat. Note that this can be expanded @@ -387,6 +388,7 @@ func (DataFormat) Values() []DataFormat { return []DataFormat{ "AVRO", "JSON", + "PROTOBUF", } } diff --git a/service/glue/types/types.go b/service/glue/types/types.go index 2fe9d54045e..0b4d6cf5bfe 100644 --- a/service/glue/types/types.go +++ b/service/glue/types/types.go @@ -3477,6 +3477,8 @@ type Table struct { // The last time that the table was updated. UpdateTime *time.Time + VersionId *string + // If the table is a view, the expanded text of the view; otherwise null. ViewExpandedText *string diff --git a/service/guardduty/internal/endpoints/endpoints.go b/service/guardduty/internal/endpoints/endpoints.go index 6709bbdcba2..040a344e46e 100644 --- a/service/guardduty/internal/endpoints/endpoints.go +++ b/service/guardduty/internal/endpoints/endpoints.go @@ -159,6 +159,9 @@ var defaultPartitions = endpoints.Partitions{ endpoints.EndpointKey{ Region: "ap-southeast-2", }: endpoints.Endpoint{}, + endpoints.EndpointKey{ + Region: "ap-southeast-3", + }: endpoints.Endpoint{}, endpoints.EndpointKey{ Region: "ca-central-1", }: endpoints.Endpoint{}, diff --git a/service/iam/api_op_GenerateServiceLastAccessedDetails.go b/service/iam/api_op_GenerateServiceLastAccessedDetails.go index 975d7005926..df1c3ee2723 100644 --- a/service/iam/api_op_GenerateServiceLastAccessedDetails.go +++ b/service/iam/api_op_GenerateServiceLastAccessedDetails.go @@ -14,9 +14,9 @@ import ( // Generates a report that includes details about when an IAM resource (user, // group, role, or policy) was last used in an attempt to access Amazon Web // Services services. Recent activity usually appears within four hours. IAM -// reports activity for the last 365 days, or less if your Region began supporting -// this feature within the last year. For more information, see Regions where data -// is tracked +// reports activity for at least the last 400 days, or less if your Region began +// supporting this feature within the last year. For more information, see Regions +// where data is tracked // (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_access-advisor.html#access-advisor_tracking-period). // The service last accessed data includes all attempts to access an Amazon Web // Services API, not just the successful ones. This includes all attempts that were diff --git a/service/iam/api_op_ListVirtualMFADevices.go b/service/iam/api_op_ListVirtualMFADevices.go index 02543db23c3..bc9321a3911 100644 --- a/service/iam/api_op_ListVirtualMFADevices.go +++ b/service/iam/api_op_ListVirtualMFADevices.go @@ -18,8 +18,8 @@ import ( // Unassigned, or Any. IAM resource-listing operations return a subset of the // available attributes for the resource. For example, this operation does not // return tags, even though they are an attribute of the returned object. To view -// all of the information for a virtual MFA device, see ListVirtualMFADevices. You -// can paginate the results using the MaxItems and Marker parameters. +// tag information for a virtual MFA device, see ListMFADeviceTags. You can +// paginate the results using the MaxItems and Marker parameters. func (c *Client) ListVirtualMFADevices(ctx context.Context, params *ListVirtualMFADevicesInput, optFns ...func(*Options)) (*ListVirtualMFADevicesOutput, error) { if params == nil { params = &ListVirtualMFADevicesInput{} diff --git a/service/iam/api_op_UpdateAccountPasswordPolicy.go b/service/iam/api_op_UpdateAccountPasswordPolicy.go index eaa17461009..a8b3d3993bc 100644 --- a/service/iam/api_op_UpdateAccountPasswordPolicy.go +++ b/service/iam/api_op_UpdateAccountPasswordPolicy.go @@ -10,17 +10,13 @@ import ( smithyhttp "github.com/aws/smithy-go/transport/http" ) -// Updates the password policy settings for the Amazon Web Services account. -// -// * -// This operation does not support partial updates. No parameters are required, but -// if you do not specify a parameter, that parameter's value reverts to its default +// Updates the password policy settings for the Amazon Web Services account. This +// operation does not support partial updates. No parameters are required, but if +// you do not specify a parameter, that parameter's value reverts to its default // value. See the Request Parameters section for each parameter's default value. // Also note that some parameters do not allow the default parameter to be // explicitly set. Instead, to invoke the default value, do not include that -// parameter when you invoke the operation. -// -// For more information about using a +// parameter when you invoke the operation. For more information about using a // password policy, see Managing an IAM password policy // (https://docs.aws.amazon.com/IAM/latest/UserGuide/Using_ManagingPasswordPolicies.html) // in the IAM User Guide. @@ -42,19 +38,27 @@ func (c *Client) UpdateAccountPasswordPolicy(ctx context.Context, params *Update type UpdateAccountPasswordPolicyInput struct { // Allows all IAM users in your account to use the Amazon Web Services Management - // Console to change their own passwords. For more information, see Letting IAM - // users change their own passwords - // (https://docs.aws.amazon.com/IAM/latest/UserGuide/HowToPwdIAMUser.html) in the - // IAM User Guide. If you do not specify a value for this parameter, then the - // operation uses the default value of false. The result is that IAM users in the - // account do not automatically have permissions to change their own password. + // Console to change their own passwords. For more information, see Permitting IAM + // users to change their own passwords + // (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_passwords_enable-user-change.html) + // in the IAM User Guide. If you do not specify a value for this parameter, then + // the operation uses the default value of false. The result is that IAM users in + // the account do not automatically have permissions to change their own password. AllowUsersToChangePassword bool - // Prevents IAM users from setting a new password after their password has expired. - // The IAM user cannot be accessed until an administrator resets the password. If - // you do not specify a value for this parameter, then the operation uses the - // default value of false. The result is that IAM users can change their passwords - // after they expire and continue to sign in as the user. + // Prevents IAM users who are accessing the account via the Amazon Web Services + // Management Console from setting a new console password after their password has + // expired. The IAM user cannot access the console until an administrator resets + // the password. If you do not specify a value for this parameter, then the + // operation uses the default value of false. The result is that IAM users can + // change their passwords after they expire and continue to sign in as the user. In + // the Amazon Web Services Management Console, the custom password policy option + // Allow users to change their own password gives IAM users permissions to + // iam:ChangePassword for only their user and to the iam:GetAccountPasswordPolicy + // action. This option does not attach a permissions policy to each user, rather + // the permissions are applied at the account-level for all users by IAM. IAM users + // with iam:ChangePassword permission and active access keys can reset their own + // expired console password using the CLI or API. HardExpiry *bool // The number of days that an IAM user password is valid. If you do not specify a diff --git a/service/iam/types/types.go b/service/iam/types/types.go index b6228ab52b7..0fada10380a 100644 --- a/service/iam/types/types.go +++ b/service/iam/types/types.go @@ -717,7 +717,11 @@ type OrganizationsDecisionDetail struct { // as a response element in the GetAccountPasswordPolicy operation. type PasswordPolicy struct { - // Specifies whether IAM users are allowed to change their own password. + // Specifies whether IAM users are allowed to change their own password. Gives IAM + // users permissions to iam:ChangePassword for only their user and to the + // iam:GetAccountPasswordPolicy action. This option does not attach a permissions + // policy to each user, rather the permissions are applied at the account-level for + // all users by IAM. AllowUsersToChangePassword bool // Indicates whether passwords in the account expire. Returns true if @@ -725,8 +729,11 @@ type PasswordPolicy struct { // is 0 or not present. ExpirePasswords bool - // Specifies whether IAM users are prevented from setting a new password after - // their password has expired. + // Specifies whether IAM users are prevented from setting a new password via the + // Amazon Web Services Management Console after their password has expired. The IAM + // user cannot access the console until an administrator resets the password. IAM + // users with iam:ChangePassword permission and active access keys can reset their + // own expired console password using the CLI or API. HardExpiry *bool // The number of days that an IAM user password is valid. diff --git a/service/imagebuilder/api_op_CreateComponent.go b/service/imagebuilder/api_op_CreateComponent.go index 7b3a5c0c57b..a171c32e94a 100644 --- a/service/imagebuilder/api_op_CreateComponent.go +++ b/service/imagebuilder/api_op_CreateComponent.go @@ -13,7 +13,14 @@ import ( ) // Creates a new component that can be used to build, validate, test, and assess -// your image. +// your image. The component is based on a YAML document that you specify using +// exactly one of the following methods: +// +// * Inline, using the data property in the +// request body. +// +// * A URL that points to a YAML document file stored in Amazon S3, +// using the uri property in the request body. func (c *Client) CreateComponent(ctx context.Context, params *CreateComponentInput, optFns ...func(*Options)) (*CreateComponentOutput, error) { if params == nil { params = &CreateComponentInput{} @@ -64,8 +71,9 @@ type CreateComponentInput struct { // component. ChangeDescription *string - // The data of the component. Used to specify the data inline. Either data or uri - // can be used to specify the data within the component. + // Component data contains inline YAML document content for the component. + // Alternatively, you can specify the uri of a YAML document file stored in Amazon + // S3. However, you cannot specify both properties. Data *string // The description of the component. Describes the contents of the component. @@ -82,10 +90,11 @@ type CreateComponentInput struct { // The tags of the component. Tags map[string]string - // The uri of the component. Must be an Amazon S3 URL and the requester must have - // permission to access the Amazon S3 bucket. If you use Amazon S3, you can specify - // component content up to your service quota. Either data or uri can be used to - // specify the data within the component. + // The uri of a YAML component document file. This must be an S3 URL + // (s3://bucket/key), and the requester must have permission to access the S3 + // bucket it points to. If you use Amazon S3, you can specify component content up + // to your service quota. Alternatively, you can specify the YAML document inline, + // using the component data property. You cannot specify both properties. Uri *string noSmithyDocumentSerde diff --git a/service/imagebuilder/deserializers.go b/service/imagebuilder/deserializers.go index ec22758fbee..490f77e62b2 100644 --- a/service/imagebuilder/deserializers.go +++ b/service/imagebuilder/deserializers.go @@ -11168,6 +11168,11 @@ func awsRestjson1_deserializeDocumentDistribution(v **types.Distribution, value return err } + case "fastLaunchConfigurations": + if err := awsRestjson1_deserializeDocumentFastLaunchConfigurationList(&sv.FastLaunchConfigurations, value); err != nil { + return err + } + case "launchTemplateConfigurations": if err := awsRestjson1_deserializeDocumentLaunchTemplateConfigurationList(&sv.LaunchTemplateConfigurations, value); err != nil { return err @@ -11569,6 +11574,214 @@ func awsRestjson1_deserializeDocumentEbsInstanceBlockDeviceSpecification(v **typ return nil } +func awsRestjson1_deserializeDocumentFastLaunchConfiguration(v **types.FastLaunchConfiguration, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.(map[string]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var sv *types.FastLaunchConfiguration + if *v == nil { + sv = &types.FastLaunchConfiguration{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "accountId": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected AccountId to be of type string, got %T instead", value) + } + sv.AccountId = ptr.String(jtv) + } + + case "enabled": + if value != nil { + jtv, ok := value.(bool) + if !ok { + return fmt.Errorf("expected Boolean to be of type *bool, got %T instead", value) + } + sv.Enabled = jtv + } + + case "launchTemplate": + if err := awsRestjson1_deserializeDocumentFastLaunchLaunchTemplateSpecification(&sv.LaunchTemplate, value); err != nil { + return err + } + + case "maxParallelLaunches": + if value != nil { + jtv, ok := value.(json.Number) + if !ok { + return fmt.Errorf("expected MaxParallelLaunches to be json.Number, got %T instead", value) + } + i64, err := jtv.Int64() + if err != nil { + return err + } + sv.MaxParallelLaunches = ptr.Int32(int32(i64)) + } + + case "snapshotConfiguration": + if err := awsRestjson1_deserializeDocumentFastLaunchSnapshotConfiguration(&sv.SnapshotConfiguration, value); err != nil { + return err + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + +func awsRestjson1_deserializeDocumentFastLaunchConfigurationList(v *[]types.FastLaunchConfiguration, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.([]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var cv []types.FastLaunchConfiguration + if *v == nil { + cv = []types.FastLaunchConfiguration{} + } else { + cv = *v + } + + for _, value := range shape { + var col types.FastLaunchConfiguration + destAddr := &col + if err := awsRestjson1_deserializeDocumentFastLaunchConfiguration(&destAddr, value); err != nil { + return err + } + col = *destAddr + cv = append(cv, col) + + } + *v = cv + return nil +} + +func awsRestjson1_deserializeDocumentFastLaunchLaunchTemplateSpecification(v **types.FastLaunchLaunchTemplateSpecification, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.(map[string]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var sv *types.FastLaunchLaunchTemplateSpecification + if *v == nil { + sv = &types.FastLaunchLaunchTemplateSpecification{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "launchTemplateId": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected LaunchTemplateId to be of type string, got %T instead", value) + } + sv.LaunchTemplateId = ptr.String(jtv) + } + + case "launchTemplateName": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected NonEmptyString to be of type string, got %T instead", value) + } + sv.LaunchTemplateName = ptr.String(jtv) + } + + case "launchTemplateVersion": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected NonEmptyString to be of type string, got %T instead", value) + } + sv.LaunchTemplateVersion = ptr.String(jtv) + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + +func awsRestjson1_deserializeDocumentFastLaunchSnapshotConfiguration(v **types.FastLaunchSnapshotConfiguration, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.(map[string]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var sv *types.FastLaunchSnapshotConfiguration + if *v == nil { + sv = &types.FastLaunchSnapshotConfiguration{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "targetResourceCount": + if value != nil { + jtv, ok := value.(json.Number) + if !ok { + return fmt.Errorf("expected TargetResourceCount to be json.Number, got %T instead", value) + } + i64, err := jtv.Int64() + if err != nil { + return err + } + sv.TargetResourceCount = ptr.Int32(int32(i64)) + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + func awsRestjson1_deserializeDocumentForbiddenException(v **types.ForbiddenException, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) diff --git a/service/imagebuilder/serializers.go b/service/imagebuilder/serializers.go index 236c70e1f35..22027b707f1 100644 --- a/service/imagebuilder/serializers.go +++ b/service/imagebuilder/serializers.go @@ -4166,6 +4166,13 @@ func awsRestjson1_serializeDocumentDistribution(v *types.Distribution, value smi } } + if v.FastLaunchConfigurations != nil { + ok := object.Key("fastLaunchConfigurations") + if err := awsRestjson1_serializeDocumentFastLaunchConfigurationList(v.FastLaunchConfigurations, ok); err != nil { + return err + } + } + if v.LaunchTemplateConfigurations != nil { ok := object.Key("launchTemplateConfigurations") if err := awsRestjson1_serializeDocumentLaunchTemplateConfigurationList(v.LaunchTemplateConfigurations, ok); err != nil { @@ -4255,6 +4262,89 @@ func awsRestjson1_serializeDocumentEbsInstanceBlockDeviceSpecification(v *types. return nil } +func awsRestjson1_serializeDocumentFastLaunchConfiguration(v *types.FastLaunchConfiguration, value smithyjson.Value) error { + object := value.Object() + defer object.Close() + + if v.AccountId != nil { + ok := object.Key("accountId") + ok.String(*v.AccountId) + } + + { + ok := object.Key("enabled") + ok.Boolean(v.Enabled) + } + + if v.LaunchTemplate != nil { + ok := object.Key("launchTemplate") + if err := awsRestjson1_serializeDocumentFastLaunchLaunchTemplateSpecification(v.LaunchTemplate, ok); err != nil { + return err + } + } + + if v.MaxParallelLaunches != nil { + ok := object.Key("maxParallelLaunches") + ok.Integer(*v.MaxParallelLaunches) + } + + if v.SnapshotConfiguration != nil { + ok := object.Key("snapshotConfiguration") + if err := awsRestjson1_serializeDocumentFastLaunchSnapshotConfiguration(v.SnapshotConfiguration, ok); err != nil { + return err + } + } + + return nil +} + +func awsRestjson1_serializeDocumentFastLaunchConfigurationList(v []types.FastLaunchConfiguration, value smithyjson.Value) error { + array := value.Array() + defer array.Close() + + for i := range v { + av := array.Value() + if err := awsRestjson1_serializeDocumentFastLaunchConfiguration(&v[i], av); err != nil { + return err + } + } + return nil +} + +func awsRestjson1_serializeDocumentFastLaunchLaunchTemplateSpecification(v *types.FastLaunchLaunchTemplateSpecification, value smithyjson.Value) error { + object := value.Object() + defer object.Close() + + if v.LaunchTemplateId != nil { + ok := object.Key("launchTemplateId") + ok.String(*v.LaunchTemplateId) + } + + if v.LaunchTemplateName != nil { + ok := object.Key("launchTemplateName") + ok.String(*v.LaunchTemplateName) + } + + if v.LaunchTemplateVersion != nil { + ok := object.Key("launchTemplateVersion") + ok.String(*v.LaunchTemplateVersion) + } + + return nil +} + +func awsRestjson1_serializeDocumentFastLaunchSnapshotConfiguration(v *types.FastLaunchSnapshotConfiguration, value smithyjson.Value) error { + object := value.Object() + defer object.Close() + + if v.TargetResourceCount != nil { + ok := object.Key("targetResourceCount") + ok.Integer(*v.TargetResourceCount) + } + + return nil +} + func awsRestjson1_serializeDocumentFilter(v *types.Filter, value smithyjson.Value) error { object := value.Object() defer object.Close() diff --git a/service/imagebuilder/types/types.go b/service/imagebuilder/types/types.go index 622265b1aa5..bf4d1b4ed49 100644 --- a/service/imagebuilder/types/types.go +++ b/service/imagebuilder/types/types.go @@ -21,7 +21,9 @@ type AdditionalInstanceConfiguration struct { // Image Builder might have added to ensure that Systems Manager is installed on // your Linux build instance. If you override the user data, make sure that you add // commands to install Systems Manager, if it is not pre-installed on your base - // image. + // image. The user data is always base 64 encoded. For example, the following + // commands are encoded as IyEvYmluL2Jhc2gKbWtkaXIgLXAgL3Zhci9iYi8KdG91Y2ggL3Zhci$: + // #!/bin/bash mkdir -p /var/bb/ touch /var UserDataOverride *string noSmithyDocumentSerde @@ -87,7 +89,7 @@ type Component struct { // The change description of the component. ChangeDescription *string - // The data of the component. + // Component data contains the YAML document content for the component. Data *string // The date that the component was created. @@ -471,6 +473,9 @@ type Distribution struct { // specific Region. ContainerDistributionConfiguration *ContainerDistributionConfiguration + // The Windows faster-launching configurations to use for AMI distribution. + FastLaunchConfigurations []FastLaunchConfiguration + // A group of launchTemplateConfiguration settings that apply to image distribution // for specified accounts. LaunchTemplateConfigurations []LaunchTemplateConfiguration @@ -576,6 +581,64 @@ type EbsInstanceBlockDeviceSpecification struct { noSmithyDocumentSerde } +// Define and configure faster launching for output Windows AMIs. +type FastLaunchConfiguration struct { + + // A Boolean that represents the current state of faster launching for the Windows + // AMI. Set to true to start using Windows faster launching, or false to stop using + // it. + // + // This member is required. + Enabled bool + + // The owner account ID for the fast-launch enabled Windows AMI. + AccountId *string + + // The launch template that the fast-launch enabled Windows AMI uses when it + // launches Windows instances to create pre-provisioned snapshots. + LaunchTemplate *FastLaunchLaunchTemplateSpecification + + // The maximum number of parallel instances that are launched for creating + // resources. + MaxParallelLaunches *int32 + + // Configuration settings for managing the number of snapshots that are created + // from pre-provisioned instances for the Windows AMI when faster launching is + // enabled. + SnapshotConfiguration *FastLaunchSnapshotConfiguration + + noSmithyDocumentSerde +} + +// Identifies the launch template that the associated Windows AMI uses for +// launching an instance when faster launching is enabled. You can specify either +// the launchTemplateName or the launchTemplateId, but not both. +type FastLaunchLaunchTemplateSpecification struct { + + // The ID of the launch template to use for faster launching for a Windows AMI. + LaunchTemplateId *string + + // The name of the launch template to use for faster launching for a Windows AMI. + LaunchTemplateName *string + + // The version of the launch template to use for faster launching for a Windows + // AMI. + LaunchTemplateVersion *string + + noSmithyDocumentSerde +} + +// Configuration settings for creating and managing pre-provisioned snapshots for a +// fast-launch enabled Windows AMI. +type FastLaunchSnapshotConfiguration struct { + + // The number of pre-provisioned snapshots to keep on hand for a fast-launch + // enabled Windows AMI. + TargetResourceCount *int32 + + noSmithyDocumentSerde +} + // A filter name and value pair that is used to return a more specific list of // results from a list operation. Filters can be used to match a set of resources // by specific criteria, such as tags, attributes, or IDs. diff --git a/service/imagebuilder/validators.go b/service/imagebuilder/validators.go index 47e473ebdf5..dc2b4e5bff2 100644 --- a/service/imagebuilder/validators.go +++ b/service/imagebuilder/validators.go @@ -1156,6 +1156,11 @@ func validateDistribution(v *types.Distribution) error { invalidParams.AddNested("S3ExportConfiguration", err.(smithy.InvalidParamsError)) } } + if v.FastLaunchConfigurations != nil { + if err := validateFastLaunchConfigurationList(v.FastLaunchConfigurations); err != nil { + invalidParams.AddNested("FastLaunchConfigurations", err.(smithy.InvalidParamsError)) + } + } if invalidParams.Len() > 0 { return invalidParams } else { @@ -1180,6 +1185,35 @@ func validateDistributionList(v []types.Distribution) error { } } +func validateFastLaunchConfiguration(v *types.FastLaunchConfiguration) error { + if v == nil { + return nil + } + invalidParams := smithy.InvalidParamsError{Context: "FastLaunchConfiguration"} + if invalidParams.Len() > 0 { + return invalidParams + } else { + return nil + } +} + +func validateFastLaunchConfigurationList(v []types.FastLaunchConfiguration) error { + if v == nil { + return nil + } + invalidParams := smithy.InvalidParamsError{Context: "FastLaunchConfigurationList"} + for i := range v { + if err := validateFastLaunchConfiguration(&v[i]); err != nil { + invalidParams.AddNested(fmt.Sprintf("[%d]", i), err.(smithy.InvalidParamsError)) + } + } + if invalidParams.Len() > 0 { + return invalidParams + } else { + return nil + } +} + func validateLaunchTemplateConfiguration(v *types.LaunchTemplateConfiguration) error { if v == nil { return nil diff --git a/service/iot/types/enums.go b/service/iot/types/enums.go index d089835f3a7..273f1e01ec1 100644 --- a/service/iot/types/enums.go +++ b/service/iot/types/enums.go @@ -1017,8 +1017,11 @@ type LogTargetType string // Enum values for LogTargetType const ( - LogTargetTypeDefault LogTargetType = "DEFAULT" - LogTargetTypeThingGroup LogTargetType = "THING_GROUP" + LogTargetTypeDefault LogTargetType = "DEFAULT" + LogTargetTypeThingGroup LogTargetType = "THING_GROUP" + LogTargetTypeClientId LogTargetType = "CLIENT_ID" + LogTargetTypeSourceIp LogTargetType = "SOURCE_IP" + LogTargetTypePrincipalId LogTargetType = "PRINCIPAL_ID" ) // Values returns all known values for LogTargetType. Note that this can be @@ -1028,6 +1031,9 @@ func (LogTargetType) Values() []LogTargetType { return []LogTargetType{ "DEFAULT", "THING_GROUP", + "CLIENT_ID", + "SOURCE_IP", + "PRINCIPAL_ID", } } diff --git a/service/iotsecuretunneling/internal/endpoints/endpoints.go b/service/iotsecuretunneling/internal/endpoints/endpoints.go index 1f3e713f2cf..10dd36479c5 100644 --- a/service/iotsecuretunneling/internal/endpoints/endpoints.go +++ b/service/iotsecuretunneling/internal/endpoints/endpoints.go @@ -134,6 +134,137 @@ var defaultPartitions = endpoints.Partitions{ }, RegionRegex: partitionRegexp.Aws, IsRegionalized: true, + Endpoints: endpoints.Endpoints{ + endpoints.EndpointKey{ + Region: "ap-east-1", + }: endpoints.Endpoint{}, + endpoints.EndpointKey{ + Region: "ap-northeast-1", + }: endpoints.Endpoint{}, + endpoints.EndpointKey{ + Region: "ap-northeast-2", + }: endpoints.Endpoint{}, + endpoints.EndpointKey{ + Region: "ap-south-1", + }: endpoints.Endpoint{}, + endpoints.EndpointKey{ + Region: "ap-southeast-1", + }: endpoints.Endpoint{}, + endpoints.EndpointKey{ + Region: "ap-southeast-2", + }: endpoints.Endpoint{}, + endpoints.EndpointKey{ + Region: "ca-central-1", + }: endpoints.Endpoint{}, + endpoints.EndpointKey{ + Region: "ca-central-1", + Variant: endpoints.FIPSVariant, + }: { + Hostname: "api.tunneling.iot-fips.ca-central-1.amazonaws.com", + }, + endpoints.EndpointKey{ + Region: "eu-central-1", + }: endpoints.Endpoint{}, + endpoints.EndpointKey{ + Region: "eu-north-1", + }: endpoints.Endpoint{}, + endpoints.EndpointKey{ + Region: "eu-west-1", + }: endpoints.Endpoint{}, + endpoints.EndpointKey{ + Region: "eu-west-2", + }: endpoints.Endpoint{}, + endpoints.EndpointKey{ + Region: "eu-west-3", + }: endpoints.Endpoint{}, + endpoints.EndpointKey{ + Region: "fips-ca-central-1", + }: endpoints.Endpoint{ + Hostname: "api.tunneling.iot-fips.ca-central-1.amazonaws.com", + CredentialScope: endpoints.CredentialScope{ + Region: "ca-central-1", + }, + Deprecated: aws.TrueTernary, + }, + endpoints.EndpointKey{ + Region: "fips-us-east-1", + }: endpoints.Endpoint{ + Hostname: "api.tunneling.iot-fips.us-east-1.amazonaws.com", + CredentialScope: endpoints.CredentialScope{ + Region: "us-east-1", + }, + Deprecated: aws.TrueTernary, + }, + endpoints.EndpointKey{ + Region: "fips-us-east-2", + }: endpoints.Endpoint{ + Hostname: "api.tunneling.iot-fips.us-east-2.amazonaws.com", + CredentialScope: endpoints.CredentialScope{ + Region: "us-east-2", + }, + Deprecated: aws.TrueTernary, + }, + endpoints.EndpointKey{ + Region: "fips-us-west-1", + }: endpoints.Endpoint{ + Hostname: "api.tunneling.iot-fips.us-west-1.amazonaws.com", + CredentialScope: endpoints.CredentialScope{ + Region: "us-west-1", + }, + Deprecated: aws.TrueTernary, + }, + endpoints.EndpointKey{ + Region: "fips-us-west-2", + }: endpoints.Endpoint{ + Hostname: "api.tunneling.iot-fips.us-west-2.amazonaws.com", + CredentialScope: endpoints.CredentialScope{ + Region: "us-west-2", + }, + Deprecated: aws.TrueTernary, + }, + endpoints.EndpointKey{ + Region: "me-south-1", + }: endpoints.Endpoint{}, + endpoints.EndpointKey{ + Region: "sa-east-1", + }: endpoints.Endpoint{}, + endpoints.EndpointKey{ + Region: "us-east-1", + }: endpoints.Endpoint{}, + endpoints.EndpointKey{ + Region: "us-east-1", + Variant: endpoints.FIPSVariant, + }: { + Hostname: "api.tunneling.iot-fips.us-east-1.amazonaws.com", + }, + endpoints.EndpointKey{ + Region: "us-east-2", + }: endpoints.Endpoint{}, + endpoints.EndpointKey{ + Region: "us-east-2", + Variant: endpoints.FIPSVariant, + }: { + Hostname: "api.tunneling.iot-fips.us-east-2.amazonaws.com", + }, + endpoints.EndpointKey{ + Region: "us-west-1", + }: endpoints.Endpoint{}, + endpoints.EndpointKey{ + Region: "us-west-1", + Variant: endpoints.FIPSVariant, + }: { + Hostname: "api.tunneling.iot-fips.us-west-1.amazonaws.com", + }, + endpoints.EndpointKey{ + Region: "us-west-2", + }: endpoints.Endpoint{}, + endpoints.EndpointKey{ + Region: "us-west-2", + Variant: endpoints.FIPSVariant, + }: { + Hostname: "api.tunneling.iot-fips.us-west-2.amazonaws.com", + }, + }, }, { ID: "aws-cn", @@ -169,6 +300,14 @@ var defaultPartitions = endpoints.Partitions{ }, RegionRegex: partitionRegexp.AwsCn, IsRegionalized: true, + Endpoints: endpoints.Endpoints{ + endpoints.EndpointKey{ + Region: "cn-north-1", + }: endpoints.Endpoint{}, + endpoints.EndpointKey{ + Region: "cn-northwest-1", + }: endpoints.Endpoint{}, + }, }, { ID: "aws-iso", @@ -246,5 +385,43 @@ var defaultPartitions = endpoints.Partitions{ }, RegionRegex: partitionRegexp.AwsUsGov, IsRegionalized: true, + Endpoints: endpoints.Endpoints{ + endpoints.EndpointKey{ + Region: "fips-us-gov-east-1", + }: endpoints.Endpoint{ + Hostname: "api.tunneling.iot-fips.us-gov-east-1.amazonaws.com", + CredentialScope: endpoints.CredentialScope{ + Region: "us-gov-east-1", + }, + Deprecated: aws.TrueTernary, + }, + endpoints.EndpointKey{ + Region: "fips-us-gov-west-1", + }: endpoints.Endpoint{ + Hostname: "api.tunneling.iot-fips.us-gov-west-1.amazonaws.com", + CredentialScope: endpoints.CredentialScope{ + Region: "us-gov-west-1", + }, + Deprecated: aws.TrueTernary, + }, + endpoints.EndpointKey{ + Region: "us-gov-east-1", + }: endpoints.Endpoint{}, + endpoints.EndpointKey{ + Region: "us-gov-east-1", + Variant: endpoints.FIPSVariant, + }: { + Hostname: "api.tunneling.iot-fips.us-gov-east-1.amazonaws.com", + }, + endpoints.EndpointKey{ + Region: "us-gov-west-1", + }: endpoints.Endpoint{}, + endpoints.EndpointKey{ + Region: "us-gov-west-1", + Variant: endpoints.FIPSVariant, + }: { + Hostname: "api.tunneling.iot-fips.us-gov-west-1.amazonaws.com", + }, + }, }, } diff --git a/service/kafka/deserializers.go b/service/kafka/deserializers.go index 49c2d072691..e50b8298eb3 100644 --- a/service/kafka/deserializers.go +++ b/service/kafka/deserializers.go @@ -6863,6 +6863,11 @@ func awsRestjson1_deserializeDocumentBrokerEBSVolumeInfo(v **types.BrokerEBSVolu sv.KafkaBrokerNodeId = ptr.String(jtv) } + case "provisionedThroughput": + if err := awsRestjson1_deserializeDocumentProvisionedThroughput(&sv.ProvisionedThroughput, value); err != nil { + return err + } + case "volumeSizeGB": if value != nil { jtv, ok := value.(json.Number) @@ -8114,6 +8119,11 @@ func awsRestjson1_deserializeDocumentEBSStorageInfo(v **types.EBSStorageInfo, va for key, value := range shape { switch key { + case "provisionedThroughput": + if err := awsRestjson1_deserializeDocumentProvisionedThroughput(&sv.ProvisionedThroughput, value); err != nil { + return err + } + case "volumeSize": if value != nil { jtv, ok := value.(json.Number) @@ -9234,6 +9244,59 @@ func awsRestjson1_deserializeDocumentProvisioned(v **types.Provisioned, value in return nil } +func awsRestjson1_deserializeDocumentProvisionedThroughput(v **types.ProvisionedThroughput, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.(map[string]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var sv *types.ProvisionedThroughput + if *v == nil { + sv = &types.ProvisionedThroughput{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "enabled": + if value != nil { + jtv, ok := value.(bool) + if !ok { + return fmt.Errorf("expected __boolean to be of type *bool, got %T instead", value) + } + sv.Enabled = jtv + } + + case "volumeThroughput": + if value != nil { + jtv, ok := value.(json.Number) + if !ok { + return fmt.Errorf("expected __integer to be json.Number, got %T instead", value) + } + i64, err := jtv.Int64() + if err != nil { + return err + } + sv.VolumeThroughput = int32(i64) + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + func awsRestjson1_deserializeDocumentPublicAccess(v **types.PublicAccess, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) diff --git a/service/kafka/serializers.go b/service/kafka/serializers.go index 6ad216d9986..6ffd20a06f2 100644 --- a/service/kafka/serializers.go +++ b/service/kafka/serializers.go @@ -2672,7 +2672,14 @@ func awsRestjson1_serializeDocumentBrokerEBSVolumeInfo(v *types.BrokerEBSVolumeI ok.String(*v.KafkaBrokerNodeId) } - { + if v.ProvisionedThroughput != nil { + ok := object.Key("provisionedThroughput") + if err := awsRestjson1_serializeDocumentProvisionedThroughput(v.ProvisionedThroughput, ok); err != nil { + return err + } + } + + if v.VolumeSizeGB != 0 { ok := object.Key("volumeSizeGB") ok.Integer(v.VolumeSizeGB) } @@ -2833,6 +2840,13 @@ func awsRestjson1_serializeDocumentEBSStorageInfo(v *types.EBSStorageInfo, value object := value.Object() defer object.Close() + if v.ProvisionedThroughput != nil { + ok := object.Key("provisionedThroughput") + if err := awsRestjson1_serializeDocumentProvisionedThroughput(v.ProvisionedThroughput, ok); err != nil { + return err + } + } + if v.VolumeSize != 0 { ok := object.Key("volumeSize") ok.Integer(v.VolumeSize) @@ -3057,6 +3071,23 @@ func awsRestjson1_serializeDocumentProvisionedRequest(v *types.ProvisionedReques return nil } +func awsRestjson1_serializeDocumentProvisionedThroughput(v *types.ProvisionedThroughput, value smithyjson.Value) error { + object := value.Object() + defer object.Close() + + if v.Enabled { + ok := object.Key("enabled") + ok.Boolean(v.Enabled) + } + + if v.VolumeThroughput != 0 { + ok := object.Key("volumeThroughput") + ok.Integer(v.VolumeThroughput) + } + + return nil +} + func awsRestjson1_serializeDocumentPublicAccess(v *types.PublicAccess, value smithyjson.Value) error { object := value.Object() defer object.Close() diff --git a/service/kafka/types/types.go b/service/kafka/types/types.go index 7b7099ba1a9..5eddbe7b7c3 100644 --- a/service/kafka/types/types.go +++ b/service/kafka/types/types.go @@ -17,9 +17,10 @@ type BrokerEBSVolumeInfo struct { // This member is required. KafkaBrokerNodeId *string + // EBS volume provisioned throughput information. + ProvisionedThroughput *ProvisionedThroughput + // Size of the EBS volume to update. - // - // This member is required. VolumeSizeGB int32 noSmithyDocumentSerde @@ -412,6 +413,9 @@ type ConnectivityInfo struct { // broker nodes. type EBSStorageInfo struct { + // EBS volume provisioned throughput information. + ProvisionedThroughput *ProvisionedThroughput + // The size in GiB of the EBS volume for the data drive on each broker node. VolumeSize int32 @@ -748,6 +752,20 @@ type ProvisionedRequest struct { noSmithyDocumentSerde } +// Contains information about provisioned throughput for EBS storage volumes +// attached to kafka broker nodes. +type ProvisionedThroughput struct { + + // Provisioned throughput is enabled or not. + Enabled bool + + // Throughput value of the EBS volumes for the data drive on each kafka broker node + // in MiB per second. + VolumeThroughput int32 + + noSmithyDocumentSerde +} + // Public access control for brokers. type PublicAccess struct { diff --git a/service/kendra/api_op_BatchDeleteDocument.go b/service/kendra/api_op_BatchDeleteDocument.go index 954d793cf54..d0ce4581171 100644 --- a/service/kendra/api_op_BatchDeleteDocument.go +++ b/service/kendra/api_op_BatchDeleteDocument.go @@ -12,10 +12,10 @@ import ( ) // Removes one or more documents from an index. The documents must have been added -// with the BatchPutDocument operation. The documents are deleted asynchronously. -// You can see the progress of the deletion by using Amazon Web Services -// CloudWatch. Any error messages related to the processing of the batch are sent -// to you CloudWatch log. +// with the BatchPutDocument API. The documents are deleted asynchronously. You can +// see the progress of the deletion by using Amazon Web Services CloudWatch. Any +// error messages related to the processing of the batch are sent to you CloudWatch +// log. func (c *Client) BatchDeleteDocument(ctx context.Context, params *BatchDeleteDocumentInput, optFns ...func(*Options)) (*BatchDeleteDocumentOutput, error) { if params == nil { params = &BatchDeleteDocumentInput{} diff --git a/service/kendra/api_op_BatchGetDocumentStatus.go b/service/kendra/api_op_BatchGetDocumentStatus.go index 610f34c5642..83b3af12517 100644 --- a/service/kendra/api_op_BatchGetDocumentStatus.go +++ b/service/kendra/api_op_BatchGetDocumentStatus.go @@ -13,15 +13,15 @@ import ( // Returns the indexing status for one or more documents submitted with the // BatchPutDocument -// (https://docs.aws.amazon.com/kendra/latest/dg/API_BatchPutDocument.html) -// operation. When you use the BatchPutDocument operation, documents are indexed -// asynchronously. You can use the BatchGetDocumentStatus operation to get the -// current status of a list of documents so that you can determine if they have -// been successfully indexed. You can also use the BatchGetDocumentStatus operation -// to check the status of the BatchDeleteDocument -// (https://docs.aws.amazon.com/kendra/latest/dg/API_BatchDeleteDocument.html) -// operation. When a document is deleted from the index, Amazon Kendra returns -// NOT_FOUND as the status. +// (https://docs.aws.amazon.com/kendra/latest/dg/API_BatchPutDocument.html) API. +// When you use the BatchPutDocument API, documents are indexed asynchronously. You +// can use the BatchGetDocumentStatus API to get the current status of a list of +// documents so that you can determine if they have been successfully indexed. You +// can also use the BatchGetDocumentStatus API to check the status of the +// BatchDeleteDocument +// (https://docs.aws.amazon.com/kendra/latest/dg/API_BatchDeleteDocument.html) API. +// When a document is deleted from the index, Amazon Kendra returns NOT_FOUND as +// the status. func (c *Client) BatchGetDocumentStatus(ctx context.Context, params *BatchGetDocumentStatusInput, optFns ...func(*Options)) (*BatchGetDocumentStatusOutput, error) { if params == nil { params = &BatchGetDocumentStatusInput{} @@ -47,7 +47,7 @@ type BatchGetDocumentStatusInput struct { // The identifier of the index to add documents to. The index ID is returned by the // CreateIndex (https://docs.aws.amazon.com/kendra/latest/dg/API_CreateIndex.html) - // operation. + // API. // // This member is required. IndexId *string diff --git a/service/kendra/api_op_BatchPutDocument.go b/service/kendra/api_op_BatchPutDocument.go index a8554229131..44b45d391b0 100644 --- a/service/kendra/api_op_BatchPutDocument.go +++ b/service/kendra/api_op_BatchPutDocument.go @@ -11,14 +11,14 @@ import ( smithyhttp "github.com/aws/smithy-go/transport/http" ) -// Adds one or more documents to an index. The BatchPutDocument operation enables -// you to ingest inline documents or a set of documents stored in an Amazon S3 -// bucket. Use this operation to ingest your text and unstructured text into an -// index, add custom attributes to the documents, and to attach an access control -// list to the documents added to the index. The documents are indexed -// asynchronously. You can see the progress of the batch using Amazon Web Services -// CloudWatch. Any error messages related to processing the batch are sent to your -// Amazon Web Services CloudWatch log. +// Adds one or more documents to an index. The BatchPutDocument API enables you to +// ingest inline documents or a set of documents stored in an Amazon S3 bucket. Use +// this API to ingest your text and unstructured text into an index, add custom +// attributes to the documents, and to attach an access control list to the +// documents added to the index. The documents are indexed asynchronously. You can +// see the progress of the batch using Amazon Web Services CloudWatch. Any error +// messages related to processing the batch are sent to your Amazon Web Services +// CloudWatch log. func (c *Client) BatchPutDocument(ctx context.Context, params *BatchPutDocumentInput, optFns ...func(*Options)) (*BatchPutDocumentOutput, error) { if params == nil { params = &BatchPutDocumentInput{} @@ -36,44 +36,40 @@ func (c *Client) BatchPutDocument(ctx context.Context, params *BatchPutDocumentI type BatchPutDocumentInput struct { - // One or more documents to add to the index. Documents can include custom - // attributes. 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. Documents have - // the following file size limits. + // One or more documents to add to the index. Documents have the following file + // size limits. // // * 5 MB total size for inline documents // - // * 50 MB - // total size for files from an S3 bucket + // * 50 MB total size for + // files from an S3 bucket // // * 5 MB extracted text for any file // - // For - // more information about file size and transaction per second quotas, see Quotas + // For more + // information about file size and transaction per second quotas, see Quotas // (https://docs.aws.amazon.com/kendra/latest/dg/quotas.html). // // This member is required. Documents []types.Document // The identifier of the index to add the documents to. You need to create the - // index first using the CreateIndex operation. + // index first using the CreateIndex API. // // This member is required. IndexId *string // Configuration information for altering your document metadata and content during - // the document ingestion process when you use the BatchPutDocument operation. For - // more information on how to create, modify and delete document metadata, or make - // other content alterations when you ingest documents into Amazon Kendra, see + // the document ingestion process when you use the BatchPutDocument API. For more + // information on how to create, modify and delete document metadata, or make other + // content alterations when you ingest documents into Amazon Kendra, see // Customizing document metadata during the ingestion process // (https://docs.aws.amazon.com/kendra/latest/dg/custom-document-enrichment.html). CustomDocumentEnrichmentConfiguration *types.CustomDocumentEnrichmentConfiguration // The Amazon Resource Name (ARN) of a role that is allowed to run the - // BatchPutDocument operation. For more information, see IAM Roles for Amazon - // Kendra (https://docs.aws.amazon.com/kendra/latest/dg/iam-roles.html). + // BatchPutDocument API. For more information, see IAM Roles for Amazon Kendra + // (https://docs.aws.amazon.com/kendra/latest/dg/iam-roles.html). RoleArn *string noSmithyDocumentSerde diff --git a/service/kendra/api_op_CreateDataSource.go b/service/kendra/api_op_CreateDataSource.go index 29ca5a15c39..99f187877c7 100644 --- a/service/kendra/api_op_CreateDataSource.go +++ b/service/kendra/api_op_CreateDataSource.go @@ -55,7 +55,7 @@ type CreateDataSourceInput struct { Type types.DataSourceType // A token that you provide to identify the request to create a data source. - // Multiple calls to the CreateDataSource operation with the same client token will + // Multiple calls to the CreateDataSource API with the same client token will // create only one data source. ClientToken *string @@ -91,11 +91,11 @@ type CreateDataSourceInput struct { // all other data sources. RoleArn *string - // Sets the frequency that Amazon Kendra will check the documents in your - // repository and update the index. If you don't set a schedule Amazon Kendra will - // not periodically update the index. You can call the StartDataSourceSyncJob - // operation to update the index. You can't specify the Schedule parameter when the - // Type parameter is set to CUSTOM. If you do, you receive a ValidationException + // Sets the frequency for Amazon Kendra to check the documents in your repository + // and update the index. If you don't set a schedule Amazon Kendra will not + // periodically update the index. You can call the StartDataSourceSyncJob API to + // update the index. You can't specify the Schedule parameter when the Type + // parameter is set to CUSTOM. If you do, you receive a ValidationException // exception. Schedule *string diff --git a/service/kendra/api_op_CreateExperience.go b/service/kendra/api_op_CreateExperience.go index f42632cc193..bfddc4b2a96 100644 --- a/service/kendra/api_op_CreateExperience.go +++ b/service/kendra/api_op_CreateExperience.go @@ -44,8 +44,8 @@ type CreateExperienceInput struct { Name *string // A token that you provide to identify the request to create your Amazon Kendra - // experience. Multiple calls to the CreateExperience operation with the same - // client token creates only one Amazon Kendra experience. + // experience. Multiple calls to the CreateExperience API with the same client + // token creates only one Amazon Kendra experience. ClientToken *string // Provides the configuration information for your Amazon Kendra experience. This @@ -57,11 +57,10 @@ type CreateExperienceInput struct { // A description for your Amazon Kendra experience. Description *string - // The Amazon Resource Name (ARN) of a role with permission to access Query - // operations, QuerySuggestions operations, SubmitFeedback operations, and Amazon - // Web Services SSO that stores your user and group information. For more - // information, see IAM roles for Amazon Kendra - // (https://docs.aws.amazon.com/kendra/latest/dg/iam-roles.html). + // The Amazon Resource Name (ARN) of a role with permission to access Query API, + // QuerySuggestions API, SubmitFeedback API, and Amazon Web Services SSO that + // stores your user and group information. For more information, see IAM roles for + // Amazon Kendra (https://docs.aws.amazon.com/kendra/latest/dg/iam-roles.html). RoleArn *string noSmithyDocumentSerde diff --git a/service/kendra/api_op_CreateFaq.go b/service/kendra/api_op_CreateFaq.go index 02cfad30413..6ababb64254 100644 --- a/service/kendra/api_op_CreateFaq.go +++ b/service/kendra/api_op_CreateFaq.go @@ -54,8 +54,7 @@ type CreateFaqInput struct { S3Path *types.S3Path // A token that you provide to identify the request to create a FAQ. Multiple calls - // to the CreateFaqRequest operation with the same client token will create only - // one FAQ. + // to the CreateFaqRequest API with the same client token will create only one FAQ. ClientToken *string // A description of the FAQ. diff --git a/service/kendra/api_op_CreateIndex.go b/service/kendra/api_op_CreateIndex.go index 5c37b17233b..c495ae83d08 100644 --- a/service/kendra/api_op_CreateIndex.go +++ b/service/kendra/api_op_CreateIndex.go @@ -12,11 +12,11 @@ import ( smithyhttp "github.com/aws/smithy-go/transport/http" ) -// Creates a new Amazon Kendra index. Index creation is an asynchronous operation. -// To determine if index creation has completed, check the Status field returned -// from a call to DescribeIndex. The Status field is set to ACTIVE when the index -// is ready to use. Once the index is active you can index your documents using the -// BatchPutDocument operation or using one of the supported data sources. +// Creates a new Amazon Kendra index. Index creation is an asynchronous API. To +// determine if index creation has completed, check the Status field returned from +// a call to DescribeIndex. The Status field is set to ACTIVE when the index is +// ready to use. Once the index is active you can index your documents using the +// BatchPutDocument API or using one of the supported data sources. func (c *Client) CreateIndex(ctx context.Context, params *CreateIndexInput, optFns ...func(*Options)) (*CreateIndexOutput, error) { if params == nil { params = &CreateIndexInput{} @@ -41,15 +41,15 @@ type CreateIndexInput struct { // An Identity and Access Management(IAM) role that gives Amazon Kendra permissions // to access your Amazon CloudWatch logs and metrics. This is also the role used - // when you use the BatchPutDocument operation to index documents from an Amazon S3 + // when you use the BatchPutDocument API to index documents from an Amazon S3 // bucket. // // This member is required. RoleArn *string // A token that you provide to identify the request to create an index. Multiple - // calls to the CreateIndex operation with the same client token will create only - // one index. + // calls to the CreateIndex API with the same client token will create only one + // index. ClientToken *string // A description for the index. diff --git a/service/kendra/api_op_CreateQuerySuggestionsBlockList.go b/service/kendra/api_op_CreateQuerySuggestionsBlockList.go index c38f3279849..055e5ced22a 100644 --- a/service/kendra/api_op_CreateQuerySuggestionsBlockList.go +++ b/service/kendra/api_op_CreateQuerySuggestionsBlockList.go @@ -53,9 +53,9 @@ type CreateQuerySuggestionsBlockListInput struct { // The IAM (Identity and Access Management) role used by Amazon Kendra to access // the block list text file in your S3 bucket. You need permissions to the role ARN - // (Amazon Resource Name). The role needs S3 read permissions to your file in S3 - // and needs to give STS (Security Token Service) assume role permissions to Amazon - // Kendra. + // (Amazon Web Services Resource Name). The role needs S3 read permissions to your + // file in S3 and needs to give STS (Security Token Service) assume role + // permissions to Amazon Kendra. // // This member is required. RoleArn *string diff --git a/service/kendra/api_op_CreateThesaurus.go b/service/kendra/api_op_CreateThesaurus.go index 07e619bb051..2981b01df96 100644 --- a/service/kendra/api_op_CreateThesaurus.go +++ b/service/kendra/api_op_CreateThesaurus.go @@ -53,8 +53,8 @@ type CreateThesaurusInput struct { SourceS3Path *types.S3Path // A token that you provide to identify the request to create a thesaurus. Multiple - // calls to the CreateThesaurus operation with the same client token will create - // only one thesaurus. + // calls to the CreateThesaurus API with the same client token will create only one + // thesaurus. ClientToken *string // The description for the new thesaurus. diff --git a/service/kendra/api_op_DeleteDataSource.go b/service/kendra/api_op_DeleteDataSource.go index a26897ee0d5..3dd87fa559c 100644 --- a/service/kendra/api_op_DeleteDataSource.go +++ b/service/kendra/api_op_DeleteDataSource.go @@ -12,7 +12,7 @@ import ( // Deletes an Amazon Kendra data source. An exception is not thrown if the data // source is already being deleted. While the data source is being deleted, the -// Status field returned by a call to the DescribeDataSource operation is set to +// Status field returned by a call to the DescribeDataSource API is set to // DELETING. For more information, see Deleting Data Sources // (https://docs.aws.amazon.com/kendra/latest/dg/delete-data-source.html). func (c *Client) DeleteDataSource(ctx context.Context, params *DeleteDataSourceInput, optFns ...func(*Options)) (*DeleteDataSourceOutput, error) { diff --git a/service/kendra/api_op_DeleteIndex.go b/service/kendra/api_op_DeleteIndex.go index 3fa5c705479..e1d477d7cbd 100644 --- a/service/kendra/api_op_DeleteIndex.go +++ b/service/kendra/api_op_DeleteIndex.go @@ -12,7 +12,7 @@ import ( // Deletes an existing Amazon Kendra index. An exception is not thrown if the index // is already being deleted. While the index is being deleted, the Status field -// returned by a call to the DescribeIndex operation is set to DELETING. +// returned by a call to the DescribeIndex API is set to DELETING. func (c *Client) DeleteIndex(ctx context.Context, params *DeleteIndexInput, optFns ...func(*Options)) (*DeleteIndexOutput, error) { if params == nil { params = &DeleteIndexInput{} diff --git a/service/kendra/api_op_DescribeDataSource.go b/service/kendra/api_op_DescribeDataSource.go index 4478a854785..11fa85a6225 100644 --- a/service/kendra/api_op_DescribeDataSource.go +++ b/service/kendra/api_op_DescribeDataSource.go @@ -12,7 +12,7 @@ import ( "time" ) -// Gets information about a Amazon Kendra data source. +// Gets information about an Amazon Kendra data source. func (c *Client) DescribeDataSource(ctx context.Context, params *DescribeDataSourceInput, optFns ...func(*Options)) (*DescribeDataSourceOutput, error) { if params == nil { params = &DescribeDataSourceInput{} @@ -88,7 +88,7 @@ type DescribeDataSourceOutput struct { // access its resources. RoleArn *string - // The schedule that Amazon Kendra will update the data source. + // The schedule for Amazon Kendra to update the index. Schedule *string // The current status of the data source. When the status is ACTIVE the data source diff --git a/service/kendra/api_op_DescribeExperience.go b/service/kendra/api_op_DescribeExperience.go index e94fad9393a..00a0db6c4ec 100644 --- a/service/kendra/api_op_DescribeExperience.go +++ b/service/kendra/api_op_DescribeExperience.go @@ -78,8 +78,8 @@ type DescribeExperienceOutput struct { Name *string // Shows the Amazon Resource Name (ARN) of a role with permission to access Query - // operations, QuerySuggestions operations, SubmitFeedback operations, and Amazon - // Web Services SSO that stores your user and group information. + // API, QuerySuggestions API, SubmitFeedback API, and Amazon Web Services SSO that + // stores your user and group information. RoleArn *string // The current processing status of your Amazon Kendra experience. When the status diff --git a/service/kendra/api_op_DescribeQuerySuggestionsConfig.go b/service/kendra/api_op_DescribeQuerySuggestionsConfig.go index b3612c380fc..06c1fe8d728 100644 --- a/service/kendra/api_op_DescribeQuerySuggestionsConfig.go +++ b/service/kendra/api_op_DescribeQuerySuggestionsConfig.go @@ -69,7 +69,7 @@ type DescribeQuerySuggestionsConfigOutput struct { // query suggestions for your users. You can change the mode using the // UpdateQuerySuggestionsConfig // (https://docs.aws.amazon.com/kendra/latest/dg/API_UpdateQuerySuggestionsConfig.html) - // operation. + // API. Mode types.Mode // Shows how recent your queries are in your query log time window (in days). diff --git a/service/kendra/api_op_Query.go b/service/kendra/api_op_Query.go index 7c0653c68ef..3c0462e9c53 100644 --- a/service/kendra/api_op_Query.go +++ b/service/kendra/api_op_Query.go @@ -12,22 +12,22 @@ import ( ) // Searches an active index. Use this API to search your documents using query. The -// Query operation 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. +// 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. // -// * Relevant -// passages +// * Relevant passages // -// * Matching FAQs +// * Matching +// FAQs // // * Relevant documents // -// You can specify that the query -// return only one type of result using the QueryResultTypeConfig parameter. Each -// query returns the 100 most relevant results. +// You can specify that the query return only one type +// of result using the QueryResultTypeConfig parameter. Each query returns the 100 +// most relevant results. func (c *Client) Query(ctx context.Context, params *QueryInput, optFns ...func(*Options)) (*QueryOutput, error) { if params == nil { params = &QueryInput{} @@ -46,7 +46,7 @@ func (c *Client) Query(ctx context.Context, params *QueryInput, optFns ...func(* type QueryInput struct { // The unique identifier of the index to search. The identifier is returned in the - // response from the CreateIndex operation. + // response from the CreateIndex API. // // This member is required. IndexId *string diff --git a/service/kendra/api_op_StopDataSourceSyncJob.go b/service/kendra/api_op_StopDataSourceSyncJob.go index 305154d98bf..6b17157f0af 100644 --- a/service/kendra/api_op_StopDataSourceSyncJob.go +++ b/service/kendra/api_op_StopDataSourceSyncJob.go @@ -10,8 +10,8 @@ import ( smithyhttp "github.com/aws/smithy-go/transport/http" ) -// Stops a running synchronization job. You can't stop a scheduled synchronization -// job. +// Stops a synchronization job that is currently running. You can't stop a +// scheduled synchronization job. func (c *Client) StopDataSourceSyncJob(ctx context.Context, params *StopDataSourceSyncJobInput, optFns ...func(*Options)) (*StopDataSourceSyncJobOutput, error) { if params == nil { params = &StopDataSourceSyncJobInput{} diff --git a/service/kendra/api_op_SubmitFeedback.go b/service/kendra/api_op_SubmitFeedback.go index fc60aea6ce4..e7e08ca29af 100644 --- a/service/kendra/api_op_SubmitFeedback.go +++ b/service/kendra/api_op_SubmitFeedback.go @@ -37,7 +37,7 @@ type SubmitFeedbackInput struct { IndexId *string // The identifier of the specific query for which you are submitting feedback. The - // query ID is returned in the response to the Query operation. + // query ID is returned in the response to the Query API. // // This member is required. QueryId *string diff --git a/service/kendra/api_op_UpdateExperience.go b/service/kendra/api_op_UpdateExperience.go index 0456a10ba9d..2ecb3df9e44 100644 --- a/service/kendra/api_op_UpdateExperience.go +++ b/service/kendra/api_op_UpdateExperience.go @@ -54,11 +54,10 @@ type UpdateExperienceInput struct { // The name of your Amazon Kendra experience you want to update. Name *string - // The Amazon Resource Name (ARN) of a role with permission to access Query - // operations, QuerySuggestions operations, SubmitFeedback operations, and Amazon - // Web Services SSO that stores your user and group information. For more - // information, see IAM roles for Amazon Kendra - // (https://docs.aws.amazon.com/kendra/latest/dg/iam-roles.html). + // The Amazon Resource Name (ARN) of a role with permission to access Query API, + // QuerySuggestions API, SubmitFeedback API, and Amazon Web Services SSO that + // stores your user and group information. For more information, see IAM roles for + // Amazon Kendra (https://docs.aws.amazon.com/kendra/latest/dg/iam-roles.html). RoleArn *string noSmithyDocumentSerde diff --git a/service/kendra/deserializers.go b/service/kendra/deserializers.go index 2cf2cc50a37..e73be54da55 100644 --- a/service/kendra/deserializers.go +++ b/service/kendra/deserializers.go @@ -8795,6 +8795,11 @@ func awsAwsjson11_deserializeDocumentDataSourceConfiguration(v **types.DataSourc return err } + case "FsxConfiguration": + if err := awsAwsjson11_deserializeDocumentFsxConfiguration(&sv.FsxConfiguration, value); err != nil { + return err + } + case "GoogleDriveConfiguration": if err := awsAwsjson11_deserializeDocumentGoogleDriveConfiguration(&sv.GoogleDriveConfiguration, value); err != nil { return err @@ -10863,6 +10868,84 @@ func awsAwsjson11_deserializeDocumentFaqSummaryItems(v *[]types.FaqSummary, valu return nil } +func awsAwsjson11_deserializeDocumentFsxConfiguration(v **types.FsxConfiguration, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.(map[string]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var sv *types.FsxConfiguration + if *v == nil { + sv = &types.FsxConfiguration{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "ExclusionPatterns": + if err := awsAwsjson11_deserializeDocumentDataSourceInclusionsExclusionsStrings(&sv.ExclusionPatterns, value); err != nil { + return err + } + + case "FieldMappings": + if err := awsAwsjson11_deserializeDocumentDataSourceToIndexFieldMappingList(&sv.FieldMappings, value); err != nil { + return err + } + + case "FileSystemId": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected FileSystemId to be of type string, got %T instead", value) + } + sv.FileSystemId = ptr.String(jtv) + } + + case "FileSystemType": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected FsxFileSystemType to be of type string, got %T instead", value) + } + sv.FileSystemType = types.FsxFileSystemType(jtv) + } + + case "InclusionPatterns": + if err := awsAwsjson11_deserializeDocumentDataSourceInclusionsExclusionsStrings(&sv.InclusionPatterns, value); err != nil { + return err + } + + case "SecretArn": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected SecretArn to be of type string, got %T instead", value) + } + sv.SecretArn = ptr.String(jtv) + } + + case "VpcConfiguration": + if err := awsAwsjson11_deserializeDocumentDataSourceVpcConfiguration(&sv.VpcConfiguration, value); err != nil { + return err + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + func awsAwsjson11_deserializeDocumentGoogleDriveConfiguration(v **types.GoogleDriveConfiguration, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) diff --git a/service/kendra/serializers.go b/service/kendra/serializers.go index d200a528d7e..97b452aca9a 100644 --- a/service/kendra/serializers.go +++ b/service/kendra/serializers.go @@ -3774,6 +3774,13 @@ func awsAwsjson11_serializeDocumentDataSourceConfiguration(v *types.DataSourceCo } } + if v.FsxConfiguration != nil { + ok := object.Key("FsxConfiguration") + if err := awsAwsjson11_serializeDocumentFsxConfiguration(v.FsxConfiguration, ok); err != nil { + return err + } + } + if v.GoogleDriveConfiguration != nil { ok := object.Key("GoogleDriveConfiguration") if err := awsAwsjson11_serializeDocumentGoogleDriveConfiguration(v.GoogleDriveConfiguration, ok); err != nil { @@ -4449,6 +4456,56 @@ func awsAwsjson11_serializeDocumentFaqIdsList(v []string, value smithyjson.Value return nil } +func awsAwsjson11_serializeDocumentFsxConfiguration(v *types.FsxConfiguration, value smithyjson.Value) error { + object := value.Object() + defer object.Close() + + if v.ExclusionPatterns != nil { + ok := object.Key("ExclusionPatterns") + if err := awsAwsjson11_serializeDocumentDataSourceInclusionsExclusionsStrings(v.ExclusionPatterns, ok); err != nil { + return err + } + } + + if v.FieldMappings != nil { + ok := object.Key("FieldMappings") + if err := awsAwsjson11_serializeDocumentDataSourceToIndexFieldMappingList(v.FieldMappings, ok); err != nil { + return err + } + } + + if v.FileSystemId != nil { + ok := object.Key("FileSystemId") + ok.String(*v.FileSystemId) + } + + if len(v.FileSystemType) > 0 { + ok := object.Key("FileSystemType") + ok.String(string(v.FileSystemType)) + } + + if v.InclusionPatterns != nil { + ok := object.Key("InclusionPatterns") + if err := awsAwsjson11_serializeDocumentDataSourceInclusionsExclusionsStrings(v.InclusionPatterns, ok); err != nil { + return err + } + } + + if v.SecretArn != nil { + ok := object.Key("SecretArn") + ok.String(*v.SecretArn) + } + + if v.VpcConfiguration != nil { + ok := object.Key("VpcConfiguration") + if err := awsAwsjson11_serializeDocumentDataSourceVpcConfiguration(v.VpcConfiguration, ok); err != nil { + return err + } + } + + return nil +} + func awsAwsjson11_serializeDocumentGoogleDriveConfiguration(v *types.GoogleDriveConfiguration, value smithyjson.Value) error { object := value.Object() defer object.Close() diff --git a/service/kendra/types/enums.go b/service/kendra/types/enums.go index 50589d8d5d5..2792fff0cd1 100644 --- a/service/kendra/types/enums.go +++ b/service/kendra/types/enums.go @@ -315,6 +315,7 @@ const ( DataSourceTypeGoogledrive DataSourceType = "GOOGLEDRIVE" DataSourceTypeWebcrawler DataSourceType = "WEBCRAWLER" DataSourceTypeWorkdocs DataSourceType = "WORKDOCS" + DataSourceTypeFsx DataSourceType = "FSX" ) // Values returns all known values for DataSourceType. Note that this can be @@ -333,6 +334,7 @@ func (DataSourceType) Values() []DataSourceType { "GOOGLEDRIVE", "WEBCRAWLER", "WORKDOCS", + "FSX", } } @@ -502,6 +504,22 @@ func (FaqStatus) Values() []FaqStatus { } } +type FsxFileSystemType string + +// Enum values for FsxFileSystemType +const ( + FsxFileSystemTypeWindows FsxFileSystemType = "WINDOWS" +) + +// Values returns all known values for FsxFileSystemType. Note that this can be +// expanded in the future, and so it is only as up to date as the client. The +// ordering of this slice is not guaranteed to be stable across updates. +func (FsxFileSystemType) Values() []FsxFileSystemType { + return []FsxFileSystemType{ + "WINDOWS", + } +} + type HighlightType string // Enum values for HighlightType diff --git a/service/kendra/types/types.go b/service/kendra/types/types.go index 2641edf51e6..01e5c336143 100644 --- a/service/kendra/types/types.go +++ b/service/kendra/types/types.go @@ -24,7 +24,7 @@ type AclConfiguration struct { // A list of groups, separated by semi-colons, that filters a query response based // on user context. The document is only returned to users that are in one of the - // groups specified in the UserContext field of the Query operation. + // groups specified in the UserContext field of the Query API. // // This member is required. AllowedGroupsColumnName *string @@ -155,7 +155,7 @@ type BasicAuthenticationConfiguration struct { } // Provides information about documents that could not be removed from an index by -// the BatchDeleteDocument operation. +// the BatchDeleteDocument API. type BatchDeleteDocumentResponseFailedDocument struct { // The error code for why the document couldn't be removed from the index. @@ -230,7 +230,7 @@ type CapacityUnitsConfiguration struct { } // Gathers information about when a particular result was clicked by a user. Your -// application uses the SubmitFeedback operation to provide click information. +// application uses the SubmitFeedback API to provide click information. type ClickFeedback struct { // The Unix timestamp of the date and time that the result was clicked. @@ -270,7 +270,7 @@ type ColumnConfiguration struct { // An array of objects that map database column names to the corresponding fields // in an index. You must first create the fields in the index using the UpdateIndex - // operation. + // API. FieldMappings []DataSourceToIndexFieldMapping noSmithyDocumentSerde @@ -283,7 +283,7 @@ type ConfluenceAttachmentConfiguration struct { // Defines how attachment metadata fields should be mapped to index fields. Before // you can map a field, you must first create an index field with a matching type - // using the console or the UpdateIndex operation. If you specify the + // using the console or the UpdateIndex API. If you specify the // AttachentFieldMappings parameter, you must specify at least one field mapping. AttachmentFieldMappings []ConfluenceAttachmentToIndexFieldMapping @@ -296,11 +296,11 @@ type ConfluenceAttachmentConfiguration struct { // Defines the mapping between a field in the Confluence data source to a Amazon // Kendra index field. You must first create the index field using the UpdateIndex -// operation. +// API. type ConfluenceAttachmentToIndexFieldMapping struct { // The name of the field in the data source. You must first create the index field - // using the UpdateIndex operation. + // using the UpdateIndex API. DataSourceFieldName ConfluenceAttachmentFieldName // The format for date fields in the data source. If the field specified in @@ -317,12 +317,12 @@ type ConfluenceAttachmentToIndexFieldMapping struct { // Specifies the blog settings for the Confluence data source. Blogs are always // indexed unless filtered from the index by the ExclusionPatterns or -// InclusionPatterns fields in the ConfluenceConfiguration type. +// InclusionPatterns fields in the ConfluenceConfiguration object. type ConfluenceBlogConfiguration struct { // Defines how blog metadata fields should be mapped to index fields. Before you // can map a field, you must first create an index field with a matching type using - // the console or the UpdateIndex operation. If you specify the BlogFieldMappings + // the console or the UpdateIndex API. If you specify the BlogFieldMappings // parameter, you must specify at least one field mapping. BlogFieldMappings []ConfluenceBlogToIndexFieldMapping @@ -331,7 +331,7 @@ type ConfluenceBlogConfiguration struct { // Defines the mapping between a blog field in the Confluence data source to a // Amazon Kendra index field. You must first create the index field using the -// UpdateIndex operation. +// UpdateIndex API. type ConfluenceBlogToIndexFieldMapping struct { // The name of the field in the data source. @@ -418,7 +418,7 @@ type ConfluencePageConfiguration struct { // Defines how page metadata fields should be mapped to index fields. Before you // can map a field, you must first create an index field with a matching type using - // the console or the UpdateIndex operation. If you specify the PageFieldMappings + // the console or the UpdateIndex API. If you specify the PageFieldMappings // parameter, you must specify at least one field mapping. PageFieldMappings []ConfluencePageToIndexFieldMapping @@ -427,7 +427,7 @@ type ConfluencePageConfiguration struct { // Defines the mapping between a field in the Confluence data source to a Amazon // Kendra index field. You must first create the index field using the UpdateIndex -// operation. +// API. type ConfluencePageToIndexFieldMapping struct { // The name of the field in the data source. @@ -472,16 +472,16 @@ type ConfluenceSpaceConfiguration struct { // Defines how space metadata fields should be mapped to index fields. Before you // can map a field, you must first create an index field with a matching type using - // the console or the UpdateIndex operation. If you specify the SpaceFieldMappings + // the console or the UpdateIndex API. If you specify the SpaceFieldMappings // parameter, you must specify at least one field mapping. SpaceFieldMappings []ConfluenceSpaceToIndexFieldMapping noSmithyDocumentSerde } -// Defines the mapping between a field in the Confluence data source to a Amazon +// Defines the mapping between a field in the Confluence data source to an Amazon // Kendra index field. You must first create the index field using the UpdateIndex -// operation. +// API. type ConfluenceSpaceToIndexFieldMapping struct { // The name of the field in the data source. @@ -546,7 +546,7 @@ type ContentSourceConfiguration struct { // experience. DataSourceIds []string - // TRUE to use documents you indexed directly using the BatchPutDocument operation. + // TRUE to use documents you indexed directly using the BatchPutDocument API. DirectPutContent bool // The identifier of the FAQs that you want to use for your Amazon Kendra @@ -634,6 +634,10 @@ type DataSourceConfiguration struct { // Provides information necessary to create a data source connector for a database. DatabaseConfiguration *DatabaseConfiguration + // Provides the configuration information to connect to Amazon FSx as your data + // source. + FsxConfiguration *FsxConfiguration + // Provides configuration for data sources that connect to Google Drive. GoogleDriveConfiguration *GoogleDriveConfiguration @@ -658,8 +662,8 @@ type DataSourceConfiguration struct { // Provides the configuration information required for Amazon Kendra Web Crawler. WebCrawlerConfiguration *WebCrawlerConfiguration - // Provides the configuration information to connect to WorkDocs as your data - // source. + // Provides the configuration information to connect to Amazon WorkDocs as your + // data source. WorkDocsConfiguration *WorkDocsConfiguration noSmithyDocumentSerde @@ -684,8 +688,8 @@ type DataSourceGroup struct { noSmithyDocumentSerde } -// Summary information for a Amazon Kendra data source. Returned in a call to the -// DescribeDataSource operation. +// Summary information for an Amazon Kendra data source. Returned in a call to the +// DescribeDataSource API. type DataSourceSummary struct { // The UNIX datetime that the data source was created. @@ -717,18 +721,18 @@ type DataSourceSummary struct { noSmithyDocumentSerde } -// Provides information about a synchronization job. +// Provides information about a data source synchronization job. type DataSourceSyncJob struct { // If the reason that the synchronization failed is due to an error with the // underlying data source, this field contains a code that identifies the error. DataSourceErrorCode *string - // The UNIX datetime that the synchronization job was completed. + // The UNIX datetime that the synchronization job completed. EndTime *time.Time - // If the Status field is set to FAILED, the ErrorCode field contains a the reason - // that the synchronization failed. + // If the Status field is set to FAILED, the ErrorCode field indicates the reason + // the synchronization failed. ErrorCode ErrorCode // If the Status field is set to ERROR, the ErrorMessage field contains a @@ -743,7 +747,7 @@ type DataSourceSyncJob struct { // connector. Metrics *DataSourceSyncJobMetrics - // The UNIX datetime that the synchronization job was started. + // The UNIX datetime that the synchronization job started. StartTime *time.Time // The execution status of the synchronization job. When the Status field is set to @@ -802,7 +806,7 @@ type DataSourceSyncJobMetricTarget struct { } // Maps a column or attribute in the data source to an index field. You must first -// create the fields in the index using the UpdateIndex operation. +// create the fields in the index using the UpdateIndex API. type DataSourceToIndexFieldMapping struct { // The name of the column or attribute in the data source. @@ -854,14 +858,18 @@ type Document struct { // 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. + // 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. Attributes []DocumentAttribute // The contents of the document. Documents passed to the Blob parameter must be // base64 encoded. Your code might not need to encode the document file bytes if - // you're using an Amazon Web Services SDK to call Amazon Kendra operations. If you - // are calling the Amazon Kendra endpoint directly using REST, you must base64 - // encode the contents before sending. + // you're using an Amazon Web Services SDK to call Amazon Kendra APIs. If you are + // calling the Amazon Kendra endpoint directly using REST, you must base64 encode + // the contents before sending. Blob []byte // The file type of the document in the Blob field. @@ -1160,8 +1168,8 @@ type EntityPersonaConfiguration struct { type ExperienceConfiguration struct { // The identifiers of your data sources and FAQs. Or, you can specify that you want - // to use documents indexed via the BatchPutDocument operation. This is the content - // you want to use for your Amazon Kendra experience. + // to use documents indexed via the BatchPutDocument API. This is the content you + // want to use for your Amazon Kendra experience. ContentSourceConfiguration *ContentSourceConfiguration // The Amazon Web Services SSO field name that contains the identifiers of your @@ -1319,6 +1327,70 @@ type FaqSummary struct { noSmithyDocumentSerde } +// Provides the configuration information to connect to Amazon FSx as your data +// source. +type FsxConfiguration struct { + + // The identifier of the Amazon FSx file system. You can find your file system ID + // on the file system dashboard in the Amazon FSx console. For information on how + // to create a file system in Amazon FSx console, using Windows File Server as an + // example, see Amazon FSx Getting started guide + // (https://docs.aws.amazon.com/fsx/latest/WindowsGuide/getting-started-step1.html). + // + // This member is required. + FileSystemId *string + + // The Amazon FSx file system type. Windows is currently the only supported type. + // + // This member is required. + FileSystemType FsxFileSystemType + + // Provides the configuration information for connecting to an Amazon Virtual + // Private Cloud for your Amazon FSx. Your Amazon FSx instance must reside inside + // your VPC. + // + // This member is required. + VpcConfiguration *DataSourceVpcConfiguration + + // A list of regular expression patterns to exclude certain files in your Amazon + // FSx file system. Files that match the patterns are excluded from the index. + // Files that don’t match the patterns are included in the index. If a file matches + // both an inclusion pattern and an exclusion pattern, the exclusion pattern takes + // precedence and the file isn't included in the index. + ExclusionPatterns []string + + // A list of DataSourceToIndexFieldMapping objects that map Amazon FSx data source + // attributes or field names to Amazon Kendra index field names in Amazon Kendra. + // To create custom fields, use the UpdateIndex API before you map to Amazon FSx + // fields. For more information, see Mapping data source fields + // (https://docs.aws.amazon.com/kendra/latest/dg/field-mapping.html). The Amazon + // FSx data source field names must exist in your Amazon FSx custom metadata. + FieldMappings []DataSourceToIndexFieldMapping + + // A list of regular expression patterns to include certain files in your Amazon + // FSx file system. Files that match the patterns are included in the index. Files + // that don't match the patterns are excluded from the index. If a file matches + // both an inclusion pattern and an exclusion pattern, the exclusion pattern takes + // precedence and the file isn't included in the index. + InclusionPatterns []string + + // The Amazon Resource Name (ARN) of an Secrets Manager secret that contains the + // key-value pairs required to connect to your Amazon FSx file system. Windows is + // currently the only supported type. The secret must contain a JSON structure with + // the following keys: + // + // * username—The Active Directory user name, along with the + // Domain Name System (DNS) domain name. For example, user@corp.example.com. The + // Active Directory user account must have read and mounting access to the Amazon + // FSx file system for Windows. + // + // * password—The password of the active directory + // user with read and mounting access Amazon FSx Windows file system. + SecretArn *string + + noSmithyDocumentSerde +} + // Provides configuration information for data sources that connect to Google // Drive. type GoogleDriveConfiguration struct { @@ -1356,7 +1428,7 @@ type GoogleDriveConfiguration struct { // Defines mapping between a field in the Google Drive and a Amazon Kendra index // field. If you are using the console, you can define index fields when creating // the mapping. If you are using the API, you must first create the field using the - // UpdateIndex operation. + // UpdateIndex API. FieldMappings []DataSourceToIndexFieldMapping // A list of regular expression patterns that apply to path on Google Drive. Items @@ -1529,7 +1601,7 @@ type IndexConfigurationSummary struct { // This member is required. Status IndexStatus - // The Unix timestamp when the index was last updated by the UpdateIndex operation. + // The Unix timestamp when the index was last updated by the UpdateIndex API. // // This member is required. UpdatedAt *time.Time @@ -1539,7 +1611,7 @@ type IndexConfigurationSummary struct { Edition IndexEdition // A unique identifier for the index. Use this to identify the index when you are - // using operations such as Query, DescribeIndex, UpdateIndex, and DeleteIndex. + // using APIs such as Query, DescribeIndex, UpdateIndex, and DeleteIndex. Id *string // The name of the index. @@ -1926,7 +1998,7 @@ type Relevance struct { } // Provides feedback on how relevant a document is to a search. Your application -// uses the SubmitFeedback operation to provide relevance information. +// uses the SubmitFeedback API to provide relevance information. type RelevanceFeedback struct { // Whether to document was relevant or not relevant to the search. @@ -2470,8 +2542,8 @@ type SharePointConfiguration struct { // A list of DataSourceToIndexFieldMapping objects that map Microsoft SharePoint // attributes to custom fields in the Amazon Kendra index. You must first create - // the index fields using the UpdateIndex operation before you map SharePoint - // attributes. For more information, see Mapping Data Source Fields + // the index fields using the UpdateIndex API before you map SharePoint attributes. + // For more information, see Mapping Data Source Fields // (https://docs.aws.amazon.com/kendra/latest/dg/field-mapping.html). FieldMappings []DataSourceToIndexFieldMapping @@ -2787,7 +2859,7 @@ type UserContext struct { // for setting up user context filtering, where Amazon Kendra filters search // results for different users based on their group's access to documents. You can // also map your users to their groups for user context filtering using the -// PutPrincipalMapping operation +// PutPrincipalMapping API // (https://docs.aws.amazon.com/kendra/latest/dg/API_PutPrincipalMapping.html). To // set up an Amazon Web Services SSO identity source in the console to use with // Amazon Kendra, see Getting started with an Amazon Web Services SSO identity @@ -2798,8 +2870,8 @@ type UserContext struct { // (https://docs.aws.amazon.com/kendra/latest/dg/iam-roles.html#iam-roles-aws-sso). // Amazon Kendra currently does not support using UserGroupResolutionConfiguration // with an Amazon Web Services organization member account for your Amazon Web -// Services SSO identify source. You must create your index in the parent account -// for the organization in order to use UserGroupResolutionConfiguration. +// Services SSO identify source. You must create your index in the management +// account for the organization in order to use UserGroupResolutionConfiguration. type UserGroupResolutionConfiguration struct { // The identity store provider (mode) you want to use to fetch access levels of @@ -2955,8 +3027,8 @@ type WorkDocsConfiguration struct { // A list of DataSourceToIndexFieldMapping objects that map Amazon WorkDocs field // names to custom index field names in Amazon Kendra. You must first create the - // custom index fields using the UpdateIndex operation before you map to Amazon - // WorkDocs fields. For more information, see Mapping Data Source Fields + // custom index fields using the UpdateIndex API before you map to Amazon WorkDocs + // fields. For more information, see Mapping Data Source Fields // (https://docs.aws.amazon.com/kendra/latest/dg/field-mapping.html). The Amazon // WorkDocs data source field names need to exist in your Amazon WorkDocs custom // metadata. diff --git a/service/kendra/validators.go b/service/kendra/validators.go index 65ac5d2e7ff..2647038f7cf 100644 --- a/service/kendra/validators.go +++ b/service/kendra/validators.go @@ -1725,6 +1725,11 @@ func validateDataSourceConfiguration(v *types.DataSourceConfiguration) error { invalidParams.AddNested("WorkDocsConfiguration", err.(smithy.InvalidParamsError)) } } + if v.FsxConfiguration != nil { + if err := validateFsxConfiguration(v.FsxConfiguration); err != nil { + invalidParams.AddNested("FsxConfiguration", err.(smithy.InvalidParamsError)) + } + } if invalidParams.Len() > 0 { return invalidParams } else { @@ -2117,6 +2122,36 @@ func validateEntityPersonaConfigurationList(v []types.EntityPersonaConfiguration } } +func validateFsxConfiguration(v *types.FsxConfiguration) error { + if v == nil { + return nil + } + invalidParams := smithy.InvalidParamsError{Context: "FsxConfiguration"} + if v.FileSystemId == nil { + invalidParams.Add(smithy.NewErrParamRequired("FileSystemId")) + } + if len(v.FileSystemType) == 0 { + invalidParams.Add(smithy.NewErrParamRequired("FileSystemType")) + } + if v.VpcConfiguration == nil { + invalidParams.Add(smithy.NewErrParamRequired("VpcConfiguration")) + } else if v.VpcConfiguration != nil { + if err := validateDataSourceVpcConfiguration(v.VpcConfiguration); err != nil { + invalidParams.AddNested("VpcConfiguration", err.(smithy.InvalidParamsError)) + } + } + if v.FieldMappings != nil { + if err := validateDataSourceToIndexFieldMappingList(v.FieldMappings); err != nil { + invalidParams.AddNested("FieldMappings", err.(smithy.InvalidParamsError)) + } + } + if invalidParams.Len() > 0 { + return invalidParams + } else { + return nil + } +} + func validateGoogleDriveConfiguration(v *types.GoogleDriveConfiguration) error { if v == nil { return nil diff --git a/service/lakeformation/api_op_UpdateTableObjects.go b/service/lakeformation/api_op_UpdateTableObjects.go index ae3c80d18d5..b70868218a5 100644 --- a/service/lakeformation/api_op_UpdateTableObjects.go +++ b/service/lakeformation/api_op_UpdateTableObjects.go @@ -40,11 +40,6 @@ type UpdateTableObjectsInput struct { // This member is required. TableName *string - // The transaction at which to do the write. - // - // This member is required. - TransactionId *string - // A list of WriteOperation objects that define an object to add to or delete from // the manifest for a governed table. // @@ -55,6 +50,9 @@ type UpdateTableObjectsInput struct { // account ID. CatalogId *string + // The transaction at which to do the write. + TransactionId *string + noSmithyDocumentSerde } diff --git a/service/lakeformation/validators.go b/service/lakeformation/validators.go index e1717d60482..8bae0d9bb12 100644 --- a/service/lakeformation/validators.go +++ b/service/lakeformation/validators.go @@ -1962,9 +1962,6 @@ func validateOpUpdateTableObjectsInput(v *UpdateTableObjectsInput) error { if v.TableName == nil { invalidParams.Add(smithy.NewErrParamRequired("TableName")) } - if v.TransactionId == nil { - invalidParams.Add(smithy.NewErrParamRequired("TransactionId")) - } if v.WriteOperations == nil { invalidParams.Add(smithy.NewErrParamRequired("WriteOperations")) } else if v.WriteOperations != nil { diff --git a/service/lambda/api_op_GetFunction.go b/service/lambda/api_op_GetFunction.go index 46dafc86683..416719b15d3 100644 --- a/service/lambda/api_op_GetFunction.go +++ b/service/lambda/api_op_GetFunction.go @@ -13,6 +13,7 @@ import ( smithytime "github.com/aws/smithy-go/time" smithyhttp "github.com/aws/smithy-go/transport/http" smithywaiter "github.com/aws/smithy-go/waiter" + "github.com/jmespath/go-jmespath" "time" ) @@ -152,6 +153,200 @@ type GetFunctionAPIClient interface { var _ GetFunctionAPIClient = (*Client)(nil) +// FunctionActiveV2WaiterOptions are waiter options for FunctionActiveV2Waiter +type FunctionActiveV2WaiterOptions struct { + + // Set of options to modify how an operation is invoked. These apply to all + // operations invoked for this client. Use functional options on operation call to + // modify this list for per operation behavior. + APIOptions []func(*middleware.Stack) error + + // MinDelay is the minimum amount of time to delay between retries. If unset, + // FunctionActiveV2Waiter will use default minimum delay of 1 seconds. Note that + // MinDelay must resolve to a value lesser than or equal to the MaxDelay. + MinDelay time.Duration + + // MaxDelay is the maximum amount of time to delay between retries. If unset or set + // to zero, FunctionActiveV2Waiter will use default max delay of 120 seconds. Note + // that MaxDelay must resolve to value greater than or equal to the MinDelay. + MaxDelay time.Duration + + // LogWaitAttempts is used to enable logging for waiter retry attempts + LogWaitAttempts bool + + // Retryable is function that can be used to override the service defined + // waiter-behavior based on operation output, or returned error. This function is + // used by the waiter to decide if a state is retryable or a terminal state. By + // default service-modeled logic will populate this option. This option can thus be + // used to define a custom waiter state with fall-back to service-modeled waiter + // state mutators.The function returns an error in case of a failure state. In case + // of retry state, this function returns a bool value of true and nil error, while + // in case of success it returns a bool value of false and nil error. + Retryable func(context.Context, *GetFunctionInput, *GetFunctionOutput, error) (bool, error) +} + +// FunctionActiveV2Waiter defines the waiters for FunctionActiveV2 +type FunctionActiveV2Waiter struct { + client GetFunctionAPIClient + + options FunctionActiveV2WaiterOptions +} + +// NewFunctionActiveV2Waiter constructs a FunctionActiveV2Waiter. +func NewFunctionActiveV2Waiter(client GetFunctionAPIClient, optFns ...func(*FunctionActiveV2WaiterOptions)) *FunctionActiveV2Waiter { + options := FunctionActiveV2WaiterOptions{} + options.MinDelay = 1 * time.Second + options.MaxDelay = 120 * time.Second + options.Retryable = functionActiveV2StateRetryable + + for _, fn := range optFns { + fn(&options) + } + return &FunctionActiveV2Waiter{ + client: client, + options: options, + } +} + +// Wait calls the waiter function for FunctionActiveV2 waiter. The maxWaitDur is +// the maximum wait duration the waiter will wait. The maxWaitDur is required and +// must be greater than zero. +func (w *FunctionActiveV2Waiter) Wait(ctx context.Context, params *GetFunctionInput, maxWaitDur time.Duration, optFns ...func(*FunctionActiveV2WaiterOptions)) error { + _, err := w.WaitForOutput(ctx, params, maxWaitDur, optFns...) + return err +} + +// WaitForOutput calls the waiter function for FunctionActiveV2 waiter and returns +// the output of the successful operation. The maxWaitDur is the maximum wait +// duration the waiter will wait. The maxWaitDur is required and must be greater +// than zero. +func (w *FunctionActiveV2Waiter) WaitForOutput(ctx context.Context, params *GetFunctionInput, maxWaitDur time.Duration, optFns ...func(*FunctionActiveV2WaiterOptions)) (*GetFunctionOutput, error) { + if maxWaitDur <= 0 { + return nil, fmt.Errorf("maximum wait time for waiter must be greater than zero") + } + + options := w.options + for _, fn := range optFns { + fn(&options) + } + + if options.MaxDelay <= 0 { + options.MaxDelay = 120 * time.Second + } + + if options.MinDelay > options.MaxDelay { + return nil, fmt.Errorf("minimum waiter delay %v must be lesser than or equal to maximum waiter delay of %v.", options.MinDelay, options.MaxDelay) + } + + ctx, cancelFn := context.WithTimeout(ctx, maxWaitDur) + defer cancelFn() + + logger := smithywaiter.Logger{} + remainingTime := maxWaitDur + + var attempt int64 + for { + + attempt++ + apiOptions := options.APIOptions + start := time.Now() + + if options.LogWaitAttempts { + logger.Attempt = attempt + apiOptions = append([]func(*middleware.Stack) error{}, options.APIOptions...) + apiOptions = append(apiOptions, logger.AddLogger) + } + + out, err := w.client.GetFunction(ctx, params, func(o *Options) { + o.APIOptions = append(o.APIOptions, apiOptions...) + }) + + retryable, err := options.Retryable(ctx, params, out, err) + if err != nil { + return nil, err + } + if !retryable { + return out, nil + } + + remainingTime -= time.Since(start) + if remainingTime < options.MinDelay || remainingTime <= 0 { + break + } + + // compute exponential backoff between waiter retries + delay, err := smithywaiter.ComputeDelay( + attempt, options.MinDelay, options.MaxDelay, remainingTime, + ) + if err != nil { + return nil, fmt.Errorf("error computing waiter delay, %w", err) + } + + remainingTime -= delay + // sleep for the delay amount before invoking a request + if err := smithytime.SleepWithContext(ctx, delay); err != nil { + return nil, fmt.Errorf("request cancelled while waiting, %w", err) + } + } + return nil, fmt.Errorf("exceeded max wait time for FunctionActiveV2 waiter") +} + +func functionActiveV2StateRetryable(ctx context.Context, input *GetFunctionInput, output *GetFunctionOutput, err error) (bool, error) { + + if err == nil { + pathValue, err := jmespath.Search("Configuration.State", output) + if err != nil { + return false, fmt.Errorf("error evaluating waiter state: %w", err) + } + + expectedValue := "Active" + value, ok := pathValue.(types.State) + if !ok { + return false, fmt.Errorf("waiter comparator expected types.State value, got %T", pathValue) + } + + if string(value) == expectedValue { + return false, nil + } + } + + if err == nil { + pathValue, err := jmespath.Search("Configuration.State", output) + if err != nil { + return false, fmt.Errorf("error evaluating waiter state: %w", err) + } + + expectedValue := "Failed" + value, ok := pathValue.(types.State) + if !ok { + return false, fmt.Errorf("waiter comparator expected types.State value, got %T", pathValue) + } + + if string(value) == expectedValue { + return false, fmt.Errorf("waiter state transitioned to Failure") + } + } + + if err == nil { + pathValue, err := jmespath.Search("Configuration.State", output) + if err != nil { + return false, fmt.Errorf("error evaluating waiter state: %w", err) + } + + expectedValue := "Pending" + value, ok := pathValue.(types.State) + if !ok { + return false, fmt.Errorf("waiter comparator expected types.State value, got %T", pathValue) + } + + if string(value) == expectedValue { + return true, nil + } + } + + return true, nil +} + // FunctionExistsWaiterOptions are waiter options for FunctionExistsWaiter type FunctionExistsWaiterOptions struct { @@ -306,6 +501,200 @@ func functionExistsStateRetryable(ctx context.Context, input *GetFunctionInput, return true, nil } +// FunctionUpdatedV2WaiterOptions are waiter options for FunctionUpdatedV2Waiter +type FunctionUpdatedV2WaiterOptions struct { + + // Set of options to modify how an operation is invoked. These apply to all + // operations invoked for this client. Use functional options on operation call to + // modify this list for per operation behavior. + APIOptions []func(*middleware.Stack) error + + // MinDelay is the minimum amount of time to delay between retries. If unset, + // FunctionUpdatedV2Waiter will use default minimum delay of 1 seconds. Note that + // MinDelay must resolve to a value lesser than or equal to the MaxDelay. + MinDelay time.Duration + + // MaxDelay is the maximum amount of time to delay between retries. If unset or set + // to zero, FunctionUpdatedV2Waiter will use default max delay of 120 seconds. Note + // that MaxDelay must resolve to value greater than or equal to the MinDelay. + MaxDelay time.Duration + + // LogWaitAttempts is used to enable logging for waiter retry attempts + LogWaitAttempts bool + + // Retryable is function that can be used to override the service defined + // waiter-behavior based on operation output, or returned error. This function is + // used by the waiter to decide if a state is retryable or a terminal state. By + // default service-modeled logic will populate this option. This option can thus be + // used to define a custom waiter state with fall-back to service-modeled waiter + // state mutators.The function returns an error in case of a failure state. In case + // of retry state, this function returns a bool value of true and nil error, while + // in case of success it returns a bool value of false and nil error. + Retryable func(context.Context, *GetFunctionInput, *GetFunctionOutput, error) (bool, error) +} + +// FunctionUpdatedV2Waiter defines the waiters for FunctionUpdatedV2 +type FunctionUpdatedV2Waiter struct { + client GetFunctionAPIClient + + options FunctionUpdatedV2WaiterOptions +} + +// NewFunctionUpdatedV2Waiter constructs a FunctionUpdatedV2Waiter. +func NewFunctionUpdatedV2Waiter(client GetFunctionAPIClient, optFns ...func(*FunctionUpdatedV2WaiterOptions)) *FunctionUpdatedV2Waiter { + options := FunctionUpdatedV2WaiterOptions{} + options.MinDelay = 1 * time.Second + options.MaxDelay = 120 * time.Second + options.Retryable = functionUpdatedV2StateRetryable + + for _, fn := range optFns { + fn(&options) + } + return &FunctionUpdatedV2Waiter{ + client: client, + options: options, + } +} + +// Wait calls the waiter function for FunctionUpdatedV2 waiter. The maxWaitDur is +// the maximum wait duration the waiter will wait. The maxWaitDur is required and +// must be greater than zero. +func (w *FunctionUpdatedV2Waiter) Wait(ctx context.Context, params *GetFunctionInput, maxWaitDur time.Duration, optFns ...func(*FunctionUpdatedV2WaiterOptions)) error { + _, err := w.WaitForOutput(ctx, params, maxWaitDur, optFns...) + return err +} + +// WaitForOutput calls the waiter function for FunctionUpdatedV2 waiter and returns +// the output of the successful operation. The maxWaitDur is the maximum wait +// duration the waiter will wait. The maxWaitDur is required and must be greater +// than zero. +func (w *FunctionUpdatedV2Waiter) WaitForOutput(ctx context.Context, params *GetFunctionInput, maxWaitDur time.Duration, optFns ...func(*FunctionUpdatedV2WaiterOptions)) (*GetFunctionOutput, error) { + if maxWaitDur <= 0 { + return nil, fmt.Errorf("maximum wait time for waiter must be greater than zero") + } + + options := w.options + for _, fn := range optFns { + fn(&options) + } + + if options.MaxDelay <= 0 { + options.MaxDelay = 120 * time.Second + } + + if options.MinDelay > options.MaxDelay { + return nil, fmt.Errorf("minimum waiter delay %v must be lesser than or equal to maximum waiter delay of %v.", options.MinDelay, options.MaxDelay) + } + + ctx, cancelFn := context.WithTimeout(ctx, maxWaitDur) + defer cancelFn() + + logger := smithywaiter.Logger{} + remainingTime := maxWaitDur + + var attempt int64 + for { + + attempt++ + apiOptions := options.APIOptions + start := time.Now() + + if options.LogWaitAttempts { + logger.Attempt = attempt + apiOptions = append([]func(*middleware.Stack) error{}, options.APIOptions...) + apiOptions = append(apiOptions, logger.AddLogger) + } + + out, err := w.client.GetFunction(ctx, params, func(o *Options) { + o.APIOptions = append(o.APIOptions, apiOptions...) + }) + + retryable, err := options.Retryable(ctx, params, out, err) + if err != nil { + return nil, err + } + if !retryable { + return out, nil + } + + remainingTime -= time.Since(start) + if remainingTime < options.MinDelay || remainingTime <= 0 { + break + } + + // compute exponential backoff between waiter retries + delay, err := smithywaiter.ComputeDelay( + attempt, options.MinDelay, options.MaxDelay, remainingTime, + ) + if err != nil { + return nil, fmt.Errorf("error computing waiter delay, %w", err) + } + + remainingTime -= delay + // sleep for the delay amount before invoking a request + if err := smithytime.SleepWithContext(ctx, delay); err != nil { + return nil, fmt.Errorf("request cancelled while waiting, %w", err) + } + } + return nil, fmt.Errorf("exceeded max wait time for FunctionUpdatedV2 waiter") +} + +func functionUpdatedV2StateRetryable(ctx context.Context, input *GetFunctionInput, output *GetFunctionOutput, err error) (bool, error) { + + if err == nil { + pathValue, err := jmespath.Search("Configuration.LastUpdateStatus", output) + if err != nil { + return false, fmt.Errorf("error evaluating waiter state: %w", err) + } + + expectedValue := "Successful" + value, ok := pathValue.(types.LastUpdateStatus) + if !ok { + return false, fmt.Errorf("waiter comparator expected types.LastUpdateStatus value, got %T", pathValue) + } + + if string(value) == expectedValue { + return false, nil + } + } + + if err == nil { + pathValue, err := jmespath.Search("Configuration.LastUpdateStatus", output) + if err != nil { + return false, fmt.Errorf("error evaluating waiter state: %w", err) + } + + expectedValue := "Failed" + value, ok := pathValue.(types.LastUpdateStatus) + if !ok { + return false, fmt.Errorf("waiter comparator expected types.LastUpdateStatus value, got %T", pathValue) + } + + if string(value) == expectedValue { + return false, fmt.Errorf("waiter state transitioned to Failure") + } + } + + if err == nil { + pathValue, err := jmespath.Search("Configuration.LastUpdateStatus", output) + if err != nil { + return false, fmt.Errorf("error evaluating waiter state: %w", err) + } + + expectedValue := "InProgress" + value, ok := pathValue.(types.LastUpdateStatus) + if !ok { + return false, fmt.Errorf("waiter comparator expected types.LastUpdateStatus value, got %T", pathValue) + } + + if string(value) == expectedValue { + return true, nil + } + } + + return true, nil +} + func newServiceMetadataMiddleware_opGetFunction(region string) *awsmiddleware.RegisterServiceMetadata { return &awsmiddleware.RegisterServiceMetadata{ Region: region, diff --git a/service/lambda/api_op_UpdateFunctionCode.go b/service/lambda/api_op_UpdateFunctionCode.go index b1edede7ace..512f5f9bb48 100644 --- a/service/lambda/api_op_UpdateFunctionCode.go +++ b/service/lambda/api_op_UpdateFunctionCode.go @@ -15,11 +15,20 @@ import ( // the code package must be signed by a trusted publisher. For more information, // see Configuring code signing // (https://docs.aws.amazon.com/lambda/latest/dg/configuration-trustedcode.html). -// The function's code is locked when you publish a version. You can't modify the -// code of a published version, only the unpublished version. For a function -// defined as a container image, Lambda resolves the image tag to an image digest. -// In Amazon ECR, if you update the image tag to a new image, Lambda does not -// automatically update the function. +// If the function's package type is Image, you must specify the code package in +// ImageUri as the URI of a container image +// (https://docs.aws.amazon.com/lambda/latest/dg/lambda-images.html) in the Amazon +// ECR registry. If the function's package type is Zip, you must specify the +// deployment package as a .zip file archive +// (https://docs.aws.amazon.com/lambda/latest/dg/gettingstarted-package.html#gettingstarted-package-zip). +// Enter the Amazon S3 bucket and key of the code .zip file location. You can also +// provide the function code inline using the ZipFile field. The code in the +// deployment package must be compatible with the target instruction set +// architecture of the function (x86-64 or arm64). The function's code is locked +// when you publish a version. You can't modify the code of a published version, +// only the unpublished version. For a function defined as a container image, +// Lambda resolves the image tag to an image digest. In Amazon ECR, if you update +// the image tag to a new image, Lambda does not automatically update the function. func (c *Client) UpdateFunctionCode(ctx context.Context, params *UpdateFunctionCodeInput, optFns ...func(*Options)) (*UpdateFunctionCodeOutput, error) { if params == nil { params = &UpdateFunctionCodeInput{} @@ -63,7 +72,8 @@ type UpdateFunctionCodeInput struct { // modifying the function code. DryRun bool - // URI of a container image in the Amazon ECR registry. + // URI of a container image in the Amazon ECR registry. Do not use for a function + // defined with a .zip file archive. ImageUri *string // Set to true to publish a new version of the function after updating the code. @@ -76,17 +86,20 @@ type UpdateFunctionCodeInput struct { RevisionId *string // An Amazon S3 bucket in the same Amazon Web Services Region as your function. The - // bucket can be in a different Amazon Web Services account. + // bucket can be in a different Amazon Web Services account. Use only with a + // function defined with a .zip file archive deployment package. S3Bucket *string - // The Amazon S3 key of the deployment package. + // The Amazon S3 key of the deployment package. Use only with a function defined + // with a .zip file archive deployment package. S3Key *string // For versioned objects, the version of the deployment package object to use. S3ObjectVersion *string // The base64-encoded contents of the deployment package. Amazon Web Services SDK - // and Amazon Web Services CLI clients handle the encoding for you. + // and Amazon Web Services CLI clients handle the encoding for you. Use only with a + // function defined with a .zip file archive deployment package. ZipFile []byte noSmithyDocumentSerde diff --git a/service/lambda/types/enums.go b/service/lambda/types/enums.go index 921530e2f6a..631d4849651 100644 --- a/service/lambda/types/enums.go +++ b/service/lambda/types/enums.go @@ -260,6 +260,7 @@ const ( RuntimeDotnetcore20 Runtime = "dotnetcore2.0" RuntimeDotnetcore21 Runtime = "dotnetcore2.1" RuntimeDotnetcore31 Runtime = "dotnetcore3.1" + RuntimeDotnet6 Runtime = "dotnet6" RuntimeNodejs43edge Runtime = "nodejs4.3-edge" RuntimeGo1x Runtime = "go1.x" RuntimeRuby25 Runtime = "ruby2.5" @@ -292,6 +293,7 @@ func (Runtime) Values() []Runtime { "dotnetcore2.0", "dotnetcore2.1", "dotnetcore3.1", + "dotnet6", "nodejs4.3-edge", "go1.x", "ruby2.5", diff --git a/service/lookoutvision/api_op_StartModelPackagingJob.go b/service/lookoutvision/api_op_StartModelPackagingJob.go index d29ca3c0161..5f91a8c3885 100644 --- a/service/lookoutvision/api_op_StartModelPackagingJob.go +++ b/service/lookoutvision/api_op_StartModelPackagingJob.go @@ -23,7 +23,7 @@ import ( // API. This operation requires the following permissions: // // * -// lookoutvision:StartModelPackagingJobs +// lookoutvision:StartModelPackagingJob // // * s3:PutObject // diff --git a/service/lookoutvision/types/types.go b/service/lookoutvision/types/types.go index 1832211d026..bccd73ac6b8 100644 --- a/service/lookoutvision/types/types.go +++ b/service/lookoutvision/types/types.go @@ -115,13 +115,6 @@ type DetectAnomalyResult struct { // existing component with the same component name and component version. type GreengrassConfiguration struct { - // Additional compiler options for the Greengrass component. Currently, only NVIDIA - // Graphics Processing Units (GPU) are supported. For more information, see - // Compiler options in the Amazon Lookout for Vision Developer Guide. - // - // This member is required. - CompilerOptions *string - // A name for the AWS IoT Greengrass component. // // This member is required. @@ -132,6 +125,13 @@ type GreengrassConfiguration struct { // This member is required. S3OutputLocation *S3Location + // Additional compiler options for the Greengrass component. Currently, only NVIDIA + // Graphics Processing Units (GPU) are supported. If you specify TargetPlatform, + // you must specify CompilerOptions. If you specify TargetDevice, don't specify + // CompilerOptions. For more information, see Compiler options in the Amazon + // Lookout for Vision Developer Guide. + CompilerOptions *string + // A description for the AWS IoT Greengrass component. ComponentDescription *string diff --git a/service/lookoutvision/validators.go b/service/lookoutvision/validators.go index 4f0be50b3f3..aeb970ff4b9 100644 --- a/service/lookoutvision/validators.go +++ b/service/lookoutvision/validators.go @@ -553,9 +553,6 @@ func validateGreengrassConfiguration(v *types.GreengrassConfiguration) error { return nil } invalidParams := smithy.InvalidParamsError{Context: "GreengrassConfiguration"} - if v.CompilerOptions == nil { - invalidParams.Add(smithy.NewErrParamRequired("CompilerOptions")) - } if v.TargetPlatform != nil { if err := validateTargetPlatform(v.TargetPlatform); err != nil { invalidParams.AddNested("TargetPlatform", err.(smithy.InvalidParamsError)) diff --git a/service/marketplacemetering/api_op_BatchMeterUsage.go b/service/marketplacemetering/api_op_BatchMeterUsage.go index 359007894fd..348fa29aecd 100644 --- a/service/marketplacemetering/api_op_BatchMeterUsage.go +++ b/service/marketplacemetering/api_op_BatchMeterUsage.go @@ -11,15 +11,23 @@ import ( smithyhttp "github.com/aws/smithy-go/transport/http" ) -// BatchMeterUsage is called from a SaaS application listed on the AWS Marketplace -// to post metering records for a set of customers. For identical requests, the API -// is idempotent; requests can be retried with the same records or a subset of the +// BatchMeterUsage is called from a SaaS application listed on AWS Marketplace to +// post metering records for a set of customers. For identical requests, the API is +// idempotent; requests can be retried with the same records or a subset of the // input records. Every request to BatchMeterUsage is for one product. If you need // to meter usage for multiple products, you must make multiple calls to -// BatchMeterUsage. BatchMeterUsage can process up to 25 UsageRecords at a time. A -// UsageRecord can optionally include multiple usage allocations, to provide -// customers with usagedata split into buckets by tags that you define (or allow -// the customer to define). BatchMeterUsage requests must be less than 1MB in size. +// BatchMeterUsage. Usage records are expected to be submitted as quickly as +// possible after the event that is being recorded, and are not accepted more than +// 6 hours after the event. BatchMeterUsage can process up to 25 UsageRecords at a +// time. A UsageRecord can optionally include multiple usage allocations, to +// provide customers with usage data split into buckets by tags that you define (or +// allow the customer to define). BatchMeterUsage returns a list of +// UsageRecordResult objects, showing the result for each UsageRecord, as well as a +// list of UnprocessedRecords, indicating errors in the service side that you +// should retry. BatchMeterUsage requests must be less than 1MB in size. For an +// example of using BatchMeterUsage, see BatchMeterUsage code example +// (https://docs.aws.amazon.com/marketplace/latest/userguide/saas-code-examples.html#saas-batchmeterusage-example) +// in the AWS Marketplace Seller Guide. func (c *Client) BatchMeterUsage(ctx context.Context, params *BatchMeterUsageInput, optFns ...func(*Options)) (*BatchMeterUsageOutput, error) { if params == nil { params = &BatchMeterUsageInput{} @@ -60,7 +68,8 @@ type BatchMeterUsageInput struct { type BatchMeterUsageOutput struct { // Contains all UsageRecords processed by BatchMeterUsage. These records were - // either honored by AWS Marketplace Metering Service or were invalid. + // either honored by AWS Marketplace Metering Service or were invalid. Invalid + // records should be fixed before being resubmitted. Results []types.UsageRecordResult // Contains all UsageRecords that were not processed by BatchMeterUsage. This is a diff --git a/service/marketplacemetering/api_op_MeterUsage.go b/service/marketplacemetering/api_op_MeterUsage.go index 70e975768e2..9e3bc9a3295 100644 --- a/service/marketplacemetering/api_op_MeterUsage.go +++ b/service/marketplacemetering/api_op_MeterUsage.go @@ -17,7 +17,9 @@ import ( // buyer's AWS account using credentials from the EC2 instance, ECS task, or EKS // pod. MeterUsage can optionally include multiple usage allocations, to provide // customers with usage data split into buckets by tags that you define (or allow -// the customer to define). +// the customer to define). Usage records are expected to be submitted as quickly +// as possible after the event that is being recorded, and are not accepted more +// than 6 hours after the event. func (c *Client) MeterUsage(ctx context.Context, params *MeterUsageInput, optFns ...func(*Options)) (*MeterUsageOutput, error) { if params == nil { params = &MeterUsageInput{} diff --git a/service/marketplacemetering/api_op_RegisterUsage.go b/service/marketplacemetering/api_op_RegisterUsage.go index dd3524a2bcb..c2808c49ca7 100644 --- a/service/marketplacemetering/api_op_RegisterUsage.go +++ b/service/marketplacemetering/api_op_RegisterUsage.go @@ -24,9 +24,9 @@ import ( // product on AWS Marketplace, enabling you to guard against unauthorized use. Your // container image that integrates with RegisterUsage is only required to guard // against unauthorized use at container startup, as such a -// CustomerNotSubscribedException/PlatformNotSupportedException will only be thrown -// on the initial call to RegisterUsage. Subsequent calls from the same Amazon ECS -// task instance (e.g. task-id) or Amazon EKS pod will not throw a +// CustomerNotSubscribedException or PlatformNotSupportedException will only be +// thrown on the initial call to RegisterUsage. Subsequent calls from the same +// Amazon ECS task instance (e.g. task-id) or Amazon EKS pod will not throw a // CustomerNotSubscribedException, even if the customer unsubscribes while the // Amazon ECS task or Amazon EKS pod is still running. // diff --git a/service/marketplacemetering/api_op_ResolveCustomer.go b/service/marketplacemetering/api_op_ResolveCustomer.go index ccd7c556349..76dd8b552fd 100644 --- a/service/marketplacemetering/api_op_ResolveCustomer.go +++ b/service/marketplacemetering/api_op_ResolveCustomer.go @@ -13,7 +13,13 @@ import ( // ResolveCustomer is called by a SaaS application during the registration process. // When a buyer visits your website during the registration process, the buyer // submits a registration token through their browser. The registration token is -// resolved through this API to obtain a CustomerIdentifier and product code. +// resolved through this API to obtain a CustomerIdentifier along with the +// CustomerAWSAccountId and ProductCode. The API needs to called from the seller +// account id used to publish the SaaS application to successfully resolve the +// token. For an example of using ResolveCustomer, see ResolveCustomer code +// example +// (https://docs.aws.amazon.com/marketplace/latest/userguide/saas-code-examples.html#saas-resolvecustomer-example) +// in the AWS Marketplace Seller Guide. func (c *Client) ResolveCustomer(ctx context.Context, params *ResolveCustomerInput, optFns ...func(*Options)) (*ResolveCustomerOutput, error) { if params == nil { params = &ResolveCustomerInput{} @@ -34,7 +40,8 @@ type ResolveCustomerInput struct { // When a buyer visits your website during the registration process, the buyer // submits a registration token through the browser. The registration token is - // resolved to obtain a CustomerIdentifier and product code. + // resolved to obtain a CustomerIdentifier along with the CustomerAWSAccountId and + // ProductCode. // // This member is required. RegistrationToken *string @@ -42,10 +49,14 @@ type ResolveCustomerInput struct { noSmithyDocumentSerde } -// The result of the ResolveCustomer operation. Contains the CustomerIdentifier and -// product code. +// The result of the ResolveCustomer operation. Contains the CustomerIdentifier +// along with the CustomerAWSAccountId and ProductCode. type ResolveCustomerOutput struct { + // The CustomerAWSAccountId provides the AWS account ID associated with the + // CustomerIdentifier for the individual customer. + CustomerAWSAccountId *string + // The CustomerIdentifier is used to identify an individual customer in your // application. Calls to BatchMeterUsage require CustomerIdentifiers for each // UsageRecord. diff --git a/service/marketplacemetering/deserializers.go b/service/marketplacemetering/deserializers.go index 988c0c46a16..bf2cd4b84e0 100644 --- a/service/marketplacemetering/deserializers.go +++ b/service/marketplacemetering/deserializers.go @@ -2352,6 +2352,15 @@ func awsAwsjson11_deserializeOpDocumentResolveCustomerOutput(v **ResolveCustomer for key, value := range shape { switch key { + case "CustomerAWSAccountId": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected CustomerAWSAccountId to be of type string, got %T instead", value) + } + sv.CustomerAWSAccountId = ptr.String(jtv) + } + case "CustomerIdentifier": if value != nil { jtv, ok := value.(string) diff --git a/service/marketplacemetering/doc.go b/service/marketplacemetering/doc.go index af3f729db44..807fdc1db0a 100644 --- a/service/marketplacemetering/doc.go +++ b/service/marketplacemetering/doc.go @@ -6,37 +6,37 @@ // AWS Marketplace Metering Service This reference provides descriptions of the // low-level AWS Marketplace Metering Service API. AWS Marketplace sellers can use // this API to submit usage data for custom usage dimensions. For information on -// the permissions you need to use this API, see AWS Marketing metering and +// the permissions you need to use this API, see AWS Marketplace metering and // entitlement API permissions // (https://docs.aws.amazon.com/marketplace/latest/userguide/iam-user-policy-for-aws-marketplace-actions.html) // in the AWS Marketplace Seller Guide. Submitting Metering Records // -// * MeterUsage- -// Submits the metering record for a Marketplace product. MeterUsage is called from -// an EC2 instance or a container running on EKS or ECS. +// * MeterUsage - +// Submits the metering record for an AWS Marketplace product. MeterUsage is called +// from an EC2 instance or a container running on EKS or ECS. // -// * BatchMeterUsage- +// * BatchMeterUsage - // Submits the metering record for a set of customers. BatchMeterUsage is called // from a software-as-a-service (SaaS) application. // // Accepting New Customers // // * -// ResolveCustomer- Called by a SaaS application during the registration process. +// ResolveCustomer - Called by a SaaS application during the registration process. // When a buyer visits your website during the registration process, the buyer // submits a Registration Token through the browser. The Registration Token is -// resolved through this API to obtain a CustomerIdentifier and Product -// Code. -// -// Entitlement and Metering for Paid Container Products -// -// * Paid container -// software products sold through AWS Marketplace must integrate with the AWS -// Marketplace Metering Service and call the RegisterUsage operation for software -// entitlement and metering. Free and BYOL products for Amazon ECS or Amazon EKS -// aren't required to call RegisterUsage, but you can do so if you want to receive -// usage data in your seller reports. For more information on using the -// RegisterUsage operation, see Container-Based Products +// resolved through this API to obtain a CustomerIdentifier along with the +// CustomerAWSAccountId and ProductCode. +// +// Entitlement and Metering for Paid +// Container Products +// +// * Paid container software products sold through AWS +// Marketplace must integrate with the AWS Marketplace Metering Service and call +// the RegisterUsage operation for software entitlement and metering. Free and BYOL +// products for Amazon ECS or Amazon EKS aren't required to call RegisterUsage, but +// you can do so if you want to receive usage data in your seller reports. For more +// information on using the RegisterUsage operation, see Container-Based Products // (https://docs.aws.amazon.com/marketplace/latest/userguide/container-based-products.html). // // BatchMeterUsage @@ -44,6 +44,5 @@ // the SaaS metering records that you sent are accurate by searching for records // with the eventName of BatchMeterUsage. You can also use CloudTrail to audit // records over time. For more information, see the AWS CloudTrail User Guide -// (http://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-concepts.html) -// . +// (http://docs.aws.amazon.com/awscloudtrail/latest/userguide/cloudtrail-concepts.html). package marketplacemetering diff --git a/service/marketplacemetering/types/errors.go b/service/marketplacemetering/types/errors.go index 1752c365962..43fbda5486f 100644 --- a/service/marketplacemetering/types/errors.go +++ b/service/marketplacemetering/types/errors.go @@ -335,7 +335,9 @@ func (e *ThrottlingException) ErrorMessage() string { func (e *ThrottlingException) ErrorCode() string { return "ThrottlingException" } func (e *ThrottlingException) ErrorFault() smithy.ErrorFault { return smithy.FaultClient } -// The timestamp value passed in the meterUsage() is out of allowed range. +// The timestamp value passed in the UsageRecord is out of allowed range. For +// BatchMeterUsage, if any of the records are outside of the allowed range, the +// entire batch is not processed. You must remove invalid records and try again. type TimestampOutOfBoundsException struct { Message *string diff --git a/service/marketplacemetering/types/types.go b/service/marketplacemetering/types/types.go index 279a790d331..3c4a063ea31 100644 --- a/service/marketplacemetering/types/types.go +++ b/service/marketplacemetering/types/types.go @@ -43,7 +43,7 @@ type UsageAllocation struct { // A UsageRecord indicates a quantity of usage for a given product, customer, // dimension and time. Multiple requests with the same UsageRecords as input will -// be deduplicated to prevent double charges. +// be de-duplicated to prevent double charges. type UsageRecord struct { // The CustomerIdentifier is obtained through the ResolveCustomer operation and @@ -52,9 +52,8 @@ type UsageRecord struct { // This member is required. CustomerIdentifier *string - // During the process of registering a product on AWS Marketplace, up to eight - // dimensions are specified. These represent different units of value in your - // application. + // During the process of registering a product on AWS Marketplace, dimensions are + // specified. These represent different units of value in your application. // // This member is required. Dimension *string @@ -84,20 +83,29 @@ type UsageRecordResult struct { // The MeteringRecordId is a unique identifier for this metering event. MeteringRecordId *string - // The UsageRecordResult Status indicates the status of an individual UsageRecord + // The UsageRecordResultStatus indicates the status of an individual UsageRecord // processed by BatchMeterUsage. // // * Success- The UsageRecord was accepted and // honored by BatchMeterUsage. // // * CustomerNotSubscribed- The CustomerIdentifier - // specified is not subscribed to your product. The UsageRecord was not honored. - // Future UsageRecords for this customer will fail until the customer subscribes to - // your product. + // specified is not able to use your product. The UsageRecord was not honored. + // There are three causes for this result: // - // * DuplicateRecord- Indicates that the UsageRecord was invalid and - // not honored. A previously metered UsageRecord had the same customer, dimension, - // and time, but a different quantity. + // * The customer identifier is + // invalid. + // + // * The customer identifier provided in the metering record does not + // have an active agreement or subscription with this product. Future UsageRecords + // for this customer will fail until the customer subscribes to your product. + // + // * + // The customer's AWS account was suspended. + // + // * DuplicateRecord- Indicates that the + // UsageRecord was invalid and not honored. A previously metered UsageRecord had + // the same customer, dimension, and time, but a different quantity. Status UsageRecordResultStatus // The UsageRecord that was part of the BatchMeterUsage request. diff --git a/service/mq/internal/endpoints/endpoints.go b/service/mq/internal/endpoints/endpoints.go index f5dcd6bf316..c91c44c01c4 100644 --- a/service/mq/internal/endpoints/endpoints.go +++ b/service/mq/internal/endpoints/endpoints.go @@ -135,6 +135,9 @@ var defaultPartitions = endpoints.Partitions{ RegionRegex: partitionRegexp.Aws, IsRegionalized: true, Endpoints: endpoints.Endpoints{ + endpoints.EndpointKey{ + Region: "af-south-1", + }: endpoints.Endpoint{}, endpoints.EndpointKey{ Region: "ap-east-1", }: endpoints.Endpoint{}, diff --git a/service/opensearch/api_op_DescribeDomainChangeProgress.go b/service/opensearch/api_op_DescribeDomainChangeProgress.go new file mode 100644 index 00000000000..505cd33fed1 --- /dev/null +++ b/service/opensearch/api_op_DescribeDomainChangeProgress.go @@ -0,0 +1,133 @@ +// Code generated by smithy-go-codegen DO NOT EDIT. + +package opensearch + +import ( + "context" + awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" + "github.com/aws/aws-sdk-go-v2/aws/signer/v4" + "github.com/aws/aws-sdk-go-v2/service/opensearch/types" + "github.com/aws/smithy-go/middleware" + smithyhttp "github.com/aws/smithy-go/transport/http" +) + +// Returns information about the current blue/green deployment happening on a +// domain, including a change ID, status, and progress stages. +func (c *Client) DescribeDomainChangeProgress(ctx context.Context, params *DescribeDomainChangeProgressInput, optFns ...func(*Options)) (*DescribeDomainChangeProgressOutput, error) { + if params == nil { + params = &DescribeDomainChangeProgressInput{} + } + + result, metadata, err := c.invokeOperation(ctx, "DescribeDomainChangeProgress", params, optFns, c.addOperationDescribeDomainChangeProgressMiddlewares) + if err != nil { + return nil, err + } + + out := result.(*DescribeDomainChangeProgressOutput) + out.ResultMetadata = metadata + return out, nil +} + +// Container for the parameters to the DescribeDomainChangeProgress operation. +// Specifies the domain name and optional change specific identity for which you +// want progress information. +type DescribeDomainChangeProgressInput struct { + + // The domain you want to get the progress information about. + // + // This member is required. + DomainName *string + + // The specific change ID for which you want to get progress information. This is + // an optional parameter. If omitted, the service returns information about the + // most recent configuration change. + ChangeId *string + + noSmithyDocumentSerde +} + +// The result of a DescribeDomainChangeProgress request. Contains the progress +// information of the requested domain change. +type DescribeDomainChangeProgressOutput struct { + + // Progress information for the configuration change that is requested in the + // DescribeDomainChangeProgress request. + ChangeProgressStatus *types.ChangeProgressStatusDetails + + // Metadata pertaining to the operation's result. + ResultMetadata middleware.Metadata + + noSmithyDocumentSerde +} + +func (c *Client) addOperationDescribeDomainChangeProgressMiddlewares(stack *middleware.Stack, options Options) (err error) { + err = stack.Serialize.Add(&awsRestjson1_serializeOpDescribeDomainChangeProgress{}, middleware.After) + if err != nil { + return err + } + err = stack.Deserialize.Add(&awsRestjson1_deserializeOpDescribeDomainChangeProgress{}, middleware.After) + if err != nil { + return err + } + if err = addSetLoggerMiddleware(stack, options); err != nil { + return err + } + if err = awsmiddleware.AddClientRequestIDMiddleware(stack); err != nil { + return err + } + if err = smithyhttp.AddComputeContentLengthMiddleware(stack); err != nil { + return err + } + if err = addResolveEndpointMiddleware(stack, options); err != nil { + return err + } + if err = v4.AddComputePayloadSHA256Middleware(stack); err != nil { + return err + } + if err = addRetryMiddlewares(stack, options); err != nil { + return err + } + if err = addHTTPSignerV4Middleware(stack, options); err != nil { + return err + } + if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil { + return err + } + if err = awsmiddleware.AddRecordResponseTiming(stack); err != nil { + return err + } + if err = addClientUserAgent(stack); err != nil { + return err + } + if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil { + return err + } + if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { + return err + } + if err = addOpDescribeDomainChangeProgressValidationMiddleware(stack); err != nil { + return err + } + if err = stack.Initialize.Add(newServiceMetadataMiddleware_opDescribeDomainChangeProgress(options.Region), middleware.Before); err != nil { + return err + } + if err = addRequestIDRetrieverMiddleware(stack); err != nil { + return err + } + if err = addResponseErrorMiddleware(stack); err != nil { + return err + } + if err = addRequestResponseLogging(stack, options); err != nil { + return err + } + return nil +} + +func newServiceMetadataMiddleware_opDescribeDomainChangeProgress(region string) *awsmiddleware.RegisterServiceMetadata { + return &awsmiddleware.RegisterServiceMetadata{ + Region: region, + ServiceID: ServiceID, + SigningName: "es", + OperationName: "DescribeDomainChangeProgress", + } +} diff --git a/service/opensearch/api_op_UpgradeDomain.go b/service/opensearch/api_op_UpgradeDomain.go index 43e83368788..18dd7581b8c 100644 --- a/service/opensearch/api_op_UpgradeDomain.go +++ b/service/opensearch/api_op_UpgradeDomain.go @@ -6,6 +6,7 @@ import ( "context" awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" "github.com/aws/aws-sdk-go-v2/aws/signer/v4" + "github.com/aws/aws-sdk-go-v2/service/opensearch/types" "github.com/aws/smithy-go/middleware" smithyhttp "github.com/aws/smithy-go/transport/http" ) @@ -88,6 +89,9 @@ type UpgradeDomainOutput struct { // (http://docs.aws.amazon.com/opensearch-service/latest/developerguide/createupdatedomains.html#createdomain-configure-advanced-options). AdvancedOptions map[string]string + // Specifies change details of the domain configuration change. + ChangeProgressDetails *types.ChangeProgressDetails + // The name of an domain. Domain names are unique across the domains owned by an // account within an AWS region. Domain names start with a letter or number and can // contain the following characters: a-z (lowercase), 0-9, and - (hyphen). diff --git a/service/opensearch/deserializers.go b/service/opensearch/deserializers.go index 78c42f57ecb..1311c65ce0b 100644 --- a/service/opensearch/deserializers.go +++ b/service/opensearch/deserializers.go @@ -2043,6 +2043,162 @@ func awsRestjson1_deserializeOpDocumentDescribeDomainAutoTunesOutput(v **Describ return nil } +type awsRestjson1_deserializeOpDescribeDomainChangeProgress struct { +} + +func (*awsRestjson1_deserializeOpDescribeDomainChangeProgress) ID() string { + return "OperationDeserializer" +} + +func (m *awsRestjson1_deserializeOpDescribeDomainChangeProgress) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( + out middleware.DeserializeOutput, metadata middleware.Metadata, err error, +) { + out, metadata, err = next.HandleDeserialize(ctx, in) + if err != nil { + return out, metadata, err + } + + response, ok := out.RawResponse.(*smithyhttp.Response) + if !ok { + return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} + } + + if response.StatusCode < 200 || response.StatusCode >= 300 { + return out, metadata, awsRestjson1_deserializeOpErrorDescribeDomainChangeProgress(response, &metadata) + } + output := &DescribeDomainChangeProgressOutput{} + out.Result = output + + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + + body := io.TeeReader(response.Body, ringBuffer) + + decoder := json.NewDecoder(body) + decoder.UseNumber() + var shape interface{} + if err := decoder.Decode(&shape); err != nil && err != io.EOF { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return out, metadata, err + } + + err = awsRestjson1_deserializeOpDocumentDescribeDomainChangeProgressOutput(&output, shape) + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + return out, metadata, &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body with invalid JSON, %w", err), + Snapshot: snapshot.Bytes(), + } + } + + return out, metadata, err +} + +func awsRestjson1_deserializeOpErrorDescribeDomainChangeProgress(response *smithyhttp.Response, metadata *middleware.Metadata) error { + var errorBuffer bytes.Buffer + if _, err := io.Copy(&errorBuffer, response.Body); err != nil { + return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} + } + errorBody := bytes.NewReader(errorBuffer.Bytes()) + + errorCode := "UnknownError" + errorMessage := errorCode + + code := response.Header.Get("X-Amzn-ErrorType") + if len(code) != 0 { + errorCode = restjson.SanitizeErrorCode(code) + } + + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + + body := io.TeeReader(errorBody, ringBuffer) + decoder := json.NewDecoder(body) + decoder.UseNumber() + code, message, err := restjson.GetErrorInfo(decoder) + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return err + } + + errorBody.Seek(0, io.SeekStart) + if len(code) != 0 { + errorCode = restjson.SanitizeErrorCode(code) + } + if len(message) != 0 { + errorMessage = message + } + + switch { + case strings.EqualFold("BaseException", errorCode): + return awsRestjson1_deserializeErrorBaseException(response, errorBody) + + case strings.EqualFold("InternalException", errorCode): + return awsRestjson1_deserializeErrorInternalException(response, errorBody) + + case strings.EqualFold("ResourceNotFoundException", errorCode): + return awsRestjson1_deserializeErrorResourceNotFoundException(response, errorBody) + + case strings.EqualFold("ValidationException", errorCode): + return awsRestjson1_deserializeErrorValidationException(response, errorBody) + + default: + genericError := &smithy.GenericAPIError{ + Code: errorCode, + Message: errorMessage, + } + return genericError + + } +} + +func awsRestjson1_deserializeOpDocumentDescribeDomainChangeProgressOutput(v **DescribeDomainChangeProgressOutput, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.(map[string]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var sv *DescribeDomainChangeProgressOutput + if *v == nil { + sv = &DescribeDomainChangeProgressOutput{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "ChangeProgressStatus": + if err := awsRestjson1_deserializeDocumentChangeProgressStatusDetails(&sv.ChangeProgressStatus, value); err != nil { + return err + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + type awsRestjson1_deserializeOpDescribeDomainConfig struct { } @@ -6207,6 +6363,11 @@ func awsRestjson1_deserializeOpDocumentUpgradeDomainOutput(v **UpgradeDomainOutp return err } + case "ChangeProgressDetails": + if err := awsRestjson1_deserializeDocumentChangeProgressDetails(&sv.ChangeProgressDetails, value); err != nil { + return err + } + case "DomainName": if value != nil { jtv, ok := value.(string) @@ -7564,6 +7725,256 @@ func awsRestjson1_deserializeDocumentBaseException(v **types.BaseException, valu return nil } +func awsRestjson1_deserializeDocumentChangeProgressDetails(v **types.ChangeProgressDetails, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.(map[string]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var sv *types.ChangeProgressDetails + if *v == nil { + sv = &types.ChangeProgressDetails{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "ChangeId": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected GUID to be of type string, got %T instead", value) + } + sv.ChangeId = ptr.String(jtv) + } + + case "Message": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected Message to be of type string, got %T instead", value) + } + sv.Message = ptr.String(jtv) + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + +func awsRestjson1_deserializeDocumentChangeProgressStage(v **types.ChangeProgressStage, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.(map[string]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var sv *types.ChangeProgressStage + if *v == nil { + sv = &types.ChangeProgressStage{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "Description": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected Description to be of type string, got %T instead", value) + } + sv.Description = ptr.String(jtv) + } + + case "LastUpdated": + if value != nil { + switch jtv := value.(type) { + case json.Number: + f64, err := jtv.Float64() + if err != nil { + return err + } + sv.LastUpdated = ptr.Time(smithytime.ParseEpochSeconds(f64)) + + default: + return fmt.Errorf("expected LastUpdated to be a JSON Number, got %T instead", value) + + } + } + + case "Name": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected ChangeProgressStageName to be of type string, got %T instead", value) + } + sv.Name = ptr.String(jtv) + } + + case "Status": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected ChangeProgressStageStatus to be of type string, got %T instead", value) + } + sv.Status = ptr.String(jtv) + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + +func awsRestjson1_deserializeDocumentChangeProgressStageList(v *[]types.ChangeProgressStage, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.([]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var cv []types.ChangeProgressStage + if *v == nil { + cv = []types.ChangeProgressStage{} + } else { + cv = *v + } + + for _, value := range shape { + var col types.ChangeProgressStage + destAddr := &col + if err := awsRestjson1_deserializeDocumentChangeProgressStage(&destAddr, value); err != nil { + return err + } + col = *destAddr + cv = append(cv, col) + + } + *v = cv + return nil +} + +func awsRestjson1_deserializeDocumentChangeProgressStatusDetails(v **types.ChangeProgressStatusDetails, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.(map[string]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var sv *types.ChangeProgressStatusDetails + if *v == nil { + sv = &types.ChangeProgressStatusDetails{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "ChangeId": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected GUID to be of type string, got %T instead", value) + } + sv.ChangeId = ptr.String(jtv) + } + + case "ChangeProgressStages": + if err := awsRestjson1_deserializeDocumentChangeProgressStageList(&sv.ChangeProgressStages, value); err != nil { + return err + } + + case "CompletedProperties": + if err := awsRestjson1_deserializeDocumentStringList(&sv.CompletedProperties, value); err != nil { + return err + } + + case "PendingProperties": + if err := awsRestjson1_deserializeDocumentStringList(&sv.PendingProperties, value); err != nil { + return err + } + + case "StartTime": + if value != nil { + switch jtv := value.(type) { + case json.Number: + f64, err := jtv.Float64() + if err != nil { + return err + } + sv.StartTime = ptr.Time(smithytime.ParseEpochSeconds(f64)) + + default: + return fmt.Errorf("expected UpdateTimestamp to be a JSON Number, got %T instead", value) + + } + } + + case "Status": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected OverallChangeStatus to be of type string, got %T instead", value) + } + sv.Status = types.OverallChangeStatus(jtv) + } + + case "TotalNumberOfStages": + if value != nil { + jtv, ok := value.(json.Number) + if !ok { + return fmt.Errorf("expected TotalNumberOfStages to be json.Number, got %T instead", value) + } + i64, err := jtv.Int64() + if err != nil { + return err + } + sv.TotalNumberOfStages = int32(i64) + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + func awsRestjson1_deserializeDocumentClusterConfig(v **types.ClusterConfig, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) @@ -8088,6 +8499,11 @@ func awsRestjson1_deserializeDocumentDomainConfig(v **types.DomainConfig, value return err } + case "ChangeProgressDetails": + if err := awsRestjson1_deserializeDocumentChangeProgressDetails(&sv.ChangeProgressDetails, value); err != nil { + return err + } + case "ClusterConfig": if err := awsRestjson1_deserializeDocumentClusterConfigStatus(&sv.ClusterConfig, value); err != nil { return err @@ -8587,6 +9003,11 @@ func awsRestjson1_deserializeDocumentDomainStatus(v **types.DomainStatus, value return err } + case "ChangeProgressDetails": + if err := awsRestjson1_deserializeDocumentChangeProgressDetails(&sv.ChangeProgressDetails, value); err != nil { + return err + } + case "ClusterConfig": if err := awsRestjson1_deserializeDocumentClusterConfig(&sv.ClusterConfig, value); err != nil { return err diff --git a/service/opensearch/generated.json b/service/opensearch/generated.json index 3048b89c3d1..73f62bdffd2 100644 --- a/service/opensearch/generated.json +++ b/service/opensearch/generated.json @@ -21,6 +21,7 @@ "api_op_DeletePackage.go", "api_op_DescribeDomain.go", "api_op_DescribeDomainAutoTunes.go", + "api_op_DescribeDomainChangeProgress.go", "api_op_DescribeDomainConfig.go", "api_op_DescribeDomains.go", "api_op_DescribeInboundConnections.go", diff --git a/service/opensearch/serializers.go b/service/opensearch/serializers.go index f25aa4cc9eb..ec9025dbf6e 100644 --- a/service/opensearch/serializers.go +++ b/service/opensearch/serializers.go @@ -995,6 +995,68 @@ func awsRestjson1_serializeOpDocumentDescribeDomainAutoTunesInput(v *DescribeDom return nil } +type awsRestjson1_serializeOpDescribeDomainChangeProgress struct { +} + +func (*awsRestjson1_serializeOpDescribeDomainChangeProgress) ID() string { + return "OperationSerializer" +} + +func (m *awsRestjson1_serializeOpDescribeDomainChangeProgress) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( + out middleware.SerializeOutput, metadata middleware.Metadata, err error, +) { + request, ok := in.Request.(*smithyhttp.Request) + if !ok { + return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} + } + + input, ok := in.Parameters.(*DescribeDomainChangeProgressInput) + _ = input + if !ok { + return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} + } + + opPath, opQuery := httpbinding.SplitURI("/2021-01-01/opensearch/domain/{DomainName}/progress") + request.URL.Path = smithyhttp.JoinPath(request.URL.Path, opPath) + request.URL.RawQuery = smithyhttp.JoinRawQuery(request.URL.RawQuery, opQuery) + request.Method = "GET" + restEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header) + if err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + if err := awsRestjson1_serializeOpHttpBindingsDescribeDomainChangeProgressInput(input, restEncoder); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + if request.Request, err = restEncoder.Encode(request.Request); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + in.Request = request + + return next.HandleSerialize(ctx, in) +} +func awsRestjson1_serializeOpHttpBindingsDescribeDomainChangeProgressInput(v *DescribeDomainChangeProgressInput, encoder *httpbinding.Encoder) error { + if v == nil { + return fmt.Errorf("unsupported serialization of nil %T", v) + } + + if v.ChangeId != nil { + encoder.SetQuery("changeid").String(*v.ChangeId) + } + + if v.DomainName == nil || len(*v.DomainName) == 0 { + return &smithy.SerializationError{Err: fmt.Errorf("input member DomainName must not be empty")} + } + if v.DomainName != nil { + if err := encoder.SetURI("DomainName").String(*v.DomainName); err != nil { + return err + } + } + + return nil +} + type awsRestjson1_serializeOpDescribeDomainConfig struct { } diff --git a/service/opensearch/types/enums.go b/service/opensearch/types/enums.go index 32f5151e82a..5156090ca66 100644 --- a/service/opensearch/types/enums.go +++ b/service/opensearch/types/enums.go @@ -486,6 +486,28 @@ func (OutboundConnectionStatusCode) Values() []OutboundConnectionStatusCode { } } +type OverallChangeStatus string + +// Enum values for OverallChangeStatus +const ( + OverallChangeStatusPending OverallChangeStatus = "PENDING" + OverallChangeStatusProcessing OverallChangeStatus = "PROCESSING" + OverallChangeStatusCompleted OverallChangeStatus = "COMPLETED" + OverallChangeStatusFailed OverallChangeStatus = "FAILED" +) + +// Values returns all known values for OverallChangeStatus. Note that this can be +// expanded in the future, and so it is only as up to date as the client. The +// ordering of this slice is not guaranteed to be stable across updates. +func (OverallChangeStatus) Values() []OverallChangeStatus { + return []OverallChangeStatus{ + "PENDING", + "PROCESSING", + "COMPLETED", + "FAILED", + } +} + type PackageStatus string // Enum values for PackageStatus diff --git a/service/opensearch/types/types.go b/service/opensearch/types/types.go index 73b167f5e3f..a3d608da427 100644 --- a/service/opensearch/types/types.go +++ b/service/opensearch/types/types.go @@ -308,6 +308,69 @@ type AWSDomainInformation struct { noSmithyDocumentSerde } +// Specifies change details of the domain configuration change. +type ChangeProgressDetails struct { + + // The unique change identifier associated with a specific domain configuration + // change. + ChangeId *string + + // Contains an optional message associated with the domain configuration change. + Message *string + + noSmithyDocumentSerde +} + +// A progress stage details of a specific domain configuration change. +type ChangeProgressStage struct { + + // The description of the progress stage. + Description *string + + // The last updated timestamp of the progress stage. + LastUpdated *time.Time + + // The name of the specific progress stage. + Name *string + + // The overall status of a specific progress stage. + Status *string + + noSmithyDocumentSerde +} + +// The progress details of a specific domain configuration change. +type ChangeProgressStatusDetails struct { + + // The unique change identifier associated with a specific domain configuration + // change. + ChangeId *string + + // The specific stages that the domain is going through to perform the + // configuration change. + ChangeProgressStages []ChangeProgressStage + + // The list of properties involved in the domain configuration change that are + // completed. + CompletedProperties []string + + // The list of properties involved in the domain configuration change that are + // still in pending. + PendingProperties []string + + // The time at which the configuration change is made on the domain. + StartTime *time.Time + + // The overall status of the domain configuration change. This field can take the + // following values: PENDING, PROCESSING, COMPLETED and FAILED + Status OverallChangeStatus + + // The total number of stages required for the configuration change. + TotalNumberOfStages int32 + + noSmithyDocumentSerde +} + // The configuration for the domain cluster, such as the type and number of // instances. type ClusterConfig struct { @@ -462,6 +525,9 @@ type DomainConfig struct { // Specifies AutoTuneOptions for the domain. AutoTuneOptions *AutoTuneOptionsStatus + // Specifies change details of the domain configuration change. + ChangeProgressDetails *ChangeProgressDetails + // The ClusterConfig for the domain. ClusterConfig *ClusterConfigStatus @@ -637,6 +703,9 @@ type DomainStatus struct { // The current status of the domain's Auto-Tune options. AutoTuneOptions *AutoTuneOptionsOutput + // Specifies change details of the domain configuration change. + ChangeProgressDetails *ChangeProgressDetails + // The CognitoOptions for the specified domain. For more information, see // Configuring Amazon Cognito authentication for OpenSearch Dashboards // (http://docs.aws.amazon.com/opensearch-service/latest/developerguide/cognito-auth.html). diff --git a/service/opensearch/validators.go b/service/opensearch/validators.go index 5ce0e1088e0..2cd64abca91 100644 --- a/service/opensearch/validators.go +++ b/service/opensearch/validators.go @@ -250,6 +250,26 @@ func (m *validateOpDescribeDomainAutoTunes) HandleInitialize(ctx context.Context return next.HandleInitialize(ctx, in) } +type validateOpDescribeDomainChangeProgress struct { +} + +func (*validateOpDescribeDomainChangeProgress) ID() string { + return "OperationInputValidation" +} + +func (m *validateOpDescribeDomainChangeProgress) HandleInitialize(ctx context.Context, in middleware.InitializeInput, next middleware.InitializeHandler) ( + out middleware.InitializeOutput, metadata middleware.Metadata, err error, +) { + input, ok := in.Parameters.(*DescribeDomainChangeProgressInput) + if !ok { + return out, metadata, fmt.Errorf("unknown input parameters type %T", in.Parameters) + } + if err := validateOpDescribeDomainChangeProgressInput(input); err != nil { + return out, metadata, err + } + return next.HandleInitialize(ctx, in) +} + type validateOpDescribeDomainConfig struct { } @@ -678,6 +698,10 @@ func addOpDescribeDomainAutoTunesValidationMiddleware(stack *middleware.Stack) e return stack.Initialize.Add(&validateOpDescribeDomainAutoTunes{}, middleware.After) } +func addOpDescribeDomainChangeProgressValidationMiddleware(stack *middleware.Stack) error { + return stack.Initialize.Add(&validateOpDescribeDomainChangeProgress{}, middleware.After) +} + func addOpDescribeDomainConfigValidationMiddleware(stack *middleware.Stack) error { return stack.Initialize.Add(&validateOpDescribeDomainConfig{}, middleware.After) } @@ -1130,6 +1154,21 @@ func validateOpDescribeDomainAutoTunesInput(v *DescribeDomainAutoTunesInput) err } } +func validateOpDescribeDomainChangeProgressInput(v *DescribeDomainChangeProgressInput) error { + if v == nil { + return nil + } + invalidParams := smithy.InvalidParamsError{Context: "DescribeDomainChangeProgressInput"} + if v.DomainName == nil { + invalidParams.Add(smithy.NewErrParamRequired("DomainName")) + } + if invalidParams.Len() > 0 { + return invalidParams + } else { + return nil + } +} + func validateOpDescribeDomainConfigInput(v *DescribeDomainConfigInput) error { if v == nil { return nil diff --git a/service/personalize/api_op_CreateRecommender.go b/service/personalize/api_op_CreateRecommender.go index e3cb06861d5..2a09abec005 100644 --- a/service/personalize/api_op_CreateRecommender.go +++ b/service/personalize/api_op_CreateRecommender.go @@ -15,17 +15,36 @@ import ( // specify. You create recommenders for a Domain dataset group and specify the // recommender's Amazon Resource Name (ARN) when you make a GetRecommendations // (https://docs.aws.amazon.com/personalize/latest/dg/API_RS_GetRecommendations.html) -// request. Status A recommender can be in one of the following states: +// request. Minimum recommendation requests per second When you create a +// recommender, you can configure the recommender's minimum recommendation requests +// per second. The minimum recommendation requests per second +// (minRecommendationRequestsPerSecond) specifies the baseline recommendation +// request throughput provisioned by Amazon Personalize. The default +// minRecommendationRequestsPerSecond is 1. A recommendation request is a single +// GetRecommendations operation. Request throughput is measured in requests per +// second and Amazon Personalize uses your requests per second to derive your +// requests per hour and the price of your recommender usage. If your requests per +// second increases beyond minRecommendationRequestsPerSecond, Amazon Personalize +// auto-scales the provisioned capacity up and down, but never below +// minRecommendationRequestsPerSecond. There's a short time delay while the +// capacity is increased that might cause loss of requests. Your bill is the +// greater of either the minimum requests per hour (based on +// minRecommendationRequestsPerSecond) or the actual number of requests. The actual +// request throughput used is calculated as the average requests/second within a +// one-hour window. We recommend starting with the default +// minRecommendationRequestsPerSecond, track your usage using Amazon CloudWatch +// metrics, and then increase the minRecommendationRequestsPerSecond as necessary. +// Status A recommender can be in one of the following states: // -// * CREATE -// PENDING > CREATE IN_PROGRESS > ACTIVE -or- CREATE FAILED +// * CREATE PENDING > +// CREATE IN_PROGRESS > ACTIVE -or- CREATE FAILED // -// * DELETE PENDING > -// DELETE IN_PROGRESS +// * DELETE PENDING > DELETE +// IN_PROGRESS // -// To get the recommender status, call DescribeRecommender. -// Wait until the status of the recommender is ACTIVE before asking the recommender -// for recommendations. Related APIs +// To get the recommender status, call DescribeRecommender. Wait until +// the status of the recommender is ACTIVE before asking the recommender for +// recommendations. Related APIs // // * ListRecommenders // diff --git a/service/personalize/deserializers.go b/service/personalize/deserializers.go index edf6272ea41..626d74bbac5 100644 --- a/service/personalize/deserializers.go +++ b/service/personalize/deserializers.go @@ -11494,6 +11494,19 @@ func awsAwsjson11_deserializeDocumentRecommenderConfig(v **types.RecommenderConf return err } + case "minRecommendationRequestsPerSecond": + if value != nil { + jtv, ok := value.(json.Number) + if !ok { + return fmt.Errorf("expected TransactionsPerSecond to be json.Number, got %T instead", value) + } + i64, err := jtv.Int64() + if err != nil { + return err + } + sv.MinRecommendationRequestsPerSecond = ptr.Int32(int32(i64)) + } + default: _, _ = key, value diff --git a/service/personalize/serializers.go b/service/personalize/serializers.go index a1c4909462d..69b70b6cfb0 100644 --- a/service/personalize/serializers.go +++ b/service/personalize/serializers.go @@ -3464,6 +3464,11 @@ func awsAwsjson11_serializeDocumentRecommenderConfig(v *types.RecommenderConfig, } } + if v.MinRecommendationRequestsPerSecond != nil { + ok := object.Key("minRecommendationRequestsPerSecond") + ok.Integer(*v.MinRecommendationRequestsPerSecond) + } + return nil } diff --git a/service/personalize/types/types.go b/service/personalize/types/types.go index 0615c7df993..9e1a014ef4a 100644 --- a/service/personalize/types/types.go +++ b/service/personalize/types/types.go @@ -1320,6 +1320,10 @@ type RecommenderConfig struct { // personalized recommendations for a user (not popular items or similar items). ItemExplorationConfig map[string]string + // Specifies the requested minimum provisioned recommendation requests per second + // that Amazon Personalize will support. + MinRecommendationRequestsPerSecond *int32 + noSmithyDocumentSerde } @@ -1362,7 +1366,7 @@ type RecommenderSummary struct { } // Provides a summary of the properties of a recommender update. For a complete -// listing, call the DescribeRecommender API. +// listing, call the DescribeRecommender API operation. type RecommenderUpdateSummary struct { // The date and time (in Unix format) that the recommender update was created. @@ -1398,8 +1402,7 @@ type S3DataConfig struct { Path *string // The Amazon Resource Name (ARN) of the Key Management Service (KMS) key that - // Amazon Personalize uses to encrypt or decrypt the input and output files of a - // batch inference job. + // Amazon Personalize uses to encrypt or decrypt the input and output files. KmsKeyArn *string noSmithyDocumentSerde diff --git a/service/pinpoint/deserializers.go b/service/pinpoint/deserializers.go index 5ad4e74cb77..ffead1d74cd 100644 --- a/service/pinpoint/deserializers.go +++ b/service/pinpoint/deserializers.go @@ -21054,6 +21054,15 @@ func awsRestjson1_deserializeDocumentApplicationResponse(v **types.ApplicationRe sv.Arn = ptr.String(jtv) } + case "CreationDate": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected __string to be of type string, got %T instead", value) + } + sv.CreationDate = ptr.String(jtv) + } + case "Id": if value != nil { jtv, ok := value.(string) diff --git a/service/pinpoint/types/types.go b/service/pinpoint/types/types.go index a963fc7594d..65a117d605f 100644 --- a/service/pinpoint/types/types.go +++ b/service/pinpoint/types/types.go @@ -1009,6 +1009,9 @@ type ApplicationResponse struct { // This member is required. Name *string + // The date and time when the Application was created. + CreationDate *string + // A string-to-string map of key-value pairs that identifies the tags that are // associated with the application. Each tag consists of a required tag key and an // associated tag value. diff --git a/service/rbin/api_op_CreateRule.go b/service/rbin/api_op_CreateRule.go index 0f0e83b5b0d..5793c17d92a 100644 --- a/service/rbin/api_op_CreateRule.go +++ b/service/rbin/api_op_CreateRule.go @@ -14,7 +14,7 @@ import ( // Creates a Recycle Bin retention rule. For more information, see Create Recycle // Bin retention rules // (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/recycle-bin-working-with-rules.html#recycle-bin-create-rule) -// in the Amazon EC2 User Guide. +// in the Amazon Elastic Compute Cloud User Guide. func (c *Client) CreateRule(ctx context.Context, params *CreateRuleInput, optFns ...func(*Options)) (*CreateRuleOutput, error) { if params == nil { params = &CreateRuleInput{} @@ -33,7 +33,8 @@ func (c *Client) CreateRule(ctx context.Context, params *CreateRuleInput, optFns type CreateRuleInput struct { // The resource type to be retained by the retention rule. Currently, only Amazon - // EBS snapshots are supported. + // EBS snapshots and EBS-backed AMIs are supported. To retain snapshots, specify + // EBS_SNAPSHOT. To retain EBS-backed AMIs, specify EC2_IMAGE. // // This member is required. ResourceType types.ResourceType @@ -44,16 +45,20 @@ type CreateRuleInput struct { // This member is required. RetentionPeriod *types.RetentionPeriod - // A brief description for the retention rule. + // The retention rule description. Description *string - // Information about the resource tags to use to identify resources that are to be - // retained by the retention rule. The retention rule retains only deleted - // snapshots that have one or more of the specified tag key and value pairs. If a - // snapshot is deleted, but it does not have any of the specified tag key and value - // pairs, it is immediately deleted without being retained by the retention rule. - // You can add the same tag key and value pair to a maximum or five retention - // rules. + // Specifies the resource tags to use to identify resources that are to be retained + // by a tag-level retention rule. For tag-level retention rules, only deleted + // resources, of the specified resource type, that have one or more of the + // specified tag key and value pairs are retained. If a resource is deleted, but it + // does not have any of the specified tag key and value pairs, it is immediately + // deleted without being retained by the retention rule. You can add the same tag + // key and value pair to a maximum or five retention rules. To create a + // Region-level retention rule, omit this parameter. A Region-level retention rule + // does not have any resource tags specified. It retains all deleted resources of + // the specified resource type in the Region in which the rule is created, even if + // the resources are not tagged. ResourceTags []types.ResourceTag // Information about the tags to assign to the retention rule. @@ -67,7 +72,7 @@ type CreateRuleOutput struct { // The retention rule description. Description *string - // The unique identifier of the retention rule. + // The unique ID of the retention rule. Identifier *string // Information about the resource tags used to identify resources that are retained @@ -77,15 +82,15 @@ type CreateRuleOutput struct { // The resource type retained by the retention rule. ResourceType types.ResourceType - // Information about the retention period for which a retention rule is to retain + // Information about the retention period for which the retention rule is to retain // resources. RetentionPeriod *types.RetentionPeriod // The state of the retention rule. Only retention rules that are in the available - // state retain snapshots. + // state retain resources. Status types.RuleStatus - // The tags assigned to the retention rule. + // Information about the tags assigned to the retention rule. Tags []types.Tag // Metadata pertaining to the operation's result. diff --git a/service/rbin/api_op_DeleteRule.go b/service/rbin/api_op_DeleteRule.go index f7118e735e3..e6524823a2a 100644 --- a/service/rbin/api_op_DeleteRule.go +++ b/service/rbin/api_op_DeleteRule.go @@ -13,7 +13,7 @@ import ( // Deletes a Recycle Bin retention rule. For more information, see Delete Recycle // Bin retention rules // (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/recycle-bin-working-with-rules.html#recycle-bin-delete-rule) -// in the Amazon EC2 User Guide. +// in the Amazon Elastic Compute Cloud User Guide. func (c *Client) DeleteRule(ctx context.Context, params *DeleteRuleInput, optFns ...func(*Options)) (*DeleteRuleOutput, error) { if params == nil { params = &DeleteRuleInput{} @@ -31,7 +31,7 @@ func (c *Client) DeleteRule(ctx context.Context, params *DeleteRuleInput, optFns type DeleteRuleInput struct { - // The unique ID of the retention rule to delete. + // The unique ID of the retention rule. // // This member is required. Identifier *string diff --git a/service/rbin/api_op_GetRule.go b/service/rbin/api_op_GetRule.go index 241d6af6bf1..42be73286ad 100644 --- a/service/rbin/api_op_GetRule.go +++ b/service/rbin/api_op_GetRule.go @@ -39,25 +39,25 @@ type GetRuleInput struct { type GetRuleOutput struct { - // The description assigned to the retention rule. + // The retention rule description. Description *string // The unique ID of the retention rule. Identifier *string - // The resource tags used to identify resources that are to be retained by the - // retention rule. + // Information about the resource tags used to identify resources that are retained + // by the retention rule. ResourceTags []types.ResourceTag - // The resource type retained by the retention rule. Currently, only Amazon EBS - // snapshots are supported. + // The resource type retained by the retention rule. ResourceType types.ResourceType - // Information about the period for which the retention rule retains resources. + // Information about the retention period for which the retention rule is to retain + // resources. RetentionPeriod *types.RetentionPeriod // The state of the retention rule. Only retention rules that are in the available - // state retain snapshots. + // state retain resources. Status types.RuleStatus // Metadata pertaining to the operation's result. diff --git a/service/rbin/api_op_ListRules.go b/service/rbin/api_op_ListRules.go index d25ee6ba47c..69cc96cbd98 100644 --- a/service/rbin/api_op_ListRules.go +++ b/service/rbin/api_op_ListRules.go @@ -31,22 +31,23 @@ func (c *Client) ListRules(ctx context.Context, params *ListRulesInput, optFns . type ListRulesInput struct { // The resource type retained by the retention rule. Only retention rules that - // retain the specified resource type are listed. + // retain the specified resource type are listed. Currently, only Amazon EBS + // snapshots and EBS-backed AMIs are supported. To list retention rules that retain + // snapshots, specify EBS_SNAPSHOT. To list retention rules that retain EBS-backed + // AMIs, specify EC2_IMAGE. // // This member is required. ResourceType types.ResourceType - // The maximum number of results to return for the request in a single page. The - // remaining results can be seen by sending another request with the returned - // nextToken value. This value can be between 5 and 500. If maxResults is given a - // larger value than 500, you receive an error. + // The maximum number of results to return with a single call. To retrieve the + // remaining results, make another call with the returned NextToken value. MaxResults *int32 - // The token to use to retrieve the next page of results. + // The token for the next page of results. NextToken *string - // The tags used to identify resources that are to be retained by the retention - // rule. + // Information about the resource tags used to identify resources that are retained + // by the retention rule. ResourceTags []types.ResourceTag noSmithyDocumentSerde @@ -139,10 +140,8 @@ var _ ListRulesAPIClient = (*Client)(nil) // ListRulesPaginatorOptions is the paginator options for ListRules type ListRulesPaginatorOptions struct { - // The maximum number of results to return for the request in a single page. The - // remaining results can be seen by sending another request with the returned - // nextToken value. This value can be between 5 and 500. If maxResults is given a - // larger value than 500, you receive an error. + // The maximum number of results to return with a single call. To retrieve the + // remaining results, make another call with the returned NextToken value. Limit int32 // Set to true if pagination should stop if the service returns a pagination token diff --git a/service/rbin/api_op_ListTagsForResource.go b/service/rbin/api_op_ListTagsForResource.go index ecf815640be..567e0fcb647 100644 --- a/service/rbin/api_op_ListTagsForResource.go +++ b/service/rbin/api_op_ListTagsForResource.go @@ -11,7 +11,7 @@ import ( smithyhttp "github.com/aws/smithy-go/transport/http" ) -// Lists the tags assigned a specific resource. +// Lists the tags assigned to a retention rule. func (c *Client) ListTagsForResource(ctx context.Context, params *ListTagsForResourceInput, optFns ...func(*Options)) (*ListTagsForResourceOutput, error) { if params == nil { params = &ListTagsForResourceInput{} @@ -29,7 +29,7 @@ func (c *Client) ListTagsForResource(ctx context.Context, params *ListTagsForRes type ListTagsForResourceInput struct { - // The Amazon Resource Name (ARN) of the resource for which to list the tags. + // The Amazon Resource Name (ARN) of the retention rule. // // This member is required. ResourceArn *string @@ -39,7 +39,7 @@ type ListTagsForResourceInput struct { type ListTagsForResourceOutput struct { - // Information about the tags assigned to the resource. + // Information about the tags assigned to the retention rule. Tags []types.Tag // Metadata pertaining to the operation's result. diff --git a/service/rbin/api_op_TagResource.go b/service/rbin/api_op_TagResource.go index 23a358fde0f..0ca3cf92c66 100644 --- a/service/rbin/api_op_TagResource.go +++ b/service/rbin/api_op_TagResource.go @@ -11,7 +11,7 @@ import ( smithyhttp "github.com/aws/smithy-go/transport/http" ) -// Assigns tags to the specified resource. +// Assigns tags to the specified retention rule. func (c *Client) TagResource(ctx context.Context, params *TagResourceInput, optFns ...func(*Options)) (*TagResourceOutput, error) { if params == nil { params = &TagResourceInput{} @@ -29,12 +29,12 @@ func (c *Client) TagResource(ctx context.Context, params *TagResourceInput, optF type TagResourceInput struct { - // The Amazon Resource Name (ARN) of the resource to which to assign the tags. + // The Amazon Resource Name (ARN) of the retention rule. // // This member is required. ResourceArn *string - // Information about the tags to assign to the resource. + // Information about the tags to assign to the retention rule. // // This member is required. Tags []types.Tag diff --git a/service/rbin/api_op_UntagResource.go b/service/rbin/api_op_UntagResource.go index 7855922c803..a513d4dbca9 100644 --- a/service/rbin/api_op_UntagResource.go +++ b/service/rbin/api_op_UntagResource.go @@ -10,7 +10,7 @@ import ( smithyhttp "github.com/aws/smithy-go/transport/http" ) -// Unassigns a tag from a resource. +// Unassigns a tag from a retention rule. func (c *Client) UntagResource(ctx context.Context, params *UntagResourceInput, optFns ...func(*Options)) (*UntagResourceOutput, error) { if params == nil { params = &UntagResourceInput{} @@ -28,12 +28,13 @@ func (c *Client) UntagResource(ctx context.Context, params *UntagResourceInput, type UntagResourceInput struct { - // The Amazon Resource Name (ARN) of the resource from which to unassign the tags. + // The Amazon Resource Name (ARN) of the retention rule. // // This member is required. ResourceArn *string - // Information about the tags to unassign from the resource. + // The tag keys of the tags to unassign. All tags that have the specified tag key + // are unassigned. // // This member is required. TagKeys []string diff --git a/service/rbin/api_op_UpdateRule.go b/service/rbin/api_op_UpdateRule.go index e37b24dc7cc..0a4c3fc104d 100644 --- a/service/rbin/api_op_UpdateRule.go +++ b/service/rbin/api_op_UpdateRule.go @@ -14,7 +14,7 @@ import ( // Updates an existing Recycle Bin retention rule. For more information, see // Update Recycle Bin retention rules // (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/recycle-bin-working-with-rules.html#recycle-bin-update-rule) -// in the Amazon EC2 User Guide. +// in the Amazon Elastic Compute Cloud User Guide. func (c *Client) UpdateRule(ctx context.Context, params *UpdateRuleInput, optFns ...func(*Options)) (*UpdateRuleOutput, error) { if params == nil { params = &UpdateRuleInput{} @@ -32,7 +32,7 @@ func (c *Client) UpdateRule(ctx context.Context, params *UpdateRuleInput, optFns type UpdateRuleInput struct { - // The unique ID of the retention rule to update. + // The unique ID of the retention rule. // // This member is required. Identifier *string @@ -40,17 +40,22 @@ type UpdateRuleInput struct { // The retention rule description. Description *string - // Information about the resource tags to use to identify resources that are to be - // retained by the retention rule. The retention rule retains only deleted - // snapshots that have one or more of the specified tag key and value pairs. If a - // snapshot is deleted, but it does not have any of the specified tag key and value - // pairs, it is immediately deleted without being retained by the retention rule. - // You can add the same tag key and value pair to a maximum or five retention - // rules. + // Specifies the resource tags to use to identify resources that are to be retained + // by a tag-level retention rule. For tag-level retention rules, only deleted + // resources, of the specified resource type, that have one or more of the + // specified tag key and value pairs are retained. If a resource is deleted, but it + // does not have any of the specified tag key and value pairs, it is immediately + // deleted without being retained by the retention rule. You can add the same tag + // key and value pair to a maximum or five retention rules. To create a + // Region-level retention rule, omit this parameter. A Region-level retention rule + // does not have any resource tags specified. It retains all deleted resources of + // the specified resource type in the Region in which the rule is created, even if + // the resources are not tagged. ResourceTags []types.ResourceTag // The resource type to be retained by the retention rule. Currently, only Amazon - // EBS snapshots are supported. + // EBS snapshots and EBS-backed AMIs are supported. To retain snapshots, specify + // EBS_SNAPSHOT. To retain EBS-backed AMIs, specify EC2_IMAGE. ResourceType types.ResourceType // Information about the retention period for which the retention rule is to retain @@ -75,12 +80,12 @@ type UpdateRuleOutput struct { // The resource type retained by the retention rule. ResourceType types.ResourceType - // Information about the retention period for which a retention rule is to retain + // Information about the retention period for which the retention rule is to retain // resources. RetentionPeriod *types.RetentionPeriod // The state of the retention rule. Only retention rules that are in the available - // state retain snapshots. + // state retain resources. Status types.RuleStatus // Metadata pertaining to the operation's result. diff --git a/service/rbin/doc.go b/service/rbin/doc.go index 1b83272e3a9..663ea54cd1d 100644 --- a/service/rbin/doc.go +++ b/service/rbin/doc.go @@ -5,16 +5,16 @@ // // This is the Recycle Bin API Reference. This documentation provides descriptions // and syntax for each of the actions and data types in Recycle Bin. Recycle Bin is -// a snapshot recovery feature that enables you to restore accidentally deleted -// snapshots. When using Recycle Bin, if your snapshots are deleted, they are -// retained in the Recycle Bin for a time period that you specify. You can restore -// a snapshot from the Recycle Bin at any time before its retention period expires. -// After you restore a snapshot from the Recycle Bin, the snapshot is removed from -// the Recycle Bin, and you can then use it in the same way you use any other -// snapshot in your account. If the retention period expires and the snapshot is -// not restored, the snapshot is permanently deleted from the Recycle Bin and is no -// longer available for recovery. For more information about Recycle Bin, see -// Recycle Bin +// a resource recovery feature that enables you to restore accidentally deleted +// snapshots and EBS-backed AMIs. When using Recycle Bin, if your resources are +// deleted, they are retained in the Recycle Bin for a time period that you +// specify. You can restore a resource from the Recycle Bin at any time before its +// retention period expires. After you restore a resource from the Recycle Bin, the +// resource is removed from the Recycle Bin, and you can then use it in the same +// way you use any other resource of that type in your account. If the retention +// period expires and the resource is not restored, the resource is permanently +// deleted from the Recycle Bin and is no longer available for recovery. For more +// information about Recycle Bin, see Recycle Bin // (https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/snapshot-recycle-bin.html) -// in the Amazon EC2 User Guide. +// in the Amazon Elastic Compute Cloud User Guide. package rbin diff --git a/service/rbin/types/enums.go b/service/rbin/types/enums.go index 88329a3450f..177e34f9fb6 100644 --- a/service/rbin/types/enums.go +++ b/service/rbin/types/enums.go @@ -24,6 +24,7 @@ type ResourceType string // Enum values for ResourceType const ( ResourceTypeEbsSnapshot ResourceType = "EBS_SNAPSHOT" + ResourceTypeEc2Image ResourceType = "EC2_IMAGE" ) // Values returns all known values for ResourceType. Note that this can be expanded @@ -32,6 +33,7 @@ const ( func (ResourceType) Values() []ResourceType { return []ResourceType{ "EBS_SNAPSHOT", + "EC2_IMAGE", } } diff --git a/service/rbin/types/types.go b/service/rbin/types/types.go index b799083ecc6..7109ade0d32 100644 --- a/service/rbin/types/types.go +++ b/service/rbin/types/types.go @@ -6,8 +6,8 @@ import ( smithydocument "github.com/aws/smithy-go/document" ) -// Information about a resource tag used to identify resources that are to be -// retained by a Recycle Bin retention rule. +// Information about the resource tags used to identify resources that are retained +// by the retention rule. type ResourceTag struct { // The tag key. @@ -21,7 +21,7 @@ type ResourceTag struct { noSmithyDocumentSerde } -// Information about the retention period for which a retention rule is to retain +// Information about the retention period for which the retention rule is to retain // resources. type RetentionPeriod struct { @@ -43,20 +43,20 @@ type RetentionPeriod struct { // Information about a Recycle Bin retention rule. type RuleSummary struct { - // The description for the retention rule. + // The retention rule description. Description *string // The unique ID of the retention rule. Identifier *string - // Information about the retention period for which the retention rule retains - // resources + // Information about the retention period for which the retention rule is to retain + // resources. RetentionPeriod *RetentionPeriod noSmithyDocumentSerde } -// Information about the tags assigned to a Recycle Bin retention rule. +// Information about the tags to assign to the retention rule. type Tag struct { // The tag key. diff --git a/service/rds/api_op_CreateCustomDBEngineVersion.go b/service/rds/api_op_CreateCustomDBEngineVersion.go index 9016f7168fc..141ba94dba5 100644 --- a/service/rds/api_op_CreateCustomDBEngineVersion.go +++ b/service/rds/api_op_CreateCustomDBEngineVersion.go @@ -13,28 +13,35 @@ import ( ) // Creates a custom DB engine version (CEV). A CEV is a binary volume snapshot of a -// database engine and specific AMI. The only supported engine is Oracle Database -// 19c Enterprise Edition with the January 2021 or later RU/RUR. Amazon RDS, which -// is a fully managed service, supplies the Amazon Machine Image (AMI) and database -// software. The Amazon RDS database software is preinstalled, so you need only -// select a DB engine and version, and create your database. With Amazon RDS Custom -// for Oracle, you upload your database installation files in Amazon S3. When you -// create a custom engine version, you specify the files in a JSON document called -// a CEV manifest. This document describes installation .zip files stored in Amazon -// S3. RDS Custom creates your CEV from the installation files that you provided. -// This service model is called Bring Your Own Media (BYOM). Creation takes -// approximately two hours. If creation fails, RDS Custom issues RDS-EVENT-0196 -// with the message Creation failed for custom engine version, and includes details -// about the failure. For example, the event prints missing files. After you create -// the CEV, it is available for use. You can create multiple CEVs, and create -// multiple RDS Custom instances from any CEV. You can also change the status of a -// CEV to make it available or inactive. The MediaImport service that imports files -// from Amazon S3 to create CEVs isn't integrated with Amazon Web Services -// CloudTrail. If you turn on data logging for Amazon RDS in CloudTrail, calls to -// the CreateCustomDbEngineVersion event aren't logged. However, you might see -// calls from the API gateway that accesses your Amazon S3 bucket. These calls -// originate from the MediaImport service for the CreateCustomDbEngineVersion -// event. For more information, see Creating a CEV +// database engine and specific AMI. The supported engines are the following: +// +// * +// Oracle Database 12.1 Enterprise Edition with the January 2021 or later RU/RUR +// +// * +// Oracle Database 19c Enterprise Edition with the January 2021 or later +// RU/RUR +// +// Amazon RDS, which is a fully managed service, supplies the Amazon +// Machine Image (AMI) and database software. The Amazon RDS database software is +// preinstalled, so you need only select a DB engine and version, and create your +// database. With Amazon RDS Custom for Oracle, you upload your database +// installation files in Amazon S3. When you create a custom engine version, you +// specify the files in a JSON document called a CEV manifest. This document +// describes installation .zip files stored in Amazon S3. RDS Custom creates your +// CEV from the installation files that you provided. This service model is called +// Bring Your Own Media (BYOM). Creation takes approximately two hours. If creation +// fails, RDS Custom issues RDS-EVENT-0196 with the message Creation failed for +// custom engine version, and includes details about the failure. For example, the +// event prints missing files. After you create the CEV, it is available for use. +// You can create multiple CEVs, and create multiple RDS Custom instances from any +// CEV. You can also change the status of a CEV to make it available or inactive. +// The MediaImport service that imports files from Amazon S3 to create CEVs isn't +// integrated with Amazon Web Services CloudTrail. If you turn on data logging for +// Amazon RDS in CloudTrail, calls to the CreateCustomDbEngineVersion event aren't +// logged. However, you might see calls from the API gateway that accesses your +// Amazon S3 bucket. These calls originate from the MediaImport service for the +// CreateCustomDbEngineVersion event. For more information, see Creating a CEV // (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/custom-cev.html#custom-cev.create) // in the Amazon RDS User Guide. func (c *Client) CreateCustomDBEngineVersion(ctx context.Context, params *CreateCustomDBEngineVersionInput, optFns ...func(*Options)) (*CreateCustomDBEngineVersionOutput, error) { @@ -195,6 +202,10 @@ type CreateCustomDBEngineVersionOutput struct { // the CreateDBInstance action. SupportedTimezones []types.Timezone + // A value that indicates whether the engine version supports Babelfish for Aurora + // PostgreSQL. + SupportsBabelfish bool + // A value that indicates whether you can use Aurora global databases with a // specific DB engine version. SupportsGlobalDatabases bool diff --git a/service/rds/api_op_CreateDBCluster.go b/service/rds/api_op_CreateDBCluster.go index ed6bb44abea..77f342f9b08 100644 --- a/service/rds/api_op_CreateDBCluster.go +++ b/service/rds/api_op_CreateDBCluster.go @@ -146,8 +146,8 @@ type CreateDBClusterInput struct { // A DB subnet group to associate with this DB cluster. This setting is required to // create a Multi-AZ DB cluster. Constraints: Must match the name of an existing - // DBSubnetGroup. Must not be default. Example: mySubnetgroup Valid for: Aurora DB - // clusters and Multi-AZ DB clusters + // DBSubnetGroup. Must not be default. Example: mydbsubnetgroup Valid for: Aurora + // DB clusters and Multi-AZ DB clusters DBSubnetGroupName *string // The name for your database of up to 64 alphanumeric characters. If you do not diff --git a/service/rds/api_op_CreateDBInstance.go b/service/rds/api_op_CreateDBInstance.go index 8a69660798d..455dc9d770a 100644 --- a/service/rds/api_op_CreateDBInstance.go +++ b/service/rds/api_op_CreateDBInstance.go @@ -381,8 +381,9 @@ type CreateDBInstanceInput struct { // default DB security group for the database engine. DBSecurityGroups []string - // A DB subnet group to associate with this DB instance. If there is no DB subnet - // group, then it is a non-VPC DB instance. + // A DB subnet group to associate with this DB instance. Constraints: Must match + // the name of an existing DBSubnetGroup. Must not be default. Example: + // mydbsubnetgroup DBSubnetGroupName *string // A value that indicates whether the DB instance has deletion protection enabled. diff --git a/service/rds/api_op_CreateDBInstanceReadReplica.go b/service/rds/api_op_CreateDBInstanceReadReplica.go index ae8e60119ae..aca100586e2 100644 --- a/service/rds/api_op_CreateDBInstanceReadReplica.go +++ b/service/rds/api_op_CreateDBInstanceReadReplica.go @@ -172,7 +172,7 @@ type CreateDBInstanceReadReplicaInput struct { // group. All these read replicas are created outside of any VPC. // // Example: - // mySubnetgroup + // mydbsubnetgroup DBSubnetGroupName *string // A value that indicates whether the DB instance has deletion protection enabled. diff --git a/service/rds/api_op_CreateDBSubnetGroup.go b/service/rds/api_op_CreateDBSubnetGroup.go index 0b52cadb72b..4d73288e626 100644 --- a/service/rds/api_op_CreateDBSubnetGroup.go +++ b/service/rds/api_op_CreateDBSubnetGroup.go @@ -37,8 +37,17 @@ type CreateDBSubnetGroupInput struct { DBSubnetGroupDescription *string // The name for the DB subnet group. This value is stored as a lowercase string. - // Constraints: Must contain no more than 255 letters, numbers, periods, - // underscores, spaces, or hyphens. Must not be default. Example: mySubnetgroup + // Constraints: + // + // * Must contain no more than 255 letters, numbers, periods, + // underscores, spaces, or hyphens. + // + // * Must not be default. + // + // * First character must + // be a letter. + // + // Example: mydbsubnetgroup // // This member is required. DBSubnetGroupName *string diff --git a/service/rds/api_op_DeleteCustomDBEngineVersion.go b/service/rds/api_op_DeleteCustomDBEngineVersion.go index b80b06dc84d..97211a54e47 100644 --- a/service/rds/api_op_DeleteCustomDBEngineVersion.go +++ b/service/rds/api_op_DeleteCustomDBEngineVersion.go @@ -139,6 +139,10 @@ type DeleteCustomDBEngineVersionOutput struct { // the CreateDBInstance action. SupportedTimezones []types.Timezone + // A value that indicates whether the engine version supports Babelfish for Aurora + // PostgreSQL. + SupportsBabelfish bool + // A value that indicates whether you can use Aurora global databases with a // specific DB engine version. SupportsGlobalDatabases bool diff --git a/service/rds/api_op_DeleteDBSubnetGroup.go b/service/rds/api_op_DeleteDBSubnetGroup.go index 552f46f22b5..10d95051094 100644 --- a/service/rds/api_op_DeleteDBSubnetGroup.go +++ b/service/rds/api_op_DeleteDBSubnetGroup.go @@ -31,8 +31,8 @@ func (c *Client) DeleteDBSubnetGroup(ctx context.Context, params *DeleteDBSubnet type DeleteDBSubnetGroupInput struct { // The name of the database subnet group to delete. You can't delete the default - // subnet group. Constraints: Constraints: Must match the name of an existing - // DBSubnetGroup. Must not be default. Example: mySubnetgroup + // subnet group. Constraints: Must match the name of an existing DBSubnetGroup. + // Must not be default. Example: mydbsubnetgroup // // This member is required. DBSubnetGroupName *string diff --git a/service/rds/api_op_DescribeDBClusters.go b/service/rds/api_op_DescribeDBClusters.go index c3ac1884314..2b67a87776b 100644 --- a/service/rds/api_op_DescribeDBClusters.go +++ b/service/rds/api_op_DescribeDBClusters.go @@ -52,20 +52,19 @@ type DescribeDBClustersInput struct { // filters: // // * clone-group-id - Accepts clone group identifiers. The results list - // will only include information about the DB clusters associated with these clone + // only includes information about the DB clusters associated with these clone // groups. // // * db-cluster-id - Accepts DB cluster identifiers and DB cluster Amazon - // Resource Names (ARNs). The results list will only include information about the - // DB clusters identified by these ARNs. + // Resource Names (ARNs). The results list only includes information about the DB + // clusters identified by these ARNs. // // * domain - Accepts Active Directory - // directory IDs. The results list will only include information about the DB - // clusters associated with these domains. + // directory IDs. The results list only includes information about the DB clusters + // associated with these domains. // - // * engine - Accepts engine names. The - // results list will only include information about the DB clusters for these - // engines. + // * engine - Accepts engine names. The results + // list only includes information about the DB clusters for these engines. Filters []types.Filter // Optional Boolean parameter that specifies whether the output includes diff --git a/service/rds/api_op_DescribeDBEngineVersions.go b/service/rds/api_op_DescribeDBEngineVersions.go index 58f1122b763..b60f2dc0805 100644 --- a/service/rds/api_op_DescribeDBEngineVersions.go +++ b/service/rds/api_op_DescribeDBEngineVersions.go @@ -78,7 +78,43 @@ type DescribeDBEngineVersionsInput struct { // The database engine version to return. Example: 5.1.49 EngineVersion *string - // This parameter isn't currently supported. + // A filter that specifies one or more DB engine versions to describe. Supported + // filters: + // + // * db-parameter-group-family - Accepts parameter groups family names. + // The results list only includes information about the DB engine versions for + // these parameter group families. + // + // * engine - Accepts engine names. The results + // list only includes information about the DB engine versions for these + // engines. + // + // * engine-mode - Accepts DB engine modes. The results list only + // includes information about the DB engine versions for these engine modes. Valid + // DB engine modes are the following: + // + // * global + // + // * multimaster + // + // * parallelquery + // + // * + // provisioned + // + // * serverless + // + // * engine-version - Accepts engine versions. The + // results list only includes information about the DB engine versions for these + // engine versions. + // + // * status - Accepts engine version statuses. The results list + // only includes information about the DB engine versions for these statuses. Valid + // statuses are the following: + // + // * available + // + // * deprecated Filters []types.Filter // A value that indicates whether to include engine versions that aren't available diff --git a/service/rds/api_op_DescribeDBInstances.go b/service/rds/api_op_DescribeDBInstances.go index dc92fd34cb0..cd6c2ecc667 100644 --- a/service/rds/api_op_DescribeDBInstances.go +++ b/service/rds/api_op_DescribeDBInstances.go @@ -52,25 +52,25 @@ type DescribeDBInstancesInput struct { // filters: // // * db-cluster-id - Accepts DB cluster identifiers and DB cluster Amazon - // Resource Names (ARNs). The results list will only include information about the - // DB instances associated with the DB clusters identified by these ARNs. + // Resource Names (ARNs). The results list only includes information about the DB + // instances associated with the DB clusters identified by these ARNs. // // * // db-instance-id - Accepts DB instance identifiers and DB instance Amazon Resource - // Names (ARNs). The results list will only include information about the DB - // instances identified by these ARNs. + // Names (ARNs). The results list only includes information about the DB instances + // identified by these ARNs. // - // * dbi-resource-id - Accepts DB instance - // resource identifiers. The results list will only include information about the - // DB instances identified by these DB instance resource identifiers. + // * dbi-resource-id - Accepts DB instance resource + // identifiers. The results list will only include information about the DB + // instances identified by these DB instance resource identifiers. // // * domain - - // Accepts Active Directory directory IDs. The results list will only include + // Accepts Active Directory directory IDs. The results list only includes // information about the DB instances associated with these domains. // // * engine - - // Accepts engine names. The results list will only include information about the - // DB instances for these engines. + // Accepts engine names. The results list only includes information about the DB + // instances for these engines. Filters []types.Filter // An optional pagination token provided by a previous DescribeDBInstances request. diff --git a/service/rds/api_op_DescribePendingMaintenanceActions.go b/service/rds/api_op_DescribePendingMaintenanceActions.go index d8ada4cdbb6..01c0a994526 100644 --- a/service/rds/api_op_DescribePendingMaintenanceActions.go +++ b/service/rds/api_op_DescribePendingMaintenanceActions.go @@ -36,13 +36,13 @@ type DescribePendingMaintenanceActionsInput struct { // actions for. Supported filters: // // * db-cluster-id - Accepts DB cluster - // identifiers and DB cluster Amazon Resource Names (ARNs). The results list will - // only include pending maintenance actions for the DB clusters identified by these + // identifiers and DB cluster Amazon Resource Names (ARNs). The results list only + // includes pending maintenance actions for the DB clusters identified by these // ARNs. // // * db-instance-id - Accepts DB instance identifiers and DB instance ARNs. - // The results list will only include pending maintenance actions for the DB - // instances identified by these ARNs. + // The results list only includes pending maintenance actions for the DB instances + // identified by these ARNs. Filters []types.Filter // An optional pagination token provided by a previous diff --git a/service/rds/api_op_ModifyCustomDBEngineVersion.go b/service/rds/api_op_ModifyCustomDBEngineVersion.go index dfe8cd01673..a88713e2bff 100644 --- a/service/rds/api_op_ModifyCustomDBEngineVersion.go +++ b/service/rds/api_op_ModifyCustomDBEngineVersion.go @@ -144,6 +144,10 @@ type ModifyCustomDBEngineVersionOutput struct { // the CreateDBInstance action. SupportedTimezones []types.Timezone + // A value that indicates whether the engine version supports Babelfish for Aurora + // PostgreSQL. + SupportsBabelfish bool + // A value that indicates whether you can use Aurora global databases with a // specific DB engine version. SupportsGlobalDatabases bool diff --git a/service/rds/api_op_ModifyDBCluster.go b/service/rds/api_op_ModifyDBCluster.go index 7cce57eea20..72e9b5026ee 100644 --- a/service/rds/api_op_ModifyDBCluster.go +++ b/service/rds/api_op_ModifyDBCluster.go @@ -117,17 +117,18 @@ type ModifyDBClusterInput struct { // The name of the DB parameter group to apply to all instances of the DB cluster. // When you apply a parameter group using the DBInstanceParameterGroupName // parameter, the DB cluster isn't rebooted automatically. Also, parameter changes - // aren't applied during the next maintenance window but instead are applied - // immediately. Default: The existing name setting Constraints: + // are applied immediately rather than during the next maintenance window. Default: + // The existing name setting Constraints: // - // * The DB parameter - // group must be in the same DB parameter group family as this DB cluster. + // * The DB parameter group must be in the + // same DB parameter group family as this DB cluster. // // * The - // DBInstanceParameterGroupName parameter is only valid in combination with the - // AllowMajorVersionUpgrade parameter. + // DBInstanceParameterGroupName parameter is valid in combination with the + // AllowMajorVersionUpgrade parameter for a major version upgrade only. // - // Valid for: Aurora DB clusters only + // Valid for: + // Aurora DB clusters only DBInstanceParameterGroupName *string // A value that indicates whether the DB cluster has deletion protection enabled. diff --git a/service/rds/api_op_ModifyDBInstance.go b/service/rds/api_op_ModifyDBInstance.go index 048b9b5170d..8e7eeac9ee0 100644 --- a/service/rds/api_op_ModifyDBInstance.go +++ b/service/rds/api_op_ModifyDBInstance.go @@ -213,7 +213,7 @@ type ModifyDBInstanceInput struct { // the change. The change is applied during the next maintenance window, unless you // enable ApplyImmediately. This parameter doesn't apply to RDS Custom. // Constraints: If supplied, must match the name of an existing DBSubnetGroup. - // Example: mySubnetGroup + // Example: mydbsubnetgroup DBSubnetGroupName *string // A value that indicates whether the DB instance has deletion protection enabled. diff --git a/service/rds/api_op_ModifyDBSubnetGroup.go b/service/rds/api_op_ModifyDBSubnetGroup.go index 598ccef1827..eff6a1711b2 100644 --- a/service/rds/api_op_ModifyDBSubnetGroup.go +++ b/service/rds/api_op_ModifyDBSubnetGroup.go @@ -33,7 +33,7 @@ type ModifyDBSubnetGroupInput struct { // The name for the DB subnet group. This value is stored as a lowercase string. // You can't modify the default subnet group. Constraints: Must match the name of - // an existing DBSubnetGroup. Must not be default. Example: mySubnetgroup + // an existing DBSubnetGroup. Must not be default. Example: mydbsubnetgroup // // This member is required. DBSubnetGroupName *string diff --git a/service/rds/api_op_RestoreDBClusterFromS3.go b/service/rds/api_op_RestoreDBClusterFromS3.go index cd2a5523dba..15ae535c640 100644 --- a/service/rds/api_op_RestoreDBClusterFromS3.go +++ b/service/rds/api_op_RestoreDBClusterFromS3.go @@ -148,7 +148,7 @@ type RestoreDBClusterFromS3Input struct { // A DB subnet group to associate with the restored DB cluster. Constraints: If // supplied, must match the name of an existing DBSubnetGroup. Example: - // mySubnetgroup + // mydbsubnetgroup DBSubnetGroupName *string // The database name for the restored DB cluster. diff --git a/service/rds/api_op_RestoreDBClusterFromSnapshot.go b/service/rds/api_op_RestoreDBClusterFromSnapshot.go index d00001c1d69..b7653571f09 100644 --- a/service/rds/api_op_RestoreDBClusterFromSnapshot.go +++ b/service/rds/api_op_RestoreDBClusterFromSnapshot.go @@ -106,8 +106,7 @@ type RestoreDBClusterFromSnapshotInput struct { // all Amazon Web Services Regions, or for all database engines. For the full list // of DB instance classes, and availability for your engine, see DB Instance Class // (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Concepts.DBInstanceClass.html) - // in the Amazon RDS User Guide. Valid for: Aurora DB clusters and Multi-AZ DB - // clusters + // in the Amazon RDS User Guide. Valid for: Multi-AZ DB clusters only DBClusterInstanceClass *string // The name of the DB cluster parameter group to associate with this DB cluster. If @@ -131,7 +130,7 @@ type RestoreDBClusterFromSnapshotInput struct { // The name of the DB subnet group to use for the new DB cluster. Constraints: If // supplied, must match the name of an existing DB subnet group. Example: - // mySubnetgroup Valid for: Aurora DB clusters and Multi-AZ DB clusters + // mydbsubnetgroup Valid for: Aurora DB clusters and Multi-AZ DB clusters DBSubnetGroupName *string // The database name for the restored DB cluster. Valid for: Aurora DB clusters and diff --git a/service/rds/api_op_RestoreDBClusterToPointInTime.go b/service/rds/api_op_RestoreDBClusterToPointInTime.go index 582eacacbee..4512e1a1a37 100644 --- a/service/rds/api_op_RestoreDBClusterToPointInTime.go +++ b/service/rds/api_op_RestoreDBClusterToPointInTime.go @@ -118,7 +118,7 @@ type RestoreDBClusterToPointInTimeInput struct { // The DB subnet group name to use for the new DB cluster. Constraints: If // supplied, must match the name of an existing DBSubnetGroup. Example: - // mySubnetgroup Valid for: Aurora DB clusters and Multi-AZ DB clusters + // mydbsubnetgroup Valid for: Aurora DB clusters and Multi-AZ DB clusters DBSubnetGroupName *string // A value that indicates whether the DB cluster has deletion protection enabled. diff --git a/service/rds/api_op_RestoreDBInstanceFromDBSnapshot.go b/service/rds/api_op_RestoreDBInstanceFromDBSnapshot.go index 14d94faa002..8f95391fb98 100644 --- a/service/rds/api_op_RestoreDBInstanceFromDBSnapshot.go +++ b/service/rds/api_op_RestoreDBInstanceFromDBSnapshot.go @@ -94,7 +94,14 @@ type RestoreDBInstanceFromDBSnapshotInput struct { BackupTarget *string // A value that indicates whether to copy all tags from the restored DB instance to - // snapshots of the DB instance. By default, tags are not copied. + // snapshots of the DB instance. In most cases, tags aren't copied by default. + // However, when you restore a DB instance from a DB snapshot, RDS checks whether + // you specify new tags. If yes, the new tags are added to the restored DB + // instance. If there are no new tags, RDS looks for the tags from the source DB + // instance for the DB snapshot, and then adds those tags to the restored DB + // instance. For more information, see Copying tags to DB instance snapshots + // (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_Tagging.html#USER_Tagging.CopyTags) + // in the Amazon RDS User Guide. CopyTagsToSnapshot *bool // The instance profile associated with the underlying Amazon EC2 instance of an @@ -113,8 +120,7 @@ type RestoreDBInstanceFromDBSnapshotInput struct { // For the list of permissions required for the IAM role, see // Configure IAM and your VPC // (https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/custom-setup-orcl.html#custom-setup-orcl.iam-vpc) - // in the Amazon Relational Database Service User Guide. This setting is required - // for RDS Custom. + // in the Amazon RDS User Guide. This setting is required for RDS Custom. CustomIamInstanceProfile *string // The compute and memory capacity of the Amazon RDS DB instance, for example @@ -149,7 +155,7 @@ type RestoreDBInstanceFromDBSnapshotInput struct { DBParameterGroupName *string // The DB subnet group name to use for the new instance. Constraints: If supplied, - // must match the name of an existing DBSubnetGroup. Example: mySubnetgroup + // must match the name of an existing DBSubnetGroup. Example: mydbsubnetgroup DBSubnetGroupName *string // A value that indicates whether the DB instance has deletion protection enabled. diff --git a/service/rds/api_op_RestoreDBInstanceFromS3.go b/service/rds/api_op_RestoreDBInstanceFromS3.go index 84563e43c93..b304053e3a6 100644 --- a/service/rds/api_op_RestoreDBInstanceFromS3.go +++ b/service/rds/api_op_RestoreDBInstanceFromS3.go @@ -134,7 +134,8 @@ type RestoreDBInstanceFromS3Input struct { // default DB security group for the database engine. DBSecurityGroups []string - // A DB subnet group to associate with this DB instance. + // A DB subnet group to associate with this DB instance. Constraints: If supplied, + // must match the name of an existing DBSubnetGroup. Example: mydbsubnetgroup DBSubnetGroupName *string // A value that indicates whether the DB instance has deletion protection enabled. diff --git a/service/rds/api_op_RestoreDBInstanceToPointInTime.go b/service/rds/api_op_RestoreDBInstanceToPointInTime.go index 102f19fda49..c68ab6426d4 100644 --- a/service/rds/api_op_RestoreDBInstanceToPointInTime.go +++ b/service/rds/api_op_RestoreDBInstanceToPointInTime.go @@ -128,7 +128,7 @@ type RestoreDBInstanceToPointInTimeInput struct { DBParameterGroupName *string // The DB subnet group name to use for the new instance. Constraints: If supplied, - // must match the name of an existing DBSubnetGroup. Example: mySubnetgroup + // must match the name of an existing DBSubnetGroup. Example: mydbsubnetgroup DBSubnetGroupName *string // A value that indicates whether the DB instance has deletion protection enabled. diff --git a/service/rds/deserializers.go b/service/rds/deserializers.go index ff5ee48ef2d..37b58af38dd 100644 --- a/service/rds/deserializers.go +++ b/service/rds/deserializers.go @@ -26644,6 +26644,22 @@ func awsAwsquery_deserializeDocumentDBEngineVersion(v **types.DBEngineVersion, d return err } + case strings.EqualFold("SupportsBabelfish", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv, err := strconv.ParseBool(string(val)) + if err != nil { + return fmt.Errorf("expected Boolean to be of type *bool, got %T instead", val) + } + sv.SupportsBabelfish = xtv + } + case strings.EqualFold("SupportsGlobalDatabases", t.Name.Local): val, err := decoder.Value() if err != nil { @@ -44271,6 +44287,22 @@ func awsAwsquery_deserializeDocumentUpgradeTarget(v **types.UpgradeTarget, decod return err } + case strings.EqualFold("SupportsBabelfish", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv, err := strconv.ParseBool(string(val)) + if err != nil { + return fmt.Errorf("expected BooleanOptional to be of type *bool, got %T instead", val) + } + sv.SupportsBabelfish = ptr.Bool(xtv) + } + case strings.EqualFold("SupportsGlobalDatabases", t.Name.Local): val, err := decoder.Value() if err != nil { @@ -45969,6 +46001,22 @@ func awsAwsquery_deserializeOpDocumentCreateCustomDBEngineVersionOutput(v **Crea return err } + case strings.EqualFold("SupportsBabelfish", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv, err := strconv.ParseBool(string(val)) + if err != nil { + return fmt.Errorf("expected Boolean to be of type *bool, got %T instead", val) + } + sv.SupportsBabelfish = xtv + } + case strings.EqualFold("SupportsGlobalDatabases", t.Name.Local): val, err := decoder.Value() if err != nil { @@ -47065,6 +47113,22 @@ func awsAwsquery_deserializeOpDocumentDeleteCustomDBEngineVersionOutput(v **Dele return err } + case strings.EqualFold("SupportsBabelfish", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv, err := strconv.ParseBool(string(val)) + if err != nil { + return fmt.Errorf("expected Boolean to be of type *bool, got %T instead", val) + } + sv.SupportsBabelfish = xtv + } + case strings.EqualFold("SupportsGlobalDatabases", t.Name.Local): val, err := decoder.Value() if err != nil { @@ -50679,6 +50743,22 @@ func awsAwsquery_deserializeOpDocumentModifyCustomDBEngineVersionOutput(v **Modi return err } + case strings.EqualFold("SupportsBabelfish", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv, err := strconv.ParseBool(string(val)) + if err != nil { + return fmt.Errorf("expected Boolean to be of type *bool, got %T instead", val) + } + sv.SupportsBabelfish = xtv + } + case strings.EqualFold("SupportsGlobalDatabases", t.Name.Local): val, err := decoder.Value() if err != nil { diff --git a/service/rds/types/errors.go b/service/rds/types/errors.go index b32c7b2e3fc..57e70a832ce 100644 --- a/service/rds/types/errors.go +++ b/service/rds/types/errors.go @@ -2312,7 +2312,7 @@ func (e *SnapshotQuotaExceededFault) ErrorMessage() string { func (e *SnapshotQuotaExceededFault) ErrorCode() string { return "SnapshotQuotaExceeded" } func (e *SnapshotQuotaExceededFault) ErrorFault() smithy.ErrorFault { return smithy.FaultClient } -// SNS has responded that there is a problem with the SND topic specified. +// SNS has responded that there is a problem with the SNS topic specified. type SNSInvalidTopicFault struct { Message *string diff --git a/service/rds/types/types.go b/service/rds/types/types.go index 23f947ec076..cde935d62e0 100644 --- a/service/rds/types/types.go +++ b/service/rds/types/types.go @@ -1042,6 +1042,10 @@ type DBEngineVersion struct { // the CreateDBInstance action. SupportedTimezones []Timezone + // A value that indicates whether the engine version supports Babelfish for Aurora + // PostgreSQL. + SupportsBabelfish bool + // A value that indicates whether you can use Aurora global databases with a // specific DB engine version. SupportsGlobalDatabases bool @@ -3522,6 +3526,10 @@ type UpgradeTarget struct { // A list of the supported DB engine modes for the target engine version. SupportedEngineModes []string + // A value that indicates whether you can use Babelfish for Aurora PostgreSQL with + // the target engine version. + SupportsBabelfish *bool + // A value that indicates whether you can use Aurora global databases with the // target engine version. SupportsGlobalDatabases *bool diff --git a/service/redshift/api_op_AssociateDataShareConsumer.go b/service/redshift/api_op_AssociateDataShareConsumer.go index b0f05264c5e..9b2698e576f 100644 --- a/service/redshift/api_op_AssociateDataShareConsumer.go +++ b/service/redshift/api_op_AssociateDataShareConsumer.go @@ -45,6 +45,10 @@ type AssociateDataShareConsumerInput struct { // datashare. ConsumerArn *string + // From a datashare consumer account, associates a datashare with all existing and + // future namespaces in the specified Amazon Web Services Region. + ConsumerRegion *string + noSmithyDocumentSerde } diff --git a/service/redshift/api_op_CreateCluster.go b/service/redshift/api_op_CreateCluster.go index 46f3554e3f5..7911057a548 100644 --- a/service/redshift/api_op_CreateCluster.go +++ b/service/redshift/api_op_CreateCluster.go @@ -73,8 +73,8 @@ type CreateClusterInput struct { // * Must contain one number. // // * Can be any printable ASCII - // character (ASCII code 33 to 126) except ' (single quote), " (double quote), \, - // /, @, or space. + // character (ASCII code 33-126) except ' (single quote), " (double quote), \, /, + // or @. // // This member is required. MasterUserPassword *string @@ -242,9 +242,11 @@ type CreateClusterInput struct { // A list of Identity and Access Management (IAM) roles that can be used by the // cluster to access other Amazon Web Services services. You must supply the IAM - // roles in their Amazon Resource Name (ARN) format. You can supply up to 10 IAM - // roles in a single request. A cluster can have up to 10 IAM roles associated with - // it at any time. + // roles in their Amazon Resource Name (ARN) format. The maximum number of IAM + // roles that you can associate is subject to a quota. For more information, go to + // Quotas and limits + // (https://docs.aws.amazon.com/redshift/latest/mgmt/amazon-redshift-limits.html) + // in the Amazon Redshift Cluster Management Guide. IamRoles []string // The Key Management Service (KMS) key ID of the encryption key that you want to diff --git a/service/redshift/api_op_CreateSnapshotCopyGrant.go b/service/redshift/api_op_CreateSnapshotCopyGrant.go index 9980c455a47..9d6ef454562 100644 --- a/service/redshift/api_op_CreateSnapshotCopyGrant.go +++ b/service/redshift/api_op_CreateSnapshotCopyGrant.go @@ -11,10 +11,10 @@ import ( smithyhttp "github.com/aws/smithy-go/transport/http" ) -// Creates a snapshot copy grant that permits Amazon Redshift to use a customer -// master key (CMK) from Key Management Service (KMS) to encrypt copied snapshots -// in a destination region. For more information about managing snapshot copy -// grants, go to Amazon Redshift Database Encryption +// Creates a snapshot copy grant that permits Amazon Redshift to use an encrypted +// symmetric key from Key Management Service (KMS) to encrypt copied snapshots in a +// destination region. For more information about managing snapshot copy grants, go +// to Amazon Redshift Database Encryption // (https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-db-encryption.html) // in the Amazon Redshift Cluster Management Guide. func (c *Client) CreateSnapshotCopyGrant(ctx context.Context, params *CreateSnapshotCopyGrantInput, optFns ...func(*Options)) (*CreateSnapshotCopyGrantOutput, error) { @@ -55,7 +55,7 @@ type CreateSnapshotCopyGrantInput struct { // This member is required. SnapshotCopyGrantName *string - // The unique identifier of the customer master key (CMK) to which to grant Amazon + // The unique identifier of the encrypted symmetric key to which to grant Amazon // Redshift permission. If no key is specified, the default key is used. KmsKeyId *string @@ -68,7 +68,7 @@ type CreateSnapshotCopyGrantInput struct { type CreateSnapshotCopyGrantOutput struct { // The snapshot copy grant that grants Amazon Redshift permission to encrypt copied - // snapshots with the specified customer master key (CMK) from Amazon Web Services + // snapshots with the specified encrypted symmetric key from Amazon Web Services // KMS in the destination region. For more information about managing snapshot copy // grants, go to Amazon Redshift Database Encryption // (https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-db-encryption.html) diff --git a/service/redshift/api_op_CreateUsageLimit.go b/service/redshift/api_op_CreateUsageLimit.go index c1fcc4200f5..cd569b0b8ef 100644 --- a/service/redshift/api_op_CreateUsageLimit.go +++ b/service/redshift/api_op_CreateUsageLimit.go @@ -49,7 +49,8 @@ type CreateUsageLimitInput struct { // The type of limit. Depending on the feature type, this can be based on a time // duration or data size. If FeatureType is spectrum, then LimitType must be // data-scanned. If FeatureType is concurrency-scaling, then LimitType must be - // time. + // time. If FeatureType is cross-region-datasharing, then LimitType must be + // data-scanned. // // This member is required. LimitType types.UsageLimitLimitType diff --git a/service/redshift/api_op_DisableSnapshotCopy.go b/service/redshift/api_op_DisableSnapshotCopy.go index fe41b8fdb37..b35216d2009 100644 --- a/service/redshift/api_op_DisableSnapshotCopy.go +++ b/service/redshift/api_op_DisableSnapshotCopy.go @@ -12,10 +12,10 @@ import ( ) // Disables the automatic copying of snapshots from one region to another region -// for a specified cluster. If your cluster and its snapshots are encrypted using a -// customer master key (CMK) from Key Management Service, use +// for a specified cluster. If your cluster and its snapshots are encrypted using +// an encrypted symmetric key from Key Management Service, use // DeleteSnapshotCopyGrant to delete the grant that grants Amazon Redshift -// permission to the CMK in the destination region. +// permission to the key in the destination region. func (c *Client) DisableSnapshotCopy(ctx context.Context, params *DisableSnapshotCopyInput, optFns ...func(*Options)) (*DisableSnapshotCopyOutput, error) { if params == nil { params = &DisableSnapshotCopyInput{} diff --git a/service/redshift/api_op_DisassociateDataShareConsumer.go b/service/redshift/api_op_DisassociateDataShareConsumer.go index ff0f9cad595..f6c1f88924a 100644 --- a/service/redshift/api_op_DisassociateDataShareConsumer.go +++ b/service/redshift/api_op_DisassociateDataShareConsumer.go @@ -38,6 +38,10 @@ type DisassociateDataShareConsumerInput struct { // datashare is removed from. ConsumerArn *string + // From a datashare consumer account, removes association of a datashare from all + // the existing and future namespaces in the specified Amazon Web Services Region. + ConsumerRegion *string + // A value that specifies whether association for the datashare is removed from the // entire account. DisassociateEntireAccount *bool diff --git a/service/redshift/api_op_ModifyCluster.go b/service/redshift/api_op_ModifyCluster.go index d7fab3d22ce..9536da8b161 100644 --- a/service/redshift/api_op_ModifyCluster.go +++ b/service/redshift/api_op_ModifyCluster.go @@ -173,8 +173,7 @@ type ModifyClusterInput struct { // * Must contain one number. // // * Can be any printable ASCII character - // (ASCII code 33 to 126) except ' (single quote), " (double quote), \, /, @, or - // space. + // (ASCII code 33-126) except ' (single quote), " (double quote), \, /, or @. MasterUserPassword *string // The new identifier for the cluster. Constraints: diff --git a/service/redshift/api_op_ModifyClusterIamRoles.go b/service/redshift/api_op_ModifyClusterIamRoles.go index 578e3daa224..b93f2d21385 100644 --- a/service/redshift/api_op_ModifyClusterIamRoles.go +++ b/service/redshift/api_op_ModifyClusterIamRoles.go @@ -12,8 +12,11 @@ import ( ) // Modifies the list of Identity and Access Management (IAM) roles that can be used -// by the cluster to access other Amazon Web Services services. A cluster can have -// up to 10 IAM roles associated at any time. +// by the cluster to access other Amazon Web Services services. The maximum number +// of IAM roles that you can associate is subject to a quota. For more information, +// go to Quotas and limits +// (https://docs.aws.amazon.com/redshift/latest/mgmt/amazon-redshift-limits.html) +// in the Amazon Redshift Cluster Management Guide. func (c *Client) ModifyClusterIamRoles(ctx context.Context, params *ModifyClusterIamRolesInput, optFns ...func(*Options)) (*ModifyClusterIamRolesOutput, error) { if params == nil { params = &ModifyClusterIamRolesInput{} @@ -39,16 +42,14 @@ type ModifyClusterIamRolesInput struct { ClusterIdentifier *string // Zero or more IAM roles to associate with the cluster. The roles must be in their - // Amazon Resource Name (ARN) format. You can associate up to 10 IAM roles with a - // single cluster in a single request. + // Amazon Resource Name (ARN) format. AddIamRoles []string // The Amazon Resource Name (ARN) for the IAM role that was set as default for the // cluster when the cluster was last modified. DefaultIamRoleArn *string - // Zero or more IAM roles in ARN format to disassociate from the cluster. You can - // disassociate up to 10 IAM roles from a single cluster in a single request. + // Zero or more IAM roles in ARN format to disassociate from the cluster. RemoveIamRoles []string noSmithyDocumentSerde diff --git a/service/redshift/api_op_RestoreFromClusterSnapshot.go b/service/redshift/api_op_RestoreFromClusterSnapshot.go index 2bfeea08012..7170c8c3da2 100644 --- a/service/redshift/api_op_RestoreFromClusterSnapshot.go +++ b/service/redshift/api_op_RestoreFromClusterSnapshot.go @@ -153,9 +153,11 @@ type RestoreFromClusterSnapshotInput struct { // A list of Identity and Access Management (IAM) roles that can be used by the // cluster to access other Amazon Web Services services. You must supply the IAM - // roles in their Amazon Resource Name (ARN) format. You can supply up to 10 IAM - // roles in a single request. A cluster can have up to 10 IAM roles associated at - // any time. + // roles in their Amazon Resource Name (ARN) format. The maximum number of IAM + // roles that you can associate is subject to a quota. For more information, go to + // Quotas and limits + // (https://docs.aws.amazon.com/redshift/latest/mgmt/amazon-redshift-limits.html) + // in the Amazon Redshift Cluster Management Guide. IamRoles []string // The Key Management Service (KMS) key ID of the encryption key that you want to diff --git a/service/redshift/deserializers.go b/service/redshift/deserializers.go index 45fb38de48e..e497b4c33e6 100644 --- a/service/redshift/deserializers.go +++ b/service/redshift/deserializers.go @@ -23528,6 +23528,19 @@ func awsAwsquery_deserializeDocumentDataShareAssociation(v **types.DataShareAsso sv.ConsumerIdentifier = ptr.String(xtv) } + case strings.EqualFold("ConsumerRegion", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + sv.ConsumerRegion = ptr.String(xtv) + } + case strings.EqualFold("CreatedDate", t.Name.Local): val, err := decoder.Value() if err != nil { diff --git a/service/redshift/serializers.go b/service/redshift/serializers.go index 83103aa2a3b..b88a70d1d05 100644 --- a/service/redshift/serializers.go +++ b/service/redshift/serializers.go @@ -8133,6 +8133,11 @@ func awsAwsquery_serializeOpDocumentAssociateDataShareConsumerInput(v *Associate objectKey.String(*v.ConsumerArn) } + if v.ConsumerRegion != nil { + objectKey := object.Key("ConsumerRegion") + objectKey.String(*v.ConsumerRegion) + } + if v.DataShareArn != nil { objectKey := object.Key("DataShareArn") objectKey.String(*v.DataShareArn) @@ -10332,6 +10337,11 @@ func awsAwsquery_serializeOpDocumentDisassociateDataShareConsumerInput(v *Disass objectKey.String(*v.ConsumerArn) } + if v.ConsumerRegion != nil { + objectKey := object.Key("ConsumerRegion") + objectKey.String(*v.ConsumerRegion) + } + if v.DataShareArn != nil { objectKey := object.Key("DataShareArn") objectKey.String(*v.DataShareArn) diff --git a/service/redshift/types/enums.go b/service/redshift/types/enums.go index c3e61322c15..ac46fc04977 100644 --- a/service/redshift/types/enums.go +++ b/service/redshift/types/enums.go @@ -507,8 +507,9 @@ type UsageLimitFeatureType string // Enum values for UsageLimitFeatureType const ( - UsageLimitFeatureTypeSpectrum UsageLimitFeatureType = "spectrum" - UsageLimitFeatureTypeConcurrencyScaling UsageLimitFeatureType = "concurrency-scaling" + UsageLimitFeatureTypeSpectrum UsageLimitFeatureType = "spectrum" + UsageLimitFeatureTypeConcurrencyScaling UsageLimitFeatureType = "concurrency-scaling" + UsageLimitFeatureTypeCrossRegionDatasharing UsageLimitFeatureType = "cross-region-datasharing" ) // Values returns all known values for UsageLimitFeatureType. Note that this can be @@ -518,6 +519,7 @@ func (UsageLimitFeatureType) Values() []UsageLimitFeatureType { return []UsageLimitFeatureType{ "spectrum", "concurrency-scaling", + "cross-region-datasharing", } } diff --git a/service/redshift/types/types.go b/service/redshift/types/types.go index 881abaafb46..ee42d5648e4 100644 --- a/service/redshift/types/types.go +++ b/service/redshift/types/types.go @@ -645,6 +645,10 @@ type DataShareAssociation struct { // datashare. ConsumerIdentifier *string + // The Amazon Web Services Region of the consumer accounts that have an association + // with a producer datashare. + ConsumerRegion *string + // The creation date of the datashare that is associated. CreatedDate *time.Time @@ -1764,15 +1768,15 @@ type Snapshot struct { } // The snapshot copy grant that grants Amazon Redshift permission to encrypt copied -// snapshots with the specified customer master key (CMK) from Amazon Web Services +// snapshots with the specified encrypted symmetric key from Amazon Web Services // KMS in the destination region. For more information about managing snapshot copy // grants, go to Amazon Redshift Database Encryption // (https://docs.aws.amazon.com/redshift/latest/mgmt/working-with-db-encryption.html) // in the Amazon Redshift Cluster Management Guide. type SnapshotCopyGrant struct { - // The unique identifier of the customer master key (CMK) in Amazon Web Services - // KMS to which Amazon Redshift is granted permission. + // The unique identifier of the encrypted symmetric key in Amazon Web Services KMS + // to which Amazon Redshift is granted permission. KmsKeyId *string // The name of the snapshot copy grant. diff --git a/service/robomaker/api_op_CancelDeploymentJob.go b/service/robomaker/api_op_CancelDeploymentJob.go index 17c98cb2f95..c45b893287f 100644 --- a/service/robomaker/api_op_CancelDeploymentJob.go +++ b/service/robomaker/api_op_CancelDeploymentJob.go @@ -10,7 +10,13 @@ import ( smithyhttp "github.com/aws/smithy-go/transport/http" ) -// Cancels the specified deployment job. +// Cancels the specified deployment job. This API will no longer be supported as of +// May 2, 2022. Use it to remove resources that were created for Deployment +// Service. +// +// Deprecated: Support for the AWS RoboMaker application deployment feature has +// ended. For additional information, see +// https://docs.aws.amazon.com/robomaker/latest/dg/fleets.html. func (c *Client) CancelDeploymentJob(ctx context.Context, params *CancelDeploymentJobInput, optFns ...func(*Options)) (*CancelDeploymentJobOutput, error) { if params == nil { params = &CancelDeploymentJobInput{} diff --git a/service/robomaker/api_op_CreateDeploymentJob.go b/service/robomaker/api_op_CreateDeploymentJob.go index 2b301a7c98c..69247137f98 100644 --- a/service/robomaker/api_op_CreateDeploymentJob.go +++ b/service/robomaker/api_op_CreateDeploymentJob.go @@ -13,13 +13,18 @@ import ( "time" ) -// Deploys a specific version of a robot application to robots in a fleet. The -// robot application must have a numbered applicationVersion for consistency -// reasons. To create a new version, use CreateRobotApplicationVersion or see -// Creating a Robot Application Version +// Deploys a specific version of a robot application to robots in a fleet. This API +// is no longer supported and will throw an error if used. The robot application +// must have a numbered applicationVersion for consistency reasons. To create a new +// version, use CreateRobotApplicationVersion or see Creating a Robot Application +// Version // (https://docs.aws.amazon.com/robomaker/latest/dg/create-robot-application-version.html). // After 90 days, deployment jobs expire and will be deleted. They will no longer // be accessible. +// +// Deprecated: AWS RoboMaker is unable to process this request as the support for +// the AWS RoboMaker application deployment feature has ended. For additional +// information, see https://docs.aws.amazon.com/robomaker/latest/dg/fleets.html. func (c *Client) CreateDeploymentJob(ctx context.Context, params *CreateDeploymentJobInput, optFns ...func(*Options)) (*CreateDeploymentJobOutput, error) { if params == nil { params = &CreateDeploymentJobInput{} diff --git a/service/robomaker/api_op_CreateFleet.go b/service/robomaker/api_op_CreateFleet.go index c5b68fc01d6..b877fcd6f12 100644 --- a/service/robomaker/api_op_CreateFleet.go +++ b/service/robomaker/api_op_CreateFleet.go @@ -12,6 +12,11 @@ import ( ) // Creates a fleet, a logical group of robots running the same robot application. +// This API is no longer supported and will throw an error if used. +// +// Deprecated: AWS RoboMaker is unable to process this request as the support for +// the AWS RoboMaker application deployment feature has ended. For additional +// information, see https://docs.aws.amazon.com/robomaker/latest/dg/fleets.html. func (c *Client) CreateFleet(ctx context.Context, params *CreateFleetInput, optFns ...func(*Options)) (*CreateFleetOutput, error) { if params == nil { params = &CreateFleetInput{} diff --git a/service/robomaker/api_op_CreateRobot.go b/service/robomaker/api_op_CreateRobot.go index 6fc35655a39..a58b4455fee 100644 --- a/service/robomaker/api_op_CreateRobot.go +++ b/service/robomaker/api_op_CreateRobot.go @@ -12,7 +12,12 @@ import ( "time" ) -// Creates a robot. +// Creates a robot. This API is no longer supported and will throw an error if +// used. +// +// Deprecated: AWS RoboMaker is unable to process this request as the support for +// the AWS RoboMaker application deployment feature has ended. For additional +// information, see https://docs.aws.amazon.com/robomaker/latest/dg/fleets.html. func (c *Client) CreateRobot(ctx context.Context, params *CreateRobotInput, optFns ...func(*Options)) (*CreateRobotOutput, error) { if params == nil { params = &CreateRobotInput{} diff --git a/service/robomaker/api_op_DeleteFleet.go b/service/robomaker/api_op_DeleteFleet.go index 7101a5974b7..dd8d0d96f60 100644 --- a/service/robomaker/api_op_DeleteFleet.go +++ b/service/robomaker/api_op_DeleteFleet.go @@ -10,7 +10,12 @@ import ( smithyhttp "github.com/aws/smithy-go/transport/http" ) -// Deletes a fleet. +// Deletes a fleet. This API will no longer be supported as of May 2, 2022. Use it +// to remove resources that were created for Deployment Service. +// +// Deprecated: Support for the AWS RoboMaker application deployment feature has +// ended. For additional information, see +// https://docs.aws.amazon.com/robomaker/latest/dg/fleets.html. func (c *Client) DeleteFleet(ctx context.Context, params *DeleteFleetInput, optFns ...func(*Options)) (*DeleteFleetOutput, error) { if params == nil { params = &DeleteFleetInput{} diff --git a/service/robomaker/api_op_DeleteRobot.go b/service/robomaker/api_op_DeleteRobot.go index 8693a56da72..e29eefb737d 100644 --- a/service/robomaker/api_op_DeleteRobot.go +++ b/service/robomaker/api_op_DeleteRobot.go @@ -10,7 +10,12 @@ import ( smithyhttp "github.com/aws/smithy-go/transport/http" ) -// Deletes a robot. +// Deletes a robot. This API will no longer be supported as of May 2, 2022. Use it +// to remove resources that were created for Deployment Service. +// +// Deprecated: Support for the AWS RoboMaker application deployment feature has +// ended. For additional information, see +// https://docs.aws.amazon.com/robomaker/latest/dg/fleets.html. func (c *Client) DeleteRobot(ctx context.Context, params *DeleteRobotInput, optFns ...func(*Options)) (*DeleteRobotOutput, error) { if params == nil { params = &DeleteRobotInput{} diff --git a/service/robomaker/api_op_DeregisterRobot.go b/service/robomaker/api_op_DeregisterRobot.go index 5e32c32b2d5..44196935f0b 100644 --- a/service/robomaker/api_op_DeregisterRobot.go +++ b/service/robomaker/api_op_DeregisterRobot.go @@ -10,7 +10,12 @@ import ( smithyhttp "github.com/aws/smithy-go/transport/http" ) -// Deregisters a robot. +// Deregisters a robot. This API will no longer be supported as of May 2, 2022. Use +// it to remove resources that were created for Deployment Service. +// +// Deprecated: Support for the AWS RoboMaker application deployment feature has +// ended. For additional information, see +// https://docs.aws.amazon.com/robomaker/latest/dg/fleets.html. func (c *Client) DeregisterRobot(ctx context.Context, params *DeregisterRobotInput, optFns ...func(*Options)) (*DeregisterRobotOutput, error) { if params == nil { params = &DeregisterRobotInput{} diff --git a/service/robomaker/api_op_DescribeDeploymentJob.go b/service/robomaker/api_op_DescribeDeploymentJob.go index 2398680b8fa..6bc8db8865a 100644 --- a/service/robomaker/api_op_DescribeDeploymentJob.go +++ b/service/robomaker/api_op_DescribeDeploymentJob.go @@ -12,7 +12,12 @@ import ( "time" ) -// Describes a deployment job. +// Describes a deployment job. This API will no longer be supported as of May 2, +// 2022. Use it to remove resources that were created for Deployment Service. +// +// Deprecated: Support for the AWS RoboMaker application deployment feature has +// ended. For additional information, see +// https://docs.aws.amazon.com/robomaker/latest/dg/fleets.html. func (c *Client) DescribeDeploymentJob(ctx context.Context, params *DescribeDeploymentJobInput, optFns ...func(*Options)) (*DescribeDeploymentJobOutput, error) { if params == nil { params = &DescribeDeploymentJobInput{} diff --git a/service/robomaker/api_op_DescribeFleet.go b/service/robomaker/api_op_DescribeFleet.go index 8b283f229a9..08f3607d6bf 100644 --- a/service/robomaker/api_op_DescribeFleet.go +++ b/service/robomaker/api_op_DescribeFleet.go @@ -12,7 +12,12 @@ import ( "time" ) -// Describes a fleet. +// Describes a fleet. This API will no longer be supported as of May 2, 2022. Use +// it to remove resources that were created for Deployment Service. +// +// Deprecated: Support for the AWS RoboMaker application deployment feature has +// ended. For additional information, see +// https://docs.aws.amazon.com/robomaker/latest/dg/fleets.html. func (c *Client) DescribeFleet(ctx context.Context, params *DescribeFleetInput, optFns ...func(*Options)) (*DescribeFleetOutput, error) { if params == nil { params = &DescribeFleetInput{} diff --git a/service/robomaker/api_op_DescribeRobot.go b/service/robomaker/api_op_DescribeRobot.go index 60a68c393c9..98c3d77f333 100644 --- a/service/robomaker/api_op_DescribeRobot.go +++ b/service/robomaker/api_op_DescribeRobot.go @@ -12,7 +12,12 @@ import ( "time" ) -// Describes a robot. +// Describes a robot. This API will no longer be supported as of May 2, 2022. Use +// it to remove resources that were created for Deployment Service. +// +// Deprecated: Support for the AWS RoboMaker application deployment feature has +// ended. For additional information, see +// https://docs.aws.amazon.com/robomaker/latest/dg/fleets.html. func (c *Client) DescribeRobot(ctx context.Context, params *DescribeRobotInput, optFns ...func(*Options)) (*DescribeRobotOutput, error) { if params == nil { params = &DescribeRobotInput{} diff --git a/service/robomaker/api_op_ListDeploymentJobs.go b/service/robomaker/api_op_ListDeploymentJobs.go index cc2dee76c26..bfe7fcc21a1 100644 --- a/service/robomaker/api_op_ListDeploymentJobs.go +++ b/service/robomaker/api_op_ListDeploymentJobs.go @@ -13,7 +13,13 @@ import ( ) // Returns a list of deployment jobs for a fleet. You can optionally provide -// filters to retrieve specific deployment jobs. +// filters to retrieve specific deployment jobs. This API will no longer be +// supported as of May 2, 2022. Use it to remove resources that were created for +// Deployment Service. +// +// Deprecated: Support for the AWS RoboMaker application deployment feature has +// ended. For additional information, see +// https://docs.aws.amazon.com/robomaker/latest/dg/fleets.html. func (c *Client) ListDeploymentJobs(ctx context.Context, params *ListDeploymentJobsInput, optFns ...func(*Options)) (*ListDeploymentJobsOutput, error) { if params == nil { params = &ListDeploymentJobsInput{} diff --git a/service/robomaker/api_op_ListFleets.go b/service/robomaker/api_op_ListFleets.go index ae3f1ba27ec..4cb51183070 100644 --- a/service/robomaker/api_op_ListFleets.go +++ b/service/robomaker/api_op_ListFleets.go @@ -13,7 +13,12 @@ import ( ) // Returns a list of fleets. You can optionally provide filters to retrieve -// specific fleets. +// specific fleets. This API will no longer be supported as of May 2, 2022. Use it +// to remove resources that were created for Deployment Service. +// +// Deprecated: Support for the AWS RoboMaker application deployment feature has +// ended. For additional information, see +// https://docs.aws.amazon.com/robomaker/latest/dg/fleets.html. func (c *Client) ListFleets(ctx context.Context, params *ListFleetsInput, optFns ...func(*Options)) (*ListFleetsOutput, error) { if params == nil { params = &ListFleetsInput{} diff --git a/service/robomaker/api_op_ListRobots.go b/service/robomaker/api_op_ListRobots.go index 2a3591a5880..c03c293e4fa 100644 --- a/service/robomaker/api_op_ListRobots.go +++ b/service/robomaker/api_op_ListRobots.go @@ -13,7 +13,12 @@ import ( ) // Returns a list of robots. You can optionally provide filters to retrieve -// specific robots. +// specific robots. This API will no longer be supported as of May 2, 2022. Use it +// to remove resources that were created for Deployment Service. +// +// Deprecated: Support for the AWS RoboMaker application deployment feature has +// ended. For additional information, see +// https://docs.aws.amazon.com/robomaker/latest/dg/fleets.html. func (c *Client) ListRobots(ctx context.Context, params *ListRobotsInput, optFns ...func(*Options)) (*ListRobotsOutput, error) { if params == nil { params = &ListRobotsInput{} diff --git a/service/robomaker/api_op_RegisterRobot.go b/service/robomaker/api_op_RegisterRobot.go index b5546978611..cd93160e1a0 100644 --- a/service/robomaker/api_op_RegisterRobot.go +++ b/service/robomaker/api_op_RegisterRobot.go @@ -10,7 +10,12 @@ import ( smithyhttp "github.com/aws/smithy-go/transport/http" ) -// Registers a robot with a fleet. +// Registers a robot with a fleet. This API is no longer supported and will throw +// an error if used. +// +// Deprecated: AWS RoboMaker is unable to process this request as the support for +// the AWS RoboMaker application deployment feature has ended. For additional +// information, see https://docs.aws.amazon.com/robomaker/latest/dg/fleets.html. func (c *Client) RegisterRobot(ctx context.Context, params *RegisterRobotInput, optFns ...func(*Options)) (*RegisterRobotOutput, error) { if params == nil { params = &RegisterRobotInput{} diff --git a/service/robomaker/api_op_SyncDeploymentJob.go b/service/robomaker/api_op_SyncDeploymentJob.go index 654fb492c03..75c58c4b932 100644 --- a/service/robomaker/api_op_SyncDeploymentJob.go +++ b/service/robomaker/api_op_SyncDeploymentJob.go @@ -14,7 +14,13 @@ import ( ) // Syncrhonizes robots in a fleet to the latest deployment. This is helpful if -// robots were added after a deployment. +// robots were added after a deployment. This API will no longer be supported as of +// May 2, 2022. Use it to remove resources that were created for Deployment +// Service. +// +// Deprecated: Support for the AWS RoboMaker application deployment feature has +// ended. For additional information, see +// https://docs.aws.amazon.com/robomaker/latest/dg/fleets.html. func (c *Client) SyncDeploymentJob(ctx context.Context, params *SyncDeploymentJobInput, optFns ...func(*Options)) (*SyncDeploymentJobOutput, error) { if params == nil { params = &SyncDeploymentJobInput{} diff --git a/service/s3control/api_op_CreateJob.go b/service/s3control/api_op_CreateJob.go index cd678f8685a..ec5a51433e9 100644 --- a/service/s3control/api_op_CreateJob.go +++ b/service/s3control/api_op_CreateJob.go @@ -18,7 +18,7 @@ import ( // You can use S3 Batch Operations to perform large-scale batch actions on Amazon // S3 objects. Batch Operations can run a single action on lists of Amazon S3 // objects that you specify. For more information, see S3 Batch Operations -// (https://docs.aws.amazon.com/AmazonS3/latest/dev/batch-ops-basics.html) in the +// (https://docs.aws.amazon.com/AmazonS3/latest/userguide/batch-ops.html) in the // Amazon S3 User Guide. This action creates a S3 Batch Operations job. Related // actions include: // @@ -68,11 +68,6 @@ type CreateJobInput struct { // This member is required. ClientRequestToken *string - // Configuration parameters for the manifest. - // - // This member is required. - Manifest *types.JobManifest - // The action that you want this job to perform on every object listed in the // manifest. For more information about the available actions, see Operations // (https://docs.aws.amazon.com/AmazonS3/latest/dev/batch-ops-actions.html) in the @@ -106,6 +101,13 @@ type CreateJobInput struct { // Descriptions don't need to be unique and can be used for multiple jobs. Description *string + // Configuration parameters for the manifest. + Manifest *types.JobManifest + + // The attribute container for the ManifestGenerator details. Jobs must be created + // with either a manifest file or a ManifestGenerator, but not both. + ManifestGenerator types.JobManifestGenerator + // A set of tags to associate with the S3 Batch Operations job. This is an optional // parameter. Tags []types.S3Tag diff --git a/service/s3control/api_op_DescribeJob.go b/service/s3control/api_op_DescribeJob.go index a5b299919cf..8f9138b0ef5 100644 --- a/service/s3control/api_op_DescribeJob.go +++ b/service/s3control/api_op_DescribeJob.go @@ -17,7 +17,7 @@ import ( // Retrieves the configuration parameters and status for a Batch Operations job. // For more information, see S3 Batch Operations -// (https://docs.aws.amazon.com/AmazonS3/latest/dev/batch-ops-basics.html) in the +// (https://docs.aws.amazon.com/AmazonS3/latest/userguide/batch-ops.html) in the // Amazon S3 User Guide. Related actions include: // // * CreateJob diff --git a/service/s3control/api_op_ListAccessPointsForObjectLambda.go b/service/s3control/api_op_ListAccessPointsForObjectLambda.go index 67446517122..fd473e1101a 100644 --- a/service/s3control/api_op_ListAccessPointsForObjectLambda.go +++ b/service/s3control/api_op_ListAccessPointsForObjectLambda.go @@ -15,12 +15,11 @@ import ( "strings" ) -// Returns a list of the access points associated with the Object Lambda Access -// Point. You can retrieve up to 1000 access points per call. If there are more -// than 1,000 access points (or the number specified in maxResults, whichever is -// less), the response will include a continuation token that you can use to list -// the additional access points. The following actions are related to -// ListAccessPointsForObjectLambda: +// Returns some or all (up to 1,000) access points associated with the Object +// Lambda Access Point per call. If there are more access points than what can be +// returned in one call, the response will include a continuation token that you +// can use to list the additional access points. The following actions are related +// to ListAccessPointsForObjectLambda: // // * CreateAccessPointForObjectLambda // (https://docs.aws.amazon.com/AmazonS3/latest/API/API_control_CreateAccessPointForObjectLambda.html) @@ -55,10 +54,11 @@ type ListAccessPointsForObjectLambdaInput struct { // This member is required. AccountId *string - // The maximum number of access points that you want to include in the list. If - // there are more than this number of access points, then the response will include - // a continuation token in the NextToken field that you can use to retrieve the - // next page of access points. + // The maximum number of access points that you want to include in the list. The + // response may contain fewer access points but will never contain more. If there + // are more than this number of access points, then the response will include a + // continuation token in the NextToken field that you can use to retrieve the next + // page of access points. MaxResults int32 // If the list has more access points than can be returned in one call to this API, @@ -209,10 +209,11 @@ var _ ListAccessPointsForObjectLambdaAPIClient = (*Client)(nil) // ListAccessPointsForObjectLambdaPaginatorOptions is the paginator options for // ListAccessPointsForObjectLambda type ListAccessPointsForObjectLambdaPaginatorOptions struct { - // The maximum number of access points that you want to include in the list. If - // there are more than this number of access points, then the response will include - // a continuation token in the NextToken field that you can use to retrieve the - // next page of access points. + // The maximum number of access points that you want to include in the list. The + // response may contain fewer access points but will never contain more. If there + // are more than this number of access points, then the response will include a + // continuation token in the NextToken field that you can use to retrieve the next + // page of access points. Limit int32 // Set to true if pagination should stop if the service returns a pagination token diff --git a/service/s3control/api_op_ListJobs.go b/service/s3control/api_op_ListJobs.go index 7373e6382e2..b41ec569c56 100644 --- a/service/s3control/api_op_ListJobs.go +++ b/service/s3control/api_op_ListJobs.go @@ -18,7 +18,7 @@ import ( // Lists current S3 Batch Operations jobs and jobs that have ended within the last // 30 days for the Amazon Web Services account making the request. For more // information, see S3 Batch Operations -// (https://docs.aws.amazon.com/AmazonS3/latest/dev/batch-ops-basics.html) in the +// (https://docs.aws.amazon.com/AmazonS3/latest/userguide/batch-ops.html) in the // Amazon S3 User Guide. Related actions include: // // * CreateJob diff --git a/service/s3control/api_op_PutPublicAccessBlock.go b/service/s3control/api_op_PutPublicAccessBlock.go index 589f508b36c..12c78dfe151 100644 --- a/service/s3control/api_op_PutPublicAccessBlock.go +++ b/service/s3control/api_op_PutPublicAccessBlock.go @@ -16,7 +16,9 @@ import ( ) // Creates or modifies the PublicAccessBlock configuration for an Amazon Web -// Services account. For more information, see Using Amazon S3 block public access +// Services account. For this operation, users must have the +// s3:PutBucketPublicAccessBlock permission. For more information, see Using +// Amazon S3 block public access // (https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html). // Related actions include: // diff --git a/service/s3control/api_op_UpdateJobPriority.go b/service/s3control/api_op_UpdateJobPriority.go index b10e5f995df..d9a0972a9f8 100644 --- a/service/s3control/api_op_UpdateJobPriority.go +++ b/service/s3control/api_op_UpdateJobPriority.go @@ -16,7 +16,7 @@ import ( // Updates an existing S3 Batch Operations job's priority. For more information, // see S3 Batch Operations -// (https://docs.aws.amazon.com/AmazonS3/latest/dev/batch-ops-basics.html) in the +// (https://docs.aws.amazon.com/AmazonS3/latest/userguide/batch-ops.html) in the // Amazon S3 User Guide. Related actions include: // // * CreateJob diff --git a/service/s3control/api_op_UpdateJobStatus.go b/service/s3control/api_op_UpdateJobStatus.go index aa257a2bd42..baa73947854 100644 --- a/service/s3control/api_op_UpdateJobStatus.go +++ b/service/s3control/api_op_UpdateJobStatus.go @@ -18,7 +18,7 @@ import ( // Updates the status for the specified job. Use this action to confirm that you // want to run a job or to cancel an existing job. For more information, see S3 // Batch Operations -// (https://docs.aws.amazon.com/AmazonS3/latest/dev/batch-ops-basics.html) in the +// (https://docs.aws.amazon.com/AmazonS3/latest/userguide/batch-ops.html) in the // Amazon S3 User Guide. Related actions include: // // * CreateJob diff --git a/service/s3control/deserializers.go b/service/s3control/deserializers.go index 7afd860bd52..ec288dd4c3d 100644 --- a/service/s3control/deserializers.go +++ b/service/s3control/deserializers.go @@ -8752,6 +8752,54 @@ func awsRestxml_deserializeDocumentExclude(v **types.Exclude, decoder smithyxml. return nil } +func awsRestxml_deserializeDocumentGeneratedManifestEncryption(v **types.GeneratedManifestEncryption, decoder smithyxml.NodeDecoder) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + var sv *types.GeneratedManifestEncryption + if *v == nil { + sv = &types.GeneratedManifestEncryption{} + } else { + sv = *v + } + + for { + t, done, err := decoder.Token() + if err != nil { + return err + } + if done { + break + } + originalDecoder := decoder + decoder = smithyxml.WrapNodeDecoder(originalDecoder.Decoder, t) + switch { + case strings.EqualFold("SSE-KMS", t.Name.Local): + nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) + if err := awsRestxml_deserializeDocumentSSEKMSEncryption(&sv.SSEKMS, nodeDecoder); err != nil { + return err + } + + case strings.EqualFold("SSE-S3", t.Name.Local): + nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) + if err := awsRestxml_deserializeDocumentSSES3Encryption(&sv.SSES3, nodeDecoder); err != nil { + return err + } + + default: + // Do nothing and ignore the unexpected tag element + err = decoder.Decoder.Skip() + if err != nil { + return err + } + + } + decoder = originalDecoder + } + *v = sv + return nil +} + func awsRestxml_deserializeDocumentIdempotencyException(v **types.IdempotencyException, decoder smithyxml.NodeDecoder) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) @@ -9070,6 +9118,12 @@ func awsRestxml_deserializeDocumentJobDescriptor(v **types.JobDescriptor, decode return err } + case strings.EqualFold("GeneratedManifestDescriptor", t.Name.Local): + nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) + if err := awsRestxml_deserializeDocumentS3GeneratedManifestDescriptor(&sv.GeneratedManifestDescriptor, nodeDecoder); err != nil { + return err + } + case strings.EqualFold("JobArn", t.Name.Local): val, err := decoder.Value() if err != nil { @@ -9102,6 +9156,12 @@ func awsRestxml_deserializeDocumentJobDescriptor(v **types.JobDescriptor, decode return err } + case strings.EqualFold("ManifestGenerator", t.Name.Local): + nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) + if err := awsRestxml_deserializeDocumentJobManifestGenerator(&sv.ManifestGenerator, nodeDecoder); err != nil { + return err + } + case strings.EqualFold("Operation", t.Name.Local): nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) if err := awsRestxml_deserializeDocumentJobOperation(&sv.Operation, nodeDecoder); err != nil { @@ -9708,6 +9768,142 @@ func awsRestxml_deserializeDocumentJobManifestFieldListUnwrapped(v *[]types.JobM *v = sv return nil } +func awsRestxml_deserializeDocumentJobManifestGenerator(v *types.JobManifestGenerator, decoder smithyxml.NodeDecoder) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + var uv types.JobManifestGenerator + var memberFound bool + for { + t, done, err := decoder.Token() + if err != nil { + return err + } + if done { + break + } + if memberFound { + if err = decoder.Decoder.Skip(); err != nil { + return err + } + } + originalDecoder := decoder + decoder = smithyxml.WrapNodeDecoder(originalDecoder.Decoder, t) + switch { + case strings.EqualFold("S3JobManifestGenerator", t.Name.Local): + var mv types.S3JobManifestGenerator + nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) + destAddr := &mv + if err := awsRestxml_deserializeDocumentS3JobManifestGenerator(&destAddr, nodeDecoder); err != nil { + return err + } + mv = *destAddr + uv = &types.JobManifestGeneratorMemberS3JobManifestGenerator{Value: mv} + memberFound = true + + default: + uv = &types.UnknownUnionMember{Tag: t.Name.Local} + memberFound = true + + } + decoder = originalDecoder + } + *v = uv + return nil +} + +func awsRestxml_deserializeDocumentJobManifestGeneratorFilter(v **types.JobManifestGeneratorFilter, decoder smithyxml.NodeDecoder) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + var sv *types.JobManifestGeneratorFilter + if *v == nil { + sv = &types.JobManifestGeneratorFilter{} + } else { + sv = *v + } + + for { + t, done, err := decoder.Token() + if err != nil { + return err + } + if done { + break + } + originalDecoder := decoder + decoder = smithyxml.WrapNodeDecoder(originalDecoder.Decoder, t) + switch { + case strings.EqualFold("CreatedAfter", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + t, err := smithytime.ParseDateTime(xtv) + if err != nil { + return err + } + sv.CreatedAfter = ptr.Time(t) + } + + case strings.EqualFold("CreatedBefore", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + t, err := smithytime.ParseDateTime(xtv) + if err != nil { + return err + } + sv.CreatedBefore = ptr.Time(t) + } + + case strings.EqualFold("EligibleForReplication", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv, err := strconv.ParseBool(string(val)) + if err != nil { + return fmt.Errorf("expected Boolean to be of type *bool, got %T instead", val) + } + sv.EligibleForReplication = xtv + } + + case strings.EqualFold("ObjectReplicationStatuses", t.Name.Local): + nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) + if err := awsRestxml_deserializeDocumentReplicationStatusFilterList(&sv.ObjectReplicationStatuses, nodeDecoder); err != nil { + return err + } + + default: + // Do nothing and ignore the unexpected tag element + err = decoder.Decoder.Skip() + if err != nil { + return err + } + + } + decoder = originalDecoder + } + *v = sv + return nil +} + func awsRestxml_deserializeDocumentJobManifestLocation(v **types.JobManifestLocation, decoder smithyxml.NodeDecoder) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) @@ -9908,6 +10104,12 @@ func awsRestxml_deserializeDocumentJobOperation(v **types.JobOperation, decoder return err } + case strings.EqualFold("S3ReplicateObject", t.Name.Local): + nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) + if err := awsRestxml_deserializeDocumentS3ReplicateObjectOperation(&sv.S3ReplicateObject, nodeDecoder); err != nil { + return err + } + default: // Do nothing and ignore the unexpected tag element err = decoder.Decoder.Skip() @@ -9978,6 +10180,12 @@ func awsRestxml_deserializeDocumentJobProgressSummary(v **types.JobProgressSumma sv.NumberOfTasksSucceeded = i64 } + case strings.EqualFold("Timers", t.Name.Local): + nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) + if err := awsRestxml_deserializeDocumentJobTimers(&sv.Timers, nodeDecoder); err != nil { + return err + } + case strings.EqualFold("TotalNumberOfTasks", t.Name.Local): val, err := decoder.Value() if err != nil { @@ -10162,6 +10370,59 @@ func awsRestxml_deserializeDocumentJobStatusException(v **types.JobStatusExcepti return nil } +func awsRestxml_deserializeDocumentJobTimers(v **types.JobTimers, decoder smithyxml.NodeDecoder) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + var sv *types.JobTimers + if *v == nil { + sv = &types.JobTimers{} + } else { + sv = *v + } + + for { + t, done, err := decoder.Token() + if err != nil { + return err + } + if done { + break + } + originalDecoder := decoder + decoder = smithyxml.WrapNodeDecoder(originalDecoder.Decoder, t) + switch { + case strings.EqualFold("ElapsedTimeInActiveSeconds", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + i64, err := strconv.ParseInt(xtv, 10, 64) + if err != nil { + return err + } + sv.ElapsedTimeInActiveSeconds = i64 + } + + default: + // Do nothing and ignore the unexpected tag element + err = decoder.Decoder.Skip() + if err != nil { + return err + } + + } + decoder = originalDecoder + } + *v = sv + return nil +} + func awsRestxml_deserializeDocumentLambdaInvokeOperation(v **types.LambdaInvokeOperation, decoder smithyxml.NodeDecoder) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) @@ -12740,17 +13001,18 @@ func awsRestxml_deserializeDocumentRegionsUnwrapped(v *[]string, decoder smithyx *v = sv return nil } -func awsRestxml_deserializeDocumentS3AccessControlList(v **types.S3AccessControlList, decoder smithyxml.NodeDecoder) error { +func awsRestxml_deserializeDocumentReplicationStatusFilterList(v *[]types.ReplicationStatus, decoder smithyxml.NodeDecoder) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) } - var sv *types.S3AccessControlList + var sv []types.ReplicationStatus if *v == nil { - sv = &types.S3AccessControlList{} + sv = make([]types.ReplicationStatus, 0) } else { sv = *v } + originalDecoder := decoder for { t, done, err := decoder.Token() if err != nil { @@ -12759,23 +13021,25 @@ func awsRestxml_deserializeDocumentS3AccessControlList(v **types.S3AccessControl if done { break } - originalDecoder := decoder - decoder = smithyxml.WrapNodeDecoder(originalDecoder.Decoder, t) + memberDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) + decoder = memberDecoder switch { - case strings.EqualFold("Grants", t.Name.Local): - nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) - if err := awsRestxml_deserializeDocumentS3GrantList(&sv.Grants, nodeDecoder); err != nil { + case strings.EqualFold("member", t.Name.Local): + var col types.ReplicationStatus + val, err := decoder.Value() + if err != nil { return err } - - case strings.EqualFold("Owner", t.Name.Local): - nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) - if err := awsRestxml_deserializeDocumentS3ObjectOwner(&sv.Owner, nodeDecoder); err != nil { - return err + if val == nil { + break + } + { + xtv := string(val) + col = types.ReplicationStatus(xtv) } + sv = append(sv, col) default: - // Do nothing and ignore the unexpected tag element err = decoder.Decoder.Skip() if err != nil { return err @@ -12788,10 +13052,87 @@ func awsRestxml_deserializeDocumentS3AccessControlList(v **types.S3AccessControl return nil } -func awsRestxml_deserializeDocumentS3AccessControlPolicy(v **types.S3AccessControlPolicy, decoder smithyxml.NodeDecoder) error { - if v == nil { - return fmt.Errorf("unexpected nil of type %T", v) - } +func awsRestxml_deserializeDocumentReplicationStatusFilterListUnwrapped(v *[]types.ReplicationStatus, decoder smithyxml.NodeDecoder) error { + var sv []types.ReplicationStatus + if *v == nil { + sv = make([]types.ReplicationStatus, 0) + } else { + sv = *v + } + + switch { + default: + var mv types.ReplicationStatus + t := decoder.StartEl + _ = t + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + mv = types.ReplicationStatus(xtv) + } + sv = append(sv, mv) + } + *v = sv + return nil +} +func awsRestxml_deserializeDocumentS3AccessControlList(v **types.S3AccessControlList, decoder smithyxml.NodeDecoder) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + var sv *types.S3AccessControlList + if *v == nil { + sv = &types.S3AccessControlList{} + } else { + sv = *v + } + + for { + t, done, err := decoder.Token() + if err != nil { + return err + } + if done { + break + } + originalDecoder := decoder + decoder = smithyxml.WrapNodeDecoder(originalDecoder.Decoder, t) + switch { + case strings.EqualFold("Grants", t.Name.Local): + nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) + if err := awsRestxml_deserializeDocumentS3GrantList(&sv.Grants, nodeDecoder); err != nil { + return err + } + + case strings.EqualFold("Owner", t.Name.Local): + nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) + if err := awsRestxml_deserializeDocumentS3ObjectOwner(&sv.Owner, nodeDecoder); err != nil { + return err + } + + default: + // Do nothing and ignore the unexpected tag element + err = decoder.Decoder.Skip() + if err != nil { + return err + } + + } + decoder = originalDecoder + } + *v = sv + return nil +} + +func awsRestxml_deserializeDocumentS3AccessControlPolicy(v **types.S3AccessControlPolicy, decoder smithyxml.NodeDecoder) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } var sv *types.S3AccessControlPolicy if *v == nil { sv = &types.S3AccessControlPolicy{} @@ -13240,6 +13581,61 @@ func awsRestxml_deserializeDocumentS3DeleteObjectTaggingOperation(v **types.S3De return nil } +func awsRestxml_deserializeDocumentS3GeneratedManifestDescriptor(v **types.S3GeneratedManifestDescriptor, decoder smithyxml.NodeDecoder) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + var sv *types.S3GeneratedManifestDescriptor + if *v == nil { + sv = &types.S3GeneratedManifestDescriptor{} + } else { + sv = *v + } + + for { + t, done, err := decoder.Token() + if err != nil { + return err + } + if done { + break + } + originalDecoder := decoder + decoder = smithyxml.WrapNodeDecoder(originalDecoder.Decoder, t) + switch { + case strings.EqualFold("Format", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + sv.Format = types.GeneratedManifestFormat(xtv) + } + + case strings.EqualFold("Location", t.Name.Local): + nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) + if err := awsRestxml_deserializeDocumentJobManifestLocation(&sv.Location, nodeDecoder); err != nil { + return err + } + + default: + // Do nothing and ignore the unexpected tag element + err = decoder.Decoder.Skip() + if err != nil { + return err + } + + } + decoder = originalDecoder + } + *v = sv + return nil +} + func awsRestxml_deserializeDocumentS3Grant(v **types.S3Grant, decoder smithyxml.NodeDecoder) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) @@ -13504,6 +13900,190 @@ func awsRestxml_deserializeDocumentS3InitiateRestoreObjectOperation(v **types.S3 return nil } +func awsRestxml_deserializeDocumentS3JobManifestGenerator(v **types.S3JobManifestGenerator, decoder smithyxml.NodeDecoder) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + var sv *types.S3JobManifestGenerator + if *v == nil { + sv = &types.S3JobManifestGenerator{} + } else { + sv = *v + } + + for { + t, done, err := decoder.Token() + if err != nil { + return err + } + if done { + break + } + originalDecoder := decoder + decoder = smithyxml.WrapNodeDecoder(originalDecoder.Decoder, t) + switch { + case strings.EqualFold("EnableManifestOutput", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv, err := strconv.ParseBool(string(val)) + if err != nil { + return fmt.Errorf("expected Boolean to be of type *bool, got %T instead", val) + } + sv.EnableManifestOutput = xtv + } + + case strings.EqualFold("ExpectedBucketOwner", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + sv.ExpectedBucketOwner = ptr.String(xtv) + } + + case strings.EqualFold("Filter", t.Name.Local): + nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) + if err := awsRestxml_deserializeDocumentJobManifestGeneratorFilter(&sv.Filter, nodeDecoder); err != nil { + return err + } + + case strings.EqualFold("ManifestOutputLocation", t.Name.Local): + nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) + if err := awsRestxml_deserializeDocumentS3ManifestOutputLocation(&sv.ManifestOutputLocation, nodeDecoder); err != nil { + return err + } + + case strings.EqualFold("SourceBucket", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + sv.SourceBucket = ptr.String(xtv) + } + + default: + // Do nothing and ignore the unexpected tag element + err = decoder.Decoder.Skip() + if err != nil { + return err + } + + } + decoder = originalDecoder + } + *v = sv + return nil +} + +func awsRestxml_deserializeDocumentS3ManifestOutputLocation(v **types.S3ManifestOutputLocation, decoder smithyxml.NodeDecoder) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + var sv *types.S3ManifestOutputLocation + if *v == nil { + sv = &types.S3ManifestOutputLocation{} + } else { + sv = *v + } + + for { + t, done, err := decoder.Token() + if err != nil { + return err + } + if done { + break + } + originalDecoder := decoder + decoder = smithyxml.WrapNodeDecoder(originalDecoder.Decoder, t) + switch { + case strings.EqualFold("Bucket", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + sv.Bucket = ptr.String(xtv) + } + + case strings.EqualFold("ExpectedManifestBucketOwner", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + sv.ExpectedManifestBucketOwner = ptr.String(xtv) + } + + case strings.EqualFold("ManifestEncryption", t.Name.Local): + nodeDecoder := smithyxml.WrapNodeDecoder(decoder.Decoder, t) + if err := awsRestxml_deserializeDocumentGeneratedManifestEncryption(&sv.ManifestEncryption, nodeDecoder); err != nil { + return err + } + + case strings.EqualFold("ManifestFormat", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + sv.ManifestFormat = types.GeneratedManifestFormat(xtv) + } + + case strings.EqualFold("ManifestPrefix", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + sv.ManifestPrefix = ptr.String(xtv) + } + + default: + // Do nothing and ignore the unexpected tag element + err = decoder.Decoder.Skip() + if err != nil { + return err + } + + } + decoder = originalDecoder + } + *v = sv + return nil +} + func awsRestxml_deserializeDocumentS3ObjectLockLegalHold(v **types.S3ObjectLockLegalHold, decoder smithyxml.NodeDecoder) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) @@ -13798,6 +14378,42 @@ func awsRestxml_deserializeDocumentS3ObjectOwner(v **types.S3ObjectOwner, decode return nil } +func awsRestxml_deserializeDocumentS3ReplicateObjectOperation(v **types.S3ReplicateObjectOperation, decoder smithyxml.NodeDecoder) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + var sv *types.S3ReplicateObjectOperation + if *v == nil { + sv = &types.S3ReplicateObjectOperation{} + } else { + sv = *v + } + + for { + t, done, err := decoder.Token() + if err != nil { + return err + } + if done { + break + } + originalDecoder := decoder + decoder = smithyxml.WrapNodeDecoder(originalDecoder.Decoder, t) + switch { + default: + // Do nothing and ignore the unexpected tag element + err = decoder.Decoder.Skip() + if err != nil { + return err + } + + } + decoder = originalDecoder + } + *v = sv + return nil +} + func awsRestxml_deserializeDocumentS3Retention(v **types.S3Retention, decoder smithyxml.NodeDecoder) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) @@ -14408,6 +15024,55 @@ func awsRestxml_deserializeDocumentSSEKMS(v **types.SSEKMS, decoder smithyxml.No return nil } +func awsRestxml_deserializeDocumentSSEKMSEncryption(v **types.SSEKMSEncryption, decoder smithyxml.NodeDecoder) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + var sv *types.SSEKMSEncryption + if *v == nil { + sv = &types.SSEKMSEncryption{} + } else { + sv = *v + } + + for { + t, done, err := decoder.Token() + if err != nil { + return err + } + if done { + break + } + originalDecoder := decoder + decoder = smithyxml.WrapNodeDecoder(originalDecoder.Decoder, t) + switch { + case strings.EqualFold("KeyId", t.Name.Local): + val, err := decoder.Value() + if err != nil { + return err + } + if val == nil { + break + } + { + xtv := string(val) + sv.KeyId = ptr.String(xtv) + } + + default: + // Do nothing and ignore the unexpected tag element + err = decoder.Decoder.Skip() + if err != nil { + return err + } + + } + decoder = originalDecoder + } + *v = sv + return nil +} + func awsRestxml_deserializeDocumentSSES3(v **types.SSES3, decoder smithyxml.NodeDecoder) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) @@ -14444,6 +15109,42 @@ func awsRestxml_deserializeDocumentSSES3(v **types.SSES3, decoder smithyxml.Node return nil } +func awsRestxml_deserializeDocumentSSES3Encryption(v **types.SSES3Encryption, decoder smithyxml.NodeDecoder) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + var sv *types.SSES3Encryption + if *v == nil { + sv = &types.SSES3Encryption{} + } else { + sv = *v + } + + for { + t, done, err := decoder.Token() + if err != nil { + return err + } + if done { + break + } + originalDecoder := decoder + decoder = smithyxml.WrapNodeDecoder(originalDecoder.Decoder, t) + switch { + default: + // Do nothing and ignore the unexpected tag element + err = decoder.Decoder.Skip() + if err != nil { + return err + } + + } + decoder = originalDecoder + } + *v = sv + return nil +} + func awsRestxml_deserializeDocumentStorageLensAwsOrg(v **types.StorageLensAwsOrg, decoder smithyxml.NodeDecoder) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) diff --git a/service/s3control/serializers.go b/service/s3control/serializers.go index 6dd43fdd83b..bcb0be78fbc 100644 --- a/service/s3control/serializers.go +++ b/service/s3control/serializers.go @@ -479,6 +479,19 @@ func awsRestxml_serializeOpDocumentCreateJobInput(v *CreateJobInput, value smith return err } } + if v.ManifestGenerator != nil { + rootAttr := []smithyxml.Attr{} + root := smithyxml.StartElement{ + Name: smithyxml.Name{ + Local: "ManifestGenerator", + }, + Attr: rootAttr, + } + el := value.MemberElement(root) + if err := awsRestxml_serializeDocumentJobManifestGenerator(v.ManifestGenerator, el); err != nil { + return err + } + } if v.Operation != nil { rootAttr := []smithyxml.Attr{} root := smithyxml.StartElement{ @@ -4581,6 +4594,37 @@ func awsRestxml_serializeDocumentExclude(v *types.Exclude, value smithyxml.Value return nil } +func awsRestxml_serializeDocumentGeneratedManifestEncryption(v *types.GeneratedManifestEncryption, value smithyxml.Value) error { + defer value.Close() + if v.SSEKMS != nil { + rootAttr := []smithyxml.Attr{} + root := smithyxml.StartElement{ + Name: smithyxml.Name{ + Local: "SSE-KMS", + }, + Attr: rootAttr, + } + el := value.MemberElement(root) + if err := awsRestxml_serializeDocumentSSEKMSEncryption(v.SSEKMS, el); err != nil { + return err + } + } + if v.SSES3 != nil { + rootAttr := []smithyxml.Attr{} + root := smithyxml.StartElement{ + Name: smithyxml.Name{ + Local: "SSE-S3", + }, + Attr: rootAttr, + } + el := value.MemberElement(root) + if err := awsRestxml_serializeDocumentSSES3Encryption(v.SSES3, el); err != nil { + return err + } + } + return nil +} + func awsRestxml_serializeDocumentInclude(v *types.Include, value smithyxml.Value) error { defer value.Close() if v.Buckets != nil { @@ -4656,6 +4700,80 @@ func awsRestxml_serializeDocumentJobManifestFieldList(v []types.JobManifestField return nil } +func awsRestxml_serializeDocumentJobManifestGenerator(v types.JobManifestGenerator, value smithyxml.Value) error { + defer value.Close() + switch uv := v.(type) { + case *types.JobManifestGeneratorMemberS3JobManifestGenerator: + customMemberNameAttr := []smithyxml.Attr{} + customMemberName := smithyxml.StartElement{ + Name: smithyxml.Name{ + Local: "S3JobManifestGenerator", + }, + Attr: customMemberNameAttr, + } + av := value.MemberElement(customMemberName) + if err := awsRestxml_serializeDocumentS3JobManifestGenerator(&uv.Value, av); err != nil { + return err + } + + default: + return fmt.Errorf("attempted to serialize unknown member type %T for union %T", uv, v) + + } + return nil +} + +func awsRestxml_serializeDocumentJobManifestGeneratorFilter(v *types.JobManifestGeneratorFilter, value smithyxml.Value) error { + defer value.Close() + if v.CreatedAfter != nil { + rootAttr := []smithyxml.Attr{} + root := smithyxml.StartElement{ + Name: smithyxml.Name{ + Local: "CreatedAfter", + }, + Attr: rootAttr, + } + el := value.MemberElement(root) + el.String(smithytime.FormatDateTime(*v.CreatedAfter)) + } + if v.CreatedBefore != nil { + rootAttr := []smithyxml.Attr{} + root := smithyxml.StartElement{ + Name: smithyxml.Name{ + Local: "CreatedBefore", + }, + Attr: rootAttr, + } + el := value.MemberElement(root) + el.String(smithytime.FormatDateTime(*v.CreatedBefore)) + } + if v.EligibleForReplication { + rootAttr := []smithyxml.Attr{} + root := smithyxml.StartElement{ + Name: smithyxml.Name{ + Local: "EligibleForReplication", + }, + Attr: rootAttr, + } + el := value.MemberElement(root) + el.Boolean(v.EligibleForReplication) + } + if v.ObjectReplicationStatuses != nil { + rootAttr := []smithyxml.Attr{} + root := smithyxml.StartElement{ + Name: smithyxml.Name{ + Local: "ObjectReplicationStatuses", + }, + Attr: rootAttr, + } + el := value.MemberElement(root) + if err := awsRestxml_serializeDocumentReplicationStatusFilterList(v.ObjectReplicationStatuses, el); err != nil { + return err + } + } + return nil +} + func awsRestxml_serializeDocumentJobManifestLocation(v *types.JobManifestLocation, value smithyxml.Value) error { defer value.Close() if v.ETag != nil { @@ -4829,6 +4947,19 @@ func awsRestxml_serializeDocumentJobOperation(v *types.JobOperation, value smith return err } } + if v.S3ReplicateObject != nil { + rootAttr := []smithyxml.Attr{} + root := smithyxml.StartElement{ + Name: smithyxml.Name{ + Local: "S3ReplicateObject", + }, + Attr: rootAttr, + } + el := value.MemberElement(root) + if err := awsRestxml_serializeDocumentS3ReplicateObjectOperation(v.S3ReplicateObject, el); err != nil { + return err + } + } return nil } @@ -5577,6 +5708,19 @@ func awsRestxml_serializeDocumentRegions(v []string, value smithyxml.Value) erro return nil } +func awsRestxml_serializeDocumentReplicationStatusFilterList(v []types.ReplicationStatus, value smithyxml.Value) error { + var array *smithyxml.Array + if !value.IsFlattened() { + defer value.Close() + } + array = value.Array() + for i := range v { + am := array.Member() + am.String(string(v[i])) + } + return nil +} + func awsRestxml_serializeDocumentS3AccessControlList(v *types.S3AccessControlList, value smithyxml.Value) error { defer value.Close() if v.Grants != nil { @@ -6022,6 +6166,132 @@ func awsRestxml_serializeDocumentS3InitiateRestoreObjectOperation(v *types.S3Ini return nil } +func awsRestxml_serializeDocumentS3JobManifestGenerator(v *types.S3JobManifestGenerator, value smithyxml.Value) error { + defer value.Close() + { + rootAttr := []smithyxml.Attr{} + root := smithyxml.StartElement{ + Name: smithyxml.Name{ + Local: "EnableManifestOutput", + }, + Attr: rootAttr, + } + el := value.MemberElement(root) + el.Boolean(v.EnableManifestOutput) + } + if v.ExpectedBucketOwner != nil { + rootAttr := []smithyxml.Attr{} + root := smithyxml.StartElement{ + Name: smithyxml.Name{ + Local: "ExpectedBucketOwner", + }, + Attr: rootAttr, + } + el := value.MemberElement(root) + el.String(*v.ExpectedBucketOwner) + } + if v.Filter != nil { + rootAttr := []smithyxml.Attr{} + root := smithyxml.StartElement{ + Name: smithyxml.Name{ + Local: "Filter", + }, + Attr: rootAttr, + } + el := value.MemberElement(root) + if err := awsRestxml_serializeDocumentJobManifestGeneratorFilter(v.Filter, el); err != nil { + return err + } + } + if v.ManifestOutputLocation != nil { + rootAttr := []smithyxml.Attr{} + root := smithyxml.StartElement{ + Name: smithyxml.Name{ + Local: "ManifestOutputLocation", + }, + Attr: rootAttr, + } + el := value.MemberElement(root) + if err := awsRestxml_serializeDocumentS3ManifestOutputLocation(v.ManifestOutputLocation, el); err != nil { + return err + } + } + if v.SourceBucket != nil { + rootAttr := []smithyxml.Attr{} + root := smithyxml.StartElement{ + Name: smithyxml.Name{ + Local: "SourceBucket", + }, + Attr: rootAttr, + } + el := value.MemberElement(root) + el.String(*v.SourceBucket) + } + return nil +} + +func awsRestxml_serializeDocumentS3ManifestOutputLocation(v *types.S3ManifestOutputLocation, value smithyxml.Value) error { + defer value.Close() + if v.Bucket != nil { + rootAttr := []smithyxml.Attr{} + root := smithyxml.StartElement{ + Name: smithyxml.Name{ + Local: "Bucket", + }, + Attr: rootAttr, + } + el := value.MemberElement(root) + el.String(*v.Bucket) + } + if v.ExpectedManifestBucketOwner != nil { + rootAttr := []smithyxml.Attr{} + root := smithyxml.StartElement{ + Name: smithyxml.Name{ + Local: "ExpectedManifestBucketOwner", + }, + Attr: rootAttr, + } + el := value.MemberElement(root) + el.String(*v.ExpectedManifestBucketOwner) + } + if v.ManifestEncryption != nil { + rootAttr := []smithyxml.Attr{} + root := smithyxml.StartElement{ + Name: smithyxml.Name{ + Local: "ManifestEncryption", + }, + Attr: rootAttr, + } + el := value.MemberElement(root) + if err := awsRestxml_serializeDocumentGeneratedManifestEncryption(v.ManifestEncryption, el); err != nil { + return err + } + } + if len(v.ManifestFormat) > 0 { + rootAttr := []smithyxml.Attr{} + root := smithyxml.StartElement{ + Name: smithyxml.Name{ + Local: "ManifestFormat", + }, + Attr: rootAttr, + } + el := value.MemberElement(root) + el.String(string(v.ManifestFormat)) + } + if v.ManifestPrefix != nil { + rootAttr := []smithyxml.Attr{} + root := smithyxml.StartElement{ + Name: smithyxml.Name{ + Local: "ManifestPrefix", + }, + Attr: rootAttr, + } + el := value.MemberElement(root) + el.String(*v.ManifestPrefix) + } + return nil +} + func awsRestxml_serializeDocumentS3ObjectLockLegalHold(v *types.S3ObjectLockLegalHold, value smithyxml.Value) error { defer value.Close() if len(v.Status) > 0 { @@ -6193,6 +6463,11 @@ func awsRestxml_serializeDocumentS3ObjectOwner(v *types.S3ObjectOwner, value smi return nil } +func awsRestxml_serializeDocumentS3ReplicateObjectOperation(v *types.S3ReplicateObjectOperation, value smithyxml.Value) error { + defer value.Close() + return nil +} + func awsRestxml_serializeDocumentS3Retention(v *types.S3Retention, value smithyxml.Value) error { defer value.Close() if len(v.Mode) > 0 { @@ -6440,11 +6715,32 @@ func awsRestxml_serializeDocumentSSEKMS(v *types.SSEKMS, value smithyxml.Value) return nil } +func awsRestxml_serializeDocumentSSEKMSEncryption(v *types.SSEKMSEncryption, value smithyxml.Value) error { + defer value.Close() + if v.KeyId != nil { + rootAttr := []smithyxml.Attr{} + root := smithyxml.StartElement{ + Name: smithyxml.Name{ + Local: "KeyId", + }, + Attr: rootAttr, + } + el := value.MemberElement(root) + el.String(*v.KeyId) + } + return nil +} + func awsRestxml_serializeDocumentSSES3(v *types.SSES3, value smithyxml.Value) error { defer value.Close() return nil } +func awsRestxml_serializeDocumentSSES3Encryption(v *types.SSES3Encryption, value smithyxml.Value) error { + defer value.Close() + return nil +} + func awsRestxml_serializeDocumentStorageLensAwsOrg(v *types.StorageLensAwsOrg, value smithyxml.Value) error { defer value.Close() if v.Arn != nil { diff --git a/service/s3control/types/enums.go b/service/s3control/types/enums.go index f55ed942ee8..e0f0888aff2 100644 --- a/service/s3control/types/enums.go +++ b/service/s3control/types/enums.go @@ -116,6 +116,22 @@ func (Format) Values() []Format { } } +type GeneratedManifestFormat string + +// Enum values for GeneratedManifestFormat +const ( + GeneratedManifestFormatS3InventoryReportCsv20211130 GeneratedManifestFormat = "S3InventoryReport_CSV_20211130" +) + +// Values returns all known values for GeneratedManifestFormat. Note that this can +// be expanded in the future, and so it is only as up to date as the client. The +// ordering of this slice is not guaranteed to be stable across updates. +func (GeneratedManifestFormat) Values() []GeneratedManifestFormat { + return []GeneratedManifestFormat{ + "S3InventoryReport_CSV_20211130", + } +} + type JobManifestFieldName string // Enum values for JobManifestFieldName @@ -321,6 +337,7 @@ const ( OperationNameS3InitiateRestoreObject OperationName = "S3InitiateRestoreObject" OperationNameS3PutObjectLegalHold OperationName = "S3PutObjectLegalHold" OperationNameS3PutObjectRetention OperationName = "S3PutObjectRetention" + OperationNameS3ReplicateObject OperationName = "S3ReplicateObject" ) // Values returns all known values for OperationName. Note that this can be @@ -336,6 +353,7 @@ func (OperationName) Values() []OperationName { "S3InitiateRestoreObject", "S3PutObjectLegalHold", "S3PutObjectRetention", + "S3ReplicateObject", } } @@ -355,6 +373,28 @@ func (OutputSchemaVersion) Values() []OutputSchemaVersion { } } +type ReplicationStatus string + +// Enum values for ReplicationStatus +const ( + ReplicationStatusCompleted ReplicationStatus = "COMPLETED" + ReplicationStatusFailed ReplicationStatus = "FAILED" + ReplicationStatusReplica ReplicationStatus = "REPLICA" + ReplicationStatusNone ReplicationStatus = "NONE" +) + +// Values returns all known values for ReplicationStatus. Note that this can be +// expanded in the future, and so it is only as up to date as the client. The +// ordering of this slice is not guaranteed to be stable across updates. +func (ReplicationStatus) Values() []ReplicationStatus { + return []ReplicationStatus{ + "COMPLETED", + "FAILED", + "REPLICA", + "NONE", + } +} + type RequestedJobStatus string // Enum values for RequestedJobStatus @@ -563,6 +603,7 @@ const ( S3StorageClassGlacier S3StorageClass = "GLACIER" S3StorageClassIntelligentTiering S3StorageClass = "INTELLIGENT_TIERING" S3StorageClassDeepArchive S3StorageClass = "DEEP_ARCHIVE" + S3StorageClassGlacierIr S3StorageClass = "GLACIER_IR" ) // Values returns all known values for S3StorageClass. Note that this can be @@ -576,6 +617,7 @@ func (S3StorageClass) Values() []S3StorageClass { "GLACIER", "INTELLIGENT_TIERING", "DEEP_ARCHIVE", + "GLACIER_IR", } } diff --git a/service/s3control/types/types.go b/service/s3control/types/types.go index ffcade068c4..759d56fcdef 100644 --- a/service/s3control/types/types.go +++ b/service/s3control/types/types.go @@ -273,6 +273,19 @@ type Exclude struct { noSmithyDocumentSerde } +// The encryption configuration to use when storing the generated manifest. +type GeneratedManifestEncryption struct { + + // Configuration details on how SSE-KMS is used to encrypt generated manifest + // objects. + SSEKMS *SSEKMSEncryption + + // Specifies the use of SSE-S3 to encrypt generated manifest objects. + SSES3 *SSES3Encryption + + noSmithyDocumentSerde +} + // A container for what Amazon S3 Storage Lens configuration includes. type Include struct { @@ -305,6 +318,10 @@ type JobDescriptor struct { // failure. FailureReasons []JobFailure + // The attribute of the JobDescriptor containing details about the job's generated + // manifest. + GeneratedManifestDescriptor *S3GeneratedManifestDescriptor + // The Amazon Resource Name (ARN) for this job. JobArn *string @@ -314,6 +331,9 @@ type JobDescriptor struct { // The configuration information for the specified job's manifest object. Manifest *JobManifest + // The manifest generator that was used to generate a job manifest for this job. + ManifestGenerator JobManifestGenerator + // The operation that the specified job is configured to run on the objects listed // in the manifest. Operation *JobOperation @@ -419,6 +439,45 @@ type JobManifest struct { noSmithyDocumentSerde } +// Configures the type of the job's ManifestGenerator. +// +// The following types satisfy this interface: +// JobManifestGeneratorMemberS3JobManifestGenerator +type JobManifestGenerator interface { + isJobManifestGenerator() +} + +// The S3 job ManifestGenerator's configuration details. +type JobManifestGeneratorMemberS3JobManifestGenerator struct { + Value S3JobManifestGenerator + + noSmithyDocumentSerde +} + +func (*JobManifestGeneratorMemberS3JobManifestGenerator) isJobManifestGenerator() {} + +// The filter used to describe a set of objects for the job's manifest. +type JobManifestGeneratorFilter struct { + + // If provided, the generated manifest should include only source bucket objects + // that were created after this time. + CreatedAfter *time.Time + + // If provided, the generated manifest should include only source bucket objects + // that were created before this time. + CreatedBefore *time.Time + + // Include objects in the generated manifest only if they are eligible for + // replication according to the Replication configuration on the source bucket. + EligibleForReplication bool + + // If provided, the generated manifest should include only source bucket objects + // that have one of the specified Replication statuses. + ObjectReplicationStatuses []ReplicationStatus + + noSmithyDocumentSerde +} + // Contains the information required to locate a manifest object. type JobManifestLocation struct { @@ -504,6 +563,10 @@ type JobOperation struct { // the manifest. S3PutObjectTagging *S3SetObjectTaggingOperation + // Directs the specified job to invoke ReplicateObject on every object in the job's + // manifest. + S3ReplicateObject *S3ReplicateObjectOperation + noSmithyDocumentSerde } @@ -517,6 +580,9 @@ type JobProgressSummary struct { // NumberOfTasksSucceeded int64 + // The JobTimers attribute of a job's progress summary. + Timers *JobTimers + // TotalNumberOfTasks int64 @@ -550,6 +616,15 @@ type JobReport struct { noSmithyDocumentSerde } +// Provides timing details for the job. +type JobTimers struct { + + // Indicates the elapsed time in seconds the job has been in the Active job state. + ElapsedTimeInActiveSeconds int64 + + noSmithyDocumentSerde +} + // Contains the configuration parameters for a Lambda Invoke operation. type LambdaInvokeOperation struct { @@ -1131,7 +1206,9 @@ type S3CopyObjectOperation struct { // ModifiedSinceConstraint *time.Time - // + // If you don't provide this parameter, Amazon S3 copies all the metadata from the + // original objects. If you specify an empty set, the new objects will have no + // tags. Otherwise, Amazon S3 assigns the supplied tags to the new objects. NewObjectMetadata *S3ObjectMetadata // @@ -1184,6 +1261,20 @@ type S3DeleteObjectTaggingOperation struct { noSmithyDocumentSerde } +// Describes the specified job's generated manifest. Batch Operations jobs created +// with a ManifestGenerator populate details of this descriptor after execution of +// the ManifestGenerator. +type S3GeneratedManifestDescriptor struct { + + // The format of the generated manifest. + Format GeneratedManifestFormat + + // Contains the information required to locate a manifest object. + Location *JobManifestLocation + + noSmithyDocumentSerde +} + // type S3Grant struct { @@ -1217,19 +1308,18 @@ type S3Grantee struct { // (https://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectPOSTrestore.html#RESTObjectPOSTrestore-restore-request). type S3InitiateRestoreObjectOperation struct { - // This argument specifies how long the S3 Glacier Flexible Retrieval or S3 Glacier - // Deep Archive object remains available in Amazon S3. S3 Initiate Restore Object - // jobs that target S3 Glacier Flexible Retrieval and S3 Glacier Deep Archive - // objects require ExpirationInDays set to 1 or greater. Conversely, do not set - // ExpirationInDays when creating S3 Initiate Restore Object jobs that target S3 - // Intelligent-Tiering Archive Access and Deep Archive Access tier objects. Objects - // in S3 Intelligent-Tiering archive access tiers are not subject to restore - // expiry, so specifying ExpirationInDays results in restore request failure. S3 - // Batch Operations jobs can operate either on S3 Glacier Flexible Retrieval and S3 - // Glacier Deep Archive storage class objects or on S3 Intelligent-Tiering Archive - // Access and Deep Archive Access storage tier objects, but not both types in the - // same job. If you need to restore objects of both types you must create separate - // Batch Operations jobs. + // This argument specifies how long the S3 Glacier or S3 Glacier Deep Archive + // object remains available in Amazon S3. S3 Initiate Restore Object jobs that + // target S3 Glacier and S3 Glacier Deep Archive objects require ExpirationInDays + // set to 1 or greater. Conversely, do not set ExpirationInDays when creating S3 + // Initiate Restore Object jobs that target S3 Intelligent-Tiering Archive Access + // and Deep Archive Access tier objects. Objects in S3 Intelligent-Tiering archive + // access tiers are not subject to restore expiry, so specifying ExpirationInDays + // results in restore request failure. S3 Batch Operations jobs can operate either + // on S3 Glacier and S3 Glacier Deep Archive storage class objects or on S3 + // Intelligent-Tiering Archive Access and Deep Archive Access storage tier objects, + // but not both types in the same job. If you need to restore objects of both types + // you must create separate Batch Operations jobs. ExpirationInDays *int32 // S3 Batch Operations supports STANDARD and BULK retrieval tiers, but not the @@ -1239,6 +1329,61 @@ type S3InitiateRestoreObjectOperation struct { noSmithyDocumentSerde } +// The container for the service that will create the S3 manifest. +type S3JobManifestGenerator struct { + + // Determines whether or not to write the job's generated manifest to a bucket. + // + // This member is required. + EnableManifestOutput bool + + // The source bucket used by the ManifestGenerator. + // + // This member is required. + SourceBucket *string + + // The Amazon Web Services account ID that owns the bucket the generated manifest + // is written to. If provided the generated manifest bucket's owner Amazon Web + // Services account ID must match this value, else the job fails. + ExpectedBucketOwner *string + + // Specifies rules the S3JobManifestGenerator should use to use to decide whether + // an object in the source bucket should or should not be included in the generated + // job manifest. + Filter *JobManifestGeneratorFilter + + // Specifies the location the generated manifest will be written to. + ManifestOutputLocation *S3ManifestOutputLocation + + noSmithyDocumentSerde +} + +// Location details for where the generated manifest should be written. +type S3ManifestOutputLocation struct { + + // The bucket ARN the generated manifest should be written to. + // + // This member is required. + Bucket *string + + // The format of the generated manifest. + // + // This member is required. + ManifestFormat GeneratedManifestFormat + + // The Account ID that owns the bucket the generated manifest is written to. + ExpectedManifestBucketOwner *string + + // Specifies what encryption should be used when the generated manifest objects are + // written. + ManifestEncryption *GeneratedManifestEncryption + + // Prefix identifying one or more objects to which the manifest applies. + ManifestPrefix *string + + noSmithyDocumentSerde +} + // Whether S3 Object Lock legal hold will be applied to objects in an S3 Batch // Operations job. type S3ObjectLockLegalHold struct { @@ -1303,6 +1448,12 @@ type S3ObjectOwner struct { noSmithyDocumentSerde } +// Directs the specified job to invoke ReplicateObject on every object in the job's +// manifest. +type S3ReplicateObjectOperation struct { + noSmithyDocumentSerde +} + // Contains the S3 Object Lock retention mode to be applied to all objects in the // S3 Batch Operations job. If you don't provide Mode and RetainUntilDate data // types in your operation, you will remove the retention from your objects. For @@ -1433,11 +1584,29 @@ type SSEKMS struct { noSmithyDocumentSerde } +// Configuration for the use of SSE-KMS to encrypt generated manifest objects. +type SSEKMSEncryption struct { + + // Specifies the ID of the Amazon Web Services Key Management Service (Amazon Web + // Services KMS) symmetric customer managed key to use for encrypting generated + // manifest objects. + // + // This member is required. + KeyId *string + + noSmithyDocumentSerde +} + // type SSES3 struct { noSmithyDocumentSerde } +// Configuration for the use of SSE-S3 to encrypt generated manifest objects. +type SSES3Encryption struct { + noSmithyDocumentSerde +} + // The Amazon Web Services organization for your S3 Storage Lens. type StorageLensAwsOrg struct { @@ -1593,4 +1762,5 @@ type UnknownUnionMember struct { noSmithyDocumentSerde } +func (*UnknownUnionMember) isJobManifestGenerator() {} func (*UnknownUnionMember) isObjectLambdaContentTransformation() {} diff --git a/service/s3control/types/types_exported_test.go b/service/s3control/types/types_exported_test.go index 2fab7c45dd7..5eb1b8ac147 100644 --- a/service/s3control/types/types_exported_test.go +++ b/service/s3control/types/types_exported_test.go @@ -7,6 +7,24 @@ import ( "github.com/aws/aws-sdk-go-v2/service/s3control/types" ) +func ExampleJobManifestGenerator_outputUsage() { + var union types.JobManifestGenerator + // type switches can be used to check the union value + switch v := union.(type) { + case *types.JobManifestGeneratorMemberS3JobManifestGenerator: + _ = v.Value // Value is types.S3JobManifestGenerator + + case *types.UnknownUnionMember: + fmt.Println("unknown tag:", v.Tag) + + default: + fmt.Println("union is nil or unknown type") + + } +} + +var _ *types.S3JobManifestGenerator + func ExampleObjectLambdaContentTransformation_outputUsage() { var union types.ObjectLambdaContentTransformation // type switches can be used to check the union value diff --git a/service/s3control/validators.go b/service/s3control/validators.go index 05f86f0b27a..8f7561c0439 100644 --- a/service/s3control/validators.go +++ b/service/s3control/validators.go @@ -1478,6 +1478,23 @@ func validateDeleteMultiRegionAccessPointInput(v *types.DeleteMultiRegionAccessP } } +func validateGeneratedManifestEncryption(v *types.GeneratedManifestEncryption) error { + if v == nil { + return nil + } + invalidParams := smithy.InvalidParamsError{Context: "GeneratedManifestEncryption"} + if v.SSEKMS != nil { + if err := validateSSEKMSEncryption(v.SSEKMS); err != nil { + invalidParams.AddNested("SSEKMS", err.(smithy.InvalidParamsError)) + } + } + if invalidParams.Len() > 0 { + return invalidParams + } else { + return nil + } +} + func validateJobManifest(v *types.JobManifest) error { if v == nil { return nil @@ -1504,6 +1521,25 @@ func validateJobManifest(v *types.JobManifest) error { } } +func validateJobManifestGenerator(v types.JobManifestGenerator) error { + if v == nil { + return nil + } + invalidParams := smithy.InvalidParamsError{Context: "JobManifestGenerator"} + switch uv := v.(type) { + case *types.JobManifestGeneratorMemberS3JobManifestGenerator: + if err := validateS3JobManifestGenerator(&uv.Value); err != nil { + invalidParams.AddNested("[S3JobManifestGenerator]", err.(smithy.InvalidParamsError)) + } + + } + if invalidParams.Len() > 0 { + return invalidParams + } else { + return nil + } +} + func validateJobManifestLocation(v *types.JobManifestLocation) error { if v == nil { return nil @@ -1902,6 +1938,49 @@ func validateS3CopyObjectOperation(v *types.S3CopyObjectOperation) error { } } +func validateS3JobManifestGenerator(v *types.S3JobManifestGenerator) error { + if v == nil { + return nil + } + invalidParams := smithy.InvalidParamsError{Context: "S3JobManifestGenerator"} + if v.SourceBucket == nil { + invalidParams.Add(smithy.NewErrParamRequired("SourceBucket")) + } + if v.ManifestOutputLocation != nil { + if err := validateS3ManifestOutputLocation(v.ManifestOutputLocation); err != nil { + invalidParams.AddNested("ManifestOutputLocation", err.(smithy.InvalidParamsError)) + } + } + if invalidParams.Len() > 0 { + return invalidParams + } else { + return nil + } +} + +func validateS3ManifestOutputLocation(v *types.S3ManifestOutputLocation) error { + if v == nil { + return nil + } + invalidParams := smithy.InvalidParamsError{Context: "S3ManifestOutputLocation"} + if v.Bucket == nil { + invalidParams.Add(smithy.NewErrParamRequired("Bucket")) + } + if v.ManifestEncryption != nil { + if err := validateGeneratedManifestEncryption(v.ManifestEncryption); err != nil { + invalidParams.AddNested("ManifestEncryption", err.(smithy.InvalidParamsError)) + } + } + if len(v.ManifestFormat) == 0 { + invalidParams.Add(smithy.NewErrParamRequired("ManifestFormat")) + } + if invalidParams.Len() > 0 { + return invalidParams + } else { + return nil + } +} + func validateS3ObjectLockLegalHold(v *types.S3ObjectLockLegalHold) error { if v == nil { return nil @@ -2035,6 +2114,21 @@ func validateSSEKMS(v *types.SSEKMS) error { } } +func validateSSEKMSEncryption(v *types.SSEKMSEncryption) error { + if v == nil { + return nil + } + invalidParams := smithy.InvalidParamsError{Context: "SSEKMSEncryption"} + if v.KeyId == nil { + invalidParams.Add(smithy.NewErrParamRequired("KeyId")) + } + if invalidParams.Len() > 0 { + return invalidParams + } else { + return nil + } +} + func validateStorageLensAwsOrg(v *types.StorageLensAwsOrg) error { if v == nil { return nil @@ -2281,9 +2375,7 @@ func validateOpCreateJobInput(v *CreateJobInput) error { if v.ClientRequestToken == nil { invalidParams.Add(smithy.NewErrParamRequired("ClientRequestToken")) } - if v.Manifest == nil { - invalidParams.Add(smithy.NewErrParamRequired("Manifest")) - } else if v.Manifest != nil { + if v.Manifest != nil { if err := validateJobManifest(v.Manifest); err != nil { invalidParams.AddNested("Manifest", err.(smithy.InvalidParamsError)) } @@ -2296,6 +2388,11 @@ func validateOpCreateJobInput(v *CreateJobInput) error { invalidParams.AddNested("Tags", err.(smithy.InvalidParamsError)) } } + if v.ManifestGenerator != nil { + if err := validateJobManifestGenerator(v.ManifestGenerator); err != nil { + invalidParams.AddNested("ManifestGenerator", err.(smithy.InvalidParamsError)) + } + } if invalidParams.Len() > 0 { return invalidParams } else { diff --git a/service/sagemaker/deserializers.go b/service/sagemaker/deserializers.go index f9689276c56..3d9b89283a4 100644 --- a/service/sagemaker/deserializers.go +++ b/service/sagemaker/deserializers.go @@ -30523,6 +30523,15 @@ func awsAwsjson11_deserializeDocumentCandidateArtifactLocations(v **types.Candid sv.Explainability = ptr.String(jtv) } + case "ModelInsights": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected ModelInsightsLocation to be of type string, got %T instead", value) + } + sv.ModelInsights = ptr.String(jtv) + } + default: _, _ = key, value diff --git a/service/sagemaker/types/enums.go b/service/sagemaker/types/enums.go index e9ec23f73be..e2e8422a64d 100644 --- a/service/sagemaker/types/enums.go +++ b/service/sagemaker/types/enums.go @@ -463,6 +463,8 @@ const ( AutoMLJobSecondaryStatusExplainabilityError AutoMLJobSecondaryStatus = "ExplainabilityError" AutoMLJobSecondaryStatusDeployingModel AutoMLJobSecondaryStatus = "DeployingModel" AutoMLJobSecondaryStatusModelDeploymentError AutoMLJobSecondaryStatus = "ModelDeploymentError" + AutoMLJobSecondaryStatusGeneratingModelInsightsReport AutoMLJobSecondaryStatus = "GeneratingModelInsightsReport" + AutoMLJobSecondaryStatusModelInsightsError AutoMLJobSecondaryStatus = "ModelInsightsError" ) // Values returns all known values for AutoMLJobSecondaryStatus. Note that this can @@ -485,6 +487,8 @@ func (AutoMLJobSecondaryStatus) Values() []AutoMLJobSecondaryStatus { "ExplainabilityError", "DeployingModel", "ModelDeploymentError", + "GeneratingModelInsightsReport", + "ModelInsightsError", } } @@ -3908,6 +3912,7 @@ const ( TargetPlatformAcceleratorIntelGraphics TargetPlatformAccelerator = "INTEL_GRAPHICS" TargetPlatformAcceleratorMali TargetPlatformAccelerator = "MALI" TargetPlatformAcceleratorNvidia TargetPlatformAccelerator = "NVIDIA" + TargetPlatformAcceleratorNna TargetPlatformAccelerator = "NNA" ) // Values returns all known values for TargetPlatformAccelerator. Note that this @@ -3918,6 +3923,7 @@ func (TargetPlatformAccelerator) Values() []TargetPlatformAccelerator { "INTEL_GRAPHICS", "MALI", "NVIDIA", + "NNA", } } diff --git a/service/sagemaker/types/types.go b/service/sagemaker/types/types.go index 644558872de..1fef70108b5 100644 --- a/service/sagemaker/types/types.go +++ b/service/sagemaker/types/types.go @@ -1982,6 +1982,10 @@ type CandidateArtifactLocations struct { // This member is required. Explainability *string + // The Amazon S3 prefix to the model insight artifacts generated for the AutoML + // candidate. + ModelInsights *string + noSmithyDocumentSerde } diff --git a/service/secretsmanager/api_op_CancelRotateSecret.go b/service/secretsmanager/api_op_CancelRotateSecret.go index 57b2f859662..9bba37db7f9 100644 --- a/service/secretsmanager/api_op_CancelRotateSecret.go +++ b/service/secretsmanager/api_op_CancelRotateSecret.go @@ -17,7 +17,12 @@ import ( // need to remove the staging label AWSPENDING from the partially created version, // specified by the VersionId response value. We recommend you also evaluate the // partially rotated new version to see if it should be deleted. You can delete a -// version by removing all staging labels from it. +// version by removing all staging labels from it. Required permissions: +// secretsmanager:CancelRotateSecret. For more information, see IAM policy actions +// for Secrets Manager +// (https://docs.aws.amazon.com/service-authorization/latest/reference/list_awssecretsmanager.html#awssecretsmanager-actions-as-permissions) +// and Authentication and access control in Secrets Manager +// (https://docs.aws.amazon.com/secretsmanager/latest/userguide/auth-and-access.html). func (c *Client) CancelRotateSecret(ctx context.Context, params *CancelRotateSecretInput, optFns ...func(*Options)) (*CancelRotateSecretOutput, error) { if params == nil { params = &CancelRotateSecretInput{} diff --git a/service/secretsmanager/api_op_CreateSecret.go b/service/secretsmanager/api_op_CreateSecret.go index b38d06f17c9..f65c85f6142 100644 --- a/service/secretsmanager/api_op_CreateSecret.go +++ b/service/secretsmanager/api_op_CreateSecret.go @@ -32,7 +32,11 @@ import ( // significant delay in returning the result. If the secret is in a different // Amazon Web Services account from the credentials calling the API, then you can't // use aws/secretsmanager to encrypt the secret, and you must create and use a -// customer managed KMS key. +// customer managed KMS key. Required permissions: secretsmanager:CreateSecret. For +// more information, see IAM policy actions for Secrets Manager +// (https://docs.aws.amazon.com/service-authorization/latest/reference/list_awssecretsmanager.html#awssecretsmanager-actions-as-permissions) +// and Authentication and access control in Secrets Manager +// (https://docs.aws.amazon.com/secretsmanager/latest/userguide/auth-and-access.html). func (c *Client) CreateSecret(ctx context.Context, params *CreateSecretInput, optFns ...func(*Options)) (*CreateSecretOutput, error) { if params == nil { params = &CreateSecretInput{} diff --git a/service/secretsmanager/api_op_DeleteResourcePolicy.go b/service/secretsmanager/api_op_DeleteResourcePolicy.go index 564b9fd4633..a901065d6c5 100644 --- a/service/secretsmanager/api_op_DeleteResourcePolicy.go +++ b/service/secretsmanager/api_op_DeleteResourcePolicy.go @@ -11,7 +11,12 @@ import ( ) // Deletes the resource-based permission policy attached to the secret. To attach a -// policy to a secret, use PutResourcePolicy. +// policy to a secret, use PutResourcePolicy. Required permissions: +// secretsmanager:DeleteResourcePolicy. For more information, see IAM policy +// actions for Secrets Manager +// (https://docs.aws.amazon.com/service-authorization/latest/reference/list_awssecretsmanager.html#awssecretsmanager-actions-as-permissions) +// and Authentication and access control in Secrets Manager +// (https://docs.aws.amazon.com/secretsmanager/latest/userguide/auth-and-access.html). func (c *Client) DeleteResourcePolicy(ctx context.Context, params *DeleteResourcePolicyInput, optFns ...func(*Options)) (*DeleteResourcePolicyOutput, error) { if params == nil { params = &DeleteResourcePolicyInput{} diff --git a/service/secretsmanager/api_op_DeleteSecret.go b/service/secretsmanager/api_op_DeleteSecret.go index 57413159588..9be88f019c7 100644 --- a/service/secretsmanager/api_op_DeleteSecret.go +++ b/service/secretsmanager/api_op_DeleteSecret.go @@ -26,7 +26,11 @@ import ( // DeletionDate and cancel the deletion of the secret. In a secret scheduled for // deletion, you cannot access the encrypted secret value. To access that // information, first cancel the deletion with RestoreSecret and then retrieve the -// information. +// information. Required permissions: secretsmanager:DeleteSecret. For more +// information, see IAM policy actions for Secrets Manager +// (https://docs.aws.amazon.com/service-authorization/latest/reference/list_awssecretsmanager.html#awssecretsmanager-actions-as-permissions) +// and Authentication and access control in Secrets Manager +// (https://docs.aws.amazon.com/secretsmanager/latest/userguide/auth-and-access.html). func (c *Client) DeleteSecret(ctx context.Context, params *DeleteSecretInput, optFns ...func(*Options)) (*DeleteSecretOutput, error) { if params == nil { params = &DeleteSecretInput{} diff --git a/service/secretsmanager/api_op_DescribeSecret.go b/service/secretsmanager/api_op_DescribeSecret.go index e506048ebc3..b5dc10adbcb 100644 --- a/service/secretsmanager/api_op_DescribeSecret.go +++ b/service/secretsmanager/api_op_DescribeSecret.go @@ -14,6 +14,11 @@ import ( // Retrieves the details of a secret. It does not include the encrypted secret // value. Secrets Manager only returns fields that have a value in the response. +// Required permissions: secretsmanager:DescribeSecret. For more information, see +// IAM policy actions for Secrets Manager +// (https://docs.aws.amazon.com/service-authorization/latest/reference/list_awssecretsmanager.html#awssecretsmanager-actions-as-permissions) +// and Authentication and access control in Secrets Manager +// (https://docs.aws.amazon.com/secretsmanager/latest/userguide/auth-and-access.html). func (c *Client) DescribeSecret(ctx context.Context, params *DescribeSecretInput, optFns ...func(*Options)) (*DescribeSecretOutput, error) { if params == nil { params = &DescribeSecretInput{} diff --git a/service/secretsmanager/api_op_GetRandomPassword.go b/service/secretsmanager/api_op_GetRandomPassword.go index 2be530c4b93..3892dcfffd6 100644 --- a/service/secretsmanager/api_op_GetRandomPassword.go +++ b/service/secretsmanager/api_op_GetRandomPassword.go @@ -12,7 +12,11 @@ import ( // Generates a random password. We recommend that you specify the maximum length // and include every character type that the system you are generating a password -// for can support. +// for can support. Required permissions: secretsmanager:GetRandomPassword. For +// more information, see IAM policy actions for Secrets Manager +// (https://docs.aws.amazon.com/service-authorization/latest/reference/list_awssecretsmanager.html#awssecretsmanager-actions-as-permissions) +// and Authentication and access control in Secrets Manager +// (https://docs.aws.amazon.com/secretsmanager/latest/userguide/auth-and-access.html). func (c *Client) GetRandomPassword(ctx context.Context, params *GetRandomPasswordInput, optFns ...func(*Options)) (*GetRandomPasswordOutput, error) { if params == nil { params = &GetRandomPasswordInput{} diff --git a/service/secretsmanager/api_op_GetResourcePolicy.go b/service/secretsmanager/api_op_GetResourcePolicy.go index bf2a4599571..b9daffdff91 100644 --- a/service/secretsmanager/api_op_GetResourcePolicy.go +++ b/service/secretsmanager/api_op_GetResourcePolicy.go @@ -14,6 +14,11 @@ import ( // secret. For more information about permissions policies attached to a secret, // see Permissions policies attached to a secret // (https://docs.aws.amazon.com/secretsmanager/latest/userguide/auth-and-access_resource-policies.html). +// Required permissions: secretsmanager:GetResourcePolicy. For more information, +// see IAM policy actions for Secrets Manager +// (https://docs.aws.amazon.com/service-authorization/latest/reference/list_awssecretsmanager.html#awssecretsmanager-actions-as-permissions) +// and Authentication and access control in Secrets Manager +// (https://docs.aws.amazon.com/secretsmanager/latest/userguide/auth-and-access.html). func (c *Client) GetResourcePolicy(ctx context.Context, params *GetResourcePolicyInput, optFns ...func(*Options)) (*GetResourcePolicyOutput, error) { if params == nil { params = &GetResourcePolicyInput{} diff --git a/service/secretsmanager/api_op_GetSecretValue.go b/service/secretsmanager/api_op_GetSecretValue.go index bfd2105f5c1..b3c9793f25a 100644 --- a/service/secretsmanager/api_op_GetSecretValue.go +++ b/service/secretsmanager/api_op_GetSecretValue.go @@ -12,13 +12,18 @@ import ( ) // Retrieves the contents of the encrypted fields SecretString or SecretBinary from -// the specified version of a secret, whichever contains content. For information -// about retrieving the secret value in the console, see Retrieve secrets +// the specified version of a secret, whichever contains content. We recommend that +// you cache your secret values by using client-side caching. Caching secrets +// improves speed and reduces your costs. For more information, see Cache secrets +// for your applications // (https://docs.aws.amazon.com/secretsmanager/latest/userguide/retrieving-secrets.html). -// To run this command, you must have secretsmanager:GetSecretValue permissions. If -// the secret is encrypted using a customer-managed key instead of the Amazon Web -// Services managed key aws/secretsmanager, then you also need kms:Decrypt -// permissions for that key. +// Required permissions: secretsmanager:GetSecretValue. If the secret is encrypted +// using a customer-managed key instead of the Amazon Web Services managed key +// aws/secretsmanager, then you also need kms:Decrypt permissions for that key. For +// more information, see IAM policy actions for Secrets Manager +// (https://docs.aws.amazon.com/service-authorization/latest/reference/list_awssecretsmanager.html#awssecretsmanager-actions-as-permissions) +// and Authentication and access control in Secrets Manager +// (https://docs.aws.amazon.com/secretsmanager/latest/userguide/auth-and-access.html). func (c *Client) GetSecretValue(ctx context.Context, params *GetSecretValueInput, optFns ...func(*Options)) (*GetSecretValueOutput, error) { if params == nil { params = &GetSecretValueInput{} diff --git a/service/secretsmanager/api_op_ListSecretVersionIds.go b/service/secretsmanager/api_op_ListSecretVersionIds.go index 3dcd97508b3..4b7182ccd80 100644 --- a/service/secretsmanager/api_op_ListSecretVersionIds.go +++ b/service/secretsmanager/api_op_ListSecretVersionIds.go @@ -14,8 +14,11 @@ import ( // Lists the versions for a secret. To list the secrets in the account, use // ListSecrets. To get the secret value from SecretString or SecretBinary, call -// GetSecretValue. Minimum permissions To run this command, you must have -// secretsmanager:ListSecretVersionIds permissions. +// GetSecretValue. Required permissions: secretsmanager:ListSecretVersionIds. For +// more information, see IAM policy actions for Secrets Manager +// (https://docs.aws.amazon.com/service-authorization/latest/reference/list_awssecretsmanager.html#awssecretsmanager-actions-as-permissions) +// and Authentication and access control in Secrets Manager +// (https://docs.aws.amazon.com/secretsmanager/latest/userguide/auth-and-access.html). func (c *Client) ListSecretVersionIds(ctx context.Context, params *ListSecretVersionIdsInput, optFns ...func(*Options)) (*ListSecretVersionIdsOutput, error) { if params == nil { params = &ListSecretVersionIdsInput{} diff --git a/service/secretsmanager/api_op_ListSecrets.go b/service/secretsmanager/api_op_ListSecrets.go index 215cd865209..7164b04965b 100644 --- a/service/secretsmanager/api_op_ListSecrets.go +++ b/service/secretsmanager/api_op_ListSecrets.go @@ -18,8 +18,11 @@ import ( // information about finding secrets in the console, see Enhanced search // capabilities for secrets in Secrets Manager // (https://docs.aws.amazon.com/secretsmanager/latest/userguide/manage_search-secret.html). -// Minimum permissions To run this command, you must have -// secretsmanager:ListSecrets permissions. +// Required permissions: secretsmanager:ListSecrets. For more information, see IAM +// policy actions for Secrets Manager +// (https://docs.aws.amazon.com/service-authorization/latest/reference/list_awssecretsmanager.html#awssecretsmanager-actions-as-permissions) +// and Authentication and access control in Secrets Manager +// (https://docs.aws.amazon.com/secretsmanager/latest/userguide/auth-and-access.html). func (c *Client) ListSecrets(ctx context.Context, params *ListSecretsInput, optFns ...func(*Options)) (*ListSecretsOutput, error) { if params == nil { params = &ListSecretsInput{} diff --git a/service/secretsmanager/api_op_PutResourcePolicy.go b/service/secretsmanager/api_op_PutResourcePolicy.go index b8be23cc5cc..4244dcda4a1 100644 --- a/service/secretsmanager/api_op_PutResourcePolicy.go +++ b/service/secretsmanager/api_op_PutResourcePolicy.go @@ -17,6 +17,11 @@ import ( // For information about attaching a policy in the console, see Attach a // permissions policy to a secret // (https://docs.aws.amazon.com/secretsmanager/latest/userguide/auth-and-access_resource-based-policies.html). +// Required permissions: secretsmanager:PutResourcePolicy. For more information, +// see IAM policy actions for Secrets Manager +// (https://docs.aws.amazon.com/service-authorization/latest/reference/list_awssecretsmanager.html#awssecretsmanager-actions-as-permissions) +// and Authentication and access control in Secrets Manager +// (https://docs.aws.amazon.com/secretsmanager/latest/userguide/auth-and-access.html). func (c *Client) PutResourcePolicy(ctx context.Context, params *PutResourcePolicyInput, optFns ...func(*Options)) (*PutResourcePolicyOutput, error) { if params == nil { params = &PutResourcePolicyInput{} diff --git a/service/secretsmanager/api_op_PutSecretValue.go b/service/secretsmanager/api_op_PutSecretValue.go index 84e6b1f00a1..6cb157d413c 100644 --- a/service/secretsmanager/api_op_PutSecretValue.go +++ b/service/secretsmanager/api_op_PutSecretValue.go @@ -31,6 +31,11 @@ import ( // already exists, and you specify the same secret data, the operation succeeds but // does nothing. However, if the secret data is different, then the operation fails // because you can't modify an existing version; you can only create new ones. +// Required permissions: secretsmanager:PutSecretValue. For more information, see +// IAM policy actions for Secrets Manager +// (https://docs.aws.amazon.com/service-authorization/latest/reference/list_awssecretsmanager.html#awssecretsmanager-actions-as-permissions) +// and Authentication and access control in Secrets Manager +// (https://docs.aws.amazon.com/secretsmanager/latest/userguide/auth-and-access.html). func (c *Client) PutSecretValue(ctx context.Context, params *PutSecretValueInput, optFns ...func(*Options)) (*PutSecretValueOutput, error) { if params == nil { params = &PutSecretValueInput{} diff --git a/service/secretsmanager/api_op_RemoveRegionsFromReplication.go b/service/secretsmanager/api_op_RemoveRegionsFromReplication.go index 8003251d7b5..64524101933 100644 --- a/service/secretsmanager/api_op_RemoveRegionsFromReplication.go +++ b/service/secretsmanager/api_op_RemoveRegionsFromReplication.go @@ -12,7 +12,12 @@ import ( ) // For a secret that is replicated to other Regions, deletes the secret replicas -// from the Regions you specify. +// from the Regions you specify. Required permissions: +// secretsmanager:RemoveRegionsFromReplication. For more information, see IAM +// policy actions for Secrets Manager +// (https://docs.aws.amazon.com/service-authorization/latest/reference/list_awssecretsmanager.html#awssecretsmanager-actions-as-permissions) +// and Authentication and access control in Secrets Manager +// (https://docs.aws.amazon.com/secretsmanager/latest/userguide/auth-and-access.html). func (c *Client) RemoveRegionsFromReplication(ctx context.Context, params *RemoveRegionsFromReplicationInput, optFns ...func(*Options)) (*RemoveRegionsFromReplicationOutput, error) { if params == nil { params = &RemoveRegionsFromReplicationInput{} diff --git a/service/secretsmanager/api_op_ReplicateSecretToRegions.go b/service/secretsmanager/api_op_ReplicateSecretToRegions.go index 9a6b7f114ab..2922f7394ad 100644 --- a/service/secretsmanager/api_op_ReplicateSecretToRegions.go +++ b/service/secretsmanager/api_op_ReplicateSecretToRegions.go @@ -13,6 +13,11 @@ import ( // Replicates the secret to a new Regions. See Multi-Region secrets // (https://docs.aws.amazon.com/secretsmanager/latest/userguide/create-manage-multi-region-secrets.html). +// Required permissions: secretsmanager:ReplicateSecretToRegions. For more +// information, see IAM policy actions for Secrets Manager +// (https://docs.aws.amazon.com/service-authorization/latest/reference/list_awssecretsmanager.html#awssecretsmanager-actions-as-permissions) +// and Authentication and access control in Secrets Manager +// (https://docs.aws.amazon.com/secretsmanager/latest/userguide/auth-and-access.html). func (c *Client) ReplicateSecretToRegions(ctx context.Context, params *ReplicateSecretToRegionsInput, optFns ...func(*Options)) (*ReplicateSecretToRegionsOutput, error) { if params == nil { params = &ReplicateSecretToRegionsInput{} diff --git a/service/secretsmanager/api_op_RestoreSecret.go b/service/secretsmanager/api_op_RestoreSecret.go index 6e34d6d912c..c5404d162b5 100644 --- a/service/secretsmanager/api_op_RestoreSecret.go +++ b/service/secretsmanager/api_op_RestoreSecret.go @@ -11,7 +11,12 @@ import ( ) // Cancels the scheduled deletion of a secret by removing the DeletedDate time -// stamp. You can access a secret again after it has been restored. +// stamp. You can access a secret again after it has been restored. Required +// permissions: secretsmanager:RestoreSecret. For more information, see IAM policy +// actions for Secrets Manager +// (https://docs.aws.amazon.com/service-authorization/latest/reference/list_awssecretsmanager.html#awssecretsmanager-actions-as-permissions) +// and Authentication and access control in Secrets Manager +// (https://docs.aws.amazon.com/secretsmanager/latest/userguide/auth-and-access.html). func (c *Client) RestoreSecret(ctx context.Context, params *RestoreSecretInput, optFns ...func(*Options)) (*RestoreSecretOutput, error) { if params == nil { params = &RestoreSecretInput{} diff --git a/service/secretsmanager/api_op_RotateSecret.go b/service/secretsmanager/api_op_RotateSecret.go index e542ea33bf1..86e1e59bbe0 100644 --- a/service/secretsmanager/api_op_RotateSecret.go +++ b/service/secretsmanager/api_op_RotateSecret.go @@ -31,10 +31,15 @@ import ( // the same version as the AWSCURRENT version, or it might not be attached to any // version. If the AWSPENDING staging label is present but not attached to the same // version as AWSCURRENT, then any later invocation of RotateSecret assumes that a -// previous rotation request is still in progress and returns an error. To run this -// command, you must have secretsmanager:RotateSecret permissions and -// lambda:InvokeFunction permissions on the function specified in the secret's -// metadata. +// previous rotation request is still in progress and returns an error. Required +// permissions: secretsmanager:RotateSecret. For more information, see IAM policy +// actions for Secrets Manager +// (https://docs.aws.amazon.com/service-authorization/latest/reference/list_awssecretsmanager.html#awssecretsmanager-actions-as-permissions) +// and Authentication and access control in Secrets Manager +// (https://docs.aws.amazon.com/secretsmanager/latest/userguide/auth-and-access.html). +// You also need lambda:InvokeFunction permissions on the rotation function. For +// more information, see Permissions for rotation +// (https://docs.aws.amazon.com/secretsmanager/latest/userguide/rotating-secrets-required-permissions-function.html). func (c *Client) RotateSecret(ctx context.Context, params *RotateSecretInput, optFns ...func(*Options)) (*RotateSecretOutput, error) { if params == nil { params = &RotateSecretInput{} @@ -74,6 +79,16 @@ type RotateSecretInput struct { // ensure uniqueness within the specified secret. ClientRequestToken *string + // Specifies whether to rotate the secret immediately or wait until the next + // scheduled rotation window. The rotation schedule is defined in + // RotateSecretRequest$RotationRules. If you don't immediately rotate the secret, + // Secrets Manager tests the rotation configuration by running the testSecret step + // (https://docs.aws.amazon.com/secretsmanager/latest/userguide/rotate-secrets_how.html) + // of the Lambda rotation function. The test creates an AWSPENDING version of the + // secret and then removes it. If you don't specify this value, then by default, + // Secrets Manager rotates the secret immediately. + RotateImmediately bool + // The ARN of the Lambda rotation function that can rotate the secret. RotationLambdaARN *string diff --git a/service/secretsmanager/api_op_StopReplicationToReplica.go b/service/secretsmanager/api_op_StopReplicationToReplica.go index 6b0a7eba72d..c77c3015660 100644 --- a/service/secretsmanager/api_op_StopReplicationToReplica.go +++ b/service/secretsmanager/api_op_StopReplicationToReplica.go @@ -13,7 +13,11 @@ import ( // Removes the link between the replica secret and the primary secret and promotes // the replica to a primary secret in the replica Region. You must call this // operation from the Region in which you want to promote the replica to a primary -// secret. +// secret. Required permissions: secretsmanager:StopReplicationToReplica. For more +// information, see IAM policy actions for Secrets Manager +// (https://docs.aws.amazon.com/service-authorization/latest/reference/list_awssecretsmanager.html#awssecretsmanager-actions-as-permissions) +// and Authentication and access control in Secrets Manager +// (https://docs.aws.amazon.com/secretsmanager/latest/userguide/auth-and-access.html). func (c *Client) StopReplicationToReplica(ctx context.Context, params *StopReplicationToReplicaInput, optFns ...func(*Options)) (*StopReplicationToReplicaOutput, error) { if params == nil { params = &StopReplicationToReplicaInput{} diff --git a/service/secretsmanager/api_op_TagResource.go b/service/secretsmanager/api_op_TagResource.go index 6b15e814959..b7ceef51cb0 100644 --- a/service/secretsmanager/api_op_TagResource.go +++ b/service/secretsmanager/api_op_TagResource.go @@ -41,7 +41,11 @@ import ( // security strategy, then adding or removing a tag can change permissions. If // successfully completing this operation would result in you losing your // permissions for this secret, then the operation is blocked and returns an Access -// Denied error. +// Denied error. Required permissions: secretsmanager:TagResource. For more +// information, see IAM policy actions for Secrets Manager +// (https://docs.aws.amazon.com/service-authorization/latest/reference/list_awssecretsmanager.html#awssecretsmanager-actions-as-permissions) +// and Authentication and access control in Secrets Manager +// (https://docs.aws.amazon.com/secretsmanager/latest/userguide/auth-and-access.html). func (c *Client) TagResource(ctx context.Context, params *TagResourceInput, optFns ...func(*Options)) (*TagResourceOutput, error) { if params == nil { params = &TagResourceInput{} diff --git a/service/secretsmanager/api_op_UntagResource.go b/service/secretsmanager/api_op_UntagResource.go index 276b4a9d479..b85a9ce27cd 100644 --- a/service/secretsmanager/api_op_UntagResource.go +++ b/service/secretsmanager/api_op_UntagResource.go @@ -15,7 +15,12 @@ import ( // metadata is unchanged. If you use tags as part of your security strategy, then // removing a tag can change permissions. If successfully completing this operation // would result in you losing your permissions for this secret, then the operation -// is blocked and returns an Access Denied error. +// is blocked and returns an Access Denied error. Required permissions: +// secretsmanager:UntagResource. For more information, see IAM policy actions for +// Secrets Manager +// (https://docs.aws.amazon.com/service-authorization/latest/reference/list_awssecretsmanager.html#awssecretsmanager-actions-as-permissions) +// and Authentication and access control in Secrets Manager +// (https://docs.aws.amazon.com/secretsmanager/latest/userguide/auth-and-access.html). func (c *Client) UntagResource(ctx context.Context, params *UntagResourceInput, optFns ...func(*Options)) (*UntagResourceOutput, error) { if params == nil { params = &UntagResourceInput{} diff --git a/service/secretsmanager/api_op_UpdateSecret.go b/service/secretsmanager/api_op_UpdateSecret.go index 58537c55252..4268a2227f1 100644 --- a/service/secretsmanager/api_op_UpdateSecret.go +++ b/service/secretsmanager/api_op_UpdateSecret.go @@ -34,9 +34,16 @@ import ( // can result in a one-time significant delay in returning the result. If the // secret is in a different Amazon Web Services account from the credentials // calling the API, then you can't use aws/secretsmanager to encrypt the secret, -// and you must create and use a customer managed key. To run this command, you -// must have secretsmanager:UpdateSecret permissions. If you use a customer managed -// key, you must also have kms:GenerateDataKey and kms:Decrypt permissions . +// and you must create and use a customer managed key. Required permissions: +// secretsmanager:UpdateSecret. For more information, see IAM policy actions for +// Secrets Manager +// (https://docs.aws.amazon.com/service-authorization/latest/reference/list_awssecretsmanager.html#awssecretsmanager-actions-as-permissions) +// and Authentication and access control in Secrets Manager +// (https://docs.aws.amazon.com/secretsmanager/latest/userguide/auth-and-access.html). +// If you use a customer managed key, you must also have kms:GenerateDataKey and +// kms:Decrypt permissions on the key. For more information, see Secret encryption +// and decryption +// (https://docs.aws.amazon.com/secretsmanager/latest/userguide/security-encryption.html). func (c *Client) UpdateSecret(ctx context.Context, params *UpdateSecretInput, optFns ...func(*Options)) (*UpdateSecretOutput, error) { if params == nil { params = &UpdateSecretInput{} diff --git a/service/secretsmanager/api_op_UpdateSecretVersionStage.go b/service/secretsmanager/api_op_UpdateSecretVersionStage.go index 5c5bf750f7e..5320c16514f 100644 --- a/service/secretsmanager/api_op_UpdateSecretVersionStage.go +++ b/service/secretsmanager/api_op_UpdateSecretVersionStage.go @@ -24,7 +24,12 @@ import ( // AWSCURRENT, Secrets Manager automatically moves the label AWSPREVIOUS to the // version that AWSCURRENT was removed from. If this action results in the last // label being removed from a version, then the version is considered to be -// 'deprecated' and can be deleted by Secrets Manager. +// 'deprecated' and can be deleted by Secrets Manager. Required permissions: +// secretsmanager:UpdateSecretVersionStage. For more information, see IAM policy +// actions for Secrets Manager +// (https://docs.aws.amazon.com/service-authorization/latest/reference/list_awssecretsmanager.html#awssecretsmanager-actions-as-permissions) +// and Authentication and access control in Secrets Manager +// (https://docs.aws.amazon.com/secretsmanager/latest/userguide/auth-and-access.html). func (c *Client) UpdateSecretVersionStage(ctx context.Context, params *UpdateSecretVersionStageInput, optFns ...func(*Options)) (*UpdateSecretVersionStageOutput, error) { if params == nil { params = &UpdateSecretVersionStageInput{} diff --git a/service/secretsmanager/api_op_ValidateResourcePolicy.go b/service/secretsmanager/api_op_ValidateResourcePolicy.go index 6dc5bbe4363..ec9cbe20ec7 100644 --- a/service/secretsmanager/api_op_ValidateResourcePolicy.go +++ b/service/secretsmanager/api_op_ValidateResourcePolicy.go @@ -25,6 +25,13 @@ import ( // // * Verifies the policy does // not lock out a caller. +// +// Required permissions: +// secretsmanager:ValidateResourcePolicy. For more information, see IAM policy +// actions for Secrets Manager +// (https://docs.aws.amazon.com/service-authorization/latest/reference/list_awssecretsmanager.html#awssecretsmanager-actions-as-permissions) +// and Authentication and access control in Secrets Manager +// (https://docs.aws.amazon.com/secretsmanager/latest/userguide/auth-and-access.html). func (c *Client) ValidateResourcePolicy(ctx context.Context, params *ValidateResourcePolicyInput, optFns ...func(*Options)) (*ValidateResourcePolicyOutput, error) { if params == nil { params = &ValidateResourcePolicyInput{} diff --git a/service/secretsmanager/deserializers.go b/service/secretsmanager/deserializers.go index d8dadc58893..7e7234b93df 100644 --- a/service/secretsmanager/deserializers.go +++ b/service/secretsmanager/deserializers.go @@ -239,6 +239,9 @@ func awsAwsjson11_deserializeOpErrorCreateSecret(response *smithyhttp.Response, } switch { + case strings.EqualFold("DecryptionFailure", errorCode): + return awsAwsjson11_deserializeErrorDecryptionFailure(response, errorBody) + case strings.EqualFold("EncryptionFailure", errorCode): return awsAwsjson11_deserializeErrorEncryptionFailure(response, errorBody) @@ -1454,6 +1457,9 @@ func awsAwsjson11_deserializeOpErrorPutSecretValue(response *smithyhttp.Response } switch { + case strings.EqualFold("DecryptionFailure", errorCode): + return awsAwsjson11_deserializeErrorDecryptionFailure(response, errorBody) + case strings.EqualFold("EncryptionFailure", errorCode): return awsAwsjson11_deserializeErrorEncryptionFailure(response, errorBody) @@ -2379,6 +2385,9 @@ func awsAwsjson11_deserializeOpErrorUpdateSecret(response *smithyhttp.Response, } switch { + case strings.EqualFold("DecryptionFailure", errorCode): + return awsAwsjson11_deserializeErrorDecryptionFailure(response, errorBody) + case strings.EqualFold("EncryptionFailure", errorCode): return awsAwsjson11_deserializeErrorEncryptionFailure(response, errorBody) @@ -3750,6 +3759,24 @@ func awsAwsjson11_deserializeDocumentRotationRulesType(v **types.RotationRulesTy sv.AutomaticallyAfterDays = i64 } + case "Duration": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected DurationType to be of type string, got %T instead", value) + } + sv.Duration = ptr.String(jtv) + } + + case "ScheduleExpression": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected ScheduleExpressionType to be of type string, got %T instead", value) + } + sv.ScheduleExpression = ptr.String(jtv) + } + default: _, _ = key, value diff --git a/service/secretsmanager/doc.go b/service/secretsmanager/doc.go index e4b6ba36412..93a86f2a736 100644 --- a/service/secretsmanager/doc.go +++ b/service/secretsmanager/doc.go @@ -9,47 +9,22 @@ // using this service, see the Amazon Web Services Secrets Manager User Guide // (https://docs.aws.amazon.com/secretsmanager/latest/userguide/introduction.html). // API Version This version of the Secrets Manager API Reference documents the -// Secrets Manager API version 2017-10-17. As an alternative to using the API, you -// can use one of the Amazon Web Services SDKs, which consist of libraries and -// sample code for various programming languages and platforms such as Java, Ruby, -// .NET, iOS, and Android. The SDKs provide a convenient way to create programmatic -// access to Amazon Web Services Secrets Manager. For example, the SDKs provide -// cryptographically signing requests, managing errors, and retrying requests -// automatically. For more information about the Amazon Web Services SDKs, -// including downloading and installing them, see Tools for Amazon Web Services -// (http://aws.amazon.com/tools/). We recommend you use the Amazon Web Services -// SDKs to make programmatic API calls to Secrets Manager. However, you also can -// use the Secrets Manager HTTP Query API to make direct calls to the Secrets -// Manager web service. To learn more about the Secrets Manager HTTP Query API, see -// Making Query Requests -// (https://docs.aws.amazon.com/secretsmanager/latest/userguide/query-requests.html) -// in the Amazon Web Services Secrets Manager User Guide. Secrets Manager API -// supports GET and POST requests for all actions, and doesn't require you to use -// GET for some actions and POST for others. However, GET requests are subject to -// the limitation size of a URL. Therefore, for operations that require larger -// sizes, use a POST request. Support and Feedback for Amazon Web Services Secrets -// Manager We welcome your feedback. Send your comments to +// Secrets Manager API version 2017-10-17. Support and Feedback for Amazon Web +// Services Secrets Manager We welcome your feedback. Send your comments to // awssecretsmanager-feedback@amazon.com // (mailto:awssecretsmanager-feedback@amazon.com), or post your feedback and // questions in the Amazon Web Services Secrets Manager Discussion Forum // (http://forums.aws.amazon.com/forum.jspa?forumID=296). For more information // about the Amazon Web Services Discussion Forums, see Forums Help -// (http://forums.aws.amazon.com/help.jspa). How examples are presented The JSON -// that Amazon Web Services Secrets Manager expects as your request parameters and -// the service returns as a response to HTTP query requests contain single, long -// strings without line breaks or white space formatting. The JSON shown in the -// examples displays the code formatted with both line breaks and white space to -// improve readability. When example input parameters can also cause long strings -// extending beyond the screen, you can insert line breaks to enhance readability. -// You should always submit the input as a single JSON text string. Logging API -// Requests Amazon Web Services Secrets Manager supports Amazon Web Services -// CloudTrail, a service that records Amazon Web Services API calls for your Amazon -// Web Services account and delivers log files to an Amazon S3 bucket. By using -// information that's collected by Amazon Web Services CloudTrail, you can -// determine the requests successfully made to Secrets Manager, who made the -// request, when it was made, and so on. For more about Amazon Web Services Secrets -// Manager and support for Amazon Web Services CloudTrail, see Logging Amazon Web -// Services Secrets Manager Events with Amazon Web Services CloudTrail +// (http://forums.aws.amazon.com/help.jspa). Logging API Requests Amazon Web +// Services Secrets Manager supports Amazon Web Services CloudTrail, a service that +// records Amazon Web Services API calls for your Amazon Web Services account and +// delivers log files to an Amazon S3 bucket. By using information that's collected +// by Amazon Web Services CloudTrail, you can determine the requests successfully +// made to Secrets Manager, who made the request, when it was made, and so on. For +// more about Amazon Web Services Secrets Manager and support for Amazon Web +// Services CloudTrail, see Logging Amazon Web Services Secrets Manager Events with +// Amazon Web Services CloudTrail // (https://docs.aws.amazon.com/secretsmanager/latest/userguide/monitoring.html#monitoring_cloudtrail) // in the Amazon Web Services Secrets Manager User Guide. To learn more about // CloudTrail, including enabling it and find your log files, see the Amazon Web diff --git a/service/secretsmanager/internal/endpoints/endpoints.go b/service/secretsmanager/internal/endpoints/endpoints.go index f3f5106beee..b0cd71c1a89 100644 --- a/service/secretsmanager/internal/endpoints/endpoints.go +++ b/service/secretsmanager/internal/endpoints/endpoints.go @@ -165,6 +165,21 @@ var defaultPartitions = endpoints.Partitions{ endpoints.EndpointKey{ Region: "ca-central-1", }: endpoints.Endpoint{}, + endpoints.EndpointKey{ + Region: "ca-central-1", + Variant: endpoints.FIPSVariant, + }: { + Hostname: "secretsmanager-fips.ca-central-1.amazonaws.com", + }, + endpoints.EndpointKey{ + Region: "ca-central-1-fips", + }: endpoints.Endpoint{ + Hostname: "secretsmanager-fips.ca-central-1.amazonaws.com", + CredentialScope: endpoints.CredentialScope{ + Region: "ca-central-1", + }, + Deprecated: aws.TrueTernary, + }, endpoints.EndpointKey{ Region: "eu-central-1", }: endpoints.Endpoint{}, diff --git a/service/secretsmanager/serializers.go b/service/secretsmanager/serializers.go index 64f85e872a9..6760fe0b5c8 100644 --- a/service/secretsmanager/serializers.go +++ b/service/secretsmanager/serializers.go @@ -1317,6 +1317,16 @@ func awsAwsjson11_serializeDocumentRotationRulesType(v *types.RotationRulesType, ok.Long(v.AutomaticallyAfterDays) } + if v.Duration != nil { + ok := object.Key("Duration") + ok.String(*v.Duration) + } + + if v.ScheduleExpression != nil { + ok := object.Key("ScheduleExpression") + ok.String(*v.ScheduleExpression) + } + return nil } @@ -1743,6 +1753,11 @@ func awsAwsjson11_serializeOpDocumentRotateSecretInput(v *RotateSecretInput, val ok.String(*v.ClientRequestToken) } + if v.RotateImmediately { + ok := object.Key("RotateImmediately") + ok.Boolean(v.RotateImmediately) + } + if v.RotationLambdaARN != nil { ok := object.Key("RotationLambdaARN") ok.String(*v.RotationLambdaARN) diff --git a/service/secretsmanager/types/errors.go b/service/secretsmanager/types/errors.go index 59f0f6d9764..1cc2143fc8b 100644 --- a/service/secretsmanager/types/errors.go +++ b/service/secretsmanager/types/errors.go @@ -87,7 +87,7 @@ func (e *InvalidNextTokenException) ErrorMessage() string { func (e *InvalidNextTokenException) ErrorCode() string { return "InvalidNextTokenException" } func (e *InvalidNextTokenException) ErrorFault() smithy.ErrorFault { return smithy.FaultClient } -// The parameter name is invalid value. +// The parameter name or value is invalid. type InvalidParameterException struct { Message *string diff --git a/service/secretsmanager/types/types.go b/service/secretsmanager/types/types.go index 630f3832092..ccf1073a7ef 100644 --- a/service/secretsmanager/types/types.go +++ b/service/secretsmanager/types/types.go @@ -77,21 +77,48 @@ type ReplicationStatusType struct { // A structure that defines the rotation configuration for the secret. type RotationRulesType struct { - // Specifies the number of days between automatic scheduled rotations of the - // secret. Secrets Manager schedules the next rotation when the previous one is - // complete. Secrets Manager schedules the date by adding the rotation interval - // (number of days) to the actual date of the last rotation. The service chooses - // the hour within that 24-hour date window randomly. The minute is also chosen - // somewhat randomly, but weighted towards the top of the hour and influenced by a - // variety of factors that help distribute load. + // The number of days between automatic scheduled rotations of the secret. You can + // use this value to check that your secret meets your compliance guidelines for + // how often secrets must be rotated. In DescribeSecret and ListSecrets, this value + // is calculated from the rotation schedule after every successful rotation. In + // RotateSecret, you can set the rotation schedule in RotationRules with + // AutomaticallyAfterDays or ScheduleExpression, but not both. AutomaticallyAfterDays int64 + // The length of the rotation window in hours, for example 3h for a three hour + // window. Secrets Manager rotates your secret at any time during this window. The + // window must not go into the next UTC day. If you don't specify this value, the + // window automatically ends at the end of the UTC day. The window begins according + // to the ScheduleExpression. For more information, including examples, see + // Schedule expressions in Secrets Manager rotation + // (https://docs.aws.amazon.com/secretsmanager/latest/userguide/rotate-secrets_schedule.html). + Duration *string + + // A cron() or rate() expression that defines the schedule for rotating your + // secret. Secrets Manager rotation schedules use UTC time zone. Secrets Manager + // rate() expressions represent the interval in days that you want to rotate your + // secret, for example rate(10 days). If you use a rate() expression, the rotation + // window opens at midnight, and Secrets Manager rotates your secret any time that + // day after midnight. You can set a Duration to shorten the rotation window. You + // can use a cron() expression to create rotation schedules that are more detailed + // than a rotation interval. For more information, including examples, see Schedule + // expressions in Secrets Manager rotation + // (https://docs.aws.amazon.com/secretsmanager/latest/userguide/rotate-secrets_schedule.html). + // If you use a cron() expression, Secrets Manager rotates your secret any time + // during that day after the window opens. For example, cron(0 8 1 * ? *) + // represents a rotation window that occurs on the first day of every month + // beginning at 8:00 AM UTC. Secrets Manager rotates the secret any time that day + // after 8:00 AM. You can set a Duration to shorten the rotation window. + ScheduleExpression *string + noSmithyDocumentSerde } // A structure that contains the details about a secret. It does not include the -// encrypted SecretString and SecretBinary values. To get those values, use the -// GetSecretValue operation. +// encrypted SecretString and SecretBinary values. To get those values, use +// GetSecretValue +// (https://docs.aws.amazon.com/secretsmanager/latest/apireference/API_GetSecretValue.html) +// . type SecretListEntry struct { // The Amazon Resource Name (ARN) of the secret. @@ -103,7 +130,9 @@ type SecretListEntry struct { // The date and time the deletion of the secret occurred. Not present on active // secrets. The secret can be recovered until the number of days in the recovery // window has passed, as specified in the RecoveryWindowInDays parameter of the - // DeleteSecret operation. + // DeleteSecret + // (https://docs.aws.amazon.com/secretsmanager/latest/apireference/API_DeleteSecret.html) + // operation. DeletedDate *time.Time // The user-provided description of the secret. @@ -142,7 +171,8 @@ type SecretListEntry struct { // The ARN of an Amazon Web Services Lambda function invoked by Secrets Manager to // rotate and expire the secret either automatically per the schedule or manually - // by a call to RotateSecret. + // by a call to RotateSecret + // (https://docs.aws.amazon.com/secretsmanager/latest/apireference/API_RotateSecret.html). RotationLambdaARN *string // A structure that defines the rotation configuration for the secret. @@ -156,7 +186,10 @@ type SecretListEntry struct { SecretVersionsToStages map[string][]string // The list of user-defined tags associated with the secret. To add tags to a - // secret, use TagResource. To remove tags, use UntagResource. + // secret, use TagResource + // (https://docs.aws.amazon.com/secretsmanager/latest/apireference/API_TagResource.html). + // To remove tags, use UntagResource + // (https://docs.aws.amazon.com/secretsmanager/latest/apireference/API_UntagResource.html). Tags []Tag noSmithyDocumentSerde diff --git a/service/sns/api_op_Publish.go b/service/sns/api_op_Publish.go index ac4c9c5cfec..f77cb212831 100644 --- a/service/sns/api_op_Publish.go +++ b/service/sns/api_op_Publish.go @@ -16,7 +16,7 @@ import ( // TargetArn). If you send a message to a topic, Amazon SNS delivers the message to // each endpoint that is subscribed to the topic. The format of the message depends // on the notification protocol for each subscribed endpoint. When a messageId is -// returned, the message is saved and Amazon SNS immediately deliverers it to +// returned, the message is saved and Amazon SNS immediately delivers it to // subscribers. To use the Publish action for publishing a message to a mobile // endpoint, such as an app on a Kindle device or mobile phone, you must specify // the EndpointArn for the TargetArn parameter. The EndpointArn is returned when diff --git a/service/ssm/api_op_CreateDocument.go b/service/ssm/api_op_CreateDocument.go index d59029901fc..13b7a030ad2 100644 --- a/service/ssm/api_op_CreateDocument.go +++ b/service/ssm/api_op_CreateDocument.go @@ -79,7 +79,8 @@ type CreateDocumentInput struct { // YAML, or TEXT. JSON is the default format. DocumentFormat types.DocumentFormat - // The type of document to create. + // The type of document to create. The DeploymentStrategy document type is an + // internal-use-only document type reserved for AppConfig. DocumentType types.DocumentType // A list of SSM documents required by a document. This parameter is used diff --git a/service/ssm/api_op_GetParametersByPath.go b/service/ssm/api_op_GetParametersByPath.go index f2d4f19b5ad..cae99b7d9c3 100644 --- a/service/ssm/api_op_GetParametersByPath.go +++ b/service/ssm/api_op_GetParametersByPath.go @@ -38,10 +38,10 @@ func (c *Client) GetParametersByPath(ctx context.Context, params *GetParametersB type GetParametersByPathInput struct { // The hierarchy for the parameter. Hierarchies start with a forward slash (/). The - // hierachy is the parameter name except the last part of the parameter. For the - // API call to succeeed, the last part of the parameter name can't be in the path. - // A parameter name hierarchy can have a maximum of 15 levels. Here is an example - // of a hierarchy: /Finance/Prod/IAD/WinServ2016/license33 + // hierarchy is the parameter name except the last part of the parameter. For the + // API call to succeed, the last part of the parameter name can't be in the path. A + // parameter name hierarchy can have a maximum of 15 levels. Here is an example of + // a hierarchy: /Finance/Prod/IAD/WinServ2016/license33 // // This member is required. Path *string diff --git a/service/ssm/api_op_PutParameter.go b/service/ssm/api_op_PutParameter.go index 0f052b8f7ee..aa7890b76e6 100644 --- a/service/ssm/api_op_PutParameter.go +++ b/service/ssm/api_op_PutParameter.go @@ -89,12 +89,14 @@ type PutParameterInput struct { // // * aws:ec2:image // - // When you create a String parameter and - // specify aws:ec2:image, Amazon Web Services Systems Manager validates the - // parameter value is in the required format, such as ami-12345abcdeEXAMPLE, and - // that the specified AMI is available in your Amazon Web Services account. For - // more information, see Native parameter support for Amazon Machine Image (AMI) - // IDs + // * aws:ssm:integration + // + // When you create a + // String parameter and specify aws:ec2:image, Amazon Web Services Systems Manager + // validates the parameter value is in the required format, such as + // ami-12345abcdeEXAMPLE, and that the specified AMI is available in your Amazon + // Web Services account. For more information, see Native parameter support for + // Amazon Machine Image (AMI) IDs // (https://docs.aws.amazon.com/systems-manager/latest/userguide/parameter-store-ec2-aliases.html) // in the Amazon Web Services Systems Manager User Guide. DataType *string diff --git a/service/ssm/api_op_RegisterTaskWithMaintenanceWindow.go b/service/ssm/api_op_RegisterTaskWithMaintenanceWindow.go index 3adaaf39138..0013dcca87c 100644 --- a/service/ssm/api_op_RegisterTaskWithMaintenanceWindow.go +++ b/service/ssm/api_op_RegisterTaskWithMaintenanceWindow.go @@ -82,16 +82,24 @@ type RegisterTaskWithMaintenanceWindowInput struct { // window task types, see MaintenanceWindowTaskInvocationParameters. LoggingInfo *types.LoggingInfo - // The maximum number of targets this task can be run for in parallel. For - // maintenance window tasks without a target specified, you can't supply a value - // for this option. Instead, the system inserts a placeholder value of 1. This - // value doesn't affect the running of your task. + // The maximum number of targets this task can be run for, in parallel. Although + // this element is listed as "Required: No", a value can be omitted only when you + // are registering or updating a targetless task + // (https://docs.aws.amazon.com/systems-manager/latest/userguide/maintenance-windows-targetless-tasks.html) + // You must provide a value in all other cases. For maintenance window tasks + // without a target specified, you can't supply a value for this option. Instead, + // the system inserts a placeholder value of 1. This value doesn't affect the + // running of your task. MaxConcurrency *string - // The maximum number of errors allowed before this task stops being scheduled. For - // maintenance window tasks without a target specified, you can't supply a value - // for this option. Instead, the system inserts a placeholder value of 1. This - // value doesn't affect the running of your task. + // The maximum number of errors allowed before this task stops being scheduled. + // Although this element is listed as "Required: No", a value can be omitted only + // when you are registering or updating a targetless task + // (https://docs.aws.amazon.com/systems-manager/latest/userguide/maintenance-windows-targetless-tasks.html) + // You must provide a value in all other cases. For maintenance window tasks + // without a target specified, you can't supply a value for this option. Instead, + // the system inserts a placeholder value of 1. This value doesn't affect the + // running of your task. MaxErrors *string // An optional name for the task. diff --git a/service/ssm/api_op_TerminateSession.go b/service/ssm/api_op_TerminateSession.go index 0dee686daed..150e410a703 100644 --- a/service/ssm/api_op_TerminateSession.go +++ b/service/ssm/api_op_TerminateSession.go @@ -11,7 +11,7 @@ import ( ) // Permanently ends a session and closes the data connection between the Session -// Manager client and SSM Agent on the managed node. A terminated session isn't be +// Manager client and SSM Agent on the managed node. A terminated session can't be // resumed. func (c *Client) TerminateSession(ctx context.Context, params *TerminateSessionInput, optFns ...func(*Options)) (*TerminateSessionOutput, error) { if params == nil { diff --git a/service/ssm/api_op_UpdateAssociation.go b/service/ssm/api_op_UpdateAssociation.go index 5a848677b62..45b20eecbb0 100644 --- a/service/ssm/api_op_UpdateAssociation.go +++ b/service/ssm/api_op_UpdateAssociation.go @@ -13,7 +13,7 @@ import ( // Updates an association. You can update the association name and version, the // document version, schedule, parameters, and Amazon Simple Storage Service -// (Amazon S3) output. When you call UpdateAssociation, the system drops all +// (Amazon S3) output. When you call UpdateAssociation, the system removes all // optional parameters from the request and overwrites the association with null // values for those parameters. This is by design. You must specify all optional // parameters in the call, even if you are not changing the parameters. This diff --git a/service/ssm/api_op_UpdateMaintenanceWindow.go b/service/ssm/api_op_UpdateMaintenanceWindow.go index 46e2a19f6af..3138cdabd06 100644 --- a/service/ssm/api_op_UpdateMaintenanceWindow.go +++ b/service/ssm/api_op_UpdateMaintenanceWindow.go @@ -85,10 +85,9 @@ type UpdateMaintenanceWindowInput struct { // Time Zone Database (https://www.iana.org/time-zones) on the IANA website. ScheduleTimezone *string - // The time zone that the scheduled maintenance window executions are based on, in - // Internet Assigned Numbers Authority (IANA) format. For example: - // "America/Los_Angeles", "UTC", or "Asia/Seoul". For more information, see the - // Time Zone Database (https://www.iana.org/time-zones) on the IANA website. + // The date and time, in ISO-8601 Extended format, for when you want the + // maintenance window to become active. StartDate allows you to delay activation of + // the maintenance window until the specified future date. StartDate *string noSmithyDocumentSerde diff --git a/service/ssm/api_op_UpdateMaintenanceWindowTask.go b/service/ssm/api_op_UpdateMaintenanceWindowTask.go index 9b7130f60f3..6f4d01ef46d 100644 --- a/service/ssm/api_op_UpdateMaintenanceWindowTask.go +++ b/service/ssm/api_op_UpdateMaintenanceWindowTask.go @@ -109,19 +109,25 @@ type UpdateMaintenanceWindowTaskInput struct { LoggingInfo *types.LoggingInfo // The new MaxConcurrency value you want to specify. MaxConcurrency is the number - // of targets that are allowed to run this task in parallel. For maintenance window - // tasks without a target specified, you can't supply a value for this option. - // Instead, the system inserts a placeholder value of 1, which may be reported in - // the response to this command. This value doesn't affect the running of your task - // and can be ignored. + // of targets that are allowed to run this task, in parallel. Although this element + // is listed as "Required: No", a value can be omitted only when you are + // registering or updating a targetless task + // (https://docs.aws.amazon.com/systems-manager/latest/userguide/maintenance-windows-targetless-tasks.html) + // You must provide a value in all other cases. For maintenance window tasks + // without a target specified, you can't supply a value for this option. Instead, + // the system inserts a placeholder value of 1. This value doesn't affect the + // running of your task. MaxConcurrency *string // The new MaxErrors value to specify. MaxErrors is the maximum number of errors - // that are allowed before the task stops being scheduled. For maintenance window - // tasks without a target specified, you can't supply a value for this option. - // Instead, the system inserts a placeholder value of 1, which may be reported in - // the response to this command. This value doesn't affect the running of your task - // and can be ignored. + // that are allowed before the task stops being scheduled. Although this element is + // listed as "Required: No", a value can be omitted only when you are registering + // or updating a targetless task + // (https://docs.aws.amazon.com/systems-manager/latest/userguide/maintenance-windows-targetless-tasks.html) + // You must provide a value in all other cases. For maintenance window tasks + // without a target specified, you can't supply a value for this option. Instead, + // the system inserts a placeholder value of 1. This value doesn't affect the + // running of your task. MaxErrors *string // The new task name to specify. diff --git a/service/ssm/api_op_UpdateOpsMetadata.go b/service/ssm/api_op_UpdateOpsMetadata.go index 6afbaeb52bb..ac3614bd89b 100644 --- a/service/ssm/api_op_UpdateOpsMetadata.go +++ b/service/ssm/api_op_UpdateOpsMetadata.go @@ -30,7 +30,7 @@ func (c *Client) UpdateOpsMetadata(ctx context.Context, params *UpdateOpsMetadat type UpdateOpsMetadataInput struct { - // The Amazon Resoure Name (ARN) of the OpsMetadata Object to update. + // The Amazon Resource Name (ARN) of the OpsMetadata Object to update. // // This member is required. OpsMetadataArn *string diff --git a/service/ssm/deserializers.go b/service/ssm/deserializers.go index c0fe0cdc4a9..ba16c9a808a 100644 --- a/service/ssm/deserializers.go +++ b/service/ssm/deserializers.go @@ -14257,9 +14257,6 @@ func awsAwsjson11_deserializeOpErrorTerminateSession(response *smithyhttp.Respon } switch { - case strings.EqualFold("DoesNotExistException", errorCode): - return awsAwsjson11_deserializeErrorDoesNotExistException(response, errorBody) - case strings.EqualFold("InternalServerError", errorCode): return awsAwsjson11_deserializeErrorInternalServerError(response, errorBody) diff --git a/service/ssm/types/types.go b/service/ssm/types/types.go index 30e544b55af..559f87ebfe7 100644 --- a/service/ssm/types/types.go +++ b/service/ssm/types/types.go @@ -1791,17 +1791,15 @@ type DocumentIdentifier struct { // // * Command // -// * DeploymentStrategy -// // * Package // -// * -// Policy +// * Policy // // * Session // -// Owner Note that only one Owner can be specified in a request. -// For example: Key=Owner,Values=Self. +// Owner +// Note that only one Owner can be specified in a request. For example: +// Key=Owner,Values=Self. // // * Amazon // @@ -3134,10 +3132,24 @@ type MaintenanceWindowTask struct { // window task types, see MaintenanceWindowTaskInvocationParameters. LoggingInfo *LoggingInfo - // The maximum number of targets this task can be run for, in parallel. + // The maximum number of targets this task can be run for, in parallel. Although + // this element is listed as "Required: No", a value can be omitted only when you + // are registering or updating a targetless task + // (https://docs.aws.amazon.com/systems-manager/latest/userguide/maintenance-windows-targetless-tasks.html) + // You must provide a value in all other cases. For maintenance window tasks + // without a target specified, you can't supply a value for this option. Instead, + // the system inserts a placeholder value of 1. This value doesn't affect the + // running of your task. MaxConcurrency *string // The maximum number of errors allowed before this task stops being scheduled. + // Although this element is listed as "Required: No", a value can be omitted only + // when you are registering or updating a targetless task + // (https://docs.aws.amazon.com/systems-manager/latest/userguide/maintenance-windows-targetless-tasks.html) + // You must provide a value in all other cases. For maintenance window tasks + // without a target specified, you can't supply a value for this option. Instead, + // the system inserts a placeholder value of 1. This value doesn't affect the + // running of your task. MaxErrors *string // The task name. @@ -3756,10 +3768,12 @@ type Parameter struct { SourceResult *string // The type of parameter. Valid values include the following: String, StringList, - // and SecureString. + // and SecureString. If type is StringList, the system returns a comma-separated + // string with no spaces between commas in the Value field. Type ParameterType - // The parameter value. + // The parameter value. If type is StringList, the system returns a comma-separated + // string with no spaces between commas in the Value field. Value *string // The parameter version. @@ -3830,8 +3844,8 @@ type ParameterInlinePolicy struct { // The JSON text of the policy. PolicyText *string - // The type of policy. Parameter Store, a capablility of Amazon Web Services - // Systems Manager, supports the following policy types: Expiration, + // The type of policy. Parameter Store, a capability of Amazon Web Services Systems + // Manager, supports the following policy types: Expiration, // ExpirationNotification, and NoChangeNotification. PolicyType *string @@ -4067,7 +4081,7 @@ type PatchComplianceData struct { // This member is required. KBId *string - // The severity of the patchsuch as Critical, Important, and Moderate. + // The severity of the patch such as Critical, Important, and Moderate. // // This member is required. Severity *string diff --git a/service/ssmincidents/types/enums.go b/service/ssmincidents/types/enums.go index 843741ae913..bbe017f7e40 100644 --- a/service/ssmincidents/types/enums.go +++ b/service/ssmincidents/types/enums.go @@ -30,6 +30,7 @@ const ( ItemTypeParent ItemType = "PARENT" ItemTypeAttachment ItemType = "ATTACHMENT" ItemTypeOther ItemType = "OTHER" + ItemTypeAutomation ItemType = "AUTOMATION" ) // Values returns all known values for ItemType. Note that this can be expanded in @@ -43,6 +44,7 @@ func (ItemType) Values() []ItemType { "PARENT", "ATTACHMENT", "OTHER", + "AUTOMATION", } } diff --git a/service/synthetics/api_op_DescribeCanaries.go b/service/synthetics/api_op_DescribeCanaries.go index 5d59fb7c56c..932bcd02f0a 100644 --- a/service/synthetics/api_op_DescribeCanaries.go +++ b/service/synthetics/api_op_DescribeCanaries.go @@ -13,10 +13,15 @@ import ( ) // This operation returns a list of the canaries in your account, along with full -// details about each canary. This operation does not have resource-level -// authorization, so if a user is able to use DescribeCanaries, the user can see -// all of the canaries in the account. A deny policy can only be used to restrict -// access to all canaries. It cannot be used on specific resources. +// details about each canary. This operation supports resource-level authorization +// using an IAM policy and the Names parameter. If you specify the Names parameter, +// the operation is successful only if you have authorization to view all the +// canaries that you specify in your request. If you do not have permission to view +// any of the canaries, the request fails with a 403 response. You are required to +// use the Names parameter if you are logged on to a user or role that has an IAM +// policy that restricts which canaries that you are allowed to view. For more +// information, see Limiting a user to viewing specific canaries +// (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries_Restricted.html). func (c *Client) DescribeCanaries(ctx context.Context, params *DescribeCanariesInput, optFns ...func(*Options)) (*DescribeCanariesOutput, error) { if params == nil { params = &DescribeCanariesInput{} @@ -39,6 +44,17 @@ type DescribeCanariesInput struct { // is used. MaxResults *int32 + // Use this parameter to return only canaries that match the names that you specify + // here. You can specify as many as five canary names. If you specify this + // parameter, the operation is successful only if you have authorization to view + // all the canaries that you specify in your request. If you do not have permission + // to view any of the canaries, the request fails with a 403 response. You are + // required to use this parameter if you are logged on to a user or role that has + // an IAM policy that restricts which canaries that you are allowed to view. For + // more information, see Limiting a user to viewing specific canaries + // (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries_Restricted.html). + Names []string + // A token that indicates that there is more data available. You can use this token // in a subsequent operation to retrieve the next set of results. NextToken *string diff --git a/service/synthetics/api_op_DescribeCanariesLastRun.go b/service/synthetics/api_op_DescribeCanariesLastRun.go index e1ff7f918a0..97e5704f70c 100644 --- a/service/synthetics/api_op_DescribeCanariesLastRun.go +++ b/service/synthetics/api_op_DescribeCanariesLastRun.go @@ -13,7 +13,15 @@ import ( ) // Use this operation to see information from the most recent run of each canary -// that you have created. +// that you have created. This operation supports resource-level authorization +// using an IAM policy and the Names parameter. If you specify the Names parameter, +// the operation is successful only if you have authorization to view all the +// canaries that you specify in your request. If you do not have permission to view +// any of the canaries, the request fails with a 403 response. You are required to +// use the Names parameter if you are logged on to a user or role that has an IAM +// policy that restricts which canaries that you are allowed to view. For more +// information, see Limiting a user to viewing specific canaries +// (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries_Restricted.html). func (c *Client) DescribeCanariesLastRun(ctx context.Context, params *DescribeCanariesLastRunInput, optFns ...func(*Options)) (*DescribeCanariesLastRunOutput, error) { if params == nil { params = &DescribeCanariesLastRunInput{} @@ -36,6 +44,17 @@ type DescribeCanariesLastRunInput struct { // used. MaxResults *int32 + // Use this parameter to return only canaries that match the names that you specify + // here. You can specify as many as five canary names. If you specify this + // parameter, the operation is successful only if you have authorization to view + // all the canaries that you specify in your request. If you do not have permission + // to view any of the canaries, the request fails with a 403 response. You are + // required to use the Names parameter if you are logged on to a user or role that + // has an IAM policy that restricts which canaries that you are allowed to view. + // For more information, see Limiting a user to viewing specific canaries + // (https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Synthetics_Canaries_Restricted.html). + Names []string + // A token that indicates that there is more data available. You can use this token // in a subsequent DescribeCanaries operation to retrieve the next set of results. NextToken *string diff --git a/service/synthetics/deserializers.go b/service/synthetics/deserializers.go index 16e15fc049f..c7cc530a908 100644 --- a/service/synthetics/deserializers.go +++ b/service/synthetics/deserializers.go @@ -120,6 +120,9 @@ func awsRestjson1_deserializeOpErrorCreateCanary(response *smithyhttp.Response, case strings.EqualFold("InternalServerException", errorCode): return awsRestjson1_deserializeErrorInternalServerException(response, errorBody) + case strings.EqualFold("RequestEntityTooLargeException", errorCode): + return awsRestjson1_deserializeErrorRequestEntityTooLargeException(response, errorBody) + case strings.EqualFold("ValidationException", errorCode): return awsRestjson1_deserializeErrorValidationException(response, errorBody) @@ -1641,6 +1644,9 @@ func awsRestjson1_deserializeOpErrorUpdateCanary(response *smithyhttp.Response, case strings.EqualFold("InternalServerException", errorCode): return awsRestjson1_deserializeErrorInternalServerException(response, errorBody) + case strings.EqualFold("RequestEntityTooLargeException", errorCode): + return awsRestjson1_deserializeErrorRequestEntityTooLargeException(response, errorBody) + case strings.EqualFold("ResourceNotFoundException", errorCode): return awsRestjson1_deserializeErrorResourceNotFoundException(response, errorBody) @@ -1729,6 +1735,42 @@ func awsRestjson1_deserializeErrorInternalServerException(response *smithyhttp.R return output } +func awsRestjson1_deserializeErrorRequestEntityTooLargeException(response *smithyhttp.Response, errorBody *bytes.Reader) error { + output := &types.RequestEntityTooLargeException{} + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + + body := io.TeeReader(errorBody, ringBuffer) + decoder := json.NewDecoder(body) + decoder.UseNumber() + var shape interface{} + if err := decoder.Decode(&shape); err != nil && err != io.EOF { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return err + } + + err := awsRestjson1_deserializeDocumentRequestEntityTooLargeException(&output, shape) + + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return err + } + + errorBody.Seek(0, io.SeekStart) + + return output +} + func awsRestjson1_deserializeErrorResourceNotFoundException(response *smithyhttp.Response, errorBody *bytes.Reader) error { output := &types.ResourceNotFoundException{} var buff [1024]byte @@ -2845,6 +2887,46 @@ func awsRestjson1_deserializeDocumentInternalServerException(v **types.InternalS return nil } +func awsRestjson1_deserializeDocumentRequestEntityTooLargeException(v **types.RequestEntityTooLargeException, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.(map[string]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var sv *types.RequestEntityTooLargeException + if *v == nil { + sv = &types.RequestEntityTooLargeException{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "Message": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected ErrorMessage to be of type string, got %T instead", value) + } + sv.Message = ptr.String(jtv) + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + func awsRestjson1_deserializeDocumentResourceNotFoundException(v **types.ResourceNotFoundException, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) diff --git a/service/synthetics/internal/endpoints/endpoints.go b/service/synthetics/internal/endpoints/endpoints.go index e24131bd150..dbed0ce2f6c 100644 --- a/service/synthetics/internal/endpoints/endpoints.go +++ b/service/synthetics/internal/endpoints/endpoints.go @@ -134,6 +134,74 @@ var defaultPartitions = endpoints.Partitions{ }, RegionRegex: partitionRegexp.Aws, IsRegionalized: true, + Endpoints: endpoints.Endpoints{ + endpoints.EndpointKey{ + Region: "af-south-1", + }: endpoints.Endpoint{}, + endpoints.EndpointKey{ + Region: "ap-east-1", + }: endpoints.Endpoint{}, + endpoints.EndpointKey{ + Region: "ap-northeast-1", + }: endpoints.Endpoint{}, + endpoints.EndpointKey{ + Region: "ap-northeast-2", + }: endpoints.Endpoint{}, + endpoints.EndpointKey{ + Region: "ap-northeast-3", + }: endpoints.Endpoint{}, + endpoints.EndpointKey{ + Region: "ap-south-1", + }: endpoints.Endpoint{}, + endpoints.EndpointKey{ + Region: "ap-southeast-1", + }: endpoints.Endpoint{}, + endpoints.EndpointKey{ + Region: "ap-southeast-2", + }: endpoints.Endpoint{}, + endpoints.EndpointKey{ + Region: "ap-southeast-3", + }: endpoints.Endpoint{}, + endpoints.EndpointKey{ + Region: "ca-central-1", + }: endpoints.Endpoint{}, + endpoints.EndpointKey{ + Region: "eu-central-1", + }: endpoints.Endpoint{}, + endpoints.EndpointKey{ + Region: "eu-north-1", + }: endpoints.Endpoint{}, + endpoints.EndpointKey{ + Region: "eu-south-1", + }: endpoints.Endpoint{}, + endpoints.EndpointKey{ + Region: "eu-west-1", + }: endpoints.Endpoint{}, + endpoints.EndpointKey{ + Region: "eu-west-2", + }: endpoints.Endpoint{}, + endpoints.EndpointKey{ + Region: "eu-west-3", + }: endpoints.Endpoint{}, + endpoints.EndpointKey{ + Region: "me-south-1", + }: endpoints.Endpoint{}, + endpoints.EndpointKey{ + Region: "sa-east-1", + }: endpoints.Endpoint{}, + endpoints.EndpointKey{ + Region: "us-east-1", + }: endpoints.Endpoint{}, + endpoints.EndpointKey{ + Region: "us-east-2", + }: endpoints.Endpoint{}, + endpoints.EndpointKey{ + Region: "us-west-1", + }: endpoints.Endpoint{}, + endpoints.EndpointKey{ + Region: "us-west-2", + }: endpoints.Endpoint{}, + }, }, { ID: "aws-cn", @@ -169,6 +237,14 @@ var defaultPartitions = endpoints.Partitions{ }, RegionRegex: partitionRegexp.AwsCn, IsRegionalized: true, + Endpoints: endpoints.Endpoints{ + endpoints.EndpointKey{ + Region: "cn-north-1", + }: endpoints.Endpoint{}, + endpoints.EndpointKey{ + Region: "cn-northwest-1", + }: endpoints.Endpoint{}, + }, }, { ID: "aws-iso", @@ -190,6 +266,11 @@ var defaultPartitions = endpoints.Partitions{ }, RegionRegex: partitionRegexp.AwsIso, IsRegionalized: true, + Endpoints: endpoints.Endpoints{ + endpoints.EndpointKey{ + Region: "us-iso-east-1", + }: endpoints.Endpoint{}, + }, }, { ID: "aws-iso-b", @@ -211,6 +292,11 @@ var defaultPartitions = endpoints.Partitions{ }, RegionRegex: partitionRegexp.AwsIsoB, IsRegionalized: true, + Endpoints: endpoints.Endpoints{ + endpoints.EndpointKey{ + Region: "us-isob-east-1", + }: endpoints.Endpoint{}, + }, }, { ID: "aws-us-gov", @@ -246,5 +332,13 @@ var defaultPartitions = endpoints.Partitions{ }, RegionRegex: partitionRegexp.AwsUsGov, IsRegionalized: true, + Endpoints: endpoints.Endpoints{ + endpoints.EndpointKey{ + Region: "us-gov-east-1", + }: endpoints.Endpoint{}, + endpoints.EndpointKey{ + Region: "us-gov-west-1", + }: endpoints.Endpoint{}, + }, }, } diff --git a/service/synthetics/serializers.go b/service/synthetics/serializers.go index 7f9c9ac5c0b..fe2b0c9c572 100644 --- a/service/synthetics/serializers.go +++ b/service/synthetics/serializers.go @@ -272,6 +272,13 @@ func awsRestjson1_serializeOpDocumentDescribeCanariesInput(v *DescribeCanariesIn ok.Integer(*v.MaxResults) } + if v.Names != nil { + ok := object.Key("Names") + if err := awsRestjson1_serializeDocumentDescribeCanariesNameFilter(v.Names, ok); err != nil { + return err + } + } + if v.NextToken != nil { ok := object.Key("NextToken") ok.String(*v.NextToken) @@ -345,6 +352,13 @@ func awsRestjson1_serializeOpDocumentDescribeCanariesLastRunInput(v *DescribeCan ok.Integer(*v.MaxResults) } + if v.Names != nil { + ok := object.Key("Names") + if err := awsRestjson1_serializeDocumentDescribeCanariesLastRunNameFilter(v.Names, ok); err != nil { + return err + } + } + if v.NextToken != nil { ok := object.Key("NextToken") ok.String(*v.NextToken) @@ -1169,6 +1183,28 @@ func awsRestjson1_serializeDocumentCanaryScheduleInput(v *types.CanaryScheduleIn return nil } +func awsRestjson1_serializeDocumentDescribeCanariesLastRunNameFilter(v []string, value smithyjson.Value) error { + array := value.Array() + defer array.Close() + + for i := range v { + av := array.Value() + av.String(v[i]) + } + return nil +} + +func awsRestjson1_serializeDocumentDescribeCanariesNameFilter(v []string, value smithyjson.Value) error { + array := value.Array() + defer array.Close() + + for i := range v { + av := array.Value() + av.String(v[i]) + } + return nil +} + func awsRestjson1_serializeDocumentEnvironmentVariablesMap(v map[string]string, value smithyjson.Value) error { object := value.Object() defer object.Close() diff --git a/service/synthetics/types/errors.go b/service/synthetics/types/errors.go index c48013dfa51..73f7bc8ce6d 100644 --- a/service/synthetics/types/errors.go +++ b/service/synthetics/types/errors.go @@ -45,6 +45,25 @@ func (e *InternalServerException) ErrorMessage() string { func (e *InternalServerException) ErrorCode() string { return "InternalServerException" } func (e *InternalServerException) ErrorFault() smithy.ErrorFault { return smithy.FaultServer } +// One of the input resources is larger than is allowed. +type RequestEntityTooLargeException struct { + Message *string + + noSmithyDocumentSerde +} + +func (e *RequestEntityTooLargeException) Error() string { + return fmt.Sprintf("%s: %s", e.ErrorCode(), e.ErrorMessage()) +} +func (e *RequestEntityTooLargeException) ErrorMessage() string { + if e.Message == nil { + return "" + } + return *e.Message +} +func (e *RequestEntityTooLargeException) ErrorCode() string { return "RequestEntityTooLargeException" } +func (e *RequestEntityTooLargeException) ErrorFault() smithy.ErrorFault { return smithy.FaultClient } + // One of the specified resources was not found. type ResourceNotFoundException struct { Message *string diff --git a/service/synthetics/types/types.go b/service/synthetics/types/types.go index aeae3b5bc92..5a53f74f48b 100644 --- a/service/synthetics/types/types.go +++ b/service/synthetics/types/types.go @@ -153,7 +153,9 @@ type CanaryCodeInput struct { // If you input your canary script directly into the canary instead of referring to // an S3 location, the value of this parameter is the base64-encoded contents of - // the .zip file that contains the script. It must be smaller than 256 Kb. + // the .zip file that contains the script. It must be smaller than 225 Kb. For + // large canary scripts, we recommend that you use an S3 location instead of + // inputting it directly with this parameter. ZipFile []byte noSmithyDocumentSerde diff --git a/service/textract/types/enums.go b/service/textract/types/enums.go index 78646986ef9..3abd22b33d8 100644 --- a/service/textract/types/enums.go +++ b/service/textract/types/enums.go @@ -13,6 +13,8 @@ const ( BlockTypeTable BlockType = "TABLE" BlockTypeCell BlockType = "CELL" BlockTypeSelectionElement BlockType = "SELECTION_ELEMENT" + BlockTypeMergedCell BlockType = "MERGED_CELL" + BlockTypeTitle BlockType = "TITLE" ) // Values returns all known values for BlockType. Note that this can be expanded in @@ -27,6 +29,8 @@ func (BlockType) Values() []BlockType { "TABLE", "CELL", "SELECTION_ELEMENT", + "MERGED_CELL", + "TITLE", } } @@ -52,8 +56,9 @@ type EntityType string // Enum values for EntityType const ( - EntityTypeKey EntityType = "KEY" - EntityTypeValue EntityType = "VALUE" + EntityTypeKey EntityType = "KEY" + EntityTypeValue EntityType = "VALUE" + EntityTypeColumnHeader EntityType = "COLUMN_HEADER" ) // Values returns all known values for EntityType. Note that this can be expanded @@ -63,6 +68,7 @@ func (EntityType) Values() []EntityType { return []EntityType{ "KEY", "VALUE", + "COLUMN_HEADER", } } @@ -113,6 +119,8 @@ const ( RelationshipTypeValue RelationshipType = "VALUE" RelationshipTypeChild RelationshipType = "CHILD" RelationshipTypeComplexFeatures RelationshipType = "COMPLEX_FEATURES" + RelationshipTypeMergedCell RelationshipType = "MERGED_CELL" + RelationshipTypeTitle RelationshipType = "TITLE" ) // Values returns all known values for RelationshipType. Note that this can be @@ -123,6 +131,8 @@ func (RelationshipType) Values() []RelationshipType { "VALUE", "CHILD", "COMPLEX_FEATURES", + "MERGED_CELL", + "TITLE", } } diff --git a/service/transfer/api_op_CreateAccess.go b/service/transfer/api_op_CreateAccess.go index f86e0851900..b3e1ac1ad2b 100644 --- a/service/transfer/api_op_CreateAccess.go +++ b/service/transfer/api_op_CreateAccess.go @@ -82,13 +82,7 @@ type CreateAccessInput struct { // home directory ("chroot"). To do this, you can set Entry to / and set Target to // the HomeDirectory parameter value. The following is an Entry and Target pair // example for chroot. [ { "Entry:": "/", "Target": "/bucket_name/home/mydirectory" - // } ] If the target of a logical directory entry does not exist in Amazon S3 or - // EFS, the entry is ignored. As a workaround, you can use the Amazon S3 API or EFS - // API to create 0 byte objects as place holders for your directory. If using the - // CLI, use the s3api or efsapi call instead of s3 or efs so you can use the - // put-object operation. For example, you use the following: aws s3api put-object - // --bucket bucketname --key path/to/folder/. Make sure that the end of the key - // name ends in a / for it to be considered a folder. + // } ] HomeDirectoryMappings []types.HomeDirectoryMapEntry // The type of landing directory (folder) you want your users' home directory to be diff --git a/service/transfer/api_op_CreateServer.go b/service/transfer/api_op_CreateServer.go index 753518e20f5..99ce8f80800 100644 --- a/service/transfer/api_op_CreateServer.go +++ b/service/transfer/api_op_CreateServer.go @@ -132,6 +132,10 @@ type CreateServerInput struct { // viewed in your CloudWatch logs. LoggingRole *string + PostAuthenticationLoginBanner *string + + PreAuthenticationLoginBanner *string + // The protocol settings that are configured for your server. Use the PassiveIp // parameter to indicate passive mode (for FTP and FTPS protocols). Enter a single // dotted-quad IPv4 address, such as the external IP address of a firewall, router, diff --git a/service/transfer/api_op_CreateUser.go b/service/transfer/api_op_CreateUser.go index 6abdb6e0e0f..d1f2693b01b 100644 --- a/service/transfer/api_op_CreateUser.go +++ b/service/transfer/api_op_CreateUser.go @@ -77,13 +77,7 @@ type CreateUserInput struct { // home directory ("chroot"). To do this, you can set Entry to / and set Target to // the HomeDirectory parameter value. The following is an Entry and Target pair // example for chroot. [ { "Entry:": "/", "Target": "/bucket_name/home/mydirectory" - // } ] If the target of a logical directory entry does not exist in Amazon S3 or - // EFS, the entry is ignored. As a workaround, you can use the Amazon S3 API or EFS - // API to create 0 byte objects as place holders for your directory. If using the - // CLI, use the s3api or efsapi call instead of s3 or efs so you can use the - // put-object operation. For example, you use the following: aws s3api put-object - // --bucket bucketname --key path/to/folder/. Make sure that the end of the key - // name ends in a / for it to be considered a folder. + // } ] HomeDirectoryMappings []types.HomeDirectoryMapEntry // The type of landing directory (folder) you want your users' home directory to be diff --git a/service/transfer/api_op_TestIdentityProvider.go b/service/transfer/api_op_TestIdentityProvider.go index 74fd5d3257e..04cb0d21132 100644 --- a/service/transfer/api_op_TestIdentityProvider.go +++ b/service/transfer/api_op_TestIdentityProvider.go @@ -93,7 +93,9 @@ type TestIdentityProviderOutput struct { // This member is required. Url *string - // A message that indicates whether the test was successful or not. + // A message that indicates whether the test was successful or not. If an empty + // string is returned, the most likely cause is that the authentication failed due + // to an incorrect username or password. Message *string // The response that is returned from your API Gateway. diff --git a/service/transfer/api_op_UpdateAccess.go b/service/transfer/api_op_UpdateAccess.go index 5dce4c2ea54..5531846a916 100644 --- a/service/transfer/api_op_UpdateAccess.go +++ b/service/transfer/api_op_UpdateAccess.go @@ -68,13 +68,7 @@ type UpdateAccessInput struct { // home directory ("chroot"). To do this, you can set Entry to / and set Target to // the HomeDirectory parameter value. The following is an Entry and Target pair // example for chroot. [ { "Entry:": "/", "Target": "/bucket_name/home/mydirectory" - // } ] If the target of a logical directory entry does not exist in Amazon S3 or - // EFS, the entry is ignored. As a workaround, you can use the Amazon S3 API or EFS - // API to create 0 byte objects as place holders for your directory. If using the - // CLI, use the s3api or efsapi call instead of s3 or efs so you can use the - // put-object operation. For example, you use the following: aws s3api put-object - // --bucket bucketname --key path/to/folder/. Make sure that the end of the key - // name ends in a / for it to be considered a folder. + // } ] HomeDirectoryMappings []types.HomeDirectoryMapEntry // The type of landing directory (folder) you want your users' home directory to be diff --git a/service/transfer/api_op_UpdateServer.go b/service/transfer/api_op_UpdateServer.go index 761f558fc0e..99dd1be011f 100644 --- a/service/transfer/api_op_UpdateServer.go +++ b/service/transfer/api_op_UpdateServer.go @@ -113,6 +113,10 @@ type UpdateServerInput struct { // viewed in your CloudWatch logs. LoggingRole *string + PostAuthenticationLoginBanner *string + + PreAuthenticationLoginBanner *string + // The protocol settings that are configured for your server. Use the PassiveIp // parameter to indicate passive mode (for FTP and FTPS protocols). Enter a single // dotted-quad IPv4 address, such as the external IP address of a firewall, router, diff --git a/service/transfer/api_op_UpdateUser.go b/service/transfer/api_op_UpdateUser.go index fd1342da826..d28747ee3e9 100644 --- a/service/transfer/api_op_UpdateUser.go +++ b/service/transfer/api_op_UpdateUser.go @@ -64,13 +64,7 @@ type UpdateUserInput struct { // home directory ("chroot"). To do this, you can set Entry to '/' and set Target // to the HomeDirectory parameter value. The following is an Entry and Target pair // example for chroot. [ { "Entry:": "/", "Target": "/bucket_name/home/mydirectory" - // } ] If the target of a logical directory entry does not exist in Amazon S3 or - // EFS, the entry is ignored. As a workaround, you can use the Amazon S3 API or EFS - // API to create 0 byte objects as place holders for your directory. If using the - // CLI, use the s3api or efsapi call instead of s3 or efs so you can use the - // put-object operation. For example, you use the following: aws s3api put-object - // --bucket bucketname --key path/to/folder/. Make sure that the end of the key - // name ends in a / for it to be considered a folder. + // } ] HomeDirectoryMappings []types.HomeDirectoryMapEntry // The type of landing directory (folder) you want your users' home directory to be diff --git a/service/transfer/deserializers.go b/service/transfer/deserializers.go index a98da18bb58..bf1d92f66b1 100644 --- a/service/transfer/deserializers.go +++ b/service/transfer/deserializers.go @@ -4213,6 +4213,15 @@ func awsAwsjson11_deserializeDocumentCopyStepDetails(v **types.CopyStepDetails, sv.OverwriteExisting = types.OverwriteExisting(jtv) } + case "SourceFileLocation": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected SourceFileLocation to be of type string, got %T instead", value) + } + sv.SourceFileLocation = ptr.String(jtv) + } + default: _, _ = key, value @@ -4253,6 +4262,15 @@ func awsAwsjson11_deserializeDocumentCustomStepDetails(v **types.CustomStepDetai sv.Name = ptr.String(jtv) } + case "SourceFileLocation": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected SourceFileLocation to be of type string, got %T instead", value) + } + sv.SourceFileLocation = ptr.String(jtv) + } + case "Target": if value != nil { jtv, ok := value.(string) @@ -4315,6 +4333,15 @@ func awsAwsjson11_deserializeDocumentDeleteStepDetails(v **types.DeleteStepDetai sv.Name = ptr.String(jtv) } + case "SourceFileLocation": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected SourceFileLocation to be of type string, got %T instead", value) + } + sv.SourceFileLocation = ptr.String(jtv) + } + default: _, _ = key, value @@ -4657,6 +4684,24 @@ func awsAwsjson11_deserializeDocumentDescribedServer(v **types.DescribedServer, sv.LoggingRole = ptr.String(jtv) } + case "PostAuthenticationLoginBanner": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected PostAuthenticationLoginBanner to be of type string, got %T instead", value) + } + sv.PostAuthenticationLoginBanner = ptr.String(jtv) + } + + case "PreAuthenticationLoginBanner": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected PreAuthenticationLoginBanner to be of type string, got %T instead", value) + } + sv.PreAuthenticationLoginBanner = ptr.String(jtv) + } + case "ProtocolDetails": if err := awsAwsjson11_deserializeDocumentProtocolDetails(&sv.ProtocolDetails, value); err != nil { return err @@ -7115,6 +7160,15 @@ func awsAwsjson11_deserializeDocumentTagStepDetails(v **types.TagStepDetails, va sv.Name = ptr.String(jtv) } + case "SourceFileLocation": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected SourceFileLocation to be of type string, got %T instead", value) + } + sv.SourceFileLocation = ptr.String(jtv) + } + case "Tags": if err := awsAwsjson11_deserializeDocumentS3Tags(&sv.Tags, value); err != nil { return err diff --git a/service/transfer/internal/endpoints/endpoints.go b/service/transfer/internal/endpoints/endpoints.go index dc6f3f013ae..81af6212b2b 100644 --- a/service/transfer/internal/endpoints/endpoints.go +++ b/service/transfer/internal/endpoints/endpoints.go @@ -147,6 +147,9 @@ var defaultPartitions = endpoints.Partitions{ endpoints.EndpointKey{ Region: "ap-northeast-2", }: endpoints.Endpoint{}, + endpoints.EndpointKey{ + Region: "ap-northeast-3", + }: endpoints.Endpoint{}, endpoints.EndpointKey{ Region: "ap-south-1", }: endpoints.Endpoint{}, diff --git a/service/transfer/serializers.go b/service/transfer/serializers.go index 4c2e26d6e12..595e18ebee5 100644 --- a/service/transfer/serializers.go +++ b/service/transfer/serializers.go @@ -1806,6 +1806,11 @@ func awsAwsjson11_serializeDocumentCopyStepDetails(v *types.CopyStepDetails, val ok.String(string(v.OverwriteExisting)) } + if v.SourceFileLocation != nil { + ok := object.Key("SourceFileLocation") + ok.String(*v.SourceFileLocation) + } + return nil } @@ -1818,6 +1823,11 @@ func awsAwsjson11_serializeDocumentCustomStepDetails(v *types.CustomStepDetails, ok.String(*v.Name) } + if v.SourceFileLocation != nil { + ok := object.Key("SourceFileLocation") + ok.String(*v.SourceFileLocation) + } + if v.Target != nil { ok := object.Key("Target") ok.String(*v.Target) @@ -1840,6 +1850,11 @@ func awsAwsjson11_serializeDocumentDeleteStepDetails(v *types.DeleteStepDetails, ok.String(*v.Name) } + if v.SourceFileLocation != nil { + ok := object.Key("SourceFileLocation") + ok.String(*v.SourceFileLocation) + } + return nil } @@ -2171,6 +2186,11 @@ func awsAwsjson11_serializeDocumentTagStepDetails(v *types.TagStepDetails, value ok.String(*v.Name) } + if v.SourceFileLocation != nil { + ok := object.Key("SourceFileLocation") + ok.String(*v.SourceFileLocation) + } + if v.Tags != nil { ok := object.Key("Tags") if err := awsAwsjson11_serializeDocumentS3Tags(v.Tags, ok); err != nil { @@ -2364,6 +2384,16 @@ func awsAwsjson11_serializeOpDocumentCreateServerInput(v *CreateServerInput, val ok.String(*v.LoggingRole) } + if v.PostAuthenticationLoginBanner != nil { + ok := object.Key("PostAuthenticationLoginBanner") + ok.String(*v.PostAuthenticationLoginBanner) + } + + if v.PreAuthenticationLoginBanner != nil { + ok := object.Key("PreAuthenticationLoginBanner") + ok.String(*v.PreAuthenticationLoginBanner) + } + if v.ProtocolDetails != nil { ok := object.Key("ProtocolDetails") if err := awsAwsjson11_serializeDocumentProtocolDetails(v.ProtocolDetails, ok); err != nil { @@ -3034,6 +3064,16 @@ func awsAwsjson11_serializeOpDocumentUpdateServerInput(v *UpdateServerInput, val ok.String(*v.LoggingRole) } + if v.PostAuthenticationLoginBanner != nil { + ok := object.Key("PostAuthenticationLoginBanner") + ok.String(*v.PostAuthenticationLoginBanner) + } + + if v.PreAuthenticationLoginBanner != nil { + ok := object.Key("PreAuthenticationLoginBanner") + ok.String(*v.PreAuthenticationLoginBanner) + } + if v.ProtocolDetails != nil { ok := object.Key("ProtocolDetails") if err := awsAwsjson11_serializeDocumentProtocolDetails(v.ProtocolDetails, ok); err != nil { diff --git a/service/transfer/types/types.go b/service/transfer/types/types.go index 19f528db822..20a86ce70a7 100644 --- a/service/transfer/types/types.go +++ b/service/transfer/types/types.go @@ -10,8 +10,9 @@ import ( // Each step type has its own StepDetails structure. type CopyStepDetails struct { - // Specifies the location for the file being copied. Only applicable for the Copy - // type of workflow steps. + // Specifies the location for the file being copied. Only applicable for Copy type + // workflow steps. Use ${Transfer:username} in this field to parametrize the + // destination prefix by username. DestinationFileLocation *InputFileLocation // The name of the step, used as an identifier. @@ -21,6 +22,18 @@ type CopyStepDetails struct { // name. The default is FALSE. OverwriteExisting OverwriteExisting + // Specifies which file to use as input to the workflow step: either the output + // from the previous step, or the originally uploaded file for the workflow. + // + // * + // Enter ${previous.file} to use the previous file as the input. In this case, this + // workflow step uses the output file from the previous workflow step as input. + // This is the default value. + // + // * Enter ${original.file} to use the + // originally-uploaded file location as input for this step. + SourceFileLocation *string + noSmithyDocumentSerde } @@ -30,6 +43,18 @@ type CustomStepDetails struct { // The name of the step, used as an identifier. Name *string + // Specifies which file to use as input to the workflow step: either the output + // from the previous step, or the originally uploaded file for the workflow. + // + // * + // Enter ${previous.file} to use the previous file as the input. In this case, this + // workflow step uses the output file from the previous workflow step as input. + // This is the default value. + // + // * Enter ${original.file} to use the + // originally-uploaded file location as input for this step. + SourceFileLocation *string + // The ARN for the lambda function that is being called. Target *string @@ -45,6 +70,18 @@ type DeleteStepDetails struct { // The name of the step, used as an identifier. Name *string + // Specifies which file to use as input to the workflow step: either the output + // from the previous step, or the originally uploaded file for the workflow. + // + // * + // Enter ${previous.file} to use the previous file as the input. In this case, this + // workflow step uses the output file from the previous workflow step as input. + // This is the default value. + // + // * Enter ${original.file} to use the + // originally-uploaded file location as input for this step. + SourceFileLocation *string + noSmithyDocumentSerde } @@ -243,6 +280,10 @@ type DescribedServer struct { // viewed in your CloudWatch logs. LoggingRole *string + PostAuthenticationLoginBanner *string + + PreAuthenticationLoginBanner *string + // The protocol settings that are configured for your server. Use the PassiveIp // parameter to indicate passive mode. Enter a single dotted-quad IPv4 address, // such as the external IP address of a firewall, router, or load balancer. @@ -523,14 +564,7 @@ type FileLocation struct { // Represents an object that contains entries and targets for // HomeDirectoryMappings. The following is an Entry and Target pair example for -// chroot. [ { "Entry:": "/", "Target": "/bucket_name/home/mydirectory" } ] If the -// target of a logical directory entry does not exist in Amazon S3 or EFS, the -// entry is ignored. As a workaround, you can use the Amazon S3 API or EFS API to -// create 0 byte objects as place holders for your directory. If using the CLI, use -// the s3api or efsapi call instead of s3 or efs so you can use the put-object -// operation. For example, you use the following: aws s3api put-object --bucket -// bucketname --key path/to/folder/. Make sure that the end of the key name ends in -// a / for it to be considered a folder. +// chroot. [ { "Entry:": "/", "Target": "/bucket_name/home/mydirectory" } ] type HomeDirectoryMapEntry struct { // Represents an entry for HomeDirectoryMappings. @@ -967,6 +1001,18 @@ type TagStepDetails struct { // The name of the step, used as an identifier. Name *string + // Specifies which file to use as input to the workflow step: either the output + // from the previous step, or the originally uploaded file for the workflow. + // + // * + // Enter ${previous.file} to use the previous file as the input. In this case, this + // workflow step uses the output file from the previous workflow step as input. + // This is the default value. + // + // * Enter ${original.file} to use the + // originally-uploaded file location as input for this step. + SourceFileLocation *string + // Array that contains from 1 to 10 key/value pairs. Tags []S3Tag diff --git a/service/translate/deserializers.go b/service/translate/deserializers.go index 7a3976220b4..3ea33aeda1b 100644 --- a/service/translate/deserializers.go +++ b/service/translate/deserializers.go @@ -3936,6 +3936,15 @@ func awsAwsjson11_deserializeDocumentTranslationSettings(v **types.TranslationSe for key, value := range shape { switch key { + case "Formality": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected Formality to be of type string, got %T instead", value) + } + sv.Formality = types.Formality(jtv) + } + case "Profanity": if value != nil { jtv, ok := value.(string) diff --git a/service/translate/serializers.go b/service/translate/serializers.go index 87b8a4efd11..994c1a5cfb3 100644 --- a/service/translate/serializers.go +++ b/service/translate/serializers.go @@ -930,6 +930,11 @@ func awsAwsjson11_serializeDocumentTranslationSettings(v *types.TranslationSetti object := value.Object() defer object.Close() + if len(v.Formality) > 0 { + ok := object.Key("Formality") + ok.String(string(v.Formality)) + } + if len(v.Profanity) > 0 { ok := object.Key("Profanity") ok.String(string(v.Profanity)) diff --git a/service/translate/types/enums.go b/service/translate/types/enums.go index caa605d82c5..773733e32aa 100644 --- a/service/translate/types/enums.go +++ b/service/translate/types/enums.go @@ -36,6 +36,24 @@ func (EncryptionKeyType) Values() []EncryptionKeyType { } } +type Formality string + +// Enum values for Formality +const ( + FormalityFormal Formality = "FORMAL" + FormalityInformal Formality = "INFORMAL" +) + +// Values returns all known values for Formality. Note that this can be expanded in +// the future, and so it is only as up to date as the client. The ordering of this +// slice is not guaranteed to be stable across updates. +func (Formality) Values() []Formality { + return []Formality{ + "FORMAL", + "INFORMAL", + } +} + type JobStatus string // Enum values for JobStatus diff --git a/service/translate/types/types.go b/service/translate/types/types.go index 8c8a90ab7d1..efe074646a0 100644 --- a/service/translate/types/types.go +++ b/service/translate/types/types.go @@ -438,6 +438,7 @@ type TextTranslationJobProperties struct { // Settings that configure the translation output. type TranslationSettings struct { + Formality Formality // Enable the profanity setting if you want Amazon Translate to mask profane words // and phrases in your translation output. To mask profane words and phrases, diff --git a/service/wafv2/api_op_CreateIPSet.go b/service/wafv2/api_op_CreateIPSet.go index 86be51a9fc1..0935c74f7d2 100644 --- a/service/wafv2/api_op_CreateIPSet.go +++ b/service/wafv2/api_op_CreateIPSet.go @@ -32,20 +32,21 @@ func (c *Client) CreateIPSet(ctx context.Context, params *CreateIPSetInput, optF type CreateIPSetInput struct { - // Contains an array of strings that specify one or more IP addresses or blocks of - // IP addresses in Classless Inter-Domain Routing (CIDR) notation. WAF supports all - // IPv4 and IPv6 CIDR ranges except for /0. Examples: + // Contains an array of strings that specifies zero or more IP addresses or blocks + // of IP addresses in Classless Inter-Domain Routing (CIDR) notation. WAF supports + // all IPv4 and IPv6 CIDR ranges except for /0. Example address strings: // - // * To configure WAF to allow, - // block, or count requests that originated from the IP address 192.0.2.44, specify - // 192.0.2.44/32. + // * To + // configure WAF to allow, block, or count requests that originated from the IP + // address 192.0.2.44, specify 192.0.2.44/32. // - // * To configure WAF to allow, block, or count requests that - // originated from IP addresses from 192.0.2.0 to 192.0.2.255, specify - // 192.0.2.0/24. + // * To configure WAF to allow, block, + // or count requests that originated from IP addresses from 192.0.2.0 to + // 192.0.2.255, specify 192.0.2.0/24. // - // * To configure WAF to allow, block, or count requests that - // originated from the IP address 1111:0000:0000:0000:0000:0000:0000:0111, specify + // * To configure WAF to allow, block, or count + // requests that originated from the IP address + // 1111:0000:0000:0000:0000:0000:0000:0111, specify // 1111:0000:0000:0000:0000:0000:0000:0111/128. // // * To configure WAF to allow, @@ -56,7 +57,19 @@ type CreateIPSetInput struct { // // For more information about CIDR // notation, see the Wikipedia entry Classless Inter-Domain Routing - // (https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing). + // (https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing). Example JSON + // Addresses specifications: + // + // * Empty array: "Addresses": [] + // + // * Array with one + // address: "Addresses": ["192.0.2.44/32"] + // + // * Array with three addresses: + // "Addresses": ["192.0.2.44/32", "192.0.2.0/24", "192.0.0.0/16"] + // + // * INVALID + // specification: "Addresses": [""] INVALID // // This member is required. Addresses []string diff --git a/service/wafv2/api_op_GenerateMobileSdkReleaseUrl.go b/service/wafv2/api_op_GenerateMobileSdkReleaseUrl.go new file mode 100644 index 00000000000..2e39dd9f8ee --- /dev/null +++ b/service/wafv2/api_op_GenerateMobileSdkReleaseUrl.go @@ -0,0 +1,132 @@ +// Code generated by smithy-go-codegen DO NOT EDIT. + +package wafv2 + +import ( + "context" + awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" + "github.com/aws/aws-sdk-go-v2/aws/signer/v4" + "github.com/aws/aws-sdk-go-v2/service/wafv2/types" + "github.com/aws/smithy-go/middleware" + smithyhttp "github.com/aws/smithy-go/transport/http" +) + +// Generates a presigned download URL for the specified release of the mobile SDK. +// The mobile SDK is not generally available. Customers who have access to the +// mobile SDK can use it to establish and manage Security Token Service (STS) +// security tokens for use in HTTP(S) requests from a mobile device to WAF. For +// more information, see WAF client application integration +// (https://docs.aws.amazon.com/waf/latest/developerguide/waf-application-integration.html) +// in the WAF Developer Guide. +func (c *Client) GenerateMobileSdkReleaseUrl(ctx context.Context, params *GenerateMobileSdkReleaseUrlInput, optFns ...func(*Options)) (*GenerateMobileSdkReleaseUrlOutput, error) { + if params == nil { + params = &GenerateMobileSdkReleaseUrlInput{} + } + + result, metadata, err := c.invokeOperation(ctx, "GenerateMobileSdkReleaseUrl", params, optFns, c.addOperationGenerateMobileSdkReleaseUrlMiddlewares) + if err != nil { + return nil, err + } + + out := result.(*GenerateMobileSdkReleaseUrlOutput) + out.ResultMetadata = metadata + return out, nil +} + +type GenerateMobileSdkReleaseUrlInput struct { + + // The device platform. + // + // This member is required. + Platform types.Platform + + // The release version. For the latest available version, specify LATEST. + // + // This member is required. + ReleaseVersion *string + + noSmithyDocumentSerde +} + +type GenerateMobileSdkReleaseUrlOutput struct { + + // The presigned download URL for the specified SDK release. + Url *string + + // Metadata pertaining to the operation's result. + ResultMetadata middleware.Metadata + + noSmithyDocumentSerde +} + +func (c *Client) addOperationGenerateMobileSdkReleaseUrlMiddlewares(stack *middleware.Stack, options Options) (err error) { + err = stack.Serialize.Add(&awsAwsjson11_serializeOpGenerateMobileSdkReleaseUrl{}, middleware.After) + if err != nil { + return err + } + err = stack.Deserialize.Add(&awsAwsjson11_deserializeOpGenerateMobileSdkReleaseUrl{}, middleware.After) + if err != nil { + return err + } + if err = addSetLoggerMiddleware(stack, options); err != nil { + return err + } + if err = awsmiddleware.AddClientRequestIDMiddleware(stack); err != nil { + return err + } + if err = smithyhttp.AddComputeContentLengthMiddleware(stack); err != nil { + return err + } + if err = addResolveEndpointMiddleware(stack, options); err != nil { + return err + } + if err = v4.AddComputePayloadSHA256Middleware(stack); err != nil { + return err + } + if err = addRetryMiddlewares(stack, options); err != nil { + return err + } + if err = addHTTPSignerV4Middleware(stack, options); err != nil { + return err + } + if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil { + return err + } + if err = awsmiddleware.AddRecordResponseTiming(stack); err != nil { + return err + } + if err = addClientUserAgent(stack); err != nil { + return err + } + if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil { + return err + } + if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { + return err + } + if err = addOpGenerateMobileSdkReleaseUrlValidationMiddleware(stack); err != nil { + return err + } + if err = stack.Initialize.Add(newServiceMetadataMiddleware_opGenerateMobileSdkReleaseUrl(options.Region), middleware.Before); err != nil { + return err + } + if err = addRequestIDRetrieverMiddleware(stack); err != nil { + return err + } + if err = addResponseErrorMiddleware(stack); err != nil { + return err + } + if err = addRequestResponseLogging(stack, options); err != nil { + return err + } + return nil +} + +func newServiceMetadataMiddleware_opGenerateMobileSdkReleaseUrl(region string) *awsmiddleware.RegisterServiceMetadata { + return &awsmiddleware.RegisterServiceMetadata{ + Region: region, + ServiceID: ServiceID, + SigningName: "wafv2", + OperationName: "GenerateMobileSdkReleaseUrl", + } +} diff --git a/service/wafv2/api_op_GetMobileSdkRelease.go b/service/wafv2/api_op_GetMobileSdkRelease.go new file mode 100644 index 00000000000..21017cebacd --- /dev/null +++ b/service/wafv2/api_op_GetMobileSdkRelease.go @@ -0,0 +1,132 @@ +// Code generated by smithy-go-codegen DO NOT EDIT. + +package wafv2 + +import ( + "context" + awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" + "github.com/aws/aws-sdk-go-v2/aws/signer/v4" + "github.com/aws/aws-sdk-go-v2/service/wafv2/types" + "github.com/aws/smithy-go/middleware" + smithyhttp "github.com/aws/smithy-go/transport/http" +) + +// Retrieves information for the specified mobile SDK release, including release +// notes and tags. The mobile SDK is not generally available. Customers who have +// access to the mobile SDK can use it to establish and manage Security Token +// Service (STS) security tokens for use in HTTP(S) requests from a mobile device +// to WAF. For more information, see WAF client application integration +// (https://docs.aws.amazon.com/waf/latest/developerguide/waf-application-integration.html) +// in the WAF Developer Guide. +func (c *Client) GetMobileSdkRelease(ctx context.Context, params *GetMobileSdkReleaseInput, optFns ...func(*Options)) (*GetMobileSdkReleaseOutput, error) { + if params == nil { + params = &GetMobileSdkReleaseInput{} + } + + result, metadata, err := c.invokeOperation(ctx, "GetMobileSdkRelease", params, optFns, c.addOperationGetMobileSdkReleaseMiddlewares) + if err != nil { + return nil, err + } + + out := result.(*GetMobileSdkReleaseOutput) + out.ResultMetadata = metadata + return out, nil +} + +type GetMobileSdkReleaseInput struct { + + // The device platform. + // + // This member is required. + Platform types.Platform + + // The release version. For the latest available version, specify LATEST. + // + // This member is required. + ReleaseVersion *string + + noSmithyDocumentSerde +} + +type GetMobileSdkReleaseOutput struct { + + // Information for a specified SDK release, including release notes and tags. + MobileSdkRelease *types.MobileSdkRelease + + // Metadata pertaining to the operation's result. + ResultMetadata middleware.Metadata + + noSmithyDocumentSerde +} + +func (c *Client) addOperationGetMobileSdkReleaseMiddlewares(stack *middleware.Stack, options Options) (err error) { + err = stack.Serialize.Add(&awsAwsjson11_serializeOpGetMobileSdkRelease{}, middleware.After) + if err != nil { + return err + } + err = stack.Deserialize.Add(&awsAwsjson11_deserializeOpGetMobileSdkRelease{}, middleware.After) + if err != nil { + return err + } + if err = addSetLoggerMiddleware(stack, options); err != nil { + return err + } + if err = awsmiddleware.AddClientRequestIDMiddleware(stack); err != nil { + return err + } + if err = smithyhttp.AddComputeContentLengthMiddleware(stack); err != nil { + return err + } + if err = addResolveEndpointMiddleware(stack, options); err != nil { + return err + } + if err = v4.AddComputePayloadSHA256Middleware(stack); err != nil { + return err + } + if err = addRetryMiddlewares(stack, options); err != nil { + return err + } + if err = addHTTPSignerV4Middleware(stack, options); err != nil { + return err + } + if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil { + return err + } + if err = awsmiddleware.AddRecordResponseTiming(stack); err != nil { + return err + } + if err = addClientUserAgent(stack); err != nil { + return err + } + if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil { + return err + } + if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { + return err + } + if err = addOpGetMobileSdkReleaseValidationMiddleware(stack); err != nil { + return err + } + if err = stack.Initialize.Add(newServiceMetadataMiddleware_opGetMobileSdkRelease(options.Region), middleware.Before); err != nil { + return err + } + if err = addRequestIDRetrieverMiddleware(stack); err != nil { + return err + } + if err = addResponseErrorMiddleware(stack); err != nil { + return err + } + if err = addRequestResponseLogging(stack, options); err != nil { + return err + } + return nil +} + +func newServiceMetadataMiddleware_opGetMobileSdkRelease(region string) *awsmiddleware.RegisterServiceMetadata { + return &awsmiddleware.RegisterServiceMetadata{ + Region: region, + ServiceID: ServiceID, + SigningName: "wafv2", + OperationName: "GetMobileSdkRelease", + } +} diff --git a/service/wafv2/api_op_GetWebACL.go b/service/wafv2/api_op_GetWebACL.go index 04847378c0c..0f4c939a973 100644 --- a/service/wafv2/api_op_GetWebACL.go +++ b/service/wafv2/api_op_GetWebACL.go @@ -61,6 +61,16 @@ type GetWebACLInput struct { type GetWebACLOutput struct { + // The URL to use in SDK integrations with Amazon Web Services managed rule groups. + // For example, you can use the integration SDKs with the account takeover + // prevention managed rule group AWSManagedRulesATPRuleSet. This is only populated + // if you are using a rule group in your web ACL that integrates with your + // applications in this way. For more information, see WAF client application + // integration + // (https://docs.aws.amazon.com/waf/latest/developerguide/waf-application-integration.html) + // in the WAF Developer Guide. + ApplicationIntegrationURL *string + // A token used for optimistic locking. WAF returns a token to your get and list // requests, to mark the state of the entity at the time of the request. To make // changes to the entity associated with the token, you provide the token to diff --git a/service/wafv2/api_op_ListMobileSdkReleases.go b/service/wafv2/api_op_ListMobileSdkReleases.go new file mode 100644 index 00000000000..1e7ce5a83a5 --- /dev/null +++ b/service/wafv2/api_op_ListMobileSdkReleases.go @@ -0,0 +1,144 @@ +// Code generated by smithy-go-codegen DO NOT EDIT. + +package wafv2 + +import ( + "context" + awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware" + "github.com/aws/aws-sdk-go-v2/aws/signer/v4" + "github.com/aws/aws-sdk-go-v2/service/wafv2/types" + "github.com/aws/smithy-go/middleware" + smithyhttp "github.com/aws/smithy-go/transport/http" +) + +// Retrieves a list of the available releases for the mobile SDK and the specified +// device platform. The mobile SDK is not generally available. Customers who have +// access to the mobile SDK can use it to establish and manage Security Token +// Service (STS) security tokens for use in HTTP(S) requests from a mobile device +// to WAF. For more information, see WAF client application integration +// (https://docs.aws.amazon.com/waf/latest/developerguide/waf-application-integration.html) +// in the WAF Developer Guide. +func (c *Client) ListMobileSdkReleases(ctx context.Context, params *ListMobileSdkReleasesInput, optFns ...func(*Options)) (*ListMobileSdkReleasesOutput, error) { + if params == nil { + params = &ListMobileSdkReleasesInput{} + } + + result, metadata, err := c.invokeOperation(ctx, "ListMobileSdkReleases", params, optFns, c.addOperationListMobileSdkReleasesMiddlewares) + if err != nil { + return nil, err + } + + out := result.(*ListMobileSdkReleasesOutput) + out.ResultMetadata = metadata + return out, nil +} + +type ListMobileSdkReleasesInput struct { + + // The device platform to retrieve the list for. + // + // This member is required. + Platform types.Platform + + // The maximum number of objects that you want WAF to return for this request. If + // more objects are available, in the response, WAF provides a NextMarker value + // that you can use in a subsequent call to get the next batch of objects. + Limit *int32 + + // When you request a list of objects with a Limit setting, if the number of + // objects that are still available for retrieval exceeds the limit, WAF returns a + // NextMarker value in the response. To retrieve the next batch of objects, provide + // the marker from the prior call in your next request. + NextMarker *string + + noSmithyDocumentSerde +} + +type ListMobileSdkReleasesOutput struct { + + // When you request a list of objects with a Limit setting, if the number of + // objects that are still available for retrieval exceeds the limit, WAF returns a + // NextMarker value in the response. To retrieve the next batch of objects, provide + // the marker from the prior call in your next request. + NextMarker *string + + // High level information for the available SDK releases. + ReleaseSummaries []types.ReleaseSummary + + // Metadata pertaining to the operation's result. + ResultMetadata middleware.Metadata + + noSmithyDocumentSerde +} + +func (c *Client) addOperationListMobileSdkReleasesMiddlewares(stack *middleware.Stack, options Options) (err error) { + err = stack.Serialize.Add(&awsAwsjson11_serializeOpListMobileSdkReleases{}, middleware.After) + if err != nil { + return err + } + err = stack.Deserialize.Add(&awsAwsjson11_deserializeOpListMobileSdkReleases{}, middleware.After) + if err != nil { + return err + } + if err = addSetLoggerMiddleware(stack, options); err != nil { + return err + } + if err = awsmiddleware.AddClientRequestIDMiddleware(stack); err != nil { + return err + } + if err = smithyhttp.AddComputeContentLengthMiddleware(stack); err != nil { + return err + } + if err = addResolveEndpointMiddleware(stack, options); err != nil { + return err + } + if err = v4.AddComputePayloadSHA256Middleware(stack); err != nil { + return err + } + if err = addRetryMiddlewares(stack, options); err != nil { + return err + } + if err = addHTTPSignerV4Middleware(stack, options); err != nil { + return err + } + if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil { + return err + } + if err = awsmiddleware.AddRecordResponseTiming(stack); err != nil { + return err + } + if err = addClientUserAgent(stack); err != nil { + return err + } + if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil { + return err + } + if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil { + return err + } + if err = addOpListMobileSdkReleasesValidationMiddleware(stack); err != nil { + return err + } + if err = stack.Initialize.Add(newServiceMetadataMiddleware_opListMobileSdkReleases(options.Region), middleware.Before); err != nil { + return err + } + if err = addRequestIDRetrieverMiddleware(stack); err != nil { + return err + } + if err = addResponseErrorMiddleware(stack); err != nil { + return err + } + if err = addRequestResponseLogging(stack, options); err != nil { + return err + } + return nil +} + +func newServiceMetadataMiddleware_opListMobileSdkReleases(region string) *awsmiddleware.RegisterServiceMetadata { + return &awsmiddleware.RegisterServiceMetadata{ + Region: region, + ServiceID: ServiceID, + SigningName: "wafv2", + OperationName: "ListMobileSdkReleases", + } +} diff --git a/service/wafv2/api_op_PutLoggingConfiguration.go b/service/wafv2/api_op_PutLoggingConfiguration.go index 2f2b730c097..bc4230e861f 100644 --- a/service/wafv2/api_op_PutLoggingConfiguration.go +++ b/service/wafv2/api_op_PutLoggingConfiguration.go @@ -12,14 +12,15 @@ import ( ) // Enables the specified LoggingConfiguration, to start logging from a web ACL, -// according to the configuration provided. You can access information about all -// traffic that WAF inspects using the following steps: +// according to the configuration provided. You can define one logging destination +// per web ACL. You can access information about the traffic that WAF inspects +// using the following steps: // -// * Create your logging -// destination. You can use an Amazon CloudWatch Logs log group, an Amazon Simple -// Storage Service (Amazon S3) bucket, or an Amazon Kinesis Data Firehose. For -// information about configuring logging destinations and the permissions that are -// required for each, see Logging web ACL traffic information +// * Create your logging destination. You can use an +// Amazon CloudWatch Logs log group, an Amazon Simple Storage Service (Amazon S3) +// bucket, or an Amazon Kinesis Data Firehose. For information about configuring +// logging destinations and the permissions that are required for each, see Logging +// web ACL traffic information // (https://docs.aws.amazon.com/waf/latest/developerguide/logging.html) in the WAF // Developer Guide. // @@ -31,11 +32,14 @@ import ( // is required to write logs to the logging destination. For an Amazon CloudWatch // Logs log group, WAF creates a resource policy on the log group. For an Amazon S3 // bucket, WAF creates a bucket policy. For an Amazon Kinesis Data Firehose, WAF -// creates a service-linked role. This operation completely replaces the mutable -// specifications that you already have for the logging configuration with the ones -// that you provide to this call. To modify the logging configuration, retrieve it -// by calling GetLoggingConfiguration, update the settings as needed, and then -// provide the complete logging configuration specification to this call. +// creates a service-linked role. For additional information about web ACL logging, +// see Logging web ACL traffic information +// (https://docs.aws.amazon.com/waf/latest/developerguide/logging.html) in the WAF +// Developer Guide. This operation completely replaces the mutable specifications +// that you already have for the logging configuration with the ones that you +// provide to this call. To modify the logging configuration, retrieve it by +// calling GetLoggingConfiguration, update the settings as needed, and then provide +// the complete logging configuration specification to this call. func (c *Client) PutLoggingConfiguration(ctx context.Context, params *PutLoggingConfigurationInput, optFns ...func(*Options)) (*PutLoggingConfigurationOutput, error) { if params == nil { params = &PutLoggingConfigurationInput{} diff --git a/service/wafv2/api_op_UpdateIPSet.go b/service/wafv2/api_op_UpdateIPSet.go index 89ba6a42604..2086a10e663 100644 --- a/service/wafv2/api_op_UpdateIPSet.go +++ b/service/wafv2/api_op_UpdateIPSet.go @@ -33,20 +33,21 @@ func (c *Client) UpdateIPSet(ctx context.Context, params *UpdateIPSetInput, optF type UpdateIPSetInput struct { - // Contains an array of strings that specify one or more IP addresses or blocks of - // IP addresses in Classless Inter-Domain Routing (CIDR) notation. WAF supports all - // IPv4 and IPv6 CIDR ranges except for /0. Examples: + // Contains an array of strings that specifies zero or more IP addresses or blocks + // of IP addresses in Classless Inter-Domain Routing (CIDR) notation. WAF supports + // all IPv4 and IPv6 CIDR ranges except for /0. Example address strings: // - // * To configure WAF to allow, - // block, or count requests that originated from the IP address 192.0.2.44, specify - // 192.0.2.44/32. + // * To + // configure WAF to allow, block, or count requests that originated from the IP + // address 192.0.2.44, specify 192.0.2.44/32. // - // * To configure WAF to allow, block, or count requests that - // originated from IP addresses from 192.0.2.0 to 192.0.2.255, specify - // 192.0.2.0/24. + // * To configure WAF to allow, block, + // or count requests that originated from IP addresses from 192.0.2.0 to + // 192.0.2.255, specify 192.0.2.0/24. // - // * To configure WAF to allow, block, or count requests that - // originated from the IP address 1111:0000:0000:0000:0000:0000:0000:0111, specify + // * To configure WAF to allow, block, or count + // requests that originated from the IP address + // 1111:0000:0000:0000:0000:0000:0000:0111, specify // 1111:0000:0000:0000:0000:0000:0000:0111/128. // // * To configure WAF to allow, @@ -57,7 +58,19 @@ type UpdateIPSetInput struct { // // For more information about CIDR // notation, see the Wikipedia entry Classless Inter-Domain Routing - // (https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing). + // (https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing). Example JSON + // Addresses specifications: + // + // * Empty array: "Addresses": [] + // + // * Array with one + // address: "Addresses": ["192.0.2.44/32"] + // + // * Array with three addresses: + // "Addresses": ["192.0.2.44/32", "192.0.2.0/24", "192.0.0.0/16"] + // + // * INVALID + // specification: "Addresses": [""] INVALID // // This member is required. Addresses []string diff --git a/service/wafv2/deserializers.go b/service/wafv2/deserializers.go index 63a01f3a590..2e07aaf42f2 100644 --- a/service/wafv2/deserializers.go +++ b/service/wafv2/deserializers.go @@ -1961,6 +1961,126 @@ func awsAwsjson11_deserializeOpErrorDisassociateWebACL(response *smithyhttp.Resp } } +type awsAwsjson11_deserializeOpGenerateMobileSdkReleaseUrl struct { +} + +func (*awsAwsjson11_deserializeOpGenerateMobileSdkReleaseUrl) ID() string { + return "OperationDeserializer" +} + +func (m *awsAwsjson11_deserializeOpGenerateMobileSdkReleaseUrl) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( + out middleware.DeserializeOutput, metadata middleware.Metadata, err error, +) { + out, metadata, err = next.HandleDeserialize(ctx, in) + if err != nil { + return out, metadata, err + } + + response, ok := out.RawResponse.(*smithyhttp.Response) + if !ok { + return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} + } + + if response.StatusCode < 200 || response.StatusCode >= 300 { + return out, metadata, awsAwsjson11_deserializeOpErrorGenerateMobileSdkReleaseUrl(response, &metadata) + } + output := &GenerateMobileSdkReleaseUrlOutput{} + out.Result = output + + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + + body := io.TeeReader(response.Body, ringBuffer) + decoder := json.NewDecoder(body) + decoder.UseNumber() + var shape interface{} + if err := decoder.Decode(&shape); err != nil && err != io.EOF { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return out, metadata, err + } + + err = awsAwsjson11_deserializeOpDocumentGenerateMobileSdkReleaseUrlOutput(&output, shape) + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return out, metadata, err + } + + return out, metadata, err +} + +func awsAwsjson11_deserializeOpErrorGenerateMobileSdkReleaseUrl(response *smithyhttp.Response, metadata *middleware.Metadata) error { + var errorBuffer bytes.Buffer + if _, err := io.Copy(&errorBuffer, response.Body); err != nil { + return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} + } + errorBody := bytes.NewReader(errorBuffer.Bytes()) + + errorCode := "UnknownError" + errorMessage := errorCode + + code := response.Header.Get("X-Amzn-ErrorType") + if len(code) != 0 { + errorCode = restjson.SanitizeErrorCode(code) + } + + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + + body := io.TeeReader(errorBody, ringBuffer) + decoder := json.NewDecoder(body) + decoder.UseNumber() + code, message, err := restjson.GetErrorInfo(decoder) + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return err + } + + errorBody.Seek(0, io.SeekStart) + if len(code) != 0 { + errorCode = restjson.SanitizeErrorCode(code) + } + if len(message) != 0 { + errorMessage = message + } + + switch { + case strings.EqualFold("WAFInternalErrorException", errorCode): + return awsAwsjson11_deserializeErrorWAFInternalErrorException(response, errorBody) + + case strings.EqualFold("WAFInvalidOperationException", errorCode): + return awsAwsjson11_deserializeErrorWAFInvalidOperationException(response, errorBody) + + case strings.EqualFold("WAFInvalidParameterException", errorCode): + return awsAwsjson11_deserializeErrorWAFInvalidParameterException(response, errorBody) + + case strings.EqualFold("WAFNonexistentItemException", errorCode): + return awsAwsjson11_deserializeErrorWAFNonexistentItemException(response, errorBody) + + default: + genericError := &smithy.GenericAPIError{ + Code: errorCode, + Message: errorMessage, + } + return genericError + + } +} + type awsAwsjson11_deserializeOpGetIPSet struct { } @@ -2321,6 +2441,126 @@ func awsAwsjson11_deserializeOpErrorGetManagedRuleSet(response *smithyhttp.Respo } } +type awsAwsjson11_deserializeOpGetMobileSdkRelease struct { +} + +func (*awsAwsjson11_deserializeOpGetMobileSdkRelease) ID() string { + return "OperationDeserializer" +} + +func (m *awsAwsjson11_deserializeOpGetMobileSdkRelease) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( + out middleware.DeserializeOutput, metadata middleware.Metadata, err error, +) { + out, metadata, err = next.HandleDeserialize(ctx, in) + if err != nil { + return out, metadata, err + } + + response, ok := out.RawResponse.(*smithyhttp.Response) + if !ok { + return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} + } + + if response.StatusCode < 200 || response.StatusCode >= 300 { + return out, metadata, awsAwsjson11_deserializeOpErrorGetMobileSdkRelease(response, &metadata) + } + output := &GetMobileSdkReleaseOutput{} + out.Result = output + + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + + body := io.TeeReader(response.Body, ringBuffer) + decoder := json.NewDecoder(body) + decoder.UseNumber() + var shape interface{} + if err := decoder.Decode(&shape); err != nil && err != io.EOF { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return out, metadata, err + } + + err = awsAwsjson11_deserializeOpDocumentGetMobileSdkReleaseOutput(&output, shape) + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return out, metadata, err + } + + return out, metadata, err +} + +func awsAwsjson11_deserializeOpErrorGetMobileSdkRelease(response *smithyhttp.Response, metadata *middleware.Metadata) error { + var errorBuffer bytes.Buffer + if _, err := io.Copy(&errorBuffer, response.Body); err != nil { + return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} + } + errorBody := bytes.NewReader(errorBuffer.Bytes()) + + errorCode := "UnknownError" + errorMessage := errorCode + + code := response.Header.Get("X-Amzn-ErrorType") + if len(code) != 0 { + errorCode = restjson.SanitizeErrorCode(code) + } + + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + + body := io.TeeReader(errorBody, ringBuffer) + decoder := json.NewDecoder(body) + decoder.UseNumber() + code, message, err := restjson.GetErrorInfo(decoder) + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return err + } + + errorBody.Seek(0, io.SeekStart) + if len(code) != 0 { + errorCode = restjson.SanitizeErrorCode(code) + } + if len(message) != 0 { + errorMessage = message + } + + switch { + case strings.EqualFold("WAFInternalErrorException", errorCode): + return awsAwsjson11_deserializeErrorWAFInternalErrorException(response, errorBody) + + case strings.EqualFold("WAFInvalidOperationException", errorCode): + return awsAwsjson11_deserializeErrorWAFInvalidOperationException(response, errorBody) + + case strings.EqualFold("WAFInvalidParameterException", errorCode): + return awsAwsjson11_deserializeErrorWAFInvalidParameterException(response, errorBody) + + case strings.EqualFold("WAFNonexistentItemException", errorCode): + return awsAwsjson11_deserializeErrorWAFNonexistentItemException(response, errorBody) + + default: + genericError := &smithy.GenericAPIError{ + Code: errorCode, + Message: errorMessage, + } + return genericError + + } +} + type awsAwsjson11_deserializeOpGetPermissionPolicy struct { } @@ -3743,6 +3983,123 @@ func awsAwsjson11_deserializeOpErrorListManagedRuleSets(response *smithyhttp.Res } } +type awsAwsjson11_deserializeOpListMobileSdkReleases struct { +} + +func (*awsAwsjson11_deserializeOpListMobileSdkReleases) ID() string { + return "OperationDeserializer" +} + +func (m *awsAwsjson11_deserializeOpListMobileSdkReleases) HandleDeserialize(ctx context.Context, in middleware.DeserializeInput, next middleware.DeserializeHandler) ( + out middleware.DeserializeOutput, metadata middleware.Metadata, err error, +) { + out, metadata, err = next.HandleDeserialize(ctx, in) + if err != nil { + return out, metadata, err + } + + response, ok := out.RawResponse.(*smithyhttp.Response) + if !ok { + return out, metadata, &smithy.DeserializationError{Err: fmt.Errorf("unknown transport type %T", out.RawResponse)} + } + + if response.StatusCode < 200 || response.StatusCode >= 300 { + return out, metadata, awsAwsjson11_deserializeOpErrorListMobileSdkReleases(response, &metadata) + } + output := &ListMobileSdkReleasesOutput{} + out.Result = output + + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + + body := io.TeeReader(response.Body, ringBuffer) + decoder := json.NewDecoder(body) + decoder.UseNumber() + var shape interface{} + if err := decoder.Decode(&shape); err != nil && err != io.EOF { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return out, metadata, err + } + + err = awsAwsjson11_deserializeOpDocumentListMobileSdkReleasesOutput(&output, shape) + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return out, metadata, err + } + + return out, metadata, err +} + +func awsAwsjson11_deserializeOpErrorListMobileSdkReleases(response *smithyhttp.Response, metadata *middleware.Metadata) error { + var errorBuffer bytes.Buffer + if _, err := io.Copy(&errorBuffer, response.Body); err != nil { + return &smithy.DeserializationError{Err: fmt.Errorf("failed to copy error response body, %w", err)} + } + errorBody := bytes.NewReader(errorBuffer.Bytes()) + + errorCode := "UnknownError" + errorMessage := errorCode + + code := response.Header.Get("X-Amzn-ErrorType") + if len(code) != 0 { + errorCode = restjson.SanitizeErrorCode(code) + } + + var buff [1024]byte + ringBuffer := smithyio.NewRingBuffer(buff[:]) + + body := io.TeeReader(errorBody, ringBuffer) + decoder := json.NewDecoder(body) + decoder.UseNumber() + code, message, err := restjson.GetErrorInfo(decoder) + if err != nil { + var snapshot bytes.Buffer + io.Copy(&snapshot, ringBuffer) + err = &smithy.DeserializationError{ + Err: fmt.Errorf("failed to decode response body, %w", err), + Snapshot: snapshot.Bytes(), + } + return err + } + + errorBody.Seek(0, io.SeekStart) + if len(code) != 0 { + errorCode = restjson.SanitizeErrorCode(code) + } + if len(message) != 0 { + errorMessage = message + } + + switch { + case strings.EqualFold("WAFInternalErrorException", errorCode): + return awsAwsjson11_deserializeErrorWAFInternalErrorException(response, errorBody) + + case strings.EqualFold("WAFInvalidOperationException", errorCode): + return awsAwsjson11_deserializeErrorWAFInvalidOperationException(response, errorBody) + + case strings.EqualFold("WAFInvalidParameterException", errorCode): + return awsAwsjson11_deserializeErrorWAFInvalidParameterException(response, errorBody) + + default: + genericError := &smithy.GenericAPIError{ + Code: errorCode, + Message: errorMessage, + } + return genericError + + } +} + type awsAwsjson11_deserializeOpListRegexPatternSets struct { } @@ -8664,6 +9021,99 @@ func awsAwsjson11_deserializeDocumentLoggingFilter(v **types.LoggingFilter, valu return nil } +func awsAwsjson11_deserializeDocumentManagedRuleGroupConfig(v **types.ManagedRuleGroupConfig, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.(map[string]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var sv *types.ManagedRuleGroupConfig + if *v == nil { + sv = &types.ManagedRuleGroupConfig{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "LoginPath": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected LoginPathString to be of type string, got %T instead", value) + } + sv.LoginPath = ptr.String(jtv) + } + + case "PasswordField": + if err := awsAwsjson11_deserializeDocumentPasswordField(&sv.PasswordField, value); err != nil { + return err + } + + case "PayloadType": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected PayloadType to be of type string, got %T instead", value) + } + sv.PayloadType = types.PayloadType(jtv) + } + + case "UsernameField": + if err := awsAwsjson11_deserializeDocumentUsernameField(&sv.UsernameField, value); err != nil { + return err + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + +func awsAwsjson11_deserializeDocumentManagedRuleGroupConfigs(v *[]types.ManagedRuleGroupConfig, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.([]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var cv []types.ManagedRuleGroupConfig + if *v == nil { + cv = []types.ManagedRuleGroupConfig{} + } else { + cv = *v + } + + for _, value := range shape { + var col types.ManagedRuleGroupConfig + destAddr := &col + if err := awsAwsjson11_deserializeDocumentManagedRuleGroupConfig(&destAddr, value); err != nil { + return err + } + col = *destAddr + cv = append(cv, col) + + } + *v = cv + return nil +} + func awsAwsjson11_deserializeDocumentManagedRuleGroupStatement(v **types.ManagedRuleGroupStatement, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) @@ -8691,6 +9141,11 @@ func awsAwsjson11_deserializeDocumentManagedRuleGroupStatement(v **types.Managed return err } + case "ManagedRuleGroupConfigs": + if err := awsAwsjson11_deserializeDocumentManagedRuleGroupConfigs(&sv.ManagedRuleGroupConfigs, value); err != nil { + return err + } + case "Name": if value != nil { jtv, ok := value.(string) @@ -9268,6 +9723,76 @@ func awsAwsjson11_deserializeDocumentMethod(v **types.Method, value interface{}) return nil } +func awsAwsjson11_deserializeDocumentMobileSdkRelease(v **types.MobileSdkRelease, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.(map[string]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var sv *types.MobileSdkRelease + if *v == nil { + sv = &types.MobileSdkRelease{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "ReleaseNotes": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected ReleaseNotes to be of type string, got %T instead", value) + } + sv.ReleaseNotes = ptr.String(jtv) + } + + case "ReleaseVersion": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected VersionKeyString to be of type string, got %T instead", value) + } + sv.ReleaseVersion = ptr.String(jtv) + } + + case "Tags": + if err := awsAwsjson11_deserializeDocumentTagList(&sv.Tags, value); err != nil { + return err + } + + case "Timestamp": + if value != nil { + switch jtv := value.(type) { + case json.Number: + f64, err := jtv.Float64() + if err != nil { + return err + } + sv.Timestamp = ptr.Time(smithytime.ParseEpochSeconds(f64)) + + default: + return fmt.Errorf("expected Timestamp to be a JSON Number, got %T instead", value) + + } + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + func awsAwsjson11_deserializeDocumentNoneAction(v **types.NoneAction, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) @@ -9335,7 +9860,43 @@ func awsAwsjson11_deserializeDocumentNotStatement(v **types.NotStatement, value return nil } -func awsAwsjson11_deserializeDocumentOrStatement(v **types.OrStatement, value interface{}) error { +func awsAwsjson11_deserializeDocumentOrStatement(v **types.OrStatement, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.(map[string]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var sv *types.OrStatement + if *v == nil { + sv = &types.OrStatement{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "Statements": + if err := awsAwsjson11_deserializeDocumentStatements(&sv.Statements, value); err != nil { + return err + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + +func awsAwsjson11_deserializeDocumentOverrideAction(v **types.OverrideAction, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) } @@ -9348,17 +9909,22 @@ func awsAwsjson11_deserializeDocumentOrStatement(v **types.OrStatement, value in return fmt.Errorf("unexpected JSON type %v", value) } - var sv *types.OrStatement + var sv *types.OverrideAction if *v == nil { - sv = &types.OrStatement{} + sv = &types.OverrideAction{} } else { sv = *v } for key, value := range shape { switch key { - case "Statements": - if err := awsAwsjson11_deserializeDocumentStatements(&sv.Statements, value); err != nil { + case "Count": + if err := awsAwsjson11_deserializeDocumentCountAction(&sv.Count, value); err != nil { + return err + } + + case "None": + if err := awsAwsjson11_deserializeDocumentNoneAction(&sv.None, value); err != nil { return err } @@ -9371,7 +9937,7 @@ func awsAwsjson11_deserializeDocumentOrStatement(v **types.OrStatement, value in return nil } -func awsAwsjson11_deserializeDocumentOverrideAction(v **types.OverrideAction, value interface{}) error { +func awsAwsjson11_deserializeDocumentPasswordField(v **types.PasswordField, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) } @@ -9384,23 +9950,22 @@ func awsAwsjson11_deserializeDocumentOverrideAction(v **types.OverrideAction, va return fmt.Errorf("unexpected JSON type %v", value) } - var sv *types.OverrideAction + var sv *types.PasswordField if *v == nil { - sv = &types.OverrideAction{} + sv = &types.PasswordField{} } else { sv = *v } for key, value := range shape { switch key { - case "Count": - if err := awsAwsjson11_deserializeDocumentCountAction(&sv.Count, value); err != nil { - return err - } - - case "None": - if err := awsAwsjson11_deserializeDocumentNoneAction(&sv.None, value); err != nil { - return err + case "Identifier": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected FieldIdentifier to be of type string, got %T instead", value) + } + sv.Identifier = ptr.String(jtv) } default: @@ -9976,6 +10541,96 @@ func awsAwsjson11_deserializeDocumentRegularExpressionList(v *[]types.Regex, val return nil } +func awsAwsjson11_deserializeDocumentReleaseSummaries(v *[]types.ReleaseSummary, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.([]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var cv []types.ReleaseSummary + if *v == nil { + cv = []types.ReleaseSummary{} + } else { + cv = *v + } + + for _, value := range shape { + var col types.ReleaseSummary + destAddr := &col + if err := awsAwsjson11_deserializeDocumentReleaseSummary(&destAddr, value); err != nil { + return err + } + col = *destAddr + cv = append(cv, col) + + } + *v = cv + return nil +} + +func awsAwsjson11_deserializeDocumentReleaseSummary(v **types.ReleaseSummary, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.(map[string]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var sv *types.ReleaseSummary + if *v == nil { + sv = &types.ReleaseSummary{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "ReleaseVersion": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected VersionKeyString to be of type string, got %T instead", value) + } + sv.ReleaseVersion = ptr.String(jtv) + } + + case "Timestamp": + if value != nil { + switch jtv := value.(type) { + case json.Number: + f64, err := jtv.Float64() + if err != nil { + return err + } + sv.Timestamp = ptr.Time(smithytime.ParseEpochSeconds(f64)) + + default: + return fmt.Errorf("expected Timestamp to be a JSON Number, got %T instead", value) + + } + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + func awsAwsjson11_deserializeDocumentResourceArns(v *[]string, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) @@ -11306,6 +11961,46 @@ func awsAwsjson11_deserializeDocumentUriPath(v **types.UriPath, value interface{ return nil } +func awsAwsjson11_deserializeDocumentUsernameField(v **types.UsernameField, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.(map[string]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var sv *types.UsernameField + if *v == nil { + sv = &types.UsernameField{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "Identifier": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected FieldIdentifier to be of type string, got %T instead", value) + } + sv.Identifier = ptr.String(jtv) + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + func awsAwsjson11_deserializeDocumentVisibilityConfig(v **types.VisibilityConfig, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) @@ -12917,6 +13612,46 @@ func awsAwsjson11_deserializeOpDocumentDisassociateWebACLOutput(v **Disassociate return nil } +func awsAwsjson11_deserializeOpDocumentGenerateMobileSdkReleaseUrlOutput(v **GenerateMobileSdkReleaseUrlOutput, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.(map[string]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var sv *GenerateMobileSdkReleaseUrlOutput + if *v == nil { + sv = &GenerateMobileSdkReleaseUrlOutput{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "Url": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected DownloadUrl to be of type string, got %T instead", value) + } + sv.Url = ptr.String(jtv) + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + func awsAwsjson11_deserializeOpDocumentGetIPSetOutput(v **GetIPSetOutput, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) @@ -13043,6 +13778,42 @@ func awsAwsjson11_deserializeOpDocumentGetManagedRuleSetOutput(v **GetManagedRul return nil } +func awsAwsjson11_deserializeOpDocumentGetMobileSdkReleaseOutput(v **GetMobileSdkReleaseOutput, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.(map[string]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var sv *GetMobileSdkReleaseOutput + if *v == nil { + sv = &GetMobileSdkReleaseOutput{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "MobileSdkRelease": + if err := awsAwsjson11_deserializeDocumentMobileSdkRelease(&sv.MobileSdkRelease, value); err != nil { + return err + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + func awsAwsjson11_deserializeOpDocumentGetPermissionPolicyOutput(v **GetPermissionPolicyOutput, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) @@ -13326,6 +14097,15 @@ func awsAwsjson11_deserializeOpDocumentGetWebACLOutput(v **GetWebACLOutput, valu for key, value := range shape { switch key { + case "ApplicationIntegrationURL": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected OutputUrl to be of type string, got %T instead", value) + } + sv.ApplicationIntegrationURL = ptr.String(jtv) + } + case "LockToken": if value != nil { jtv, ok := value.(string) @@ -13574,6 +14354,51 @@ func awsAwsjson11_deserializeOpDocumentListManagedRuleSetsOutput(v **ListManaged return nil } +func awsAwsjson11_deserializeOpDocumentListMobileSdkReleasesOutput(v **ListMobileSdkReleasesOutput, value interface{}) error { + if v == nil { + return fmt.Errorf("unexpected nil of type %T", v) + } + if value == nil { + return nil + } + + shape, ok := value.(map[string]interface{}) + if !ok { + return fmt.Errorf("unexpected JSON type %v", value) + } + + var sv *ListMobileSdkReleasesOutput + if *v == nil { + sv = &ListMobileSdkReleasesOutput{} + } else { + sv = *v + } + + for key, value := range shape { + switch key { + case "NextMarker": + if value != nil { + jtv, ok := value.(string) + if !ok { + return fmt.Errorf("expected NextMarker to be of type string, got %T instead", value) + } + sv.NextMarker = ptr.String(jtv) + } + + case "ReleaseSummaries": + if err := awsAwsjson11_deserializeDocumentReleaseSummaries(&sv.ReleaseSummaries, value); err != nil { + return err + } + + default: + _, _ = key, value + + } + } + *v = sv + return nil +} + func awsAwsjson11_deserializeOpDocumentListRegexPatternSetsOutput(v **ListRegexPatternSetsOutput, value interface{}) error { if v == nil { return fmt.Errorf("unexpected nil of type %T", v) diff --git a/service/wafv2/generated.json b/service/wafv2/generated.json index d91da38a13a..ef74678f14a 100644 --- a/service/wafv2/generated.json +++ b/service/wafv2/generated.json @@ -23,9 +23,11 @@ "api_op_DeleteWebACL.go", "api_op_DescribeManagedRuleGroup.go", "api_op_DisassociateWebACL.go", + "api_op_GenerateMobileSdkReleaseUrl.go", "api_op_GetIPSet.go", "api_op_GetLoggingConfiguration.go", "api_op_GetManagedRuleSet.go", + "api_op_GetMobileSdkRelease.go", "api_op_GetPermissionPolicy.go", "api_op_GetRateBasedStatementManagedKeys.go", "api_op_GetRegexPatternSet.go", @@ -38,6 +40,7 @@ "api_op_ListIPSets.go", "api_op_ListLoggingConfigurations.go", "api_op_ListManagedRuleSets.go", + "api_op_ListMobileSdkReleases.go", "api_op_ListRegexPatternSets.go", "api_op_ListResourcesForWebACL.go", "api_op_ListRuleGroups.go", diff --git a/service/wafv2/serializers.go b/service/wafv2/serializers.go index 8863f1e60ef..df867777452 100644 --- a/service/wafv2/serializers.go +++ b/service/wafv2/serializers.go @@ -841,6 +841,61 @@ func (m *awsAwsjson11_serializeOpDisassociateWebACL) HandleSerialize(ctx context return next.HandleSerialize(ctx, in) } +type awsAwsjson11_serializeOpGenerateMobileSdkReleaseUrl struct { +} + +func (*awsAwsjson11_serializeOpGenerateMobileSdkReleaseUrl) ID() string { + return "OperationSerializer" +} + +func (m *awsAwsjson11_serializeOpGenerateMobileSdkReleaseUrl) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( + out middleware.SerializeOutput, metadata middleware.Metadata, err error, +) { + request, ok := in.Request.(*smithyhttp.Request) + if !ok { + return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} + } + + input, ok := in.Parameters.(*GenerateMobileSdkReleaseUrlInput) + _ = input + if !ok { + return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} + } + + operationPath := "/" + if len(request.Request.URL.Path) == 0 { + request.Request.URL.Path = operationPath + } else { + request.Request.URL.Path = path.Join(request.Request.URL.Path, operationPath) + if request.Request.URL.Path != "/" && operationPath[len(operationPath)-1] == '/' { + request.Request.URL.Path += "/" + } + } + request.Request.Method = "POST" + httpBindingEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header) + if err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + httpBindingEncoder.SetHeader("Content-Type").String("application/x-amz-json-1.1") + httpBindingEncoder.SetHeader("X-Amz-Target").String("AWSWAF_20190729.GenerateMobileSdkReleaseUrl") + + jsonEncoder := smithyjson.NewEncoder() + if err := awsAwsjson11_serializeOpDocumentGenerateMobileSdkReleaseUrlInput(input, jsonEncoder.Value); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + if request, err = request.SetStream(bytes.NewReader(jsonEncoder.Bytes())); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + if request.Request, err = httpBindingEncoder.Encode(request.Request); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + in.Request = request + + return next.HandleSerialize(ctx, in) +} + type awsAwsjson11_serializeOpGetIPSet struct { } @@ -1006,6 +1061,61 @@ func (m *awsAwsjson11_serializeOpGetManagedRuleSet) HandleSerialize(ctx context. return next.HandleSerialize(ctx, in) } +type awsAwsjson11_serializeOpGetMobileSdkRelease struct { +} + +func (*awsAwsjson11_serializeOpGetMobileSdkRelease) ID() string { + return "OperationSerializer" +} + +func (m *awsAwsjson11_serializeOpGetMobileSdkRelease) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( + out middleware.SerializeOutput, metadata middleware.Metadata, err error, +) { + request, ok := in.Request.(*smithyhttp.Request) + if !ok { + return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} + } + + input, ok := in.Parameters.(*GetMobileSdkReleaseInput) + _ = input + if !ok { + return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} + } + + operationPath := "/" + if len(request.Request.URL.Path) == 0 { + request.Request.URL.Path = operationPath + } else { + request.Request.URL.Path = path.Join(request.Request.URL.Path, operationPath) + if request.Request.URL.Path != "/" && operationPath[len(operationPath)-1] == '/' { + request.Request.URL.Path += "/" + } + } + request.Request.Method = "POST" + httpBindingEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header) + if err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + httpBindingEncoder.SetHeader("Content-Type").String("application/x-amz-json-1.1") + httpBindingEncoder.SetHeader("X-Amz-Target").String("AWSWAF_20190729.GetMobileSdkRelease") + + jsonEncoder := smithyjson.NewEncoder() + if err := awsAwsjson11_serializeOpDocumentGetMobileSdkReleaseInput(input, jsonEncoder.Value); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + if request, err = request.SetStream(bytes.NewReader(jsonEncoder.Bytes())); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + if request.Request, err = httpBindingEncoder.Encode(request.Request); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + in.Request = request + + return next.HandleSerialize(ctx, in) +} + type awsAwsjson11_serializeOpGetPermissionPolicy struct { } @@ -1666,6 +1776,61 @@ func (m *awsAwsjson11_serializeOpListManagedRuleSets) HandleSerialize(ctx contex return next.HandleSerialize(ctx, in) } +type awsAwsjson11_serializeOpListMobileSdkReleases struct { +} + +func (*awsAwsjson11_serializeOpListMobileSdkReleases) ID() string { + return "OperationSerializer" +} + +func (m *awsAwsjson11_serializeOpListMobileSdkReleases) HandleSerialize(ctx context.Context, in middleware.SerializeInput, next middleware.SerializeHandler) ( + out middleware.SerializeOutput, metadata middleware.Metadata, err error, +) { + request, ok := in.Request.(*smithyhttp.Request) + if !ok { + return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown transport type %T", in.Request)} + } + + input, ok := in.Parameters.(*ListMobileSdkReleasesInput) + _ = input + if !ok { + return out, metadata, &smithy.SerializationError{Err: fmt.Errorf("unknown input parameters type %T", in.Parameters)} + } + + operationPath := "/" + if len(request.Request.URL.Path) == 0 { + request.Request.URL.Path = operationPath + } else { + request.Request.URL.Path = path.Join(request.Request.URL.Path, operationPath) + if request.Request.URL.Path != "/" && operationPath[len(operationPath)-1] == '/' { + request.Request.URL.Path += "/" + } + } + request.Request.Method = "POST" + httpBindingEncoder, err := httpbinding.NewEncoder(request.URL.Path, request.URL.RawQuery, request.Header) + if err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + httpBindingEncoder.SetHeader("Content-Type").String("application/x-amz-json-1.1") + httpBindingEncoder.SetHeader("X-Amz-Target").String("AWSWAF_20190729.ListMobileSdkReleases") + + jsonEncoder := smithyjson.NewEncoder() + if err := awsAwsjson11_serializeOpDocumentListMobileSdkReleasesInput(input, jsonEncoder.Value); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + if request, err = request.SetStream(bytes.NewReader(jsonEncoder.Bytes())); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + + if request.Request, err = httpBindingEncoder.Encode(request.Request); err != nil { + return out, metadata, &smithy.SerializationError{Err: err} + } + in.Request = request + + return next.HandleSerialize(ctx, in) +} + type awsAwsjson11_serializeOpListRegexPatternSets struct { } @@ -3208,6 +3373,50 @@ func awsAwsjson11_serializeDocumentLoggingFilter(v *types.LoggingFilter, value s return nil } +func awsAwsjson11_serializeDocumentManagedRuleGroupConfig(v *types.ManagedRuleGroupConfig, value smithyjson.Value) error { + object := value.Object() + defer object.Close() + + if v.LoginPath != nil { + ok := object.Key("LoginPath") + ok.String(*v.LoginPath) + } + + if v.PasswordField != nil { + ok := object.Key("PasswordField") + if err := awsAwsjson11_serializeDocumentPasswordField(v.PasswordField, ok); err != nil { + return err + } + } + + if len(v.PayloadType) > 0 { + ok := object.Key("PayloadType") + ok.String(string(v.PayloadType)) + } + + if v.UsernameField != nil { + ok := object.Key("UsernameField") + if err := awsAwsjson11_serializeDocumentUsernameField(v.UsernameField, ok); err != nil { + return err + } + } + + return nil +} + +func awsAwsjson11_serializeDocumentManagedRuleGroupConfigs(v []types.ManagedRuleGroupConfig, value smithyjson.Value) error { + array := value.Array() + defer array.Close() + + for i := range v { + av := array.Value() + if err := awsAwsjson11_serializeDocumentManagedRuleGroupConfig(&v[i], av); err != nil { + return err + } + } + return nil +} + func awsAwsjson11_serializeDocumentManagedRuleGroupStatement(v *types.ManagedRuleGroupStatement, value smithyjson.Value) error { object := value.Object() defer object.Close() @@ -3219,6 +3428,13 @@ func awsAwsjson11_serializeDocumentManagedRuleGroupStatement(v *types.ManagedRul } } + if v.ManagedRuleGroupConfigs != nil { + ok := object.Key("ManagedRuleGroupConfigs") + if err := awsAwsjson11_serializeDocumentManagedRuleGroupConfigs(v.ManagedRuleGroupConfigs, ok); err != nil { + return err + } + } + if v.Name != nil { ok := object.Key("Name") ok.String(*v.Name) @@ -3307,6 +3523,18 @@ func awsAwsjson11_serializeDocumentOverrideAction(v *types.OverrideAction, value return nil } +func awsAwsjson11_serializeDocumentPasswordField(v *types.PasswordField, value smithyjson.Value) error { + object := value.Object() + defer object.Close() + + if v.Identifier != nil { + ok := object.Key("Identifier") + ok.String(*v.Identifier) + } + + return nil +} + func awsAwsjson11_serializeDocumentQueryString(v *types.QueryString, value smithyjson.Value) error { object := value.Object() defer object.Close() @@ -3857,6 +4085,18 @@ func awsAwsjson11_serializeDocumentUriPath(v *types.UriPath, value smithyjson.Va return nil } +func awsAwsjson11_serializeDocumentUsernameField(v *types.UsernameField, value smithyjson.Value) error { + object := value.Object() + defer object.Close() + + if v.Identifier != nil { + ok := object.Key("Identifier") + ok.String(*v.Identifier) + } + + return nil +} + func awsAwsjson11_serializeDocumentVersionsToPublish(v map[string]types.VersionToPublish, value smithyjson.Value) error { object := value.Object() defer object.Close() @@ -4351,6 +4591,23 @@ func awsAwsjson11_serializeOpDocumentDisassociateWebACLInput(v *DisassociateWebA return nil } +func awsAwsjson11_serializeOpDocumentGenerateMobileSdkReleaseUrlInput(v *GenerateMobileSdkReleaseUrlInput, value smithyjson.Value) error { + object := value.Object() + defer object.Close() + + if len(v.Platform) > 0 { + ok := object.Key("Platform") + ok.String(string(v.Platform)) + } + + if v.ReleaseVersion != nil { + ok := object.Key("ReleaseVersion") + ok.String(*v.ReleaseVersion) + } + + return nil +} + func awsAwsjson11_serializeOpDocumentGetIPSetInput(v *GetIPSetInput, value smithyjson.Value) error { object := value.Object() defer object.Close() @@ -4407,6 +4664,23 @@ func awsAwsjson11_serializeOpDocumentGetManagedRuleSetInput(v *GetManagedRuleSet return nil } +func awsAwsjson11_serializeOpDocumentGetMobileSdkReleaseInput(v *GetMobileSdkReleaseInput, value smithyjson.Value) error { + object := value.Object() + defer object.Close() + + if len(v.Platform) > 0 { + ok := object.Key("Platform") + ok.String(string(v.Platform)) + } + + if v.ReleaseVersion != nil { + ok := object.Key("ReleaseVersion") + ok.String(*v.ReleaseVersion) + } + + return nil +} + func awsAwsjson11_serializeOpDocumentGetPermissionPolicyInput(v *GetPermissionPolicyInput, value smithyjson.Value) error { object := value.Object() defer object.Close() @@ -4688,6 +4962,28 @@ func awsAwsjson11_serializeOpDocumentListManagedRuleSetsInput(v *ListManagedRule return nil } +func awsAwsjson11_serializeOpDocumentListMobileSdkReleasesInput(v *ListMobileSdkReleasesInput, value smithyjson.Value) error { + object := value.Object() + defer object.Close() + + if v.Limit != nil { + ok := object.Key("Limit") + ok.Integer(*v.Limit) + } + + if v.NextMarker != nil { + ok := object.Key("NextMarker") + ok.String(*v.NextMarker) + } + + if len(v.Platform) > 0 { + ok := object.Key("Platform") + ok.String(string(v.Platform)) + } + + return nil +} + func awsAwsjson11_serializeOpDocumentListRegexPatternSetsInput(v *ListRegexPatternSetsInput, value smithyjson.Value) error { object := value.Object() defer object.Close() diff --git a/service/wafv2/types/enums.go b/service/wafv2/types/enums.go index 7fd30cf4565..095a143f0f2 100644 --- a/service/wafv2/types/enums.go +++ b/service/wafv2/types/enums.go @@ -793,6 +793,8 @@ const ( ParameterExceptionFieldChangePropagationStatus ParameterExceptionField = "CHANGE_PROPAGATION_STATUS" ParameterExceptionFieldAssociableResource ParameterExceptionField = "ASSOCIABLE_RESOURCE" ParameterExceptionFieldLogDestination ParameterExceptionField = "LOG_DESTINATION" + ParameterExceptionFieldManagedRuleGroupConfig ParameterExceptionField = "MANAGED_RULE_GROUP_CONFIG" + ParameterExceptionFieldPayloadType ParameterExceptionField = "PAYLOAD_TYPE" ) // Values returns all known values for ParameterExceptionField. Note that this can @@ -857,6 +859,44 @@ func (ParameterExceptionField) Values() []ParameterExceptionField { "CHANGE_PROPAGATION_STATUS", "ASSOCIABLE_RESOURCE", "LOG_DESTINATION", + "MANAGED_RULE_GROUP_CONFIG", + "PAYLOAD_TYPE", + } +} + +type PayloadType string + +// Enum values for PayloadType +const ( + PayloadTypeJson PayloadType = "JSON" + PayloadTypeFormEncoded PayloadType = "FORM_ENCODED" +) + +// Values returns all known values for PayloadType. Note that this can be expanded +// in the future, and so it is only as up to date as the client. The ordering of +// this slice is not guaranteed to be stable across updates. +func (PayloadType) Values() []PayloadType { + return []PayloadType{ + "JSON", + "FORM_ENCODED", + } +} + +type Platform string + +// Enum values for Platform +const ( + PlatformIos Platform = "IOS" + PlatformAndroid Platform = "ANDROID" +) + +// Values returns all known values for Platform. Note that this can be expanded in +// the future, and so it is only as up to date as the client. The ordering of this +// slice is not guaranteed to be stable across updates. +func (Platform) Values() []Platform { + return []Platform{ + "IOS", + "ANDROID", } } diff --git a/service/wafv2/types/types.go b/service/wafv2/types/types.go index 471bef2d9ab..2353ffd2e3e 100644 --- a/service/wafv2/types/types.go +++ b/service/wafv2/types/types.go @@ -662,7 +662,7 @@ type ImmunityTimeProperty struct { noSmithyDocumentSerde } -// Contains one or more IP addresses or blocks of IP addresses specified in +// Contains zero or more IP addresses or blocks of IP addresses specified in // Classless Inter-Domain Routing (CIDR) notation. WAF supports all IPv4 and IPv6 // CIDR ranges except for /0. For information about CIDR notation, see the // Wikipedia entry Classless Inter-Domain Routing @@ -676,20 +676,21 @@ type IPSet struct { // This member is required. ARN *string - // Contains an array of strings that specify one or more IP addresses or blocks of - // IP addresses in Classless Inter-Domain Routing (CIDR) notation. WAF supports all - // IPv4 and IPv6 CIDR ranges except for /0. Examples: + // Contains an array of strings that specifies zero or more IP addresses or blocks + // of IP addresses in Classless Inter-Domain Routing (CIDR) notation. WAF supports + // all IPv4 and IPv6 CIDR ranges except for /0. Example address strings: // - // * To configure WAF to allow, - // block, or count requests that originated from the IP address 192.0.2.44, specify - // 192.0.2.44/32. + // * To + // configure WAF to allow, block, or count requests that originated from the IP + // address 192.0.2.44, specify 192.0.2.44/32. // - // * To configure WAF to allow, block, or count requests that - // originated from IP addresses from 192.0.2.0 to 192.0.2.255, specify - // 192.0.2.0/24. + // * To configure WAF to allow, block, + // or count requests that originated from IP addresses from 192.0.2.0 to + // 192.0.2.255, specify 192.0.2.0/24. // - // * To configure WAF to allow, block, or count requests that - // originated from the IP address 1111:0000:0000:0000:0000:0000:0000:0111, specify + // * To configure WAF to allow, block, or count + // requests that originated from the IP address + // 1111:0000:0000:0000:0000:0000:0000:0111, specify // 1111:0000:0000:0000:0000:0000:0000:0111/128. // // * To configure WAF to allow, @@ -700,7 +701,19 @@ type IPSet struct { // // For more information about CIDR // notation, see the Wikipedia entry Classless Inter-Domain Routing - // (https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing). + // (https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing). Example JSON + // Addresses specifications: + // + // * Empty array: "Addresses": [] + // + // * Array with one + // address: "Addresses": ["192.0.2.44/32"] + // + // * Array with three addresses: + // "Addresses": ["192.0.2.44/32", "192.0.2.0/24", "192.0.0.0/16"] + // + // * INVALID + // specification: "Addresses": [""] INVALID // // This member is required. Addresses []string @@ -998,14 +1011,34 @@ type LabelSummary struct { // Defines an association between logging destinations and a web ACL resource, for // logging from WAF. As part of the association, you can specify parts of the // standard logging fields to keep out of the logs and you can specify filters so -// that you log only a subset of the logging records. For information about -// configuring web ACL logging destinations, see Logging web ACL traffic -// information (https://docs.aws.amazon.com/waf/latest/developerguide/logging.html) -// in the WAF Developer Guide. +// that you log only a subset of the logging records. You can define one logging +// destination per web ACL. You can access information about the traffic that WAF +// inspects using the following steps: +// +// * Create your logging destination. You can +// use an Amazon CloudWatch Logs log group, an Amazon Simple Storage Service +// (Amazon S3) bucket, or an Amazon Kinesis Data Firehose. For information about +// configuring logging destinations and the permissions that are required for each, +// see Logging web ACL traffic information +// (https://docs.aws.amazon.com/waf/latest/developerguide/logging.html) in the WAF +// Developer Guide. +// +// * Associate your logging destination to your web ACL using a +// PutLoggingConfiguration request. +// +// When you successfully enable logging using a +// PutLoggingConfiguration request, WAF creates an additional role or policy that +// is required to write logs to the logging destination. For an Amazon CloudWatch +// Logs log group, WAF creates a resource policy on the log group. For an Amazon S3 +// bucket, WAF creates a bucket policy. For an Amazon Kinesis Data Firehose, WAF +// creates a service-linked role. For additional information about web ACL logging, +// see Logging web ACL traffic information +// (https://docs.aws.amazon.com/waf/latest/developerguide/logging.html) in the WAF +// Developer Guide. type LoggingConfiguration struct { - // The Amazon Resource Names (ARNs) of the logging destinations that you want to - // associate with the web ACL. + // The logging destination configuration that you want to associate with the web + // ACL. You can associate one logging destination to a web ACL. // // This member is required. LogDestinationConfigs []string @@ -1055,6 +1088,28 @@ type LoggingFilter struct { noSmithyDocumentSerde } +// Additional information that's used by a managed rule group. Most managed rule +// groups don't require this. Use this for the account takeover prevention managed +// rule group AWSManagedRulesATPRuleSet, to provide information about the sign-in +// page of your application. +type ManagedRuleGroupConfig struct { + + // The path of the login endpoint for your application. For example, for the URL + // https://example.com/web/login, you would provide the path /web/login. + LoginPath *string + + // Details about your login page password field. + PasswordField *PasswordField + + // The payload type for your login endpoint, either JSON or form encoded. + PayloadType PayloadType + + // Details about your login page username field. + UsernameField *UsernameField + + noSmithyDocumentSerde +} + // A rule statement used to run the rules that are defined in a managed rule group. // To use this, provide the vendor name and the name of the rule group in this // statement. You can retrieve the required names by calling @@ -1081,6 +1136,12 @@ type ManagedRuleGroupStatement struct { // without modifying how they handle your web traffic. ExcludedRules []ExcludedRule + // Additional information that's used by a managed rule group. Most managed rule + // groups don't require this. Use this for the account takeover prevention managed + // rule group AWSManagedRulesATPRuleSet, to provide information about the sign-in + // page of your application. + ManagedRuleGroupConfigs []ManagedRuleGroupConfig + // An optional nested statement that narrows the scope of the web requests that are // evaluated by the managed rule group. Requests are only evaluated by the rule // group if they match the scope-down statement. You can use any nestable Statement @@ -1290,6 +1351,30 @@ type Method struct { noSmithyDocumentSerde } +// Information for a release of the mobile SDK, including release notes and tags. +// The mobile SDK is not generally available. Customers who have access to the +// mobile SDK can use it to establish and manage Security Token Service (STS) +// security tokens for use in HTTP(S) requests from a mobile device to WAF. For +// more information, see WAF client application integration +// (https://docs.aws.amazon.com/waf/latest/developerguide/waf-application-integration.html) +// in the WAF Developer Guide. +type MobileSdkRelease struct { + + // Notes describing the release. + ReleaseNotes *string + + // The release version. + ReleaseVersion *string + + // Tags that are associated with the release. + Tags []Tag + + // The timestamp of the release. + Timestamp *time.Time + + noSmithyDocumentSerde +} + // Specifies that WAF should do nothing. This is used for the OverrideAction // setting on a Rule when the rule uses a rule group reference statement. This is // used in the context of other settings, for example to specify values for @@ -1347,6 +1432,17 @@ type OverrideAction struct { noSmithyDocumentSerde } +// Details about your login page password field, used in a ManagedRuleGroupConfig. +type PasswordField struct { + + // The name of the password field. For example /form/password. + // + // This member is required. + Identifier *string + + noSmithyDocumentSerde +} + // The query string of a web request. This is the part of a URL that appears after // a ? character, if any. This is used only to indicate the web request component // for WAF to inspect, in the FieldToMatch specification. JSON specification: @@ -1567,6 +1663,18 @@ type RegexPatternSetSummary struct { noSmithyDocumentSerde } +// High level information for an SDK release. +type ReleaseSummary struct { + + // The release version. + ReleaseVersion *string + + // The timestamp of the release. + Timestamp *time.Time + + noSmithyDocumentSerde +} + // A single rule, which you can use in a WebACL or RuleGroup to identify web // requests that you want to allow, block, or count. Each rule includes one // top-level Statement that WAF uses to identify matching web requests, and @@ -2329,6 +2437,17 @@ type UriPath struct { noSmithyDocumentSerde } +// Details about your login page username field, used in a ManagedRuleGroupConfig. +type UsernameField struct { + + // The name of the username field. For example /form/username. + // + // This member is required. + Identifier *string + + noSmithyDocumentSerde +} + // A version of the named managed rule group, that the rule group's vendor // publishes for use by customers. This is intended for use only by vendors of // managed rule sets. Vendors are Amazon Web Services and Amazon Web Services diff --git a/service/wafv2/validators.go b/service/wafv2/validators.go index df91ab78c6d..9914955d7bd 100644 --- a/service/wafv2/validators.go +++ b/service/wafv2/validators.go @@ -310,6 +310,26 @@ func (m *validateOpDisassociateWebACL) HandleInitialize(ctx context.Context, in return next.HandleInitialize(ctx, in) } +type validateOpGenerateMobileSdkReleaseUrl struct { +} + +func (*validateOpGenerateMobileSdkReleaseUrl) ID() string { + return "OperationInputValidation" +} + +func (m *validateOpGenerateMobileSdkReleaseUrl) HandleInitialize(ctx context.Context, in middleware.InitializeInput, next middleware.InitializeHandler) ( + out middleware.InitializeOutput, metadata middleware.Metadata, err error, +) { + input, ok := in.Parameters.(*GenerateMobileSdkReleaseUrlInput) + if !ok { + return out, metadata, fmt.Errorf("unknown input parameters type %T", in.Parameters) + } + if err := validateOpGenerateMobileSdkReleaseUrlInput(input); err != nil { + return out, metadata, err + } + return next.HandleInitialize(ctx, in) +} + type validateOpGetIPSet struct { } @@ -370,6 +390,26 @@ func (m *validateOpGetManagedRuleSet) HandleInitialize(ctx context.Context, in m return next.HandleInitialize(ctx, in) } +type validateOpGetMobileSdkRelease struct { +} + +func (*validateOpGetMobileSdkRelease) ID() string { + return "OperationInputValidation" +} + +func (m *validateOpGetMobileSdkRelease) HandleInitialize(ctx context.Context, in middleware.InitializeInput, next middleware.InitializeHandler) ( + out middleware.InitializeOutput, metadata middleware.Metadata, err error, +) { + input, ok := in.Parameters.(*GetMobileSdkReleaseInput) + if !ok { + return out, metadata, fmt.Errorf("unknown input parameters type %T", in.Parameters) + } + if err := validateOpGetMobileSdkReleaseInput(input); err != nil { + return out, metadata, err + } + return next.HandleInitialize(ctx, in) +} + type validateOpGetPermissionPolicy struct { } @@ -590,6 +630,26 @@ func (m *validateOpListManagedRuleSets) HandleInitialize(ctx context.Context, in return next.HandleInitialize(ctx, in) } +type validateOpListMobileSdkReleases struct { +} + +func (*validateOpListMobileSdkReleases) ID() string { + return "OperationInputValidation" +} + +func (m *validateOpListMobileSdkReleases) HandleInitialize(ctx context.Context, in middleware.InitializeInput, next middleware.InitializeHandler) ( + out middleware.InitializeOutput, metadata middleware.Metadata, err error, +) { + input, ok := in.Parameters.(*ListMobileSdkReleasesInput) + if !ok { + return out, metadata, fmt.Errorf("unknown input parameters type %T", in.Parameters) + } + if err := validateOpListMobileSdkReleasesInput(input); err != nil { + return out, metadata, err + } + return next.HandleInitialize(ctx, in) +} + type validateOpListRegexPatternSets struct { } @@ -950,6 +1010,10 @@ func addOpDisassociateWebACLValidationMiddleware(stack *middleware.Stack) error return stack.Initialize.Add(&validateOpDisassociateWebACL{}, middleware.After) } +func addOpGenerateMobileSdkReleaseUrlValidationMiddleware(stack *middleware.Stack) error { + return stack.Initialize.Add(&validateOpGenerateMobileSdkReleaseUrl{}, middleware.After) +} + func addOpGetIPSetValidationMiddleware(stack *middleware.Stack) error { return stack.Initialize.Add(&validateOpGetIPSet{}, middleware.After) } @@ -962,6 +1026,10 @@ func addOpGetManagedRuleSetValidationMiddleware(stack *middleware.Stack) error { return stack.Initialize.Add(&validateOpGetManagedRuleSet{}, middleware.After) } +func addOpGetMobileSdkReleaseValidationMiddleware(stack *middleware.Stack) error { + return stack.Initialize.Add(&validateOpGetMobileSdkRelease{}, middleware.After) +} + func addOpGetPermissionPolicyValidationMiddleware(stack *middleware.Stack) error { return stack.Initialize.Add(&validateOpGetPermissionPolicy{}, middleware.After) } @@ -1006,6 +1074,10 @@ func addOpListManagedRuleSetsValidationMiddleware(stack *middleware.Stack) error return stack.Initialize.Add(&validateOpListManagedRuleSets{}, middleware.After) } +func addOpListMobileSdkReleasesValidationMiddleware(stack *middleware.Stack) error { + return stack.Initialize.Add(&validateOpListMobileSdkReleases{}, middleware.After) +} + func addOpListRegexPatternSetsValidationMiddleware(stack *middleware.Stack) error { return stack.Initialize.Add(&validateOpListRegexPatternSets{}, middleware.After) } @@ -1713,6 +1785,45 @@ func validateLoggingFilter(v *types.LoggingFilter) error { } } +func validateManagedRuleGroupConfig(v *types.ManagedRuleGroupConfig) error { + if v == nil { + return nil + } + invalidParams := smithy.InvalidParamsError{Context: "ManagedRuleGroupConfig"} + if v.UsernameField != nil { + if err := validateUsernameField(v.UsernameField); err != nil { + invalidParams.AddNested("UsernameField", err.(smithy.InvalidParamsError)) + } + } + if v.PasswordField != nil { + if err := validatePasswordField(v.PasswordField); err != nil { + invalidParams.AddNested("PasswordField", err.(smithy.InvalidParamsError)) + } + } + if invalidParams.Len() > 0 { + return invalidParams + } else { + return nil + } +} + +func validateManagedRuleGroupConfigs(v []types.ManagedRuleGroupConfig) error { + if v == nil { + return nil + } + invalidParams := smithy.InvalidParamsError{Context: "ManagedRuleGroupConfigs"} + for i := range v { + if err := validateManagedRuleGroupConfig(&v[i]); err != nil { + invalidParams.AddNested(fmt.Sprintf("[%d]", i), err.(smithy.InvalidParamsError)) + } + } + if invalidParams.Len() > 0 { + return invalidParams + } else { + return nil + } +} + func validateManagedRuleGroupStatement(v *types.ManagedRuleGroupStatement) error { if v == nil { return nil @@ -1734,6 +1845,11 @@ func validateManagedRuleGroupStatement(v *types.ManagedRuleGroupStatement) error invalidParams.AddNested("ScopeDownStatement", err.(smithy.InvalidParamsError)) } } + if v.ManagedRuleGroupConfigs != nil { + if err := validateManagedRuleGroupConfigs(v.ManagedRuleGroupConfigs); err != nil { + invalidParams.AddNested("ManagedRuleGroupConfigs", err.(smithy.InvalidParamsError)) + } + } if invalidParams.Len() > 0 { return invalidParams } else { @@ -1796,6 +1912,21 @@ func validateOverrideAction(v *types.OverrideAction) error { } } +func validatePasswordField(v *types.PasswordField) error { + if v == nil { + return nil + } + invalidParams := smithy.InvalidParamsError{Context: "PasswordField"} + if v.Identifier == nil { + invalidParams.Add(smithy.NewErrParamRequired("Identifier")) + } + if invalidParams.Len() > 0 { + return invalidParams + } else { + return nil + } +} + func validateRateBasedStatement(v *types.RateBasedStatement) error { if v == nil { return nil @@ -2288,6 +2419,21 @@ func validateTimeWindow(v *types.TimeWindow) error { } } +func validateUsernameField(v *types.UsernameField) error { + if v == nil { + return nil + } + invalidParams := smithy.InvalidParamsError{Context: "UsernameField"} + if v.Identifier == nil { + invalidParams.Add(smithy.NewErrParamRequired("Identifier")) + } + if invalidParams.Len() > 0 { + return invalidParams + } else { + return nil + } +} + func validateVisibilityConfig(v *types.VisibilityConfig) error { if v == nil { return nil @@ -2696,6 +2842,24 @@ func validateOpDisassociateWebACLInput(v *DisassociateWebACLInput) error { } } +func validateOpGenerateMobileSdkReleaseUrlInput(v *GenerateMobileSdkReleaseUrlInput) error { + if v == nil { + return nil + } + invalidParams := smithy.InvalidParamsError{Context: "GenerateMobileSdkReleaseUrlInput"} + if len(v.Platform) == 0 { + invalidParams.Add(smithy.NewErrParamRequired("Platform")) + } + if v.ReleaseVersion == nil { + invalidParams.Add(smithy.NewErrParamRequired("ReleaseVersion")) + } + if invalidParams.Len() > 0 { + return invalidParams + } else { + return nil + } +} + func validateOpGetIPSetInput(v *GetIPSetInput) error { if v == nil { return nil @@ -2753,6 +2917,24 @@ func validateOpGetManagedRuleSetInput(v *GetManagedRuleSetInput) error { } } +func validateOpGetMobileSdkReleaseInput(v *GetMobileSdkReleaseInput) error { + if v == nil { + return nil + } + invalidParams := smithy.InvalidParamsError{Context: "GetMobileSdkReleaseInput"} + if len(v.Platform) == 0 { + invalidParams.Add(smithy.NewErrParamRequired("Platform")) + } + if v.ReleaseVersion == nil { + invalidParams.Add(smithy.NewErrParamRequired("ReleaseVersion")) + } + if invalidParams.Len() > 0 { + return invalidParams + } else { + return nil + } +} + func validateOpGetPermissionPolicyInput(v *GetPermissionPolicyInput) error { if v == nil { return nil @@ -2958,6 +3140,21 @@ func validateOpListManagedRuleSetsInput(v *ListManagedRuleSetsInput) error { } } +func validateOpListMobileSdkReleasesInput(v *ListMobileSdkReleasesInput) error { + if v == nil { + return nil + } + invalidParams := smithy.InvalidParamsError{Context: "ListMobileSdkReleasesInput"} + if len(v.Platform) == 0 { + invalidParams.Add(smithy.NewErrParamRequired("Platform")) + } + if invalidParams.Len() > 0 { + return invalidParams + } else { + return nil + } +} + func validateOpListRegexPatternSetsInput(v *ListRegexPatternSetsInput) error { if v == nil { return nil